Documentation
¶
Overview ¶
cmd/ClientConfig/generate_crd.go
ork generate crd — derives a CRD from a Katalog ork generate cr — derives an example CR from a Katalog
The Katalog is the single source of truth. The CRD and CR are generated from what is already declared:
apiTypes → group, version, kind, plural, scope, printer columns
validation → required spec fields (deny + exists rules)
mutation → optional fields with defaults, type inference
templates → additional spec fields referenced as {{ .spec.* }}
status → status subresource schema, printer columns
conversion → webhook config (when conversion paths are declared)
Usage:
ork generate crd --katalog katalog.yaml -o crd.yaml ork generate cr --katalog katalog.yaml -o cr.yaml
Multiple CRDs in one Katalog:
ork generate crd --katalog katalog.yaml --crd pipeline -o pipeline-crd.yaml ork generate cr --katalog katalog.yaml --crd pipeline -o pipeline-cr.yaml
cmd/cli/generate_katalog.go
"ork generate katalog" scaffolds a starter katalog.yaml.
All reconcile-mode flags are mutually exclusive:
(none) → dynamic mode — declarative templates, no Go code required --add-hook → typed mode — hooks section; user writes ReconcileHooks[*T] --add-constructor → typed mode — constructor section; user owns the reconcile loop --typed → typed mode — both sections commented; warning printed to stderr
Optional sections may be combined with any mode:
--add-security — namespace + deletion protection block --add-notification — notification / alerting block --add-provider <cloud> — providers block for aws | azure | gcp
cmd/cli/init.go
cmd/cli/validate_enrichment_output.go
cmd/cli/version.go
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CRDEntryDTO ¶
type CRDEntryDTO struct {
Name string `json:"name" yaml:"name"`
Enabled bool `json:"enabled" yaml:"enabled"`
Group string `json:"group" yaml:"group"`
Version string `json:"version" yaml:"version"`
Kind string `json:"kind" yaml:"kind"`
Plural string `json:"plural" yaml:"plural"`
Namespaced bool `json:"namespaced" yaml:"namespaced"`
Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty"`
Workers int `json:"workers" yaml:"workers"`
Resync string `json:"resync" yaml:"resync"`
DependsOn []string `json:"dependsOn,omitempty" yaml:"dependsOn,omitempty"`
Finalizers []string `json:"finalizers,omitempty" yaml:"finalizers,omitempty"`
Mode orktypes.CRDMode `json:"mode" yaml:"mode"`
}
Click to show internal directories.
Click to hide internal directories.