| Crates.io | amalgam |
| lib.rs | amalgam |
| version | 0.6.4 |
| created_at | 2025-08-28 10:50:41.888475+00 |
| updated_at | 2025-09-01 23:47:54.391155+00 |
| description | Type-safe configuration generator for Nickel from various schema sources |
| homepage | https://github.com/seryl/amalgam |
| repository | https://github.com/seryl/amalgam |
| max_upload_size | |
| id | 1814013 |
| size | 176,900 |
Type-safe configuration generator for Nickel from various schema sources.
amalgam is a command-line tool that generates type-safe Nickel configurations from Kubernetes CRDs, OpenAPI specifications, Go types, and other schema sources.
cargo install amalgam
Or with Nix:
nix run github:seryl/amalgam
# Import from live cluster
amalgam k8s-import --context production --output ./k8s-types
# Import specific CRD
amalgam k8s-import --crd cert-manager.io --output ./cert-manager
# Import from file
amalgam import --input my-crd.yaml --output ./types
amalgam import --input openapi.yaml --output ./api-types --format nickel
amalgam export --input config.ncl --output types.go --format go
# Watch for changes and regenerate
amalgam watch --input ./schemas --output ./generated
Create an amalgam.toml file:
[input]
paths = ["./schemas", "./crds"]
watch = true
[output]
path = "./generated"
format = "nickel"
[kubernetes]
enabled = true
context = "default"
namespaces = ["default", "kube-system"]
See the examples directory for sample configurations and generated types.