在 Horizon 中创建策略¶
https://blueprints.launchpad.net/congress/+spec/horizon-create-policies
Congress 策略可以通过命令行界面 (CLI) 创建。提供一种从 Horizon 仪表板创建策略的方式,以帮助那些对编写 Datalog 经验不足的用户。
问题描述¶
不熟悉 Datalog 的用户可能会发现编写 Congress 策略的规则具有挑战性。
提议的变更¶
在 Horizon 的“策略”面板中添加一种创建 Congress 策略的方式,该方式不需要用户具备 Datalog 知识来编写策略规则。例如,可以像 Node-RED 或 BipIO 中的可拖动块一样,由用户移动和连接在一起以构建策略规则。或者提供一个模板,以自然语言格式呈现规则的 Datalog 部分。
备选方案¶
另一种选择是增强 CLI,以帮助用户编写策略规则。但是,图形界面可以提供交互式机制,帮助用户浏览策略规则的结构,而 CLI 无法提供。例如,规则组件可以在 Web 界面中使用图形更轻松地表示,而基于 CLI 的向导仅限于文本表示。
策略¶
无。
策略操作¶
无。
数据源¶
无。
数据模型影响¶
无。
REST API 影响¶
无。
安全影响¶
在使用用户输入的数据时,必须谨慎。一种安全问题示例是 SQL 注入,如果用户数据将被插入到数据库中。应清理用户数据以减轻此类风险。
通知影响¶
无。
其他最终用户影响¶
最终用户将能够转到 Horizon 的“策略”面板,并使用一些控件来编写策略规则并在 Congress 中创建策略。
性能影响¶
无。
其他部署者影响¶
无。
开发者影响¶
无。
实现¶
负责人¶
- 主要负责人
jwy
- 其他贡献者
<launchpad-id 或 None>
工作项¶
用于输入策略详细信息和规则的控件和表单。
逻辑(例如,自动完成)来填充策略表名、数据源表名等,这些名称可以在策略规则中使用。
后端将信息传递给 Congress 以进行策略创建。
用于直接输入 Datalog 规则的表单,供更熟悉该语言的用户使用。
请记住,我们可能希望以后使用相同的 UI 来更新策略。
依赖项¶
无。
测试¶
不需要额外的 Tempest 测试,因为这里没有修改 Congress 代码。
文档影响¶
无。
参考资料¶
Datalog 策略语言:https://github.com/stackforge/congress/blob/master/doc/source/policy.rst#2-datalog-policy-language
Node-RED:https://nodered.com.cn
BipIO:https://bip.io