Hoang Nguyen
c991be4740
Nothing to see here yet, except: - Add `nogo` support. Closes #2 (I only use the analyzers from golang.org/x/tools, so nogo right now is not really on par with golangci-lint) - Remove golangci-lint - Fill out providers.toml file (it was daunting -_-) - Update bazel deps |
||
---|---|---|
LICENSES | ||
cue.mod | ||
examples/time | ||
internal | ||
schemata/pulumi | ||
tools | ||
.bazelrc | ||
.bazelversion | ||
.editorconfig | ||
.gitignore | ||
.neoconf.json | ||
.neoconf.json.license | ||
BUILD.bazel | ||
MODULE.bazel | ||
README.adoc | ||
flake.lock | ||
flake.lock.license | ||
flake.nix | ||
go.mod | ||
go.sum | ||
go.sum.license | ||
nixpkgs.nix | ||
nogo_config.json | ||
shell.nix | ||
treefmt.nix |
README.adoc
Cuelumi
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/providers/ 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/providers/ 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: