---
apiVersion: apps/v1
items:
- apiVersion: apps/v1
  kind: ReplicaSet
  metadata:
    annotations:
      deployment.kubernetes.io/desired-replicas: "3"
      deployment.kubernetes.io/max-replicas: "3"
      deployment.kubernetes.io/revision: "1"
      exclude.release.openshift.io/internal-openshift-hosted: "true"
      include.release.openshift.io/self-managed-high-availability: "true"
    creationTimestamp: "2022-03-08T10:40:08Z"
    generation: 1
    labels:
      k8s-app: etcd-quorum-guard
      name: etcd-quorum-guard
      pod-template-hash: 58669bc4d5
    managedFields:
    - apiVersion: apps/v1
      fieldsType: FieldsV1
      fieldsV1:
        f:metadata:
          f:annotations:
            .: {}
            f:deployment.kubernetes.io/desired-replicas: {}
            f:deployment.kubernetes.io/max-replicas: {}
            f:deployment.kubernetes.io/revision: {}
            f:exclude.release.openshift.io/internal-openshift-hosted: {}
            f:include.release.openshift.io/self-managed-high-availability: {}
          f:labels:
            .: {}
            f:k8s-app: {}
            f:name: {}
            f:pod-template-hash: {}
          f:ownerReferences:
            .: {}
            k:{"uid":"f0c86c36-776c-49ef-ae18-1f4ac1d4a6b9"}:
              .: {}
              f:apiVersion: {}
              f:blockOwnerDeletion: {}
              f:controller: {}
              f:kind: {}
              f:name: {}
              f:uid: {}
        f:spec:
          f:replicas: {}
          f:selector:
            f:matchLabels:
              .: {}
              f:k8s-app: {}
              f:pod-template-hash: {}
          f:template:
            f:metadata:
              f:labels:
                .: {}
                f:k8s-app: {}
                f:name: {}
                f:pod-template-hash: {}
            f:spec:
              f:affinity:
                .: {}
                f:podAntiAffinity:
                  .: {}
                  f:requiredDuringSchedulingIgnoredDuringExecution: {}
              f:containers:
                k:{"name":"guard"}:
                  .: {}
                  f:args: {}
                  f:command: {}
                  f:image: {}
                  f:imagePullPolicy: {}
                  f:name: {}
                  f:readinessProbe:
                    .: {}
                    f:exec:
                      .: {}
                      f:command: {}
                    f:failureThreshold: {}
                    f:initialDelaySeconds: {}
                    f:periodSeconds: {}
                    f:successThreshold: {}
                    f:timeoutSeconds: {}
                  f:resources:
                    .: {}
                    f:requests:
                      .: {}
                      f:cpu: {}
                      f:memory: {}
                  f:securityContext:
                    .: {}
                    f:privileged: {}
                  f:terminationMessagePath: {}
                  f:terminationMessagePolicy: {}
                  f:volumeMounts:
                    .: {}
                    k:{"mountPath":"/var/run/configmaps/etcd-ca"}:
                      .: {}
                      f:mountPath: {}
                      f:name: {}
                    k:{"mountPath":"/var/run/secrets/etcd-client"}:
                      .: {}
                      f:mountPath: {}
                      f:name: {}
              f:dnsPolicy: {}
              f:hostNetwork: {}
              f:nodeSelector:
                .: {}
                f:node-role.kubernetes.io/master: {}
              f:priorityClassName: {}
              f:restartPolicy: {}
              f:schedulerName: {}
              f:securityContext: {}
              f:terminationGracePeriodSeconds: {}
              f:tolerations: {}
              f:volumes:
                .: {}
                k:{"name":"etcd-ca"}:
                  .: {}
                  f:configMap:
                    .: {}
                    f:defaultMode: {}
                    f:name: {}
                  f:name: {}
                k:{"name":"etcd-client"}:
                  .: {}
                  f:name: {}
                  f:secret:
                    .: {}
                    f:defaultMode: {}
                    f:secretName: {}
        f:status:
          f:availableReplicas: {}
          f:fullyLabeledReplicas: {}
          f:observedGeneration: {}
          f:readyReplicas: {}
          f:replicas: {}
      manager: kube-controller-manager
      operation: Update
      time: "2022-03-08T10:40:18Z"
    name: etcd-quorum-guard-58669bc4d5
    namespace: openshift-etcd
    ownerReferences:
    - apiVersion: apps/v1
      blockOwnerDeletion: true
      controller: true
      kind: Deployment
      name: etcd-quorum-guard
      uid: f0c86c36-776c-49ef-ae18-1f4ac1d4a6b9
    resourceVersion: "20389"
    selfLink: /apis/apps/v1/namespaces/openshift-etcd/replicasets/etcd-quorum-guard-58669bc4d5
    uid: cdcbaa09-a05d-4646-9fa1-80a498744874
  spec:
    replicas: 3
    selector:
      matchLabels:
        k8s-app: etcd-quorum-guard
        pod-template-hash: 58669bc4d5
    template:
      metadata:
        creationTimestamp: null
        labels:
          k8s-app: etcd-quorum-guard
          name: etcd-quorum-guard
          pod-template-hash: 58669bc4d5
      spec:
        affinity:
          podAntiAffinity:
            requiredDuringSchedulingIgnoredDuringExecution:
            - labelSelector:
                matchExpressions:
                - key: k8s-app
                  operator: In
                  values:
                  - etcd-quorum-guard
              topologyKey: kubernetes.io/hostname
        containers:
        - args:
          - -c
          - |
            # properly handle TERM and exit as soon as it is signaled
            set -euo pipefail
            trap 'jobs -p | xargs -r kill; exit 0' TERM
            sleep infinity & wait
          command:
          - /bin/bash
          image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:f95ac948edf7e12a3d46e88cbab8c7010ef9c3af6df2ff002af28ba76445247d
          imagePullPolicy: IfNotPresent
          name: guard
          readinessProbe:
            exec:
              command:
              - /bin/sh
              - -c
              - |
                declare -r health_endpoint="https://localhost:2379/health"
                declare -r cert="/var/run/secrets/etcd-client/tls.crt"
                declare -r key="/var/run/secrets/etcd-client/tls.key"
                declare -r cacert="/var/run/configmaps/etcd-ca/ca-bundle.crt"
                export NSS_SDB_USE_CACHE=no
                [[ -z $cert || -z $key ]] && exit 1
                curl --max-time 2 --silent --cert "${cert//:/\:}" --key "$key" --cacert "$cacert" "$health_endpoint" |grep '{ *"health" *: *"true" *}'
            failureThreshold: 3
            initialDelaySeconds: 5
            periodSeconds: 5
            successThreshold: 1
            timeoutSeconds: 3
          resources:
            requests:
              cpu: 10m
              memory: 5Mi
          securityContext:
            privileged: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: FallbackToLogsOnError
          volumeMounts:
          - mountPath: /var/run/secrets/etcd-client
            name: etcd-client
          - mountPath: /var/run/configmaps/etcd-ca
            name: etcd-ca
        dnsPolicy: ClusterFirst
        hostNetwork: true
        nodeSelector:
          node-role.kubernetes.io/master: ""
        priorityClassName: system-cluster-critical
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        terminationGracePeriodSeconds: 3
        tolerations:
        - effect: NoSchedule
          key: node-role.kubernetes.io/master
          operator: Exists
        - effect: NoExecute
          key: node.kubernetes.io/not-ready
          operator: Exists
        - effect: NoExecute
          key: node.kubernetes.io/unreachable
          operator: Exists
        - effect: NoSchedule
          key: node-role.kubernetes.io/etcd
          operator: Exists
        volumes:
        - name: etcd-client
          secret:
            defaultMode: 420
            secretName: etcd-client
        - configMap:
            defaultMode: 420
            name: etcd-ca-bundle
          name: etcd-ca
  status:
    availableReplicas: 3
    fullyLabeledReplicas: 3
    observedGeneration: 1
    readyReplicas: 3
    replicas: 3
kind: ReplicaSetList
metadata:
  resourceVersion: "83554"
  selfLink: /apis/apps/v1/namespaces/openshift-etcd/replicasets
