是否有某些程序或功能可以将 JSON 对象转换为 policy.rego 文件?
我知道目前有一个功能可以将 rego 文件转换为 JSON,但尚未找到任何可以逆转此过程的功能。我正在创建一个 UI,希望能够与 policy.rego 文件进行交互。我的想法是,我将创建 UI 来与 json 文件进行交互/编辑,然后将其转换为 rego 文件。
我愿意听取任何关于如何进行此过程的建议,或者我是否应该做一些完全不同的事情。我的主要目标是能够即时编辑 policy.rego,并允许那些对 OPA 经验很少或没有经验的人进行简单的编辑。
我找不到任何有关将 json 转换为 rego 文件的文档。我也找不到任何有关 OPA UI 的文档。
不仅仅通过 CLI 命令,而且假设您熟悉使用 Rego 的抽象语法树 (AST) 的 JSON 表示和一些 Go 代码,这是可行的。
opa parse --format json
指向任何 Rego 文件的命令来打印其 JSON AST。将其传输到文件中并根据您的喜好进行修改。过于简单(但有效)的示例:
不确定这是否是您想要的,但 Permit.io 有一个基于 JSON 的 Rest OpenAPI,可为您直接在 Git 上生成 Rego 代码。它还包括多个 UI 来使用相同的 API。
(公平地讲,我是 Permit.io 的创始人)