--- apiVersion: apps/v1 items: - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "6" creationTimestamp: "2026-06-11T17:00:46Z" generation: 2 labels: authorino-resource: authorino control-plane: controller-manager kuadrant.io/managed: "true" pod-template-hash: 5676d68769 sidecar.istio.io/inject: "false" managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:authorino-resource: {} f:control-plane: {} f:kuadrant.io/managed: {} f:pod-template-hash: {} f:sidecar.istio.io/inject: {} f:ownerReferences: .: {} k:{"uid":"c65a53c2-4a97-4e2a-b12b-3415539fe433"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/restartedAt: {} f:labels: .: {} f:authorino-resource: {} f:control-plane: {} f:kuadrant.io/managed: {} f:pod-template-hash: {} f:sidecar.istio.io/inject: {} f:spec: f:containers: k:{"name":"authorino"}: .: {} f:args: {} f:env: .: {} k:{"name":"REQUESTS_CA_BUNDLE"}: .: {} f:name: {} f:value: {} k:{"name":"SSL_CERT_FILE"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/ssl/certs/oidc-ca.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} 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:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"oidc-ca"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:name: {} k:{"name":"tls-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-06-11T17:03:41Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:observedGeneration: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-11T17:03:41Z" name: authorino-5676d68769 namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: authorino uid: c65a53c2-4a97-4e2a-b12b-3415539fe433 resourceVersion: "29290" uid: e7f5c49a-41cf-4698-8712-41ae83b3c090 spec: replicas: 0 selector: matchLabels: authorino-resource: authorino control-plane: controller-manager pod-template-hash: 5676d68769 template: metadata: annotations: kubectl.kubernetes.io/restartedAt: "2026-06-11T16:57:16Z" labels: authorino-resource: authorino control-plane: controller-manager kuadrant.io/managed: "true" pod-template-hash: 5676d68769 sidecar.istio.io/inject: "false" spec: containers: - args: - --allow-superseding-host-subsets - --tls-cert=/etc/ssl/certs/tls.crt - --tls-cert-key=/etc/ssl/private/tls.key env: - name: SSL_CERT_FILE value: /etc/ssl/certs/openshift-service-ca/service-ca-bundle.crt - name: REQUESTS_CA_BUNDLE value: /etc/ssl/certs/openshift-service-ca/service-ca-bundle.crt image: quay.io/kuadrant/authorino:v0.24.0 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 - mountPath: /etc/ssl/certs/oidc-ca.crt name: oidc-ca readOnly: true subPath: ca.crt 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 - configMap: defaultMode: 420 name: authorino-oidc-ca name: oidc-ca status: observedGeneration: 2 replicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-06-11T16:55:55Z" generation: 2 labels: authorino-resource: authorino control-plane: controller-manager pod-template-hash: 58cd955675 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:authorino-resource: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"c65a53c2-4a97-4e2a-b12b-3415539fe433"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:labels: .: {} f:authorino-resource: {} f:control-plane: {} f:pod-template-hash: {} f:spec: f:containers: k:{"name":"authorino"}: .: {} f:args: {} 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: kube-controller-manager operation: Update time: "2026-06-11T16:55:59Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:observedGeneration: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-11T16:55:59Z" name: authorino-58cd955675 namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: authorino uid: c65a53c2-4a97-4e2a-b12b-3415539fe433 resourceVersion: "22407" uid: d8bdb131-05ef-4352-85ac-ec866c0ca125 spec: replicas: 0 selector: matchLabels: authorino-resource: authorino control-plane: controller-manager pod-template-hash: 58cd955675 template: metadata: labels: authorino-resource: authorino control-plane: controller-manager pod-template-hash: 58cd955675 spec: containers: - args: - --allow-superseding-host-subsets image: quay.io/kuadrant/authorino:v0.24.0 imagePullPolicy: Always name: authorino resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: authorino-authorino serviceAccountName: authorino-authorino terminationGracePeriodSeconds: 30 status: observedGeneration: 2 replicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "4" creationTimestamp: "2026-06-11T16:57:16Z" generation: 3 labels: authorino-resource: authorino control-plane: controller-manager kuadrant.io/managed: "true" pod-template-hash: 58fcd4855c sidecar.istio.io/inject: "false" managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:authorino-resource: {} f:control-plane: {} f:kuadrant.io/managed: {} f:pod-template-hash: {} f:sidecar.istio.io/inject: {} f:ownerReferences: .: {} k:{"uid":"c65a53c2-4a97-4e2a-b12b-3415539fe433"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/restartedAt: {} f:labels: .: {} f:authorino-resource: {} f:control-plane: {} f:kuadrant.io/managed: {} f:pod-template-hash: {} f:sidecar.istio.io/inject: {} f:spec: f:containers: k:{"name":"authorino"}: .: {} f:args: {} f:env: .: {} k:{"name":"REQUESTS_CA_BUNDLE"}: .: {} f:name: {} f:value: {} k:{"name":"SSL_CERT_FILE"}: .: {} f:name: {} f:value: {} 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: kube-controller-manager operation: Update time: "2026-06-11T16:57:17Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:observedGeneration: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-11T16:57:17Z" name: authorino-58fcd4855c namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: authorino uid: c65a53c2-4a97-4e2a-b12b-3415539fe433 resourceVersion: "23682" uid: 0f202654-1857-4e9d-a5f5-b2a3ccb19ae9 spec: replicas: 0 selector: matchLabels: authorino-resource: authorino control-plane: controller-manager pod-template-hash: 58fcd4855c template: metadata: annotations: kubectl.kubernetes.io/restartedAt: "2026-06-11T16:57:16Z" labels: authorino-resource: authorino control-plane: controller-manager kuadrant.io/managed: "true" pod-template-hash: 58fcd4855c sidecar.istio.io/inject: "false" spec: containers: - args: - --allow-superseding-host-subsets env: - name: SSL_CERT_FILE value: /etc/ssl/certs/openshift-service-ca/service-ca-bundle.crt - name: REQUESTS_CA_BUNDLE value: /etc/ssl/certs/openshift-service-ca/service-ca-bundle.crt image: quay.io/kuadrant/authorino:v0.24.0 imagePullPolicy: Always name: authorino resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: authorino-authorino serviceAccountName: authorino-authorino terminationGracePeriodSeconds: 30 status: observedGeneration: 3 replicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "5" creationTimestamp: "2026-06-11T16:57:17Z" generation: 3 labels: authorino-resource: authorino control-plane: controller-manager kuadrant.io/managed: "true" pod-template-hash: 5cbf587f7c sidecar.istio.io/inject: "false" managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:authorino-resource: {} f:control-plane: {} f:kuadrant.io/managed: {} f:pod-template-hash: {} f:sidecar.istio.io/inject: {} f:ownerReferences: .: {} k:{"uid":"c65a53c2-4a97-4e2a-b12b-3415539fe433"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/restartedAt: {} f:labels: .: {} f:authorino-resource: {} f:control-plane: {} f:kuadrant.io/managed: {} f:pod-template-hash: {} f:sidecar.istio.io/inject: {} f:spec: f:containers: k:{"name":"authorino"}: .: {} f:args: {} f:env: .: {} k:{"name":"REQUESTS_CA_BUNDLE"}: .: {} f:name: {} f:value: {} k:{"name":"SSL_CERT_FILE"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} 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:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"tls-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-06-11T17:00:47Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:observedGeneration: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-11T17:00:48Z" name: authorino-5cbf587f7c namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: authorino uid: c65a53c2-4a97-4e2a-b12b-3415539fe433 resourceVersion: "26557" uid: 9cd80798-8213-4683-837a-695107f06c35 spec: replicas: 0 selector: matchLabels: authorino-resource: authorino control-plane: controller-manager pod-template-hash: 5cbf587f7c template: metadata: annotations: kubectl.kubernetes.io/restartedAt: "2026-06-11T16:57:16Z" labels: authorino-resource: authorino control-plane: controller-manager kuadrant.io/managed: "true" pod-template-hash: 5cbf587f7c sidecar.istio.io/inject: "false" spec: containers: - args: - --allow-superseding-host-subsets - --tls-cert=/etc/ssl/certs/tls.crt - --tls-cert-key=/etc/ssl/private/tls.key env: - name: SSL_CERT_FILE value: /etc/ssl/certs/openshift-service-ca/service-ca-bundle.crt - name: REQUESTS_CA_BUNDLE value: /etc/ssl/certs/openshift-service-ca/service-ca-bundle.crt image: quay.io/kuadrant/authorino:v0.24.0 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: observedGeneration: 3 replicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "3" creationTimestamp: "2026-06-11T16:57:16Z" generation: 2 labels: authorino-resource: authorino control-plane: controller-manager kuadrant.io/managed: "true" pod-template-hash: 5d4b67c446 sidecar.istio.io/inject: "false" managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:authorino-resource: {} f:control-plane: {} f:kuadrant.io/managed: {} f:pod-template-hash: {} f:sidecar.istio.io/inject: {} f:ownerReferences: .: {} k:{"uid":"c65a53c2-4a97-4e2a-b12b-3415539fe433"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:labels: .: {} f:authorino-resource: {} f:control-plane: {} f:kuadrant.io/managed: {} f:pod-template-hash: {} f:sidecar.istio.io/inject: {} f:spec: f:containers: k:{"name":"authorino"}: .: {} f:args: {} f:env: .: {} k:{"name":"REQUESTS_CA_BUNDLE"}: .: {} f:name: {} f:value: {} k:{"name":"SSL_CERT_FILE"}: .: {} f:name: {} f:value: {} 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: kube-controller-manager operation: Update time: "2026-06-11T16:57:16Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:observedGeneration: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-11T16:57:16Z" name: authorino-5d4b67c446 namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: authorino uid: c65a53c2-4a97-4e2a-b12b-3415539fe433 resourceVersion: "23647" uid: ab104844-70cc-4d97-9895-7260e9b6afd1 spec: replicas: 0 selector: matchLabels: authorino-resource: authorino control-plane: controller-manager pod-template-hash: 5d4b67c446 template: metadata: labels: authorino-resource: authorino control-plane: controller-manager kuadrant.io/managed: "true" pod-template-hash: 5d4b67c446 sidecar.istio.io/inject: "false" spec: containers: - args: - --allow-superseding-host-subsets env: - name: SSL_CERT_FILE value: /etc/ssl/certs/openshift-service-ca/service-ca-bundle.crt - name: REQUESTS_CA_BUNDLE value: /etc/ssl/certs/openshift-service-ca/service-ca-bundle.crt image: quay.io/kuadrant/authorino:v0.24.0 imagePullPolicy: Always name: authorino resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: authorino-authorino serviceAccountName: authorino-authorino terminationGracePeriodSeconds: 30 status: observedGeneration: 2 replicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "7" creationTimestamp: "2026-06-11T17:03:40Z" generation: 1 labels: authorino-resource: authorino control-plane: controller-manager kuadrant.io/managed: "true" pod-template-hash: 6b5b4757b4 sidecar.istio.io/inject: "false" managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:authorino-resource: {} f:control-plane: {} f:kuadrant.io/managed: {} f:pod-template-hash: {} f:sidecar.istio.io/inject: {} f:ownerReferences: .: {} k:{"uid":"c65a53c2-4a97-4e2a-b12b-3415539fe433"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/restartedAt: {} f:labels: .: {} f:authorino-resource: {} f:control-plane: {} f:kuadrant.io/managed: {} f:pod-template-hash: {} f:sidecar.istio.io/inject: {} f:spec: f:containers: k:{"name":"authorino"}: .: {} f:args: {} f:env: .: {} k:{"name":"REQUESTS_CA_BUNDLE"}: .: {} f:name: {} f:value: {} k:{"name":"SSL_CERT_FILE"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/ssl/certs/oidc-ca.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} 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:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"oidc-ca"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:name: {} k:{"name":"tls-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-06-11T17:03:40Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-11T17:03:41Z" name: authorino-6b5b4757b4 namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: authorino uid: c65a53c2-4a97-4e2a-b12b-3415539fe433 resourceVersion: "29271" uid: 1cbf88cb-4e5c-4784-9665-0e3bd06ef70b spec: replicas: 1 selector: matchLabels: authorino-resource: authorino control-plane: controller-manager pod-template-hash: 6b5b4757b4 template: metadata: annotations: kubectl.kubernetes.io/restartedAt: "2026-06-11T16:57:16Z" labels: authorino-resource: authorino control-plane: controller-manager kuadrant.io/managed: "true" pod-template-hash: 6b5b4757b4 sidecar.istio.io/inject: "false" spec: containers: - args: - --allow-superseding-host-subsets - --log-level=debug - --tls-cert=/etc/ssl/certs/tls.crt - --tls-cert-key=/etc/ssl/private/tls.key env: - name: SSL_CERT_FILE value: /etc/ssl/certs/openshift-service-ca/service-ca-bundle.crt - name: REQUESTS_CA_BUNDLE value: /etc/ssl/certs/openshift-service-ca/service-ca-bundle.crt image: quay.io/kuadrant/authorino:v0.24.0 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 - mountPath: /etc/ssl/certs/oidc-ca.crt name: oidc-ca readOnly: true subPath: ca.crt 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 - configMap: defaultMode: 420 name: authorino-oidc-ca name: oidc-ca status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "2" creationTimestamp: "2026-06-11T16:55:55Z" generation: 2 labels: authorino-resource: authorino control-plane: controller-manager kuadrant.io/managed: "true" pod-template-hash: 75d556bd77 sidecar.istio.io/inject: "false" managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:authorino-resource: {} f:control-plane: {} f:kuadrant.io/managed: {} f:pod-template-hash: {} f:sidecar.istio.io/inject: {} f:ownerReferences: .: {} k:{"uid":"c65a53c2-4a97-4e2a-b12b-3415539fe433"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:labels: .: {} f:authorino-resource: {} f:control-plane: {} f:kuadrant.io/managed: {} f:pod-template-hash: {} f:sidecar.istio.io/inject: {} f:spec: f:containers: k:{"name":"authorino"}: .: {} f:args: {} 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: kube-controller-manager operation: Update time: "2026-06-11T16:57:18Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:observedGeneration: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-11T16:57:18Z" name: authorino-75d556bd77 namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: authorino uid: c65a53c2-4a97-4e2a-b12b-3415539fe433 resourceVersion: "23767" uid: cba71f06-fcd6-4215-98f9-bb3d78d83e7c spec: replicas: 0 selector: matchLabels: authorino-resource: authorino control-plane: controller-manager pod-template-hash: 75d556bd77 template: metadata: labels: authorino-resource: authorino control-plane: controller-manager kuadrant.io/managed: "true" pod-template-hash: 75d556bd77 sidecar.istio.io/inject: "false" spec: containers: - args: - --allow-superseding-host-subsets image: quay.io/kuadrant/authorino:v0.24.0 imagePullPolicy: Always name: authorino resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: authorino-authorino serviceAccountName: authorino-authorino terminationGracePeriodSeconds: 30 status: observedGeneration: 2 replicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-06-11T16:54:46Z" generation: 1 labels: control-plane: authorino-operator pod-template-hash: 75cc8d5cb7 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"1b686b4f-5a7f-4c69-b638-7cf000efd9b6"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:containerImage: {} f:createdAt: {} f:olm.operatorGroup: {} f:olm.operatorNamespace: {} f:olm.targetNamespaces: {} f:operatorframework.io/properties: {} f:operators.operatorframework.io/builder: {} f:operators.operatorframework.io/project_layout: {} f:repository: {} f:support: {} f:labels: .: {} f:control-plane: {} f:pod-template-hash: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"OPERATOR_CONDITION_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_AUTHORINO"}: .: {} 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: {} 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:seccompProfile: .: {} f:type: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} manager: kube-controller-manager operation: Update time: "2026-06-11T16:54:46Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-11T16:55:01Z" name: authorino-operator-75cc8d5cb7 namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: authorino-operator uid: 1b686b4f-5a7f-4c69-b638-7cf000efd9b6 resourceVersion: "20118" uid: b4bdce54-5b09-432a-a185-f0c629401d05 spec: replicas: 1 selector: matchLabels: control-plane: authorino-operator pod-template-hash: 75cc8d5cb7 template: metadata: annotations: alm-examples: |- [ { "apiVersion": "authorino.kuadrant.io/v1beta2", "kind": "AuthConfig", "metadata": { "name": "my-api-protection" }, "spec": { "authentication": { "api-key-users": { "apiKey": { "selector": { "matchLabels": { "group": "friends" } } }, "credentials": { "authorizationHeader": { "prefix": "APIKEY" } } } }, "hosts": [ "my-api.io" ] } }, { "apiVersion": "authorino.kuadrant.io/v1beta3", "kind": "AuthConfig", "metadata": { "name": "my-api-protection" }, "spec": { "authentication": { "api-key-users": { "apiKey": { "selector": { "matchLabels": { "group": "friends" } } }, "credentials": { "authorizationHeader": { "prefix": "APIKEY" } } } }, "hosts": [ "my-api.io" ] } }, { "apiVersion": "operator.authorino.kuadrant.io/v1beta1", "kind": "Authorino", "metadata": { "name": "authorino-sample" }, "spec": { "listener": { "tls": { "enabled": false } }, "oidcServer": { "tls": { "enabled": false } } } } ] capabilities: Basic Install categories: Integration & Delivery containerImage: quay.io/kuadrant/authorino-operator:v0.23.1 createdAt: "2026-02-18T13:50:42Z" olm.operatorGroup: kuadrant-operator-group olm.operatorNamespace: kuadrant-system olm.targetNamespaces: "" operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"authorino.kuadrant.io","kind":"AuthConfig","version":"v1beta2"}},{"type":"olm.gvk","value":{"group":"authorino.kuadrant.io","kind":"AuthConfig","version":"v1beta3"}},{"type":"olm.gvk","value":{"group":"operator.authorino.kuadrant.io","kind":"Authorino","version":"v1beta1"}},{"type":"olm.package","value":{"packageName":"authorino-operator","version":"0.23.1"}}]}' operators.operatorframework.io/builder: operator-sdk-v1.32.0 operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 repository: https://github.com/Kuadrant/authorino-operator support: kuadrant labels: control-plane: authorino-operator pod-template-hash: 75cc8d5cb7 spec: containers: - args: - --leader-elect command: - /manager env: - name: RELATED_IMAGE_AUTHORINO value: quay.io/kuadrant/authorino:v0.24.0 - name: OPERATOR_CONDITION_NAME value: authorino-operator.v0.23.1 image: quay.io/kuadrant/authorino-operator:v0.23.1 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 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-06-11T16:54:55Z" generation: 1 labels: control-plane: dns-operator-controller-manager pod-template-hash: 864dd78c4c managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"f33a2811-a16a-44ba-946c-2ee2154aca2e"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:containerImage: {} f:createdAt: {} f:description: {} f:kubectl.kubernetes.io/default-container: {} f:olm.operatorGroup: {} f:olm.operatorNamespace: {} f:olm.targetNamespaces: {} f:operatorframework.io/properties: {} f:operators.operatorframework.io/builder: {} f:operators.operatorframework.io/project_layout: {} f:repository: {} f:support: {} f:labels: .: {} f:control-plane: {} f:pod-template-hash: {} 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":"OPERATOR_CONDITION_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"WATCH_NAMESPACES"}: .: {} f:name: {} f:envFrom: {} 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: {} 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:terminationMessagePath: {} f:terminationMessagePolicy: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} manager: kube-controller-manager operation: Update time: "2026-06-11T16:54:55Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-11T16:55:09Z" name: dns-operator-controller-manager-864dd78c4c namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: dns-operator-controller-manager uid: f33a2811-a16a-44ba-946c-2ee2154aca2e resourceVersion: "20541" uid: 37bd866a-d181-414e-bab9-1cd72568e252 spec: replicas: 1 selector: matchLabels: control-plane: dns-operator-controller-manager pod-template-hash: 864dd78c4c template: metadata: annotations: alm-examples: |- [ { "apiVersion": "kuadrant.io/v1alpha1", "kind": "DNSHealthCheckProbe", "metadata": { "name": "$NAME" }, "spec": { "additionalHeadersRef": { "name": "headers" }, "address": "192.168.0.16", "allowInsecureCertificate": true, "failureThreshold": 5, "hostname": "test.com", "interval": "60s", "path": "/healthz", "port": 443, "protocol": "HTTPS" } }, { "apiVersion": "kuadrant.io/v1alpha1", "kind": "DNSRecord", "metadata": { "labels": { "app.kubernetes.io/created-by": "dns-operator", "app.kubernetes.io/instance": "dnsrecord-sample", "app.kubernetes.io/managed-by": "kustomize", "app.kubernetes.io/name": "dnsrecord", "app.kubernetes.io/part-of": "dns-operator" }, "name": "dnsrecord-sample" }, "spec": { "endpoints": [ { "dnsName": "dnsrecord-simple.kuadrant.local", "recordTTL": 60, "recordType": "A", "targets": [ "52.215.108.61", "52.30.101.221" ] } ], "providerRef": { "name": "dns-provider-credentials-inmemory" }, "rootHost": "dnsrecord-simple.kuadrant.local" } } ] capabilities: Basic Install categories: Integration & Delivery containerImage: quay.io/kuadrant/dns-operator:v0.16.0 createdAt: "2026-02-05T12:07:43Z" description: A Kubernetes Operator to manage the lifecycle of DNS resources kubectl.kubernetes.io/default-container: manager olm.operatorGroup: kuadrant-operator-group olm.operatorNamespace: kuadrant-system olm.targetNamespaces: "" operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"kuadrant.io","kind":"DNSHealthCheckProbe","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"kuadrant.io","kind":"DNSRecord","version":"v1alpha1"}},{"type":"olm.package","value":{"packageName":"dns-operator","version":"0.16.0"}}]}' operators.operatorframework.io/builder: operator-sdk-v1.33.0 operators.operatorframework.io/project_layout: go.kubebuilder.io/v4 repository: https://github.com/kuadrant/dns-operator support: kuadrant labels: control-plane: dns-operator-controller-manager pod-template-hash: 864dd78c4c 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 - name: OPERATOR_CONDITION_NAME value: dns-operator.v0.16.0 envFrom: - configMapRef: name: dns-operator-controller-env image: quay.io/kuadrant/dns-operator:v0.16.0 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 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-06-11T16:55:01Z" 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 pod-template-hash: 66b5774985 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} 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:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"80f06d94-7bd4-4e15-a956-7a5de3a6bdd5"}: {} f:spec: f:replicas: {} f:selector: {} 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:pod-template-hash: {} f:spec: f:containers: k:{"name":"kuadrant-console-plugin"}: .: {} f:env: .: {} 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:protocol: {} f:resources: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/nginx/nginx.conf"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} 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":"nginx-conf"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:name: {} k:{"name":"plugin-serving-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-06-11T16:55:01Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-11T16:55:25Z" name: kuadrant-console-plugin-66b5774985 namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: kuadrant-console-plugin uid: 80f06d94-7bd4-4e15-a956-7a5de3a6bdd5 resourceVersion: "21536" uid: 86a65e5f-e63e-405b-94a3-5225eefb3353 spec: replicas: 1 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 pod-template-hash: 66b5774985 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 pod-template-hash: 66b5774985 spec: containers: - env: - name: TOPOLOGY_CONFIGMAP_NAME value: topology - name: TOPOLOGY_CONFIGMAP_NAMESPACE value: kuadrant-system image: quay.io/kuadrant/console-plugin:v0.3.4 imagePullPolicy: Always name: kuadrant-console-plugin ports: - containerPort: 9443 protocol: TCP resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /var/serving-cert name: plugin-serving-cert readOnly: true - mountPath: /etc/nginx/nginx.conf name: nginx-conf readOnly: true subPath: nginx.conf dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 volumes: - name: plugin-serving-cert secret: defaultMode: 420 secretName: plugin-serving-cert - configMap: defaultMode: 420 name: kuadrant-console-nginx-conf name: nginx-conf status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-06-11T16:54:53Z" generation: 2 labels: app: kuadrant control-plane: controller-manager pod-template-hash: 8684c9ff49 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"6e0afb00-9938-42a7-aa39-3c78f19b3e06"}: {} f:spec: f:replicas: {} f:selector: {} 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:olm.operatorGroup: {} f:olm.operatorNamespace: {} f:olm.targetNamespaces: {} f:operatorframework.io/properties: {} f:operators.operatorframework.io/builder: {} f:operators.operatorframework.io/project_layout: {} f:repository: {} f:support: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"EXTENSIONS_DIR"}: .: {} 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":"RELATED_IMAGE_CONSOLE_PLUGIN_LATEST"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_CONSOLE_PLUGIN_PF5"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_DEVELOPERPORTAL"}: .: {} 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: {} 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:volumeMounts: .: {} k:{"mountPath":"/tmp/kuadrant"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"extensions-socket-volume"}: .: {} f:emptyDir: {} f:name: {} manager: kube-controller-manager operation: Update time: "2026-06-11T16:55:36Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:observedGeneration: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-11T16:55:36Z" name: kuadrant-operator-controller-manager-8684c9ff49 namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: kuadrant-operator-controller-manager uid: 6e0afb00-9938-42a7-aa39-3c78f19b3e06 resourceVersion: "21848" uid: 92f0fecc-eac8-48fd-b2d5-f9710690c09e spec: replicas: 0 selector: matchLabels: app: kuadrant control-plane: controller-manager pod-template-hash: 8684c9ff49 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: quay.io/kuadrant/kuadrant-operator:v1.4.2 createdAt: "2026-03-11T10:58:28Z" description: A Kubernetes Operator to manage the lifecycle of the Kuadrant system olm.operatorGroup: kuadrant-operator-group olm.operatorNamespace: kuadrant-system olm.targetNamespaces: "" operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"devportal.kuadrant.io","kind":"APIKey","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"devportal.kuadrant.io","kind":"APIProduct","version":"v1alpha1"}},{"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":"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":"kuadrant-operator","version":"1.4.2"}},{"type":"olm.package.required","value":{"packageName":"authorino-operator","versionRange":"0.23.1"}},{"type":"olm.package.required","value":{"packageName":"dns-operator","versionRange":"0.16.0"}},{"type":"olm.package.required","value":{"packageName":"limitador-operator","versionRange":"0.17.1"}},{"type":"olm.package.required","value":{"packageName":"authorino-operator","versionRange":"0.23.1"}},{"type":"olm.package.required","value":{"packageName":"dns-operator","versionRange":"0.16.0"}},{"type":"olm.package.required","value":{"packageName":"limitador-operator","versionRange":"0.17.1"}}]}' operators.operatorframework.io/builder: operator-sdk-v1.33.0 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 pod-template-hash: 8684c9ff49 spec: containers: - args: - --leader-elect command: - /manager env: - name: EXTENSIONS_DIR value: /extensions - name: RELATED_IMAGE_WASMSHIM value: quay.io/kuadrant/wasm-shim:v0.12.1 - name: RELATED_IMAGE_DEVELOPERPORTAL value: quay.io/kuadrant/developer-portal-controller:v0.1.0 - name: RELATED_IMAGE_CONSOLE_PLUGIN_LATEST value: quay.io/kuadrant/console-plugin:v0.3.4 - name: RELATED_IMAGE_CONSOLE_PLUGIN_PF5 value: quay.io/kuadrant/console-plugin:v0.1.5 - name: OPERATOR_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: OPERATOR_CONDITION_NAME value: kuadrant-operator.v1.4.2 image: quay.io/kuadrant/kuadrant-operator:v1.4.2 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 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/kuadrant name: extensions-socket-volume dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true serviceAccount: kuadrant-operator-controller-manager serviceAccountName: kuadrant-operator-controller-manager terminationGracePeriodSeconds: 10 volumes: - emptyDir: {} name: extensions-socket-volume status: observedGeneration: 2 replicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "2" creationTimestamp: "2026-06-11T16:55:12Z" generation: 3 labels: app: kuadrant control-plane: controller-manager pod-template-hash: 86878c769f managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"6e0afb00-9938-42a7-aa39-3c78f19b3e06"}: {} f:spec: f:replicas: {} f:selector: {} 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:olm.operatorGroup: {} f:olm.operatorNamespace: {} f:olm.targetNamespaces: {} f:operatorframework.io/properties: {} f:operators.operatorframework.io/builder: {} f:operators.operatorframework.io/project_layout: {} f:repository: {} f:support: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"EXTENSIONS_DIR"}: .: {} 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_CONSOLE_PLUGIN_LATEST"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_CONSOLE_PLUGIN_PF5"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_DEVELOPERPORTAL"}: .: {} 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: {} 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:volumeMounts: .: {} k:{"mountPath":"/tmp/kuadrant"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"extensions-socket-volume"}: .: {} f:emptyDir: {} f:name: {} manager: kube-controller-manager operation: Update time: "2026-06-11T17:16:31Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-11T17:16:43Z" name: kuadrant-operator-controller-manager-86878c769f namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: kuadrant-operator-controller-manager uid: 6e0afb00-9938-42a7-aa39-3c78f19b3e06 resourceVersion: "42251" uid: 6318bfad-36c6-48e0-a4c2-4b9352a46fc9 spec: replicas: 1 selector: matchLabels: app: kuadrant control-plane: controller-manager pod-template-hash: 86878c769f 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: quay.io/kuadrant/kuadrant-operator:v1.4.2 createdAt: "2026-03-11T10:58:28Z" description: A Kubernetes Operator to manage the lifecycle of the Kuadrant system olm.operatorGroup: kuadrant-operator-group olm.operatorNamespace: kuadrant-system olm.targetNamespaces: "" operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"devportal.kuadrant.io","kind":"APIKey","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"devportal.kuadrant.io","kind":"APIProduct","version":"v1alpha1"}},{"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":"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":"kuadrant-operator","version":"1.4.2"}},{"type":"olm.package.required","value":{"packageName":"authorino-operator","versionRange":"0.23.1"}},{"type":"olm.package.required","value":{"packageName":"dns-operator","versionRange":"0.16.0"}},{"type":"olm.package.required","value":{"packageName":"limitador-operator","versionRange":"0.17.1"}},{"type":"olm.package.required","value":{"packageName":"authorino-operator","versionRange":"0.23.1"}},{"type":"olm.package.required","value":{"packageName":"dns-operator","versionRange":"0.16.0"}},{"type":"olm.package.required","value":{"packageName":"limitador-operator","versionRange":"0.17.1"}}]}' operators.operatorframework.io/builder: operator-sdk-v1.33.0 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 pod-template-hash: 86878c769f spec: containers: - args: - --leader-elect command: - /manager env: - name: EXTENSIONS_DIR value: /extensions - name: RELATED_IMAGE_WASMSHIM value: quay.io/kuadrant/wasm-shim:v0.12.1 - name: RELATED_IMAGE_DEVELOPERPORTAL value: quay.io/kuadrant/developer-portal-controller:v0.1.0 - name: RELATED_IMAGE_CONSOLE_PLUGIN_LATEST value: quay.io/kuadrant/console-plugin:v0.3.4 - name: RELATED_IMAGE_CONSOLE_PLUGIN_PF5 value: quay.io/kuadrant/console-plugin:v0.1.5 - 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: OPERATOR_CONDITION_NAME value: kuadrant-operator.v1.4.2 image: quay.io/kuadrant/kuadrant-operator:v1.4.2 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 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/kuadrant name: extensions-socket-volume dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true serviceAccount: kuadrant-operator-controller-manager serviceAccountName: kuadrant-operator-controller-manager terminationGracePeriodSeconds: 10 volumes: - emptyDir: {} name: extensions-socket-volume status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 3 readyReplicas: 1 replicas: 1 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "2" creationTimestamp: "2026-06-11T16:55:54Z" generation: 1 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 pod-template-hash: 54d6d988d5 sidecar.istio.io/inject: "false" managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} 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:kuadrant.io/managed: {} f:limitador-resource: {} f:pod-template-hash: {} f:sidecar.istio.io/inject: {} f:ownerReferences: .: {} k:{"uid":"2920ad92-269b-488c-bdd6-484c5b45eda3"}: {} f:spec: f:replicas: {} f:selector: {} 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:kuadrant.io/managed: {} f:limitador-resource: {} f:pod-template-hash: {} f:sidecar.istio.io/inject: {} 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:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/home/limitador/etc"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"config-file"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:name: {} manager: kube-controller-manager operation: Update time: "2026-06-11T16:55:54Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-11T16:56:08Z" name: limitador-limitador-54d6d988d5 namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: limitador-limitador uid: 2920ad92-269b-488c-bdd6-484c5b45eda3 resourceVersion: "22526" uid: ac716446-b3cd-41f7-8f60-2739c0ec6b46 spec: replicas: 1 selector: matchLabels: app: limitador limitador-resource: limitador pod-template-hash: 54d6d988d5 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 pod-template-hash: 54d6d988d5 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: quay.io/kuadrant/limitador:v2.3.0 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 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-06-11T16:55:54Z" 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 pod-template-hash: 64c94fd64f managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} 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:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"2920ad92-269b-488c-bdd6-484c5b45eda3"}: {} f:spec: f:replicas: {} f:selector: {} 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:pod-template-hash: {} 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:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/home/limitador/etc"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"config-file"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:name: {} manager: kube-controller-manager operation: Update time: "2026-06-11T16:56:08Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:observedGeneration: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-11T16:56:08Z" name: limitador-limitador-64c94fd64f namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: limitador-limitador uid: 2920ad92-269b-488c-bdd6-484c5b45eda3 resourceVersion: "22538" uid: 9bffd5af-1248-4791-91ca-5e4487cf63e3 spec: replicas: 0 selector: matchLabels: app: limitador limitador-resource: limitador pod-template-hash: 64c94fd64f 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 limitador-resource: limitador pod-template-hash: 64c94fd64f 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: quay.io/kuadrant/limitador:v2.3.0 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: observedGeneration: 2 replicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-06-11T16:54:49Z" generation: 1 labels: app: limitador-operator control-plane: controller-manager pod-template-hash: 859d7b78bd managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"c43e9746-b2ea-45d5-b343-7459daf2e71c"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:containerImage: {} f:createdAt: {} f:description: {} f:olm.operatorGroup: {} f:olm.operatorNamespace: {} f:olm.targetNamespaces: {} f:operatorframework.io/properties: {} f:operators.operatorframework.io/builder: {} f:operators.operatorframework.io/project_layout: {} f:repository: {} f:support: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"OPERATOR_CONDITION_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_LIMITADOR"}: .: {} 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: {} 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:terminationMessagePath: {} f:terminationMessagePolicy: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} manager: kube-controller-manager operation: Update time: "2026-06-11T16:54:49Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-11T16:55:25Z" name: limitador-operator-controller-manager-859d7b78bd namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: limitador-operator-controller-manager uid: c43e9746-b2ea-45d5-b343-7459daf2e71c resourceVersion: "21548" uid: 4ce97de8-446c-4426-a98b-7175fa1286ee spec: replicas: 1 selector: matchLabels: control-plane: controller-manager pod-template-hash: 859d7b78bd template: metadata: annotations: alm-examples: |- [ { "apiVersion": "limitador.kuadrant.io/v1alpha1", "kind": "Limitador", "metadata": { "name": "limitador-sample" }, "spec": { "limits": [ { "conditions": [ "get_toy == 'yes'" ], "max_value": 2, "name": "toy_get_route", "namespace": "toystore-app", "seconds": 30, "variables": [] } ], "listener": { "grpc": { "port": 8081 }, "http": { "port": 8080 } } } } ] capabilities: Basic Install categories: Integration & Delivery containerImage: quay.io/kuadrant/limitador-operator:v0.17.1 createdAt: "2026-02-18T13:31:15Z" description: The Limitador operator installs and maintains limitador instances olm.operatorGroup: kuadrant-operator-group olm.operatorNamespace: kuadrant-system olm.targetNamespaces: "" operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"limitador.kuadrant.io","kind":"Limitador","version":"v1alpha1"}},{"type":"olm.package","value":{"packageName":"limitador-operator","version":"0.17.1"}}]}' operators.operatorframework.io/builder: operator-sdk-v1.32.0 operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 repository: https://github.com/Kuadrant/limitador-operator support: kuadrant labels: app: limitador-operator control-plane: controller-manager pod-template-hash: 859d7b78bd spec: containers: - args: - --leader-elect command: - /manager env: - name: RELATED_IMAGE_LIMITADOR value: quay.io/kuadrant/limitador:v2.3.0 - name: OPERATOR_CONDITION_NAME value: limitador-operator.v0.17.1 image: quay.io/kuadrant/limitador-operator:v0.17.1 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 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 kind: ReplicaSetList metadata: resourceVersion: "52459"