--- apiVersion: apps/v1 items: - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" operator.openshift.io/spec-hash: 429bc89d48835d59f93c0b83b7bf89629c9c800add3fc2ba496890c0110ba30f creationTimestamp: "2026-03-12T13:47:30Z" generation: 1 labels: app.kubernetes.io/component: manager app.kubernetes.io/created-by: jobset app.kubernetes.io/instance: jobset app.kubernetes.io/managed-by: kustomize app.kubernetes.io/name: jobset app.kubernetes.io/part-of: jobset control-plane: controller-manager managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:operator.openshift.io/spec-hash: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/created-by: {} f:app.kubernetes.io/instance: {} f:app.kubernetes.io/managed-by: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:control-plane: {} f:ownerReferences: .: {} k:{"uid":"079ebee9-cddd-45cd-b704-a3a8eb0b388f"}: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:annotations: .: {} f:configmaps/jobset-manager-config: {} f:kubectl.kubernetes.io/default-container: {} f:secrets/metrics-server-cert: {} f:secrets/webhook-server-cert: {} f:labels: .: {} f:app.kubernetes.io/instance: {} f:app.kubernetes.io/managed-by: {} f:app.kubernetes.io/name: {} f:control-plane: {} f:spec: f:containers: k:{"name":"manager"}: .: {} 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":8443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} k:{"containerPort":9443,"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: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":"/controller_manager_config.yaml"}: .: {} f:mountPath: {} f:name: {} f:subPath: {} k:{"mountPath":"/tmp/k8s-metrics-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"manager-config"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:name: {} k:{"name":"metrics-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: jobset-operator operation: Update time: "2026-03-12T13:47:30Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-03-12T13:47:45Z" name: jobset-controller-manager namespace: openshift-jobset-operator ownerReferences: - apiVersion: operator.openshift.io/v1 kind: JobSetOperator name: cluster uid: 079ebee9-cddd-45cd-b704-a3a8eb0b388f resourceVersion: "13235" uid: 86ad763f-da38-4460-ac07-d96d4b00f49c spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app.kubernetes.io/instance: jobset app.kubernetes.io/managed-by: kustomize app.kubernetes.io/name: jobset control-plane: controller-manager strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: configmaps/jobset-manager-config: "13115" kubectl.kubernetes.io/default-container: manager secrets/metrics-server-cert: "13089" secrets/webhook-server-cert: "13090" creationTimestamp: null labels: app.kubernetes.io/instance: jobset app.kubernetes.io/managed-by: kustomize app.kubernetes.io/name: jobset control-plane: controller-manager spec: containers: - args: - --config=/controller_manager_config.yaml - --zap-log-level=info command: - /manager image: registry.redhat.io/job-set/jobset-rhel9@sha256:8a0ce916ed17d4244f97ee967d341532365cbab4b4287639509dee914f50c8a1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 8443 name: metrics protocol: TCP - containerPort: 9443 name: webhook-server protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: memory: 4Gi requests: cpu: 500m memory: 128Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-metrics-server/serving-certs name: metrics-certs readOnly: true - mountPath: /controller_manager_config.yaml name: manager-config subPath: controller_manager_config.yaml - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault serviceAccount: jobset-controller-manager serviceAccountName: jobset-controller-manager terminationGracePeriodSeconds: 10 volumes: - name: metrics-certs secret: defaultMode: 420 secretName: metrics-server-cert - configMap: defaultMode: 420 name: jobset-manager-config name: manager-config - name: cert secret: defaultMode: 420 secretName: webhook-server-cert status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-03-12T13:47:45Z" lastUpdateTime: "2026-03-12T13:47:45Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-03-12T13:47:30Z" lastUpdateTime: "2026-03-12T13:47:45Z" message: ReplicaSet "jobset-controller-manager-84bcf99f68" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-03-12T13:47:11Z" generation: 2 labels: olm.deployment-spec-hash: c2U8bdE8APCZf0axf56HjAzV3ifhRWVEvpVpLy olm.managed: "true" olm.owner: jobset-operator.v1.0.0 olm.owner.kind: ClusterServiceVersion olm.owner.namespace: openshift-jobset-operator operators.coreos.com/job-set.openshift-jobset-operator: "" managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: .: {} f:olm.deployment-spec-hash: {} f:olm.managed: {} f:olm.owner: {} f:olm.owner.kind: {} f:olm.owner.namespace: {} f:operators.coreos.com/job-set.openshift-jobset-operator: {} f:ownerReferences: .: {} k:{"uid":"4768e16d-15fa-41cb-bb7c-e4d4563dbe8f"}: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:console.openshift.io/operator-monitoring-default: {} 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/cluster-monitoring: {} f:operatorframework.io/properties: {} f:operatorframework.io/suggested-namespace: {} f:operators.openshift.io/valid-subscription: {} f:operators.operatorframework.io/builder: {} f:repository: {} f:support: {} f:labels: .: {} f:name: {} f:spec: f:containers: k:{"name":"jobset-operator"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"OPERAND_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"OPERATOR_CONDITION_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"OPERATOR_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"OPERATOR_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"POD_NAME"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:ports: .: {} k:{"containerPort":8443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:resources: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:readOnlyRootFilesystem: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tmp"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"tmp"}: .: {} f:emptyDir: {} f:name: {} manager: olm operation: Update time: "2026-03-12T13:47:11Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-03-12T13:47:14Z" name: jobset-operator namespace: openshift-jobset-operator ownerReferences: - apiVersion: operators.coreos.com/v1alpha1 blockOwnerDeletion: false controller: false kind: ClusterServiceVersion name: jobset-operator.v1.0.0 uid: 4768e16d-15fa-41cb-bb7c-e4d4563dbe8f resourceVersion: "12869" uid: 73b28895-e2da-451f-ba44-f7bc238eadc5 spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 1 selector: matchLabels: name: jobset-operator strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: alm-examples: |- [ { "apiVersion": "operator.openshift.io/v1", "kind": "JobSetOperator", "metadata": { "name": "cluster" }, "spec": { "logLevel": "Normal", "managementState": "Managed", "operatorLogLevel": "Normal" } } ] capabilities: Basic Install categories: OpenShift Optional console.openshift.io/operator-monitoring-default: "true" createdAt: "2025-08-26" description: | The JobSet Operator provides the ability to deploy a JobSet controller in OpenShift. features.operators.openshift.io/cnf: "false" features.operators.openshift.io/cni: "false" features.operators.openshift.io/csi: "false" features.operators.openshift.io/disconnected: "true" features.operators.openshift.io/fips-compliant: "true" features.operators.openshift.io/proxy-aware: "false" features.operators.openshift.io/tls-profiles: "false" features.operators.openshift.io/token-auth-aws: "false" features.operators.openshift.io/token-auth-azure: "false" features.operators.openshift.io/token-auth-gcp: "false" olm.operatorGroup: openshift-jobset-operator olm.operatorNamespace: openshift-jobset-operator olm.targetNamespaces: openshift-jobset-operator operatorframework.io/cluster-monitoring: "true" operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"operator.openshift.io","kind":"JobSetOperator","version":"v1"}},{"type":"olm.package","value":{"packageName":"job-set","version":"1.0.0"}}]}' operatorframework.io/suggested-namespace: openshift-jobset-operator operators.openshift.io/valid-subscription: '["OpenShift Container Platform", "OpenShift Platform Plus"]' operators.operatorframework.io/builder: operator-sdk-v1.34.2 repository: https://github.com/openshift/jobset-operator support: Red Hat, Inc. creationTimestamp: null labels: name: jobset-operator spec: containers: - args: - operator command: - jobset-operator env: - name: POD_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name - name: OPERATOR_NAME value: jobset-operator - name: OPERATOR_IMAGE value: registry.redhat.io/job-set/jobset-rhel9-operator@sha256:2d4920bf64a24ebf9ee726b363b0db54c5d14ec37935770766458b09e4661ba0 - name: OPERAND_IMAGE value: registry.redhat.io/job-set/jobset-rhel9@sha256:8a0ce916ed17d4244f97ee967d341532365cbab4b4287639509dee914f50c8a1 - name: OPERATOR_CONDITION_NAME value: jobset-operator.v1.0.0 image: registry.redhat.io/job-set/jobset-rhel9-operator@sha256:2d4920bf64a24ebf9ee726b363b0db54c5d14ec37935770766458b09e4661ba0 imagePullPolicy: Always name: jobset-operator ports: - containerPort: 8443 name: metrics protocol: TCP resources: {} securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp name: tmp dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault serviceAccount: jobset-operator serviceAccountName: jobset-operator terminationGracePeriodSeconds: 30 volumes: - emptyDir: {} name: tmp status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-03-12T13:47:14Z" lastUpdateTime: "2026-03-12T13:47:14Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-03-12T13:47:11Z" lastUpdateTime: "2026-03-12T13:47:14Z" message: ReplicaSet "jobset-operator-747c5859c7" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 2 readyReplicas: 1 replicas: 1 updatedReplicas: 1 kind: DeploymentList metadata: resourceVersion: "21983"