Hoang Nguyen
bd9eb75787
* Bring golangci-lint back * Switch back to flake-utils, since the flake is rather small and various other improvements. |
||
---|---|---|
.reuse | ||
LICENSES | ||
cue.mod | ||
examples/pulumi-time | ||
internal | ||
schemata | ||
tools | ||
.bazelignore | ||
.bazelrc | ||
.bazelversion | ||
.editorconfig | ||
.gitignore | ||
.golangci.toml | ||
.neoconf.json | ||
BUILD.bazel | ||
MODULE.bazel | ||
MODULE.bazel.lock | ||
README.adoc | ||
flake.lock | ||
flake.nix | ||
go.mod | ||
go.sum | ||
nixpkgs.nix | ||
nogo_config.json | ||
shell.nix | ||
treefmt.nix |
README.adoc
Cuemata
This project generates CUE schemas for Pulumi providers, based on schema.json
files published with their source code. These CUE schema files are intended to be used with Pulumi’s YAML language provider, when one wants to write resource definitions using CUE instead of YAML.
See examples/ directory for some use cases.
Tools
-
cue-pulumi-gen: a program to generate CUE definitions for Pulumi providers' JSON schemas inside schemata/pulumi/provider/ directory
-
pulumi-schema: a simple command to conveniently print out
schema.json
file, given a Pulumi provider’s name
Schema packages
-
All CUE packages inside schemata/pulumi/provider/ directory are auto-generated. See providers.toml file for the full list of providers and their JSON schema sources.
-
Package schemata/pulumi defines CUE schema for:
-
Pulumi.yaml
in pulumi.cue. It is extended upon https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/pulumi.json with support forpulumi-yaml
definitions. -
schema.json
(package metaschema) for a Pulumi provider in package.cue. The CUE definition is imported bycue
CLI from https://github.com/pulumi/pulumi/blob/master/pkg/codegen/schema/pulumi.json.
-
Reference
Credits
Existing projects, which inspires me to create this one: