LAIN Entry 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
LAIN Entry 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 MIT
开发语言 Google Go
操作系统 跨平台
软件类型 开源软件
开发厂商
地区 国产
提 交 者 h4cd
适用人群 未知
收录时间 2018-05-02

软件简介

LAIN 是宜信大数据创新中心开发的一款私有云平台(PaaS),面向技术栈多样、寻求高效运维方案的高速发展中的组织、DevOps人力缺乏的创业公司以及个人开发者,提供了从编译、部署和扩容到日志、监控和报警的整体解决方案。

Entry 是 LAIN 的 layer2 的一个特殊应用,允许开发者通过 lain enter 命令或者 console 的 web 界面远程登录到具有本人管理权限的容器中。

该效果等同于在 LAIN 的节点上执行 docker exec -it $container_id /bin/bash

对于没有权限登录节点的开发者,使用 Entry 远程进入自己的容器调试是不错的选择。

使用前要注意

Entry 由于需要访问集群的特殊资源,必须要由集群管理员部署,Entry的管理员也必须只能是集群管理员。

Entry 使用前要确保集群的 sso 验证机制已经打开,否则客户端可以通过构造 http(s) 的 header 进入其他应用的容器。

整体架构

整体架构如下图所示:

整体架构

  • LAIN 应用所有者可以通过 lain-cli 或者 console 进入除 entry 之外的 LAIN 应用

  • 系统管理员可以在 https://entry.${LAIN_DOMAIN}/web 搜索、回放用户会话或者搜索用户命令

审计

Entry 设计了完善的审计框架:

  • Entry 审计所有经自己建立的用户会话

  • 系统管理员还可以从 LAIN 节点进入所有的 LAIN 应用(包括 entry),这时由堡垒机负责审计

如下图所示:

审计框架

数据库

Entry 将用户会话和命令存储于数据库,数据表如下图所示:

数据表

部署

配置

请参考 example.json 编写配置文件,并上传到 lvault:

lain secret add ${LAIN-Domain} web /lain/app/prod.json -f example.json

 

  • smtp.address 需要包含端口,如:${mail-address}:25

  • smtp.password 可选,为空时不使用 auth

开发

  • server/gen 下除 server/gen/restapi/configure_entry.go 外均由 go-swagger 生成,请不要手动修改

  • server/gen/restapi/configure_entry.go 包含初始化逻辑以及后端 API 配置

  • server/handler 包含后端 API 的实际逻辑

由 swagger.yml 生成代码:

go get -u github.com/go-swagger/go-swagger/cmd/swagger  # 安装 swagger
swagger generate server -f ./swagger.yml -t server/gen  # 生成代码
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表于软件架构专区
2014/09/20 22:35

Desktop Entry

参考:http://www.ibm.com/developerworks/cn/linux/l-cn-dtef/ desktop文件位置:/usr/share/applications (CentOS7) 举例: [Desktop Entry] Version=4.2.2 //这里面是设置软件的版本 Enconde=UTF-8 //这个是设置配置文件的字符编码 Name=ecipse //这个是Desktop Entry的名字,若只有这个,默认显示这个 Name[zh_CN]=ecli...

0
3
发表于服务端专区
2016/12/01 09:26

Map的Entry方法

使用map高效遍历key-value

0
0
发表于大前端专区
05/30 22:38

webpack.04-entry points

https://www.webpackjs.com/concepts/entry-points/ cnpm init -y cnpm i -D webpack webpack-cli 配置文件webpack.config.js module.exports={ mode:'development',//production 生产环境,development 开发......

0
0
发表了博客
2018/03/11 14:12

!heap 和 _HEAP_ENTRY

WinDBG提供了!heap命令帮助我们查找heap,同时我们也可以通过dt和MS SYMBOL来了解memory layout。 假设我们有下面一个小程序。 int _tmain(int argc, _TCHAR* argv[]) { char * pChar = new char[2]; pChar[0] = 'a';   delete [] pChar; return 0; } 在WinDbg里面启动这个程序,运行到new操作结束。这时候我们可以得到...

0
0
发表于AI & 大数据专区
2019/01/31 10:21

Map-Entry篇

Entry是Map中的一个内部类,用于存储Map具体实现类的元素数据 static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key; V value; Node<K,V> next; Node...

0
0
发表了博客
2014/06/24 07:58

/proc 文件操作 create_proc_entry remove_proc_entry

/proc 文件操作 create_proc_entry remove_proc_entry

0
1
发表了博客
2019/01/29 09:35

list_for_each_entry()函数分析

list_for_each原型: #define list_for_each(pos, head) \ for (pos = (head)->next, prefetch(pos->next); pos != (head); \ pos = pos->next, prefetch(pos->next))   它实际上是一个 for 循环,利用传入的 pos 作为循环变量,从表头 head 开始,逐项向后( next方向)移动 pos ,直至又回到 head ( ...

0
0
发表于大前端专区
2018/08/23 12:48

令人困惑的webpack之entry

从最简单开始 最简单的webpack.config.js文件: module.exports = { entry: './app.js', output: { path: './output', filename: 'output-file.js' } } 这个足够简单,进行w...

0
0
发表于软件架构专区
2016/08/16 16:42

Mule ESB中entry-point-resolver的使用(9) Entry Point Resolver Set和 Legacy Entry Point Resolver Set

本文介绍了Entry Point Resolver Set和Legacy Entry Point Resolver Set

0
0
发表了博客
2015/04/29 00:39

perhaps the designated entry point is not set

原文:http://my.oschina.net/u/936286/blog/316565 1, Failed to instantiate the default view controller for UIMainStoryboardFile 'Main' - perhaps the designated entry point is not set? 这是因为给你的StoryBoard没有设置默认显示的controller, 解决方法:...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于AI & 大数据专区
2019/12/26 10:35

oa编译时出错,在cmd运行 mvn install就会报错找不到

@O2OA企业信息化平台 你好,想跟你请教个问题:] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project x_query_core_entity: Compilation failure: Compilation failure: [ERROR] /D:/o2oashengjiban/o2server/o2server/x_query_core_entity/src/main/j...

2
0
发表于DevOps专区
02/24 10:46

KafkaClient' entry in the JAAS configuration. System property 'java.security.auth.login.config' is not set

ssl.key.password = null ssl.keymanager.algorithm = SunX509 ssl.keystore.location = null ssl.keystore.password = null ssl.keystore.type = JKS ssl.protocol = TLS ssl.provider = null ssl.secure.random.implementation = null ssl.trustmanager.algorithm = PKIX ssl.truststore.location = null ssl.truststo...

1
0
发表于AI & 大数据专区
2019/08/29 15:57

为什么update 方法,也会报 Duplicate entry '2222' for key 'PRIMARY'; nes

org.springframework.dao.DuplicateKeyException: ### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '201908291554169312352' for key 'PRIMARY' ### The error may involve com.rongan.rsdDataxSubjob.mapper.TRsdDataxSubjobMapper.updateTRsdDataxSubjob-In...

4
0
发表于DevOps专区
2019/07/02 18:55

java.util.ConcurrentModificationException: null 为啥会突然空map

2019-07-02 18:16:42.820 ERROR 14564 --- [nio-8083-exec-3] c.r.f.w.e.DefaultExceptionHandler : 运行时异常: java.util.ConcurrentModificationException: null at java.util.HashMap$HashIterator.nextNode(HashMap.java:1442) ~[na:1.8.0_191] at java.util.HashMap$EntryIterator.next(HashMap.java:1476) ~[na:1...

2
0
发表于大前端专区
2019/03/28 10:34

javaWeb项目卡死,求帮忙分析原因。

2019-03-28 10:23:22 Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.79-b02 mixed mode): "RMI TCP Connection(12)-192.168.1.19" daemon prio=6 tid=0x000000000f392800 nid=0x259c in Object.wait() [0x000000001e4ac000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object....

2
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
10 收藏
分享
返回顶部
顶部