Skip to content

Commit f936f2d

Browse files
authored
Merge pull request #13 from laincloud/readme
fix readme
2 parents dbcb379 + e80ee39 commit f936f2d

File tree

4 files changed

+48
-14
lines changed

4 files changed

+48
-14
lines changed

README.md

Lines changed: 39 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,33 @@
77

88
相关文档见 [Entry 应用文档](https://laincloud.gitbooks.io/white-paper/content/outofbox/entry.html)
99

10-
## Licensing
11-
Entry is released under [MIT](https://github.com/laincloud/entry/blob/master/LICENSE) license.
10+
## 架构
11+
12+
### 整体架构
13+
14+
整体架构如下图所示:
15+
16+
![整体架构](docs/figures/entry.png)
17+
18+
- LAIN 应用所有者可以通过 `lain-cli` 或者 `console` 进入除 entry 之外的 LAIN 应用
19+
- 系统管理员可以在 https://entry.${LAIN_DOMAIN}/web 搜索、回放用户会话或者搜索用户命令
20+
21+
### 审计
22+
23+
`Entry` 设计了完善的审计框架:
24+
25+
- `Entry` 审计所有经自己建立的用户会话
26+
- 系统管理员还可以从 LAIN 节点进入所有的 LAIN 应用(包括 entry),这时由堡垒机负责审计
27+
28+
如下图所示:
29+
30+
![审计框架](docs/figures/audit.png)
31+
32+
### 数据库
33+
34+
`Entry` 将用户会话和命令存储于数据库,数据表如下图所示:
35+
36+
![数据表](docs/figures/database.png)
1237

1338
## 部署
1439

@@ -23,17 +48,19 @@ lain secret add ${LAIN-Domain} web /lain/app/prod.json -f example.json
2348
> - `smtp.address` 需要包含端口,如:${mail-address}:25
2449
> - `smtp.password` 可选,为空时不使用 auth
2550
26-
## 审计
27-
2851
## 开发
2952

30-
### `swagger.yml` 生成代码
31-
32-
```
33-
go get -u github.com/go-swagger/go-swagger/cmd/swagger # 安装 swagger
34-
swagger generate server -f ./swagger.yml -t server/gen # 生成代码
35-
```
36-
37-
- `server/gen` 下除 `server/gen/restapi/configure_entry.go` 外均由 `go-swagger` 生成,请不要手动修改
53+
- `server/gen` 下除 `server/gen/restapi/configure_entry.go` 外均由 [go-swagger](https://github.com/go-swagger/go-swagger) 生成,请不要手动修改
3854
- `server/gen/restapi/configure_entry.go` 包含初始化逻辑以及后端 API 配置
3955
- `server/handler` 包含后端 API 的实际逻辑
56+
57+
> `swagger.yml` 生成代码:
58+
>
59+
> ```
60+
> go get -u github.com/go-swagger/go-swagger/cmd/swagger # 安装 swagger
61+
> swagger generate server -f ./swagger.yml -t server/gen # 生成代码
62+
> ```
63+
64+
## Licensing
65+
66+
Entry is released under [MIT](https://github.com/laincloud/entry/blob/master/LICENSE) license.

docs/figures/audit.dot

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ digraph G {
66
lainNode [label="LAIN Node"];
77
allContainers [label="All containers"];
88
appOwner [label="App Owner"]
9+
entry [label="Entry"]
910
ordinaryContainers [label="Containers other than entry"]
1011

11-
lainAdmin -> bastion;
12+
lainAdmin -> bastion [label="authorize"];
1213
bastion -> lainNode [label="audit"];
1314
lainNode -> allContainers [label="docker exec"];
1415

15-
appOwner -> ordinaryContainers [label="Authentication, authorize, proxy and audit by entry"];
16+
appOwner -> entry [label="authorize"];
17+
entry -> ordinaryContainers [label="audit"];
1618
}

docs/figures/audit.png

9 Bytes
Loading

example.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,10 @@
1313
"host": "127.0.0.1",
1414
"port": 3306,
1515
"db_name": "entry"
16+
},
17+
"smtp": {
18+
"address": "fake:25",
19+
"from_email": "[email protected]",
20+
"password": ""
1621
}
1722
}

0 commit comments

Comments
 (0)