apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2025-10-11T10:51:56Z" generation: 1 labels: control-plane: controller-manager openstack.org/operator-name: infra name: infra-operator-controller-manager namespace: openstack-operators ownerReferences: - apiVersion: operator.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: OpenStack name: openstack uid: 5e91677f-f59f-49fe-87a2-3ed329bad6b8 resourceVersion: "33343" uid: 15a910a3-96aa-409c-9af6-3db29c1198a7 spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: openstack.org/operator-name: infra strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: kubectl.kubernetes.io/default-container: manager creationTimestamp: null labels: control-plane: controller-manager openstack.org/operator-name: infra spec: containers: - args: - --health-probe-bind-address=:8081 - --metrics-bind-address=127.0.0.1:8080 - --leader-elect command: - /manager env: - name: LEASE_DURATION value: "50" - name: RENEW_DEADLINE value: "30" - name: RETRY_PERIOD value: "10" - name: ENABLE_WEBHOOKS value: "true" image: quay.io/openstack-k8s-operators/infra-operator@sha256:5cfb2ae1092445950b39dd59caa9a8c9367f42fb8353a8c3848d3bc729f24492 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 500m memory: 1Gi requests: cpu: 10m memory: 512Mi securityContext: allowPrivilegeEscalation: false terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true - args: - --secure-listen-address=0.0.0.0:8443 - --upstream=http://127.0.0.1:8080/ - --logtostderr=true - --v=0 image: quay.io/openstack-k8s-operators/kube-rbac-proxy@sha256:d28df2924a366ed857d6c2c14baac9741238032d41f3d02c12cd757189b68b8a imagePullPolicy: IfNotPresent name: kube-rbac-proxy ports: - containerPort: 8443 name: https protocol: TCP resources: limits: cpu: 500m memory: 128Mi requests: cpu: 5m memory: 64Mi securityContext: allowPrivilegeEscalation: false terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true serviceAccount: infra-operator-controller-manager serviceAccountName: infra-operator-controller-manager terminationGracePeriodSeconds: 10 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 120 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 120 volumes: - name: cert secret: defaultMode: 420 secretName: infra-operator-webhook-server-cert status: availableReplicas: 1 conditions: - lastTransitionTime: "2025-10-11T10:52:08Z" lastUpdateTime: "2025-10-11T10:52:08Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2025-10-11T10:51:56Z" lastUpdateTime: "2025-10-11T10:52:08Z" message: ReplicaSet "infra-operator-controller-manager-d68fd5cdf" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 updatedReplicas: 1