--- apiVersion: apps/v1 items: - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "7" creationTimestamp: "2026-11-02T00:40:03Z" generation: 7 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:ownerReferences: k:{"uid":"eb735d15-fe4a-4807-8f4e-d7208123f467"}: {} f:spec: f:replicas: {} f:selector: {} f:strategy: {} f:template: f:metadata: f:labels: f:authorino-resource: {} f:control-plane: {} f:spec: f:containers: k:{"name":"authorino"}: .: {} f:args: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: {} f:volumeMounts: k:{"mountPath":"/etc/ssl/certs/tls.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/ssl/private/tls.key"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} f:serviceAccountName: {} f:volumes: k:{"name":"tls-cert"}: .: {} f:name: {} f:secret: f:secretName: {} manager: authorino-operator operation: Apply time: "2026-11-02T00:45:26Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:ownerReferences: .: {} k:{"uid":"eb735d15-fe4a-4807-8f4e-d7208123f467"}: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:labels: .: {} f:authorino-resource: {} f:control-plane: {} f:kuadrant.io/managed: {} f:sidecar.istio.io/inject: {} f:spec: f:containers: k:{"name":"authorino"}: .: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} manager: manager operation: Update time: "2026-11-02T00:40:05Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:spec: f:template: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/restartedAt: {} manager: kubectl-rollout operation: Update time: "2026-11-02T00:41:49Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:spec: f:template: f:spec: f:containers: k:{"name":"authorino"}: f:env: .: {} k:{"name":"REQUESTS_CA_BUNDLE"}: .: {} f:name: {} f:value: {} k:{"name":"SSL_CERT_FILE"}: .: {} f:name: {} f:value: {} manager: kubectl-set operation: Update time: "2026-11-02T00:41:49Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-11-02T00:45:29Z" name: authorino namespace: kuadrant-system ownerReferences: - apiVersion: operator.authorino.kuadrant.io/v1beta1 blockOwnerDeletion: true controller: true kind: Authorino name: authorino uid: eb735d15-fe4a-4807-8f4e-d7208123f467 resourceVersion: "20573" uid: f7b1e7ab-e9a5-4d7c-a259-abab9e49b7be spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: authorino-resource: authorino control-plane: controller-manager strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: kubectl.kubernetes.io/restartedAt: "2026-11-02T00:41:49Z" labels: authorino-resource: authorino control-plane: controller-manager kuadrant.io/managed: "true" sidecar.istio.io/inject: "false" spec: containers: - args: - --log-level=debug - --tls-cert=/etc/ssl/certs/tls.crt - --tls-cert-key=/etc/ssl/private/tls.key - --tls-min-version=1.2 - --tls-cipher-suites=TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 env: - name: SSL_CERT_FILE value: /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt - name: REQUESTS_CA_BUNDLE value: /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt image: registry.redhat.io/rhcl-1/authorino-rhel9@sha256:fb72464b7c88f036afad7667ccdbe7a465919a5722f492e7da3598399ac13c16 imagePullPolicy: Always name: authorino resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /etc/ssl/certs/tls.crt name: tls-cert readOnly: true subPath: tls.crt - mountPath: /etc/ssl/private/tls.key name: tls-cert readOnly: true subPath: tls.key dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: authorino-authorino serviceAccountName: authorino-authorino terminationGracePeriodSeconds: 30 volumes: - name: tls-cert secret: defaultMode: 420 secretName: authorino-server-cert status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-11-02T00:40:10Z" lastUpdateTime: "2026-11-02T00:40:10Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-11-02T00:40:03Z" lastUpdateTime: "2026-11-02T00:45:29Z" message: ReplicaSet "authorino-5767bc5f74" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 7 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-11-02T00:39:37Z" generation: 1 labels: app.kubernetes.io/managed-by: kuadrant-operator control-plane: authorino-operator managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: f:app.kubernetes.io/managed-by: {} f:control-plane: {} f:ownerReferences: k:{"uid":"4fdffe20-c5d4-40ff-87a9-2b1e1201416f"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:labels: f:control-plane: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: k:{"name":"RELATED_IMAGE_AUTHORINO"}: .: {} f:name: {} f:value: {} f:image: {} f:livenessProbe: f:httpGet: f:path: {} f:port: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:name: {} f:ports: k:{"containerPort":8080,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:readinessProbe: f:httpGet: f:path: {} f:port: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:resources: f:limits: f:cpu: {} f:memory: {} f:requests: f:cpu: {} f:memory: {} f:securityContext: f:allowPrivilegeEscalation: {} f:capabilities: f:drop: {} f:readOnlyRootFilesystem: {} f:seccompProfile: f:type: {} f:securityContext: f:runAsNonRoot: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} manager: kuadrant-operator operation: Apply time: "2026-11-02T00:39:37Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-11-02T00:39:52Z" name: authorino-operator namespace: kuadrant-system ownerReferences: - apiVersion: kuadrant.io/v1alpha1 controller: true kind: KuadrantControlPlane name: default uid: 4fdffe20-c5d4-40ff-87a9-2b1e1201416f resourceVersion: "13742" uid: f825a154-369c-4b11-a32f-c6f1f94b815e spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: control-plane: authorino-operator strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: labels: control-plane: authorino-operator spec: containers: - args: - --leader-elect command: - /manager env: - name: RELATED_IMAGE_AUTHORINO value: registry.redhat.io/rhcl-1/authorino-rhel9@sha256:fb72464b7c88f036afad7667ccdbe7a465919a5722f492e7da3598399ac13c16 image: registry.redhat.io/rhcl-1/authorino-rhel9-operator@sha256:dd4629ca035b962fce6871fcab1e5e54bc24312a952fe0454a657c18b9b29402 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 8080 name: metrics protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 200m memory: 300Mi requests: cpu: 200m memory: 200Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true serviceAccount: authorino-operator serviceAccountName: authorino-operator terminationGracePeriodSeconds: 10 status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-11-02T00:39:52Z" lastUpdateTime: "2026-11-02T00:39:52Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-11-02T00:39:37Z" lastUpdateTime: "2026-11-02T00:39:52Z" message: ReplicaSet "authorino-operator-779bff956b" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-11-02T00:39:38Z" generation: 1 labels: app: developer-portal-controller app.kubernetes.io/instance: developer-portal-controller app.kubernetes.io/managed-by: kuadrant-operator app.kubernetes.io/name: developer-portal-controller app.kubernetes.io/version: 0.3.1 control-plane: controller-manager helm.sh/chart: developer-portal-controller-0.3.1 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: f:app: {} f:app.kubernetes.io/instance: {} f:app.kubernetes.io/managed-by: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/version: {} f:control-plane: {} f:helm.sh/chart: {} f:ownerReferences: k:{"uid":"4fdffe20-c5d4-40ff-87a9-2b1e1201416f"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: f:kubectl.kubernetes.io/default-container: {} f:labels: f:app: {} f:control-plane: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:image: {} f:livenessProbe: f:httpGet: f:path: {} f:port: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:name: {} f:readinessProbe: f:httpGet: f:path: {} f:port: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:resources: f:limits: f:cpu: {} f:memory: {} f:requests: f:cpu: {} f:memory: {} f:securityContext: f:allowPrivilegeEscalation: {} f:capabilities: f:drop: {} f:securityContext: f:runAsNonRoot: {} f:seccompProfile: f:type: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} manager: kuadrant-operator operation: Apply time: "2026-11-02T00:39:38Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-11-02T00:39:54Z" name: developer-portal-controller namespace: kuadrant-system ownerReferences: - apiVersion: kuadrant.io/v1alpha1 controller: true kind: KuadrantControlPlane name: default uid: 4fdffe20-c5d4-40ff-87a9-2b1e1201416f resourceVersion: "13762" uid: c81e5b06-6902-42e5-bae4-005c423af3a0 spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: developer-portal-controller control-plane: controller-manager strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: kubectl.kubernetes.io/default-container: manager labels: app: developer-portal-controller control-plane: controller-manager spec: containers: - args: - --leader-elect - --health-probe-bind-address=:8081 command: - /manager image: registry.redhat.io/rhcl-1/developer-portal-controller-rhel9@sha256:66b1656100087f5949d910e839422f75c3030bcbdffb6b79812d0518c54f8f90 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 500m memory: 128Mi requests: cpu: 10m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault serviceAccount: developer-portal-controller-manager serviceAccountName: developer-portal-controller-manager terminationGracePeriodSeconds: 10 status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-11-02T00:39:54Z" lastUpdateTime: "2026-11-02T00:39:54Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-11-02T00:39:38Z" lastUpdateTime: "2026-11-02T00:39:54Z" message: ReplicaSet "developer-portal-controller-66d8dbb8c8" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-11-02T00:39:35Z" generation: 1 labels: app.kubernetes.io/component: manager app.kubernetes.io/created-by: dns-operator app.kubernetes.io/instance: controller-manager app.kubernetes.io/managed-by: kuadrant-operator app.kubernetes.io/name: deployment app.kubernetes.io/part-of: dns-operator control-plane: dns-operator-controller-manager managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: f:app.kubernetes.io/component: {} f:app.kubernetes.io/created-by: {} f:app.kubernetes.io/instance: {} f:app.kubernetes.io/managed-by: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:control-plane: {} f:ownerReferences: k:{"uid":"4fdffe20-c5d4-40ff-87a9-2b1e1201416f"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: f:kubectl.kubernetes.io/default-container: {} f:labels: f:app.kubernetes.io/managed-by: {} f:control-plane: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: k:{"name":"CLUSTER_SECRET_NAMESPACE"}: .: {} f:name: {} f:valueFrom: f:fieldRef: {} k:{"name":"WATCH_NAMESPACES"}: .: {} f:name: {} f:value: {} f:envFrom: {} f:image: {} f:livenessProbe: f:httpGet: f:path: {} f:port: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:name: {} f:ports: k:{"containerPort":8080,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} k:{"containerPort":8082,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:readinessProbe: f:httpGet: f:path: {} f:port: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:resources: f:limits: f:cpu: {} f:memory: {} f:requests: f:cpu: {} f:memory: {} f:securityContext: f:allowPrivilegeEscalation: {} f:capabilities: f:drop: {} f:securityContext: f:runAsNonRoot: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} manager: kuadrant-operator operation: Apply time: "2026-11-02T00:39:35Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-11-02T00:39:52Z" name: dns-operator-controller-manager namespace: kuadrant-system ownerReferences: - apiVersion: kuadrant.io/v1alpha1 controller: true kind: KuadrantControlPlane name: default uid: 4fdffe20-c5d4-40ff-87a9-2b1e1201416f resourceVersion: "13747" uid: 35efdd4c-d464-4630-a607-2348aeb32669 spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: control-plane: dns-operator-controller-manager strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: kubectl.kubernetes.io/default-container: manager labels: app.kubernetes.io/managed-by: helm control-plane: dns-operator-controller-manager spec: containers: - args: - --metrics-bind-address=:8080 - --leader-elect command: - /manager env: - name: WATCH_NAMESPACES - name: CLUSTER_SECRET_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace envFrom: - configMapRef: name: dns-operator-controller-env image: registry.redhat.io/rhcl-1/dns-rhel9-operator@sha256:5c642fccff0a02ad72a6354fe44695e87cca8903a8713c412e995cfe6f9ca388 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 8080 name: metrics protocol: TCP - containerPort: 8082 name: pprof protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 200m memory: 128Mi requests: cpu: 10m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true serviceAccount: dns-operator-controller-manager serviceAccountName: dns-operator-controller-manager terminationGracePeriodSeconds: 10 status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-11-02T00:39:52Z" lastUpdateTime: "2026-11-02T00:39:52Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-11-02T00:39:35Z" lastUpdateTime: "2026-11-02T00:39:52Z" message: ReplicaSet "dns-operator-controller-manager-57f5c66455" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-11-02T00:39:40Z" generation: 1 labels: app: kuadrant-console-plugin app.kubernetes.io/component: kuadrant-console-plugin app.kubernetes.io/instance: kuadrant-console-plugin app.kubernetes.io/managed-by: kuadrant-operator app.kubernetes.io/name: kuadrant-console-plugin app.kubernetes.io/part-of: kuadrant-console-plugin app.openshift.io/runtime-namespace: kuadrant-system managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: .: {} f:app: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/instance: {} f:app.kubernetes.io/managed-by: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:app.openshift.io/runtime-namespace: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:labels: .: {} f:app: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/instance: {} f:app.kubernetes.io/managed-by: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:spec: f:containers: k:{"name":"kuadrant-console-plugin"}: .: {} f:env: .: {} k:{"name":"TLS_CERTIFICATE_FILE"}: .: {} f:name: {} f:value: {} k:{"name":"TLS_KEY_FILE"}: .: {} f:name: {} f:value: {} k:{"name":"TOPOLOGY_CONFIGMAP_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"TOPOLOGY_CONFIGMAP_NAMESPACE"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:ports: .: {} k:{"containerPort":9443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:resources: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/var/serving-cert"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"plugin-serving-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: manager operation: Update time: "2026-11-02T00:39:40Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-11-02T00:39:56Z" name: kuadrant-console-plugin namespace: kuadrant-system resourceVersion: "13866" uid: 57e5bd2f-fade-4e81-82a8-e8a3c51fc925 spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: kuadrant-console-plugin app.kubernetes.io/component: kuadrant-console-plugin app.kubernetes.io/instance: kuadrant-console-plugin app.kubernetes.io/managed-by: kuadrant-operator app.kubernetes.io/name: kuadrant-console-plugin app.kubernetes.io/part-of: kuadrant-console-plugin strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: labels: app: kuadrant-console-plugin app.kubernetes.io/component: kuadrant-console-plugin app.kubernetes.io/instance: kuadrant-console-plugin app.kubernetes.io/managed-by: kuadrant-operator app.kubernetes.io/name: kuadrant-console-plugin app.kubernetes.io/part-of: kuadrant-console-plugin spec: containers: - env: - name: TOPOLOGY_CONFIGMAP_NAME value: topology - name: TOPOLOGY_CONFIGMAP_NAMESPACE value: kuadrant-system - name: TLS_CERTIFICATE_FILE value: /var/serving-cert/tls.crt - name: TLS_KEY_FILE value: /var/serving-cert/tls.key image: registry.redhat.io/rhcl-1/rhcl-console-plugin-rhel9@sha256:5174bcdc4785e85d8bf5697c7000f92b08b18efafae3d1d008256909dda2441b imagePullPolicy: Always name: kuadrant-console-plugin ports: - containerPort: 9443 name: https protocol: TCP resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /var/serving-cert name: plugin-serving-cert readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 volumes: - name: plugin-serving-cert secret: defaultMode: 420 secretName: plugin-serving-cert status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-11-02T00:39:56Z" lastUpdateTime: "2026-11-02T00:39:56Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-11-02T00:39:40Z" lastUpdateTime: "2026-11-02T00:39:56Z" message: ReplicaSet "kuadrant-console-plugin-7bbc6bb9d7" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-11-02T00:39:14Z" generation: 1 labels: app: kuadrant control-plane: controller-manager olm.deployment-spec-hash: bSpDK9cnxyBvAVW8xGsnHy6YY5TdY2zRcyng1I olm.managed: "true" olm.owner: rhcl-operator.v1.5.0 olm.owner.kind: ClusterServiceVersion olm.owner.namespace: kuadrant-system operators.coreos.com/rhcl-operator.kuadrant-system: "" managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: .: {} f:app: {} f:control-plane: {} f:olm.deployment-spec-hash: {} f:olm.managed: {} f:olm.owner: {} f:olm.owner.kind: {} f:olm.owner.namespace: {} f:operators.coreos.com/rhcl-operator.kuadrant-system: {} f:ownerReferences: .: {} k:{"uid":"9dc358b6-aaa0-4539-aabc-51d21e8816de"}: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:console.openshift.io/plugins: {} f:containerImage: {} f:createdAt: {} f:description: {} f:features.operators.openshift.io/cnf: {} f:features.operators.openshift.io/cni: {} f:features.operators.openshift.io/csi: {} f:features.operators.openshift.io/disconnected: {} f:features.operators.openshift.io/fips-compliant: {} f:features.operators.openshift.io/proxy-aware: {} f:features.operators.openshift.io/tls-profiles: {} f:features.operators.openshift.io/token-auth-aws: {} f:features.operators.openshift.io/token-auth-azure: {} f:features.operators.openshift.io/token-auth-gcp: {} f:olm.operatorGroup: {} f:olm.operatorNamespace: {} f:olm.targetNamespaces: {} f:operatorframework.io/properties: {} f:operators.openshift.io/valid-subscription: {} f:operators.operatorframework.io/builder: {} f:operators.operatorframework.io/project_layout: {} f:repository: {} f:support: {} f:labels: .: {} f:app: {} f:control-plane: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"AUTH_SERVICE_TIMEOUT"}: .: {} f:name: {} f:value: {} k:{"name":"EXTENSIONS_DESCRIPTOR_SERVICE_PORT"}: .: {} f:name: {} f:value: {} k:{"name":"EXTENSIONS_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"EXTENSIONS_SERVICE_PORT"}: .: {} f:name: {} f:value: {} k:{"name":"ISTIO_GATEWAY_CONTROLLER_NAMES"}: .: {} f:name: {} f:value: {} k:{"name":"OPERATOR_CONDITION_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"OPERATOR_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"RATELIMIT_CHECK_SERVICE_FAILURE_MODE"}: .: {} f:name: {} f:value: {} k:{"name":"RATELIMIT_REPORT_SERVICE_FAILURE_MODE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_AUTHORINO"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_AUTHORINO_OPERATOR"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_CONSOLE_PLUGIN_LATEST"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_CONSOLE_PLUGIN_PF5"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_CONSOLE_PLUGIN_SDK1"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_DEVELOPERPORTAL"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_DNS_OPERATOR"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_LIMITADOR"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_LIMITADOR_OPERATOR"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_MCP_GATEWAY"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_MCP_GATEWAY_BROKER"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_WASMSHIM"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8080,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} k:{"containerPort":8082,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} k:{"containerPort":50051,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} k:{"containerPort":50052,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:readOnlyRootFilesystem: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} manager: olm operation: Update time: "2026-11-02T00:39:14Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-11-02T00:39:42Z" name: kuadrant-operator-controller-manager namespace: kuadrant-system ownerReferences: - apiVersion: operators.coreos.com/v1alpha1 blockOwnerDeletion: false controller: false kind: ClusterServiceVersion name: rhcl-operator.v1.5.0 uid: 9dc358b6-aaa0-4539-aabc-51d21e8816de resourceVersion: "13210" uid: bfce0ca4-28f4-4df5-ac2b-69d5bd5e03e7 spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 1 selector: matchLabels: app: kuadrant control-plane: controller-manager strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: alm-examples: |- [ { "apiVersion": "extensions.kuadrant.io/v1alpha1", "kind": "OIDCPolicy", "metadata": { "name": "oidcpolicy-sample" }, "spec": { "provider": { "cliendID": "exampleID", "issuerURL": "https://idp.example.org/" }, "targetRef": { "group": "gateway.networking.k8s.io", "kind": "HTTPRoute", "name": "example-route" } } }, { "apiVersion": "extensions.kuadrant.io/v1alpha1", "kind": "PlanPolicy", "metadata": { "labels": { "app.kubernetes.io/created-by": "kuadrant-operator", "app.kubernetes.io/instance": "planpolicy-sample", "app.kubernetes.io/managed-by": "kustomize", "app.kubernetes.io/name": "planpolicy", "app.kubernetes.io/part-of": "kuadrant-operator" }, "name": "planpolicy-sample" }, "spec": { "plans": [ { "limits": { "daily": 5 }, "predicate": "has(auth.identity) \u0026\u0026 auth.identity.metadata.annotations[\"secret.kuadrant.io/plan-id\"] == \"gold\"\n", "tier": "gold" }, { "limits": { "daily": 2 }, "predicate": "has(auth.identity) \u0026\u0026 auth.identity.metadata.annotations[\"secret.kuadrant.io/plan-id\"] == \"silver\"\n", "tier": "silver" }, { "limits": { "daily": 1 }, "predicate": "has(auth.identity) \u0026\u0026 auth.identity.metadata.annotations[\"secret.kuadrant.io/plan-id\"] == \"bronze\"\n", "tier": "bronze" } ], "targetRef": { "group": "gateway.networking.k8s.io", "kind": "HTTPRoute", "name": "example-route" } } }, { "apiVersion": "kuadrant.io/v1", "kind": "AuthPolicy", "metadata": { "name": "authpolicy-sample" }, "spec": { "rules": { "authentication": { "apikey": { "apiKey": { "selector": {} }, "credentials": { "authorizationHeader": { "prefix": "APIKEY" } } } } }, "targetRef": { "group": "gateway.networking.k8s.io", "kind": "HTTPRoute", "name": "toystore" } } }, { "apiVersion": "kuadrant.io/v1", "kind": "DNSPolicy", "metadata": { "name": "dnspolicy-sample" }, "spec": { "healthCheck": { "protocol": "HTTP" }, "providerRefs": [ { "name": "provider-ref" } ], "targetRef": { "group": "gateway.networking.k8s.io", "kind": "Gateway", "name": "example-gateway" } } }, { "apiVersion": "kuadrant.io/v1", "kind": "RateLimitPolicy", "metadata": { "name": "ratelimitpolicy-sample" }, "spec": { "limits": { "toys": { "rates": [ { "limit": 50, "window": "1m" } ] } }, "targetRef": { "group": "gateway.networking.k8s.io", "kind": "HTTPRoute", "name": "toystore" } } }, { "apiVersion": "kuadrant.io/v1", "kind": "TLSPolicy", "metadata": { "name": "tlspolicy-sample" }, "spec": { "issuerRef": { "group": "cert-manager.io", "kind": "ClusterIssuer", "name": "self-signed-ca" }, "targetRef": { "group": "gateway.networking.k8s.io", "kind": "Gateway", "name": "example-gateway" } } }, { "apiVersion": "kuadrant.io/v1alpha1", "kind": "TokenRateLimitPolicy", "metadata": { "name": "token-limit-free", "namespace": "gateway-system" }, "spec": { "limits": { "free": { "counters": [ { "expression": "auth.identity.userid" } ], "rates": [ { "limit": 20000, "window": "1d" } ], "when": [ { "predicate": "request.auth.claims[\"kuadrant.io/groups\"].split(\",\").exists(g, g == \"free\")" } ] }, "gold": { "counters": [ { "expression": "auth.identity.userid" } ], "rates": [ { "limit": 200000, "window": "1d" } ], "when": [ { "predicate": "request.auth.claims[\"kuadrant.io/groups\"].split(\",\").exists(g, g == \"gold\")" } ] } }, "targetRef": { "group": "gateway.networking.k8s.io", "kind": "Gateway", "name": "my-llm-gateway" } } }, { "apiVersion": "kuadrant.io/v1beta1", "kind": "Kuadrant", "metadata": { "name": "kuadrant-sample" }, "spec": {} } ] capabilities: Basic Install categories: Integration & Delivery console.openshift.io/plugins: '["kuadrant-console-plugin"]' containerImage: registry.redhat.io/rhcl-1/rhcl-rhel9-operator@sha256:d297423e5507ec7ef5be128004902e3f62b5bf1d97f034d465c12628820ca299 createdAt: "2026-10-20T11:12:58Z" description: A Kubernetes Operator to manage the lifecycle of the Kuadrant system features.operators.openshift.io/cnf: "false" features.operators.openshift.io/cni: "false" features.operators.openshift.io/csi: "false" features.operators.openshift.io/disconnected: "true" features.operators.openshift.io/fips-compliant: "true" features.operators.openshift.io/proxy-aware: "false" features.operators.openshift.io/tls-profiles: "false" features.operators.openshift.io/token-auth-aws: "false" features.operators.openshift.io/token-auth-azure: "false" features.operators.openshift.io/token-auth-gcp: "false" olm.operatorGroup: rhcl-operator olm.operatorNamespace: kuadrant-system olm.targetNamespaces: "" operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"extensions.kuadrant.io","kind":"OIDCPolicy","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"extensions.kuadrant.io","kind":"PlanPolicy","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"extensions.kuadrant.io","kind":"TelemetryPolicy","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"kuadrant.io","kind":"AuthPolicy","version":"v1"}},{"type":"olm.gvk","value":{"group":"kuadrant.io","kind":"DNSPolicy","version":"v1"}},{"type":"olm.gvk","value":{"group":"kuadrant.io","kind":"Kuadrant","version":"v1beta1"}},{"type":"olm.gvk","value":{"group":"kuadrant.io","kind":"KuadrantControlPlane","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"kuadrant.io","kind":"RateLimitPolicy","version":"v1"}},{"type":"olm.gvk","value":{"group":"kuadrant.io","kind":"TLSPolicy","version":"v1"}},{"type":"olm.gvk","value":{"group":"kuadrant.io","kind":"TokenRateLimitPolicy","version":"v1alpha1"}},{"type":"olm.package","value":{"packageName":"rhcl-operator","version":"1.5.0"}}]}' operators.openshift.io/valid-subscription: '["Red Hat Connectivity Link"]' operators.operatorframework.io/builder: operator-sdk-v1.42.3 operators.operatorframework.io/project_layout: go.kubebuilder.io/v4 repository: https://github.com/Kuadrant/kuadrant-operator support: kuadrant labels: app: kuadrant control-plane: controller-manager spec: containers: - args: - --leader-elect command: - /manager env: - name: EXTENSIONS_DIR value: /extensions - name: EXTENSIONS_DESCRIPTOR_SERVICE_PORT value: "50051" - name: EXTENSIONS_SERVICE_PORT value: "50052" - name: RELATED_IMAGE_WASMSHIM value: registry.access.redhat.com/rhcl-1/wasm-shim-rhel9@sha256:017cc5d6399f649ae6b200d0248b72074b01fb06c7c0e7ced56a9db1b304c5c3 - name: RELATED_IMAGE_DEVELOPERPORTAL value: registry.redhat.io/rhcl-1/developer-portal-controller-rhel9@sha256:66b1656100087f5949d910e839422f75c3030bcbdffb6b79812d0518c54f8f90 - name: RELATED_IMAGE_CONSOLE_PLUGIN_LATEST value: registry.redhat.io/rhcl-1/rhcl-console-plugin-rhel9@sha256:5174bcdc4785e85d8bf5697c7000f92b08b18efafae3d1d008256909dda2441b - name: RELATED_IMAGE_CONSOLE_PLUGIN_SDK1 value: registry.redhat.io/rhcl-1/rhcl-console-plugin-rhel9@sha256:b1bdbb53a5ea278cfae4801a85c3711a1ac6b3ae24a8b08c76ec41ed5f8c8e9a - name: RELATED_IMAGE_CONSOLE_PLUGIN_PF5 value: registry.redhat.io/rhcl-1/rhcl-console-plugin-rhel9@sha256:457622b44bab44bef8a9f157c849b2dd3970d84f804a8178ddc76e5e02c3db03 - name: RELATED_IMAGE_DNS_OPERATOR value: registry.redhat.io/rhcl-1/dns-rhel9-operator@sha256:5c642fccff0a02ad72a6354fe44695e87cca8903a8713c412e995cfe6f9ca388 - name: RELATED_IMAGE_MCP_GATEWAY value: registry.redhat.io/rhcl-1/mcp-gateway-rhel9-operator@sha256:ac8b4d4c78cf24a7a5ee12de4cdc89b7f24bbb6c02e36798e74d81e5b3e9aefa - name: RELATED_IMAGE_MCP_GATEWAY_BROKER value: registry.redhat.io/rhcl-1/mcp-gateway-rhel9@sha256:1f115b6625e69caa27c2db5120cd7d83b1b9352c0475e6c39086f6855652c8c5 - name: RELATED_IMAGE_AUTHORINO_OPERATOR value: registry.redhat.io/rhcl-1/authorino-rhel9-operator@sha256:dd4629ca035b962fce6871fcab1e5e54bc24312a952fe0454a657c18b9b29402 - name: RELATED_IMAGE_LIMITADOR_OPERATOR value: registry.redhat.io/rhcl-1/limitador-rhel9-operator@sha256:d81c7c651171a924b50b8df3cf7934a0d98de9057bdf92a50f5acfaf4f4283f3 - name: RELATED_IMAGE_AUTHORINO value: registry.redhat.io/rhcl-1/authorino-rhel9@sha256:fb72464b7c88f036afad7667ccdbe7a465919a5722f492e7da3598399ac13c16 - name: RELATED_IMAGE_LIMITADOR value: registry.redhat.io/rhcl-1/limitador-rhel9@sha256:5ce716d90f7e944720a5d1a6c133d13b1caf6c4f43850778a0d14ea1e395c8aa - name: OPERATOR_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: ISTIO_GATEWAY_CONTROLLER_NAMES value: istio.io/gateway-controller,openshift.io/gateway-controller/v1 - name: RATELIMIT_CHECK_SERVICE_FAILURE_MODE value: deny - name: RATELIMIT_REPORT_SERVICE_FAILURE_MODE value: deny - name: AUTH_SERVICE_TIMEOUT value: 2s - name: OPERATOR_CONDITION_NAME value: rhcl-operator.v1.5.0 image: registry.redhat.io/rhcl-1/rhcl-rhel9-operator@sha256:d297423e5507ec7ef5be128004902e3f62b5bf1d97f034d465c12628820ca299 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 8080 name: metrics protocol: TCP - containerPort: 50051 name: grpc protocol: TCP - containerPort: 50052 name: extensions protocol: TCP - containerPort: 8082 name: wasm protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: "1" memory: 2Gi requests: cpu: 200m memory: 512Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true serviceAccount: kuadrant-operator-controller-manager serviceAccountName: kuadrant-operator-controller-manager terminationGracePeriodSeconds: 10 status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-11-02T00:39:42Z" lastUpdateTime: "2026-11-02T00:39:42Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-11-02T00:39:14Z" lastUpdateTime: "2026-11-02T00:39:42Z" message: ReplicaSet "kuadrant-operator-controller-manager-6b575997cc" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "2" creationTimestamp: "2026-11-02T00:40:01Z" generation: 2 labels: app: limitador app.kubernetes.io/component: limitador app.kubernetes.io/instance: limitador app.kubernetes.io/managed-by: limitador-operator app.kubernetes.io/name: limitador app.kubernetes.io/part-of: kuadrant limitador-resource: limitador managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: f:app: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/instance: {} f:app.kubernetes.io/managed-by: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:limitador-resource: {} f:ownerReferences: k:{"uid":"e4338765-e265-4cab-a5d9-30a3ffbc5101"}: {} f:spec: f:replicas: {} f:selector: {} f:strategy: f:rollingUpdate: {} f:type: {} f:template: f:metadata: f:labels: f:app: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/instance: {} f:app.kubernetes.io/managed-by: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:limitador-resource: {} f:spec: f:containers: k:{"name":"limitador"}: .: {} f:args: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: f:failureThreshold: {} f:httpGet: f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: k:{"containerPort":8080,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} k:{"containerPort":8081,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: f:failureThreshold: {} f:httpGet: f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: f:limits: f:cpu: {} f:memory: {} f:requests: f:cpu: {} f:memory: {} f:volumeMounts: k:{"mountPath":"/home/limitador/etc"}: .: {} f:mountPath: {} f:name: {} f:volumes: k:{"name":"config-file"}: .: {} f:configMap: f:name: {} f:name: {} manager: limitador-operator operation: Apply time: "2026-11-02T00:40:01Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:spec: f:template: f:metadata: f:labels: f:kuadrant.io/managed: {} f:sidecar.istio.io/inject: {} manager: manager operation: Update time: "2026-11-02T00:40:05Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-11-02T00:40:21Z" name: limitador-limitador namespace: kuadrant-system ownerReferences: - apiVersion: limitador.kuadrant.io/v1alpha1 blockOwnerDeletion: true controller: true kind: Limitador name: limitador uid: e4338765-e265-4cab-a5d9-30a3ffbc5101 resourceVersion: "14579" uid: b7f93bf9-d2ce-4e2e-a82e-670b469fc5bb spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: limitador limitador-resource: limitador strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: labels: app: limitador app.kubernetes.io/component: limitador app.kubernetes.io/instance: limitador app.kubernetes.io/managed-by: limitador-operator app.kubernetes.io/name: limitador app.kubernetes.io/part-of: kuadrant kuadrant.io/managed: "true" limitador-resource: limitador sidecar.istio.io/inject: "false" spec: containers: - args: - --http-port - "8080" - --rls-port - "8081" - --metric-labels-default - descriptors[1] - /home/limitador/etc/limitador-config.yaml - memory command: - limitador-server image: registry.redhat.io/rhcl-1/limitador-rhel9@sha256:5ce716d90f7e944720a5d1a6c133d13b1caf6c4f43850778a0d14ea1e395c8aa imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /status port: 8080 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 2 name: limitador ports: - containerPort: 8080 name: http protocol: TCP - containerPort: 8081 name: grpc protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /status port: 8080 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 resources: limits: cpu: 500m memory: 64Mi requests: cpu: 250m memory: 32Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /home/limitador/etc name: config-file dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 volumes: - configMap: defaultMode: 420 name: limitador-limits-config-limitador name: config-file status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-11-02T00:40:20Z" lastUpdateTime: "2026-11-02T00:40:20Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-11-02T00:40:01Z" lastUpdateTime: "2026-11-02T00:40:20Z" message: ReplicaSet "limitador-limitador-f7d6b5c7c" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 2 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-11-02T00:39:37Z" generation: 1 labels: app.kubernetes.io/managed-by: kuadrant-operator control-plane: controller-manager managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: f:app.kubernetes.io/managed-by: {} f:control-plane: {} f:ownerReferences: k:{"uid":"4fdffe20-c5d4-40ff-87a9-2b1e1201416f"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:labels: f:app: {} f:app.kubernetes.io/managed-by: {} f:control-plane: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: k:{"name":"RELATED_IMAGE_LIMITADOR"}: .: {} f:name: {} f:value: {} f:image: {} f:livenessProbe: f:httpGet: f:path: {} f:port: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:name: {} f:ports: k:{"containerPort":8080,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:readinessProbe: f:httpGet: f:path: {} f:port: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:resources: f:limits: f:cpu: {} f:memory: {} f:requests: f:cpu: {} f:memory: {} f:securityContext: f:allowPrivilegeEscalation: {} f:securityContext: f:runAsNonRoot: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} manager: kuadrant-operator operation: Apply time: "2026-11-02T00:39:37Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-11-02T00:39:55Z" name: limitador-operator-controller-manager namespace: kuadrant-system ownerReferences: - apiVersion: kuadrant.io/v1alpha1 controller: true kind: KuadrantControlPlane name: default uid: 4fdffe20-c5d4-40ff-87a9-2b1e1201416f resourceVersion: "13780" uid: 83165cf8-ab0d-4697-966d-0fb41f109b21 spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: control-plane: controller-manager strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: labels: app: limitador-operator app.kubernetes.io/managed-by: helm control-plane: controller-manager spec: containers: - args: - --leader-elect command: - /manager env: - name: RELATED_IMAGE_LIMITADOR value: registry.redhat.io/rhcl-1/limitador-rhel9@sha256:5ce716d90f7e944720a5d1a6c133d13b1caf6c4f43850778a0d14ea1e395c8aa image: registry.redhat.io/rhcl-1/limitador-rhel9-operator@sha256:d81c7c651171a924b50b8df3cf7934a0d98de9057bdf92a50f5acfaf4f4283f3 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 8080 name: metrics protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 200m memory: 300Mi requests: cpu: 200m memory: 200Mi securityContext: allowPrivilegeEscalation: false terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true serviceAccount: limitador-operator-controller-manager serviceAccountName: limitador-operator-controller-manager terminationGracePeriodSeconds: 10 status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-11-02T00:39:55Z" lastUpdateTime: "2026-11-02T00:39:55Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-11-02T00:39:37Z" lastUpdateTime: "2026-11-02T00:39:55Z" message: ReplicaSet "limitador-operator-controller-manager-68669df9c4" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-11-02T00:39:36Z" generation: 1 labels: app.kubernetes.io/instance: mcp-gateway app.kubernetes.io/managed-by: kuadrant-operator app.kubernetes.io/name: mcp-gateway app.kubernetes.io/version: 1.0.2 component: controller helm.sh/chart: mcp-gateway-1.0.2 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: f:app.kubernetes.io/instance: {} f:app.kubernetes.io/managed-by: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/version: {} f:component: {} f:helm.sh/chart: {} f:ownerReferences: k:{"uid":"4fdffe20-c5d4-40ff-87a9-2b1e1201416f"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:labels: f:app.kubernetes.io/instance: {} f:app.kubernetes.io/name: {} f:spec: f:containers: k:{"name":"mcp-controller"}: .: {} f:command: {} f:env: k:{"name":"NAMESPACE"}: .: {} f:name: {} f:valueFrom: f:fieldRef: {} k:{"name":"RELATED_IMAGE_ROUTER_BROKER"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: f:httpGet: f:path: {} f:port: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:name: {} f:ports: k:{"containerPort":8081,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} k:{"containerPort":8082,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: f:httpGet: f:path: {} f:port: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:resources: f:limits: f:cpu: {} f:memory: {} f:requests: f:cpu: {} f:memory: {} f:securityContext: f:allowPrivilegeEscalation: {} f:capabilities: f:drop: {} f:readOnlyRootFilesystem: {} f:securityContext: f:runAsNonRoot: {} f:seccompProfile: f:type: {} f:serviceAccountName: {} manager: kuadrant-operator operation: Apply time: "2026-11-02T00:39:36Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-11-02T00:39:53Z" name: mcp-gateway-controller namespace: kuadrant-system ownerReferences: - apiVersion: kuadrant.io/v1alpha1 controller: true kind: KuadrantControlPlane name: default uid: 4fdffe20-c5d4-40ff-87a9-2b1e1201416f resourceVersion: "13755" uid: 17ce4e32-3866-4108-be98-544648a3f7f1 spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app.kubernetes.io/instance: mcp-gateway app.kubernetes.io/name: mcp-gateway-controller strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: labels: app.kubernetes.io/instance: mcp-gateway app.kubernetes.io/name: mcp-gateway-controller spec: containers: - command: - ./mcp_controller - --log-level=0 env: - name: NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: RELATED_IMAGE_ROUTER_BROKER value: registry.redhat.io/rhcl-1/mcp-gateway-rhel9@sha256:1f115b6625e69caa27c2db5120cd7d83b1b9352c0475e6c39086f6855652c8c5 image: registry.redhat.io/rhcl-1/mcp-gateway-rhel9-operator@sha256:ac8b4d4c78cf24a7a5ee12de4cdc89b7f24bbb6c02e36798e74d81e5b3e9aefa imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 10 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 1 name: mcp-controller ports: - containerPort: 8081 name: health protocol: TCP - containerPort: 8082 name: metrics protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 200m memory: 256Mi requests: cpu: 50m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault serviceAccount: mcp-gateway-controller serviceAccountName: mcp-gateway-controller terminationGracePeriodSeconds: 30 status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-11-02T00:39:53Z" lastUpdateTime: "2026-11-02T00:39:53Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-11-02T00:39:36Z" lastUpdateTime: "2026-11-02T00:39:53Z" message: ReplicaSet "mcp-gateway-controller-6c98b995c5" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 updatedReplicas: 1 kind: DeploymentList metadata: resourceVersion: "23569"