shdctl manifest commands
Initialize, validate, and inspect the shdctl manifest schema
읽는 시간 2분최근 업데이트: 하루 전
The command group manages the file. For the field reference and annotated example, refer to Manifest reference.
manifestmanifest.yamlinit
Generate a new manifest interactively:
shdctl manifest init
This walks you through the release version, the source registry, the app domain, namespace and image pull secret, autoscaling, the registry your cluster pulls images from (and its namespace, when that is not the source registry), storage classes, monitoring, sizing, the Traefik service type and, optionally, ArgoCD. The command validates the result against the embedded CUE schema before it writes the file, and asks before it overwrites an existing one. It doesn't ask for : add it to the manifest, or pass , before you run .
deployment.argocd.pathPrefix--argocd-path-prefixrelease generate --format argocdParameters:
- ,
--output: Output path (default:-o)./manifest.yaml
validate
Validate an existing manifest against the embedded CUE schema:
shdctl manifest validateshdctl manifest validate --file path/to/manifest.yamlshdctl manifest validate --manifest path/to/manifest.yaml
Catches missing required fields, disallowed values, cross-field rules (for example, , or a TLS certificate required when TLS is enabled), and keys the schema does not define — the one check no other command makes.
maxReplicas >= minReplicasParameters:
- ,
--file: Path to the manifest to validate (default: auto-discover). The global-fnames the file too, so use whichever you already have in your pipeline. Passing both with different paths is an error--manifest
schema
Display the embedded CUE schema:
shdctl manifest schema
The schema is the complete field list of the shdctl you run it with — every type, default, constraint, and cross-field rule — where the annotated example in the Manifest reference covers the most common fields. Three defaults it prints are not applied when you leave the field out, so set those fields explicitly: (every subcommand fails without it), (the sync runs one at a time) and ( fails without it).
artifactSync.sourceRepositoryartifact syncartifactSync.concurrencydeployment.argocd.destinationServerrelease generate --format argocdExport the CUE schema for standalone validation outside shdctl, useful in CI without installing shdctl:
shdctl manifest schema --export manifest.cue
After exporting, validate any manifest against it with the CLI:
cuecue vet manifest.cue manifest.yaml -d '#Manifest'