Skip to content
Draft
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 0 additions & 55 deletions .github/scripts/update_crds_local.py

This file was deleted.

44 changes: 0 additions & 44 deletions .github/workflows/update-crds.yaml

This file was deleted.

2 changes: 1 addition & 1 deletion setup/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Contains Helmfile configurations for initial cluster bootstrapping, including CN

### `/setup/crds`

Custom Resource Definitions required before Flux can deploy applications. These are invoked during normal flux kustomization reconcilliation loops and are required to be housed outside the normal `kubernetes/` tree in order to ensure that the custom types are present before they are attempted to be used. It is structured this way so that unsightly proliferation of kustomization files throughout the repo is avoided.
Custom Resource Definitions required before Flux can deploy applications. These are managed by a FluxCD Kustomization that references upstream CRD sources directly with Renovate-managed version tracking. This approach provides both automated upgrades and avoids vendoring large CRD files while ensuring CRDs are available before applications that depend on them.

### `/setup/flux`

Expand Down
81 changes: 6 additions & 75 deletions setup/crds/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,100 +8,31 @@ resources:
# └──────────────────────┘
# renovate: datasource=github-releases depName=external-secrets/external-secrets
# https://github.com/external-secrets/external-secrets/raw/v0.19.2/deploy/crds/bundle.yaml
- ./vendor/external-secrets_external-secrets/bundle.yaml
- https://github.com/external-secrets/external-secrets/raw/v0.19.2/deploy/crds/bundle.yaml
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

flux has trouble dealing with kustomizations that reference an external URL and thus this approach referencing external yamls via URLs will not work. This is the reason for the use of the vendored CRDs in the first place.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right - I've updated the approach to vendor the CRD files locally. Flux cannot handle external URL references in kustomizations, so the files are now vendored in setup/crds/vendor/ with Renovate tracking versions and a GitHub workflow automatically downloading updates. Fixed in commit 4a68dc8.


# ┌──────────────────────┐
# │ external-snapshotter │
# └──────────────────────┘
# renovate: datasource=github-releases depName=kubernetes-csi/external-snapshotter
# https://github.com/kubernetes-csi/external-snapshotter/raw/v8.3.0/client/config/crd/snapshot.storage.k8s.io_volumesnapshotclasses.yaml
- ./vendor/kubernetes-csi_external-snapshotter/snapshot.storage.k8s.io_volumesnapshotclasses.yaml
- https://github.com/kubernetes-csi/external-snapshotter/raw/v8.3.0/client/config/crd/snapshot.storage.k8s.io_volumesnapshotclasses.yaml
# renovate: datasource=github-releases depName=kubernetes-csi/external-snapshotter
# https://github.com/kubernetes-csi/external-snapshotter/raw/v8.3.0/client/config/crd/snapshot.storage.k8s.io_volumesnapshots.yaml
- ./vendor/kubernetes-csi_external-snapshotter/snapshot.storage.k8s.io_volumesnapshots.yaml
- https://github.com/kubernetes-csi/external-snapshotter/raw/v8.3.0/client/config/crd/snapshot.storage.k8s.io_volumesnapshots.yaml
# renovate: datasource=github-releases depName=kubernetes-csi/external-snapshotter
# https://github.com/kubernetes-csi/external-snapshotter/raw/v8.3.0/client/config/crd/snapshot.storage.k8s.io_volumesnapshotcontents.yaml
- ./vendor/kubernetes-csi_external-snapshotter/snapshot.storage.k8s.io_volumesnapshotcontents.yaml

# ┌──────────────────┐
# │ volsync │
# └──────────────────┘
# renovate: datasource=github-releases depName=backube/volsync
# https://github.com/backube/volsync/raw/v0.12.0/config/crd/bases/volsync.backube_replicationdestinations.yaml
- ./vendor/backube_volsync/volsync.backube_replicationdestinations.yaml
# renovate: datasource=github-releases depName=backube/volsync
# https://github.com/backube/volsync/raw/v0.12.0/config/crd/bases/volsync.backube_replicationsources.yaml
- ./vendor/backube_volsync/volsync.backube_replicationsources.yaml

# ┌──────────────────────────────┐
# │ node-feature-discovery │
# └──────────────────────────────┘
# renovate: datasource=github-releases depName=kubernetes-sigs/node-feature-discovery
# https://github.com/kubernetes-sigs/node-feature-discovery/raw/v0.17.3/deployment/helm/node-feature-discovery/crds/nfd-api-crds.yaml
- ./vendor/kubernetes-sigs_node-feature-discovery/nfd-api-crds.yaml
- https://github.com/kubernetes-csi/external-snapshotter/raw/v8.3.0/client/config/crd/snapshot.storage.k8s.io_volumesnapshotcontents.yaml

# ┌──────────────────┐
# │ gateway-api │
# └──────────────────┘
# renovate: datasource=github-releases depName=kubernetes-sigs/gateway-api
# https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.3.0/experimental-install.yaml
- ./vendor/kubernetes-sigs_gateway-api/experimental-install.yaml

# ┌──────────────────┐
# │ rook-ceph │
# └──────────────────┘
# renovate: datasource=github-releases depName=rook/rook
# https://github.com/rook/rook/raw/v1.18.2/deploy/examples/crds.yaml
- ./vendor/rook_rook/crds.yaml
- https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.3.0/experimental-install.yaml

# ┌──────────────────────────────────┐
# │ system-upgrade-controller │
# └──────────────────────────────────┘
# renovate: datasource=github-releases depName=rancher/system-upgrade-controller
# https://github.com/rancher/system-upgrade-controller/releases/download/v0.16.3/crd.yaml
- ./vendor/rancher_system-upgrade-controller/crd.yaml

# ┌──────────────────┐
# │ cnpg │
# └──────────────────┘
# renovate: datasource=github-releases depName=cloudnative-pg/cloudnative-pg
# https://github.com/cloudnative-pg/cloudnative-pg/raw/v1.27.0/config/crd/bases/postgresql.cnpg.io_backups.yaml
- ./vendor/cloudnative-pg_cloudnative-pg/postgresql.cnpg.io_backups.yaml
# renovate: datasource=github-releases depName=cloudnative-pg/cloudnative-pg
# https://github.com/cloudnative-pg/cloudnative-pg/raw/v1.27.0/config/crd/bases/postgresql.cnpg.io_clusterimagecatalogs.yaml
- ./vendor/cloudnative-pg_cloudnative-pg/postgresql.cnpg.io_clusterimagecatalogs.yaml
# renovate: datasource=github-releases depName=cloudnative-pg/cloudnative-pg
# https://github.com/cloudnative-pg/cloudnative-pg/raw/v1.27.0/config/crd/bases/postgresql.cnpg.io_clusters.yaml
- ./vendor/cloudnative-pg_cloudnative-pg/postgresql.cnpg.io_clusters.yaml
# renovate: datasource=github-releases depName=cloudnative-pg/cloudnative-pg
# https://github.com/cloudnative-pg/cloudnative-pg/raw/v1.27.0/config/crd/bases/postgresql.cnpg.io_databases.yaml
- ./vendor/cloudnative-pg_cloudnative-pg/postgresql.cnpg.io_databases.yaml
# renovate: datasource=github-releases depName=cloudnative-pg/cloudnative-pg
# https://github.com/cloudnative-pg/cloudnative-pg/raw/v1.27.0/config/crd/bases/postgresql.cnpg.io_imagecatalogs.yaml
- ./vendor/cloudnative-pg_cloudnative-pg/postgresql.cnpg.io_imagecatalogs.yaml
# renovate: datasource=github-releases depName=cloudnative-pg/cloudnative-pg
# https://github.com/cloudnative-pg/cloudnative-pg/raw/v1.27.0/config/crd/bases/postgresql.cnpg.io_poolers.yaml
- ./vendor/cloudnative-pg_cloudnative-pg/postgresql.cnpg.io_poolers.yaml
# renovate: datasource=github-releases depName=cloudnative-pg/cloudnative-pg
# https://github.com/cloudnative-pg/cloudnative-pg/raw/v1.27.0/config/crd/bases/postgresql.cnpg.io_publications.yaml
- ./vendor/cloudnative-pg_cloudnative-pg/postgresql.cnpg.io_publications.yaml
# renovate: datasource=github-releases depName=cloudnative-pg/cloudnative-pg
# https://github.com/cloudnative-pg/cloudnative-pg/raw/v1.27.0/config/crd/bases/postgresql.cnpg.io_scheduledbackups.yaml
- ./vendor/cloudnative-pg_cloudnative-pg/postgresql.cnpg.io_scheduledbackups.yaml
# renovate: datasource=github-releases depName=cloudnative-pg/cloudnative-pg
# https://github.com/cloudnative-pg/cloudnative-pg/raw/v1.27.0/config/crd/bases/postgresql.cnpg.io_subscriptions.yaml
- ./vendor/cloudnative-pg_cloudnative-pg/postgresql.cnpg.io_subscriptions.yaml

# ┌──────────────────┐
# │ emqx │
# └──────────────────┘
# renovate: datasource=github-releases depName=emqx/emqx-operator
# https://github.com/emqx/emqx-operator/releases/download/2.2.29/crds.yaml
- ./vendor/emqx_emqx-operator/crds.yaml

# ┌──────────────────────┐
# │ silence-operator │
# └──────────────────────┘
# renovate: datasource=github-releases depName=giantswarm/silence-operator
# https://raw.githubusercontent.com/giantswarm/silence-operator/refs/tags/v0.19.0/config/crd/bases/observability.giantswarm.io_silences.yaml
- ./vendor/giantswarm_silence-operator/observability.giantswarm.io_silences.yaml
- https://github.com/rancher/system-upgrade-controller/releases/download/v0.16.3/crd.yaml
Loading