5 个版本
0.1.4 | 2019年9月26日 |
---|---|
0.1.3 | 2019年9月26日 |
0.1.2 | 2019年9月20日 |
0.1.1 | 2019年9月20日 |
0.1.0 | 2019年9月19日 |
#12 在 #genesis
30KB
682 代码行
devguard genesis
大规模的个体系统设置。
CLI 使用方法
从 CLI 中简单调用
carrier genesis <identity>
- 你的本地编辑器将打开(使用 EDITOR 环境变量设置,如 git)。
- 编辑配置并退出编辑器。
- 输入提交信息并按回车键
- 设备将尝试应用新配置,如果无法连接到载波环则回退
导线使用方法
为了大规模管理配置,我们推荐使用某种数据库,其中包含使用 sha256 哈希的配置文件。您还可以动态生成配置,但确保输出产生可预测的哈希值。
当新设备在导线中发布时,请求其当前配置哈希值,并将其与您的数据库进行匹配。如果匹配不成功,则推送新配置。
载波设备是无状态的,没有变更历史。您必须检测到设备回滚到先前配置,以避免在循环中推送损坏的配置。一种方法是在数据库中保留 previous_hash,如果设备以相同的配置重新发现,则将当前配置标记为失败。
端点使用此 protobuf https://raw.githubusercontent.com/devguardio/carrier/master/proto/genesis.v1.proto 并需要仅 method 头部
- HEAD 将返回 GenesisCurrent 但数据为空。使用此方法检查设备配置哈希是否与您的导线数据库匹配
- GET 将返回 GenesisCurrent
- POST 期望一个 GenesisUpdate 消息并返回空值,使用此方法更新到新配置。
依赖项
~17–28MB
~445K SLoC