feat: generate and commit CRD manifests#11
Merged
Merged
Conversation
Generate CRD YAML for Vendor and Subprocessor resources using controller-gen v0.17.2 and place them under config/base/crd/bases/, matching the billing-system reference pattern. Key changes: - config/base/crd/bases/compliance.miloapis.com_vendors.yaml - config/base/crd/bases/compliance.miloapis.com_subprocessors.yaml - config/base/crd/kustomization.yaml listing both CRDs as resources - config/base/crd/kustomizeconfig.yaml for webhook/cert-manager support The compliance-controller-manager cannot start without these CRDs installed. The datum-cloud/infra deployment expects them at path base/crd inside the compliance OCI artifact, consistent with how billing-system publishes its CRDs.
The manager kustomization lives at config/base/manager/ following the standard kubebuilder layout. The workflow had a stale path pointing to config/manager which no longer exists.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
VendorandSubprocessorresources incompliance.miloapis.com/v1alpha1using controller-gen v0.17.2 (make manifests)config/base/crd/bases/with akustomization.yamlandkustomizeconfig.yaml, matching the billing-system reference patternconfig/base/(prerequisite for thebase/crdpath to be consistent)Why these CRDs are needed
The compliance-controller-manager watches
VendorandSubprocessorresources. Without these CRDs installed, the controller fails to start — it cannot register its watches against non-existent API groups.The
datum-cloud/infradeployment uses a FluxCDOCIRepositorypointing to the compliance OCI artifact and aKustomizationwithpath: base/crd. This mirrors exactly howmilo-os/billingpublishes its CRDs (config/base/crd/). Without the CRDs committed here and bundled into the OCI artifact, Flux has nothing to apply and the controller never gets its API types.Reference pattern
milo-os/billingis the reference:config/base/crd/bases/billing.miloapis.com_*.yaml— generated CRD filesconfig/base/crd/kustomization.yaml— lists each CRD as a resourceconfig/base/crd/kustomizeconfig.yaml— webhook/cert-manager name/namespace substitution configThis PR follows the same structure for compliance.
Files added
config/base/crd/bases/compliance.miloapis.com_vendors.yamlconfig/base/crd/bases/compliance.miloapis.com_subprocessors.yamlconfig/base/crd/kustomization.yamlconfig/base/crd/kustomizeconfig.yamlTest plan
kustomize build config/base/crdrenders both CRDs without errorkubectl apply -k config/base/crdvendors.compliance.miloapis.comandsubprocessors.compliance.miloapis.compath: base/crd