Code Generation
This page covers code generation and manifest workflows for kubernetes-nmstate.
Code Generation
# Generate CRDs from api/ types
make gen-crds
# Generate Kubernetes client code
make gen-k8s
# Generate RBAC manifests
make gen-rbac
# Run all generators
make generate
# Verify generated code is up to date
make check-gen
Important: Always run make generate after modifying types in api/v1 or api/v1beta1, or after changing controller RBAC markers.
Tip: When using Claude Code, you can run /review-api-changes to automatically review your API changes for compatibility and best practices.
Manifests and Deployment
Note: This section covers the Operator Lifecycle Manager (OLM) framework for operator distribution.
# Generate deployment manifests
make manifests
# Generate OLM bundle
make bundle
# Verify bundle is valid
make check-bundle
Manifests are generated in build/_output/manifests/ from templates in deploy/. The operator.yaml is a template that gets populated with correct image references during cluster-sync.
Vendoring
# Update vendor directory
make vendor
This tidies both the main module and the api/ module, then vendors dependencies. Go modules are used with GOFLAGS=-mod=vendor and GOPROXY=direct.
Next Steps
For advanced topics, see: Advanced Topics