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

MIT 许可证

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