Skip to content

refactor(operator): share config with CRD installer - #15319

Closed
sttts wants to merge 1 commit into
upstream-lpx-integrationfrom
sttts-lpx-crd-config
Closed

sttts wants to merge 1 commit into
upstream-lpx-integrationfrom
sttts-lpx-crd-config

Conversation

@sttts

@sttts sttts commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

Summary

PR #15062 adds an optional LPXGraphDeployment CRD. Its CRD installer currently receives a separate --lpx-enabled flag even though the manager already reads the canonical lpx.enabled value from the operator configuration.

This stacked change:

  • moves operator configuration loading, defaulting, and validation into a small shared package used directly by both binaries;
  • removes crd-apply --lpx-enabled and selects the LPX CRD from lpx.enabled in the loaded operator configuration;
  • mounts the operator ConfigMap into the Helm CRD init container; and
  • makes Tilt pass the exact OperatorConfiguration extracted from its rendered Helm resources to the local CRD installer.

The runtime LPX gate still performs its existing API capability check in the manager. The CRD installer only consumes the declarative operator configuration, so CRD installation does not depend on runtime discovery.

lpx:
  enabled: true

With that setting, the installer applies the LPXGraphDeployment CRD. With it disabled, the installer skips that CRD. Disabling LPX after the CRD has already been installed continues to leave the existing CRD unchanged.

Compatibility

The internal crd-apply command now requires --config and no longer accepts --lpx-enabled. The Helm chart and Tilt development path are updated in the same change. The operator configuration API and runtime feature-gate behavior are unchanged.

Validation

  • go test ./internal/operatorconfig
  • CGO_ENABLED=0 go test ./cmd -run '^$'
  • CGO_ENABLED=0 go test ./cmd/crd-apply -run '^$'
  • KUBEBUILDER_ASSETS=/private/tmp/sttts-lpx-envtest/k8s/1.30.0-darwin-arm64 CGO_ENABLED=0 go test ./cmd/crd-apply
  • CGO_ENABLED=0 go vet ./internal/operatorconfig ./cmd ./cmd/crd-apply
  • helm unittest . components/operator (63 tests)
  • helm lint .

Signed-off-by: Dr. Stefan Schimanski <sschimanski@nvidia.com>
@github-actions github-actions Bot added refactor deployment::k8s Relates to dynamo deployment in kubernetes labels Sep 28, 2026
@andrewpaprotsky
andrewpaprotsky force-pushed the upstream-lpx-integration branch 2 times, most recently from 4b37faf to 3546a43 Compare September 29, 2026 18:11
@sttts sttts closed this Sep 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

deployment::k8s Relates to dynamo deployment in kubernetes refactor size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant