--- apiVersion: v1 items: - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.132.0.55/23"],"mac_address":"0a:58:0a:84:00:37","gateway_ips":["10.132.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.132.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.132.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.132.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.132.0.1"}],"ip_address":"10.132.0.55/23","gateway_ip":"10.132.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.132.0.55" ], "mac": "0a:58:0a:84:00:37", "default": true, "dns": {} }] kubectl.kubernetes.io/restartedAt: "2026-07-27T19:23:02Z" openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-07-27T19:25:52Z" generateName: authorino-5894764bc4- generation: 1 labels: authorino-resource: authorino control-plane: controller-manager kuadrant.io/managed: "true" pod-template-hash: 5894764bc4 sidecar.istio.io/inject: "false" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-138-54 operation: Update subresource: status time: "2026-07-27T19:25:52Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/restartedAt: {} f:generateName: {} 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":"0d4d32f3-b74a-48b8-bc63-138364c590d7"}: {} 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:enableServiceLinks: {} 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-07-27T19:25:52Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-27T19:25:52Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.132.0.55"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-27T19:25:54Z" name: authorino-5894764bc4-cbwr8 namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: authorino-5894764bc4 uid: 0d4d32f3-b74a-48b8-bc63-138364c590d7 resourceVersion: "22865" uid: 516add62-936b-41f1-b22a-fdfbdcfd6797 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: registry.redhat.io/rhcl-1/authorino-rhel9@sha256:fbe9e2e767530eae72a421f541325640feba03322441cd7a294f8a6bf1fb4d97 imagePullPolicy: Always name: authorino resources: {} securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsNonRoot: true runAsUser: 1000690000 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: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-8v675 readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: authorino-authorino-dockercfg-glwxz nodeName: ip-10-0-138-54.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000690000 seLinuxOptions: level: s0:c26,c20 seccompProfile: type: RuntimeDefault serviceAccount: authorino-authorino serviceAccountName: authorino-authorino terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 volumes: - name: tls-cert secret: defaultMode: 420 secretName: authorino-server-cert - name: kube-api-access-8v675 projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-27T19:25:54Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-27T19:25:52Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-27T19:25:54Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-27T19:25:54Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-27T19:25:52Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - containerID: cri-o://dffc944163168f3d4a42c91ccfaa7d365d34c80541fc1214a5a914f90b21a6fb image: registry.redhat.io/rhcl-1/authorino-rhel9@sha256:fbe9e2e767530eae72a421f541325640feba03322441cd7a294f8a6bf1fb4d97 imageID: registry.redhat.io/rhcl-1/authorino-rhel9@sha256:d1c92647dfde75535849daebc6f0138191139455f9a3d7de6ad30c9d54485c8d lastState: {} name: authorino ready: true resources: {} restartCount: 0 started: true state: running: startedAt: "2026-07-27T19:25:53Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000690000 uid: 1000690000 volumeMounts: - mountPath: /etc/ssl/certs/tls.crt name: tls-cert readOnly: true recursiveReadOnly: Disabled - mountPath: /etc/ssl/private/tls.key name: tls-cert readOnly: true recursiveReadOnly: Disabled - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-8v675 readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.138.54 hostIPs: - ip: 10.0.138.54 observedGeneration: 1 phase: Running podIP: 10.132.0.55 podIPs: - ip: 10.132.0.55 qosClass: BestEffort startTime: "2026-07-27T19:25:52Z" - apiVersion: v1 kind: Pod metadata: annotations: alm-examples: |- [ { "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: registry.redhat.io/rhcl-1/authorino-rhel9-operator@sha256:414262da59a55c48837807274db11cedb7da50b5984d03d3bd0445e4f7b1a0ea createdAt: "2026-07-15T08:46:28Z" 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: "false" 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" k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.132.0.39/23"],"mac_address":"0a:58:0a:84:00:27","gateway_ips":["10.132.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.132.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.132.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.132.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.132.0.1"}],"ip_address":"10.132.0.39/23","gateway_ip":"10.132.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.132.0.39" ], "mac": "0a:58:0a:84:00:27", "default": true, "dns": {} }] olm.operatorGroup: kuadrant-system-operatorgroup olm.operatorNamespace: kuadrant-system olm.targetNamespaces: "" openshift.io/scc: restricted-v2 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":"1.4.2"}}]}' operators.openshift.io/valid-subscription: '["Red Hat Connectivity Link"]' 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 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user support: kuadrant creationTimestamp: "2026-07-27T19:21:48Z" generateName: authorino-operator-68d88948d8- generation: 1 labels: control-plane: authorino-operator pod-template-hash: 68d88948d8 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-138-54 operation: Update subresource: status time: "2026-07-27T19:21:48Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:containerImage: {} f:createdAt: {} 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:generateName: {} f:labels: .: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"26d5b8ad-fa2f-4bef-a82d-18ccd60be745"}: {} 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:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} manager: kube-controller-manager operation: Update time: "2026-07-27T19:21:48Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-27T19:21:48Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.132.0.39"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-27T19:55:15Z" name: authorino-operator-68d88948d8-bh6wc namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: authorino-operator-68d88948d8 uid: 26d5b8ad-fa2f-4bef-a82d-18ccd60be745 resourceVersion: "32773" uid: f9966a6d-df4b-48a1-8742-00d650cbdb62 spec: containers: - args: - --leader-elect command: - /manager env: - name: RELATED_IMAGE_AUTHORINO value: registry.redhat.io/rhcl-1/authorino-rhel9@sha256:fbe9e2e767530eae72a421f541325640feba03322441cd7a294f8a6bf1fb4d97 - name: OPERATOR_CONDITION_NAME value: authorino-operator.v1.4.2 image: registry.redhat.io/rhcl-1/authorino-rhel9-operator@sha256:414262da59a55c48837807274db11cedb7da50b5984d03d3bd0445e4f7b1a0ea 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 runAsUser: 1000690000 seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-mlmw4 readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: authorino-operator-dockercfg-5j4kg nodeName: ip-10-0-138-54.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000690000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c20 seccompProfile: type: RuntimeDefault serviceAccount: authorino-operator serviceAccountName: authorino-operator terminationGracePeriodSeconds: 10 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: kube-api-access-mlmw4 projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-27T19:21:51Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-27T19:21:48Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-27T19:44:41Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-27T19:44:41Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-27T19:21:48Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 200m memory: 200Mi containerID: cri-o://26cd273dc1cc4991bd67d15eeac4a9aa7409caef30da6e4bda82082472ebb3fe image: registry.redhat.io/rhcl-1/authorino-rhel9-operator@sha256:414262da59a55c48837807274db11cedb7da50b5984d03d3bd0445e4f7b1a0ea imageID: registry.redhat.io/rhcl-1/authorino-rhel9-operator@sha256:414262da59a55c48837807274db11cedb7da50b5984d03d3bd0445e4f7b1a0ea lastState: terminated: containerID: cri-o://f9a32e7d8da9646d996b36257ecb0bb4d38ec0070abcf724ae5c3571f5eaba9a exitCode: 1 finishedAt: "2026-07-27T19:43:42Z" reason: Error startedAt: "2026-07-27T19:39:12Z" name: manager ready: true resources: limits: cpu: 200m memory: 300Mi requests: cpu: 200m memory: 200Mi restartCount: 4 started: true state: running: startedAt: "2026-07-27T19:44:30Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000690000 uid: 1000690000 volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-mlmw4 readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.138.54 hostIPs: - ip: 10.0.138.54 observedGeneration: 1 phase: Running podIP: 10.132.0.39 podIPs: - ip: 10.132.0.39 qosClass: Burstable startTime: "2026-07-27T19:21:48Z" - apiVersion: v1 kind: Pod 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: registry.redhat.io/rhcl-1/dns-rhel9-operator@sha256:ca946bb88274562b8027c90d7b6945a426ec799b1b0017056f6189160c591c2d createdAt: "2026-07-15T08:28:11Z" description: A Kubernetes Operator to manage the lifecycle of DNS resources 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: "false" 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" k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.132.0.36/23"],"mac_address":"0a:58:0a:84:00:24","gateway_ips":["10.132.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.132.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.132.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.132.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.132.0.1"}],"ip_address":"10.132.0.36/23","gateway_ip":"10.132.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.132.0.36" ], "mac": "0a:58:0a:84:00:24", "default": true, "dns": {} }] kubectl.kubernetes.io/default-container: manager olm.operatorGroup: kuadrant-system-operatorgroup olm.operatorNamespace: kuadrant-system olm.targetNamespaces: "" openshift.io/scc: restricted-v2 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":"1.4.1"}}]}' operators.openshift.io/valid-subscription: '["Red Hat Connectivity Link"]' 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 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user support: kuadrant creationTimestamp: "2026-07-27T19:21:37Z" generateName: dns-operator-controller-manager-5985564776- generation: 1 labels: control-plane: dns-operator-controller-manager pod-template-hash: "5985564776" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-138-54 operation: Update subresource: status time: "2026-07-27T19:21:37Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} 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:kubectl.kubernetes.io/default-container: {} 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:generateName: {} f:labels: .: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"11498f67-b3fc-4a2e-a4cb-f5aec5709dd4"}: {} 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:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} manager: kube-controller-manager operation: Update time: "2026-07-27T19:21:37Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-27T19:21:38Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:message: {} f:observedGeneration: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:message: {} f:observedGeneration: {} f:reason: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.132.0.36"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-27T19:55:34Z" name: dns-operator-controller-manager-5985564776-2bl8w namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: dns-operator-controller-manager-5985564776 uid: 11498f67-b3fc-4a2e-a4cb-f5aec5709dd4 resourceVersion: "33478" uid: 84e4ca05-c607-4c8b-bef1-f2c584306dc7 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.v1.4.1 envFrom: - configMapRef: name: dns-operator-controller-env image: registry.redhat.io/rhcl-1/dns-rhel9-operator@sha256:ca946bb88274562b8027c90d7b6945a426ec799b1b0017056f6189160c591c2d 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 runAsUser: 1000690000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-phdlb readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: dns-operator-controller-manager-dockercfg-ckg7m nodeName: ip-10-0-138-54.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000690000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c20 seccompProfile: type: RuntimeDefault serviceAccount: dns-operator-controller-manager serviceAccountName: dns-operator-controller-manager terminationGracePeriodSeconds: 10 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: kube-api-access-phdlb projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-27T19:21:41Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-27T19:21:37Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-27T19:37:23Z" message: 'containers with unready status: [manager]' observedGeneration: 1 reason: ContainersNotReady status: "False" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-27T19:37:23Z" message: 'containers with unready status: [manager]' observedGeneration: 1 reason: ContainersNotReady status: "False" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-27T19:21:37Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 10m memory: 64Mi containerID: cri-o://272e939deb9e25bf463b523ee3391cf04eee9a48dcf7888107ef6cab76410f3f image: registry.redhat.io/rhcl-1/dns-rhel9-operator@sha256:ca946bb88274562b8027c90d7b6945a426ec799b1b0017056f6189160c591c2d imageID: registry.redhat.io/rhcl-1/dns-rhel9-operator@sha256:320a2286aa4a58a1473eb3f297fcc9d18dfd361c56fa1bc94d66ab4d6ad8dcf1 lastState: terminated: containerID: cri-o://f579522801ad9677c03b99f722882a10db5b173224f3801e2baadd915a7b94ee exitCode: 1 finishedAt: "2026-07-27T19:47:02Z" reason: Error startedAt: "2026-07-27T19:46:52Z" name: manager ready: false resources: limits: cpu: 200m memory: 128Mi requests: cpu: 10m memory: 64Mi restartCount: 6 started: true state: running: startedAt: "2026-07-27T19:55:33Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000690000 uid: 1000690000 volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-phdlb readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.138.54 hostIPs: - ip: 10.0.138.54 observedGeneration: 1 phase: Running podIP: 10.132.0.36 podIPs: - ip: 10.132.0.36 qosClass: Burstable startTime: "2026-07-27T19:21:37Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.134.0.25/23"],"mac_address":"0a:58:0a:86:00:19","gateway_ips":["10.134.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.134.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.134.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.134.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.134.0.1"}],"ip_address":"10.134.0.25/23","gateway_ip":"10.134.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.134.0.25" ], "mac": "0a:58:0a:86:00:19", "default": true, "dns": {} }] openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-07-27T19:21:50Z" generateName: kuadrant-console-plugin-598f86468b- 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: 598f86468b managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-143-200 operation: Update subresource: status time: "2026-07-27T19:21:50Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:generateName: {} 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":"72fe4f6b-aca4-4eaf-be46-cb323fc1f612"}: {} 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:enableServiceLinks: {} 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-07-27T19:21:50Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-27T19:21:50Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.134.0.25"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-27T19:21:57Z" name: kuadrant-console-plugin-598f86468b-rcl6g namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: kuadrant-console-plugin-598f86468b uid: 72fe4f6b-aca4-4eaf-be46-cb323fc1f612 resourceVersion: "17735" uid: a204c2cc-516e-41f5-8d6a-d60c55646cdb spec: containers: - env: - name: TOPOLOGY_CONFIGMAP_NAME value: topology - name: TOPOLOGY_CONFIGMAP_NAMESPACE value: kuadrant-system image: registry.redhat.io/rhcl-1/rhcl-console-plugin-rhel9@sha256:1162c282e762d89acccbfb5ce9fad561fd3f807bd1929db154af3135ccc87f34 imagePullPolicy: Always name: kuadrant-console-plugin ports: - containerPort: 9443 protocol: TCP resources: {} securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsNonRoot: true runAsUser: 1000690000 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 - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-gb7r4 readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: default-dockercfg-52r75 nodeName: ip-10-0-143-200.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000690000 seLinuxOptions: level: s0:c26,c20 seccompProfile: type: RuntimeDefault serviceAccount: default serviceAccountName: default terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 volumes: - name: plugin-serving-cert secret: defaultMode: 420 secretName: plugin-serving-cert - configMap: defaultMode: 420 name: kuadrant-console-nginx-conf name: nginx-conf - name: kube-api-access-gb7r4 projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-27T19:21:57Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-27T19:21:50Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-27T19:21:57Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-27T19:21:57Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-27T19:21:50Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - containerID: cri-o://ac0ce8728b8926ec1d6b1dc87f915d0a885b46f89755de83668df7bcf5a7b6c5 image: registry.redhat.io/rhcl-1/rhcl-console-plugin-rhel9@sha256:1162c282e762d89acccbfb5ce9fad561fd3f807bd1929db154af3135ccc87f34 imageID: registry.redhat.io/rhcl-1/rhcl-console-plugin-rhel9@sha256:1162c282e762d89acccbfb5ce9fad561fd3f807bd1929db154af3135ccc87f34 lastState: {} name: kuadrant-console-plugin ready: true resources: {} restartCount: 0 started: true state: running: startedAt: "2026-07-27T19:21:57Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000690000 uid: 1000690000 volumeMounts: - mountPath: /var/serving-cert name: plugin-serving-cert readOnly: true recursiveReadOnly: Disabled - mountPath: /etc/nginx/nginx.conf name: nginx-conf readOnly: true recursiveReadOnly: Disabled - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-gb7r4 readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.143.200 hostIPs: - ip: 10.0.143.200 observedGeneration: 1 phase: Running podIP: 10.134.0.25 podIPs: - ip: 10.134.0.25 qosClass: BestEffort startTime: "2026-07-27T19:21:50Z" - apiVersion: v1 kind: Pod 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:8c2d9a84169e86454e4fb3df6f4846c5c5495d19b01137b6e78e113161981e47 createdAt: "2026-07-15T16:02:35Z" 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: "false" 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" k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.132.0.59/23"],"mac_address":"0a:58:0a:84:00:3b","gateway_ips":["10.132.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.132.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.132.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.132.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.132.0.1"}],"ip_address":"10.132.0.59/23","gateway_ip":"10.132.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.132.0.59" ], "mac": "0a:58:0a:84:00:3b", "default": true, "dns": {} }] olm.operatorGroup: kuadrant-system-operatorgroup olm.operatorNamespace: kuadrant-system olm.targetNamespaces: "" openshift.io/scc: restricted-v2 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":"APIKeyApproval","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"devportal.kuadrant.io","kind":"APIKeyRequest","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":"rhcl-operator","version":"1.4.2"}},{"type":"olm.package.required","value":{"packageName":"authorino-operator","versionRange":"1.4.2"}},{"type":"olm.package.required","value":{"packageName":"dns-operator","versionRange":"1.4.1"}},{"type":"olm.package.required","value":{"packageName":"limitador-operator","versionRange":"1.4.1"}},{"type":"olm.package.required","value":{"packageName":"authorino-operator","versionRange":"1.4.2"}},{"type":"olm.package.required","value":{"packageName":"dns-operator","versionRange":"1.4.1"}},{"type":"olm.package.required","value":{"packageName":"limitador-operator","versionRange":"1.4.1"}}]}' operators.openshift.io/valid-subscription: '["Red Hat Connectivity Link"]' 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 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user support: kuadrant creationTimestamp: "2026-07-27T19:34:29Z" generateName: kuadrant-operator-controller-manager-68cf589589- generation: 1 labels: app: kuadrant control-plane: controller-manager pod-template-hash: 68cf589589 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: 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:generateName: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"2f2d3ccc-74f9-4ab2-947a-9199786051de"}: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"EXTENSIONS_DESCRIPTOR_SERVICE_PORT"}: .: {} f:name: {} f:value: {} 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: {} k:{"containerPort":8082,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} k:{"containerPort":50051,"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:enableServiceLinks: {} 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-07-27T19:34:27Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-138-54 operation: Update subresource: status time: "2026-07-27T19:34:29Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-27T19:34:29Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.132.0.59"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-27T19:55:36Z" name: kuadrant-operator-controller-manager-68cf589589-vx2n2 namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: kuadrant-operator-controller-manager-68cf589589 uid: 2f2d3ccc-74f9-4ab2-947a-9199786051de resourceVersion: "33484" uid: e33a47e7-135a-4e2c-801f-b100f42c60d1 spec: containers: - args: - --leader-elect command: - /manager env: - name: EXTENSIONS_DIR value: /extensions - name: EXTENSIONS_DESCRIPTOR_SERVICE_PORT value: "50051" - name: RELATED_IMAGE_WASMSHIM value: registry.access.redhat.com/rhcl-1/wasm-shim-rhel9@sha256:0b66985689d907f2f9dad2841e03ab94f06e117e1a93ef120a18e9e0a1220231 - name: RELATED_IMAGE_DEVELOPERPORTAL value: registry.redhat.io/rhcl-1/developer-portal-controller-rhel9@sha256:e3d18c5cb3ceb182933e2ca3a2b40bf17a9cb5e22f3b882a8f32dabf9afa9882 - name: RELATED_IMAGE_CONSOLE_PLUGIN_LATEST value: registry.redhat.io/rhcl-1/rhcl-console-plugin-rhel9@sha256:1162c282e762d89acccbfb5ce9fad561fd3f807bd1929db154af3135ccc87f34 - name: RELATED_IMAGE_CONSOLE_PLUGIN_PF5 value: registry.redhat.io/rhcl-1/rhcl-console-plugin-rhel9@sha256:c3c7029a7ef0d607211d6330d7ff5e1988ed8508d17957efa80b35c78eff8336 - 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: rhcl-operator.v1.4.2 image: registry.redhat.io/rhcl-1/rhcl-rhel9-operator@sha256:8c2d9a84169e86454e4fb3df6f4846c5c5495d19b01137b6e78e113161981e47 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: 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: 200m memory: 300Mi requests: cpu: 200m memory: 200Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsUser: 1000690000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/kuadrant name: extensions-socket-volume - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-9npf4 readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: kuadrant-operator-controller-manager-dockercfg-2t8jb nodeName: ip-10-0-138-54.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000690000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c20 seccompProfile: type: RuntimeDefault serviceAccount: kuadrant-operator-controller-manager serviceAccountName: kuadrant-operator-controller-manager terminationGracePeriodSeconds: 10 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - emptyDir: {} name: extensions-socket-volume - name: kube-api-access-9npf4 projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-27T19:34:30Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-27T19:34:29Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-27T19:55:36Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-27T19:55:36Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-27T19:34:29Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 200m memory: 200Mi containerID: cri-o://a000562f46a4ae80d978e960d27d3b8329cfd20fff25f8e7e70c46e6ad3509a3 image: registry.redhat.io/rhcl-1/rhcl-rhel9-operator@sha256:8c2d9a84169e86454e4fb3df6f4846c5c5495d19b01137b6e78e113161981e47 imageID: registry.redhat.io/rhcl-1/rhcl-rhel9-operator@sha256:3c2960333b4e980e8f34e9089e26f8d62ec6fbbfcd89f29e3577ad4244d663a6 lastState: terminated: containerID: cri-o://1c617b75fa2a0742e992347f97b8e50c9209a523c0c167df98ec94cf632a660c exitCode: 1 finishedAt: "2026-07-27T19:50:16Z" reason: Error startedAt: "2026-07-27T19:50:05Z" name: manager ready: true resources: limits: cpu: 200m memory: 300Mi requests: cpu: 200m memory: 200Mi restartCount: 8 started: true state: running: startedAt: "2026-07-27T19:55:24Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000690000 uid: 1000690000 volumeMounts: - mountPath: /tmp/kuadrant name: extensions-socket-volume - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-9npf4 readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.138.54 hostIPs: - ip: 10.0.138.54 observedGeneration: 1 phase: Running podIP: 10.132.0.59 podIPs: - ip: 10.132.0.59 qosClass: Burstable startTime: "2026-07-27T19:34:29Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.134.0.26/23"],"mac_address":"0a:58:0a:86:00:1a","gateway_ips":["10.134.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.134.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.134.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.134.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.134.0.1"}],"ip_address":"10.134.0.26/23","gateway_ip":"10.134.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.134.0.26" ], "mac": "0a:58:0a:86:00:1a", "default": true, "dns": {} }] limits-cm-resource-version: "29297" openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-07-27T19:22:33Z" generateName: limitador-limitador-85d9db4d5d- 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: 85d9db4d5d sidecar.istio.io/inject: "false" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:limits-cm-resource-version: {} f:spec: f:containers: {} manager: limitador-operator operation: Apply time: "2026-07-27T19:32:48Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-143-200 operation: Update subresource: status time: "2026-07-27T19:22:33Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:generateName: {} 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":"30034057-ae35-4eb5-919b-c182e584ead0"}: {} 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:enableServiceLinks: {} 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-07-27T19:22:33Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-27T19:22:34Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.134.0.26"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-27T19:22:48Z" name: limitador-limitador-85d9db4d5d-zrg57 namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: limitador-limitador-85d9db4d5d uid: 30034057-ae35-4eb5-919b-c182e584ead0 resourceVersion: "29306" uid: c0e6f71e-e232-4589-be8e-eb29cb12312e 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:a233ab32e26cf2ea46c31dfc4fcaf89ce541a9351bba99182036a91f357cc2b4 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 securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsNonRoot: true runAsUser: 1000690000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /home/limitador/etc name: config-file - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-b778t readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: default-dockercfg-52r75 nodeName: ip-10-0-143-200.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000690000 seLinuxOptions: level: s0:c26,c20 seccompProfile: type: RuntimeDefault serviceAccount: default serviceAccountName: default terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - configMap: defaultMode: 420 name: limitador-limits-config-limitador name: config-file - name: kube-api-access-b778t projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-27T19:22:37Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-27T19:22:33Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-27T19:22:48Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-27T19:22:48Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-27T19:22:33Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 250m memory: 32Mi containerID: cri-o://6d45e9db945a226d31758cb9555f982330c10658b43e5c04ae271c0034372fa4 image: registry.redhat.io/rhcl-1/limitador-rhel9@sha256:a233ab32e26cf2ea46c31dfc4fcaf89ce541a9351bba99182036a91f357cc2b4 imageID: registry.redhat.io/rhcl-1/limitador-rhel9@sha256:a233ab32e26cf2ea46c31dfc4fcaf89ce541a9351bba99182036a91f357cc2b4 lastState: {} name: limitador ready: true resources: limits: cpu: 500m memory: 64Mi requests: cpu: 250m memory: 32Mi restartCount: 0 started: true state: running: startedAt: "2026-07-27T19:22:36Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000690000 uid: 1000690000 volumeMounts: - mountPath: /home/limitador/etc name: config-file - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-b778t readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.143.200 hostIPs: - ip: 10.0.143.200 observedGeneration: 1 phase: Running podIP: 10.134.0.26 podIPs: - ip: 10.134.0.26 qosClass: Burstable startTime: "2026-07-27T19:22:33Z" - apiVersion: v1 kind: Pod 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: registry.redhat.io/rhcl-1/limitador-rhel9-operator@sha256:5261170dafd0c9b5a89d3509ada864624e4aaf62a7763bf595980de5b450cc04 createdAt: "2026-07-15T08:41:16Z" description: The Limitador operator installs and maintains limitador instances 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: "false" 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" k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.132.0.41/23"],"mac_address":"0a:58:0a:84:00:29","gateway_ips":["10.132.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.132.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.132.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.132.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.132.0.1"}],"ip_address":"10.132.0.41/23","gateway_ip":"10.132.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.132.0.41" ], "mac": "0a:58:0a:84:00:29", "default": true, "dns": {} }] olm.operatorGroup: kuadrant-system-operatorgroup olm.operatorNamespace: kuadrant-system olm.targetNamespaces: "" openshift.io/scc: restricted-v2 operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"limitador.kuadrant.io","kind":"Limitador","version":"v1alpha1"}},{"type":"olm.package","value":{"packageName":"limitador-operator","version":"1.4.1"}}]}' operators.openshift.io/valid-subscription: '["Red Hat Connectivity Link"]' 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 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user support: kuadrant creationTimestamp: "2026-07-27T19:22:00Z" generateName: limitador-operator-controller-manager-6c549b6d85- generation: 1 labels: app: limitador-operator control-plane: controller-manager pod-template-hash: 6c549b6d85 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-138-54 operation: Update subresource: status time: "2026-07-27T19:22:00Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} 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:generateName: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"736a62f6-cd7d-4307-9d4b-e89ee729f5c6"}: {} 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:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} manager: kube-controller-manager operation: Update time: "2026-07-27T19:22:00Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-27T19:22:01Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:message: {} f:observedGeneration: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:message: {} f:observedGeneration: {} f:reason: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.132.0.41"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-27T19:55:12Z" name: limitador-operator-controller-manager-6c549b6d85-7r8xq namespace: kuadrant-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: limitador-operator-controller-manager-6c549b6d85 uid: 736a62f6-cd7d-4307-9d4b-e89ee729f5c6 resourceVersion: "32627" uid: 58d1a6ac-49b4-49ca-adcf-f57a5cc730f8 spec: containers: - args: - --leader-elect command: - /manager env: - name: RELATED_IMAGE_LIMITADOR value: registry.redhat.io/rhcl-1/limitador-rhel9@sha256:a233ab32e26cf2ea46c31dfc4fcaf89ce541a9351bba99182036a91f357cc2b4 - name: OPERATOR_CONDITION_NAME value: limitador-operator.v1.4.1 image: registry.redhat.io/rhcl-1/limitador-rhel9-operator@sha256:5261170dafd0c9b5a89d3509ada864624e4aaf62a7763bf595980de5b450cc04 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 runAsUser: 1000690000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-7b2fv readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: limitador-operator-controller-manager-dockercfg-z6cs2 nodeName: ip-10-0-138-54.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000690000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c20 seccompProfile: type: RuntimeDefault serviceAccount: limitador-operator-controller-manager serviceAccountName: limitador-operator-controller-manager terminationGracePeriodSeconds: 10 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: kube-api-access-7b2fv projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-27T19:22:02Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-27T19:22:00Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-27T19:42:20Z" message: 'containers with unready status: [manager]' observedGeneration: 1 reason: ContainersNotReady status: "False" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-27T19:42:20Z" message: 'containers with unready status: [manager]' observedGeneration: 1 reason: ContainersNotReady status: "False" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-27T19:22:00Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 200m memory: 200Mi containerID: cri-o://c39b35f59eac322a3c443d3e040d0217752dca2f57165e52e9701a11769fd560 image: registry.redhat.io/rhcl-1/limitador-rhel9-operator@sha256:5261170dafd0c9b5a89d3509ada864624e4aaf62a7763bf595980de5b450cc04 imageID: registry.redhat.io/rhcl-1/limitador-rhel9-operator@sha256:5261170dafd0c9b5a89d3509ada864624e4aaf62a7763bf595980de5b450cc04 lastState: terminated: containerID: cri-o://c39b35f59eac322a3c443d3e040d0217752dca2f57165e52e9701a11769fd560 exitCode: 1 finishedAt: "2026-07-27T19:52:08Z" reason: Error startedAt: "2026-07-27T19:51:58Z" name: manager ready: false resources: limits: cpu: 200m memory: 300Mi requests: cpu: 200m memory: 200Mi restartCount: 7 started: false state: waiting: message: back-off 5m0s restarting failed container=manager pod=limitador-operator-controller-manager-6c549b6d85-7r8xq_kuadrant-system(58d1a6ac-49b4-49ca-adcf-f57a5cc730f8) reason: CrashLoopBackOff user: linux: gid: 0 supplementalGroups: - 0 - 1000690000 uid: 1000690000 volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-7b2fv readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.138.54 hostIPs: - ip: 10.0.138.54 observedGeneration: 1 phase: Running podIP: 10.132.0.41 podIPs: - ip: 10.132.0.41 qosClass: Burstable startTime: "2026-07-27T19:22:00Z" kind: PodList metadata: resourceVersion: "33667"