From a7e09dbc0d0cad7a3385217b37a9b1c77c320538 Mon Sep 17 00:00:00 2001 From: tegwick Date: Wed, 21 Oct 2026 22:23:51 +0200 Subject: [PATCH] Declare one Knative release unit and label its six Deployments. The substrate patch sets railiance.io/release-unit to knative. railiance-cluster carries the same label on its two overlays. RELREG-WP-0002-T01 Assistant: grok Assistant-Session: 01a15f9f-3d77-7d21-911b-d93c86f9d14f --- registry/release-units/knative.yaml | 116 ++++++++++++++++++++++ substrate/v1.22.0/kustomization.yaml | 1 + substrate/v1.22.0/release-unit.patch.yaml | 49 +++++++++ 3 files changed, 166 insertions(+) create mode 100644 registry/release-units/knative.yaml create mode 100644 substrate/v1.22.0/release-unit.patch.yaml diff --git a/registry/release-units/knative.yaml b/registry/release-units/knative.yaml new file mode 100644 index 0000000..0cbd757 --- /dev/null +++ b/registry/release-units/knative.yaml @@ -0,0 +1,116 @@ +# Source digests are the commits this declaration was written against. +# One unit covers the serving and Kourier Deployments. rail-knative holds the +# substrate patch; railiance-cluster holds the same label on both overlays. +kind: release-unit +unit_id: knative +owner: rail-knative +contract_version: "1.0.0" +data_classification: internal +criticality: critical +composition: + purpose: "Serves Knative workloads through the shared Serving and Kourier substrate." + member_repos: + - repo: rail-knative + role: substrate declaration + deployables: + - knative + - repo: railiance-cluster + role: cluster install + deployables: + - knative + upstream_components: + - name: knative-serving + source: gcr.io/knative-releases + version: "1.22.0" + - name: net-kourier + source: gcr.io/knative-releases + version: "1.22.0" +rollout_contract: + default_mode: kustomize-overlay +smoke_contract: + required: + - deployment-available +rollback_contract: + order: + - restore-previous-overlay +workloads: + - kind: Deployment + namespace: knative-serving + name: activator + - kind: Deployment + namespace: knative-serving + name: autoscaler + - kind: Deployment + namespace: knative-serving + name: controller + - kind: Deployment + namespace: knative-serving + name: webhook + - kind: Deployment + namespace: knative-serving + name: net-kourier-controller + - kind: Deployment + namespace: kourier-system + name: 3scale-kourier-gateway +pins: + component: + name: ocm.railiance.dev/knative + version: "1.22.0" + resources: + - name: activator + type: ociImage + version: "1.22.0" + digest: + hashAlgorithm: SHA-256 + normalisationAlgorithm: ociArtifactDigest/v1 + value: "sha256:8f7e9df2642a8ba715ebc55b62abee17b0984b6b6af0c6ec00dabaadf5f8cccb" + - name: autoscaler + type: ociImage + version: "1.22.0" + digest: + hashAlgorithm: SHA-256 + normalisationAlgorithm: ociArtifactDigest/v1 + value: "sha256:ec66d97244395b57a67923d4a8c5a95f0264805f1fdb2ee0cdb49ec0f3bd7855" + - name: controller + type: ociImage + version: "1.22.0" + digest: + hashAlgorithm: SHA-256 + normalisationAlgorithm: ociArtifactDigest/v1 + value: "sha256:6833f2c83e9f356c274ddb2de40e5471ad2b1c08882c9bd11f5afa240e86d574" + - name: webhook + type: ociImage + version: "1.22.0" + digest: + hashAlgorithm: SHA-256 + normalisationAlgorithm: ociArtifactDigest/v1 + value: "sha256:c505888f7ee34ccadc1b9a6877d6d49691f633ea28cf8cbe03fcfa6d3afcd584" + - name: net-kourier-controller + type: ociImage + version: "1.22.0" + digest: + hashAlgorithm: SHA-256 + normalisationAlgorithm: ociArtifactDigest/v1 + value: "sha256:a2e8f568a4bf68ef6391bc3afea956d11a8698f6a22c4be50844b1da4f8bcc74" + - name: kourier-gateway + type: ociImage + version: "1.22.0" + digest: + hashAlgorithm: SHA-256 + normalisationAlgorithm: ociArtifactDigest/v1 + value: "sha256:1c2b79776c6e3b38e8b0113b825e6a599f9bfc08d680c199d80bf8964856c529" + sources: + - name: rail-knative + type: git + version: "1.22.0" + digest: + hashAlgorithm: SHA-1 + normalisationAlgorithm: gitCommit/v1 + value: "affe67a4bc0fbdde9460edd8208cb8f895a23bbd" + - name: railiance-cluster + type: git + version: "1.22.0" + digest: + hashAlgorithm: SHA-1 + normalisationAlgorithm: gitCommit/v1 + value: "a6742635824a7568cdae4aebdd743a6457c20e33" diff --git a/substrate/v1.22.0/kustomization.yaml b/substrate/v1.22.0/kustomization.yaml index d1db1fc..ece09b6 100644 --- a/substrate/v1.22.0/kustomization.yaml +++ b/substrate/v1.22.0/kustomization.yaml @@ -11,3 +11,4 @@ resources: patches: - path: cpu-requests.patch.yaml - path: hpa-caps.patch.yaml + - path: release-unit.patch.yaml diff --git a/substrate/v1.22.0/release-unit.patch.yaml b/substrate/v1.22.0/release-unit.patch.yaml new file mode 100644 index 0000000..50e41e7 --- /dev/null +++ b/substrate/v1.22.0/release-unit.patch.yaml @@ -0,0 +1,49 @@ +# One release unit for the Knative Serving and Kourier Deployments. +# Labels only. CPU requests and HPA caps stay in their own patches. +apiVersion: apps/v1 +kind: Deployment +metadata: + name: activator + namespace: knative-serving + labels: + railiance.io/release-unit: knative +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: autoscaler + namespace: knative-serving + labels: + railiance.io/release-unit: knative +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: controller + namespace: knative-serving + labels: + railiance.io/release-unit: knative +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: webhook + namespace: knative-serving + labels: + railiance.io/release-unit: knative +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: net-kourier-controller + namespace: knative-serving + labels: + railiance.io/release-unit: knative +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: 3scale-kourier-gateway + namespace: kourier-system + labels: + railiance.io/release-unit: knative