diff --git a/.agents/skills/source/SKILL.md b/.agents/skills/source/SKILL.md new file mode 100644 index 000000000..f3674d049 --- /dev/null +++ b/.agents/skills/source/SKILL.md @@ -0,0 +1,33 @@ +--- +name: source +description: Finding missing primary sources for CRDs (custom resource definitions). Use when needing to find a new primary source. +--- + +## Context + +Kubernetes API can be extended using CRDs (custom resource definitions) - these are imported into kubernetes clusters to enable the use of CRs (custom resources). The CRs and their derived openapi specifications are collected from primary sources and stored in this repository continuously. + +## Primary Source + +A primary source for CRDs is published by the original authors and is available as a versioned online resource. + +A primary source is not: + +- extracting from a cluster. +- a similar catalog-style repository like this current one. + +The primary sources are added to the configuration file, see details in [how to contribute file](../../../docs/HOW-TO-CONTRIBUTE.md). + +## Instructions + +You are exclusively looking for information online when locating a primary source. + +You must never look at local files for any reason other than to tell if a primary source is already registered, or if certain CRDs exists. You will never read the code base. + +You should suggest adding the CRD being searched for to the ignore list, if you find evidence that this CRD is: + +- used exclusively as a part of testing by the original authors. +- part of an accidentally incorrectly named release. +- otherwise not meant for public consumption. + +Find a primary source for this missing CRD and present your findings to the user. diff --git a/AGENTS.md b/AGENTS.md index 39ab60178..7e6e7c62c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -103,6 +103,7 @@ Follow the settings in `.editorconfig`. /schema # Generated OpenAPI schema files /definitions # Generated definition files (for kopium) /configuration.yaml # CRD sources configuration +/configuration-ignore.yaml # Ignored CRDs configuration /registry.yaml # Tracks source versions /internal/ # Go source code /command/ # CLI commands (compare, update, verify) diff --git a/configuration-ignore.yaml b/configuration-ignore.yaml index 69bd446d0..04113426b 100644 --- a/configuration-ignore.yaml +++ b/configuration-ignore.yaml @@ -137,7 +137,7 @@ kind: helmrelease version: v1 - description: | - cluster.x-k8s.io/v1alpha1 was never part of a release, all v1alpha1 were `k8s.io` and v1alpha2 and forward are `x-k8s.io` - see https://github.com/kubernetes-sigs/cluster-api/compare/v0.2.11...v0.3.0 + cluster.x-k8s.io/v1alpha1 was never part of a release, all v1alpha1 were `k8s.io` and v1alpha2 and forward are `x-k8s.io` - see https://github.com/kubernetes-sigs/cluster-api/compare/v0.2.11...v0.3.0 items: - group: cluster\.x-k8s\.io kind: cluster|machine|machineclass|machinedeployment|machineset @@ -157,3 +157,15 @@ - group: management\.cattle\.io kind: authconfig|clusterregistrationtoken|managedchart|podsecurityadmissionconfigurationtemplate version: v3 +- description: | + infrastructure.x-k8s.io/v1alpha2 was never part of a release, v1alpha2 version was only in pre-release alpha tags from 2019 - see https://github.com/kubernetes-sigs/cluster-api-provider-gcp/compare/v0.1.0-alpha.1...v0.2.0-alpha.2 + items: + - group: infrastructure\.x-k8s\.io + kind: gcpcluster + version: v1alpha2 +- description: | + ComputeClass is a GKE CRD under cloud.google.com, not a Config Connector CRD under compute.cnrm.cloud.google.com - see https://github.com/GoogleCloudPlatform/k8s-config-connector/tree/v1.138.0/crds + items: + - group: compute\.cnrm\.cloud\.google\.com + kind: computeclass + version: v1 diff --git a/configuration.yaml b/configuration.yaml index c1ded9236..8a920648b 100644 --- a/configuration.yaml +++ b/configuration.yaml @@ -519,6 +519,12 @@ searchPaths: - pkg/k8s/apis/cilium.io/client/crds versionPattern: "^v([0-9]+\\.[0-9]+\\.[0-9]+)$" +- kind: git + name: clastix-cluster-api-control-plane-provider-kamaji + repository: https://github.com/clastix/cluster-api-control-plane-provider-kamaji + versionPattern: "^v([0-9]+\\.[0-9]+\\.[0-9]+)$" + kustomizationPaths: + - config/crd - kind: git name: claudie kustomizationPaths: