We use Jsonnet extensively in Aperture project for generating control policies.
- Policy spec is expressed in protobuf format
- GRPC gateway plugin is used to generate Swagger (OpenAPI v2) spec from proto files
- Jsonnet bindings are generated from Swagger spec.
- Blueprints are implemented using Jsonnet bindings. The users generate policies from blueprints by providing configuration in yaml (using aperturectl CLI) or via jsonnet mixin.
- Policy spec is expressed in protobuf format
- GRPC gateway plugin is used to generate Swagger (OpenAPI v2) spec from proto files
- Jsonnet bindings are generated from Swagger spec.
- Blueprints are implemented using Jsonnet bindings. The users generate policies from blueprints by providing configuration in yaml (using aperturectl CLI) or via jsonnet mixin.
Relevant links:
- Aperture Blueprints (Jsonnet): https://github.com/fluxninja/aperture/tree/main/blueprints
- Generated doc example: https://docs.fluxninja.com/development/reference/policies/bu...
- CLI for generating policies from blueprints: https://docs.fluxninja.com/development/reference/aperturectl...
- Policy spec: https://docs.fluxninja.com/development/reference/policies/sp...