# This is an auto-generated file. DO NOT EDIT apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: rollouts.argoproj.io spec: group: argoproj.io names: kind: Rollout plural: rollouts shortNames: - ro scope: Namespaced subresources: scale: labelSelectorPath: .status.selector specReplicasPath: .spec.replicas statusReplicasPath: .status.HPAReplicas validation: openAPIV3Schema: properties: apiVersion: type: string kind: type: string metadata: properties: annotations: additionalProperties: type: string type: object clusterName: type: string deletionGracePeriodSeconds: format: int64 type: integer deletionTimestamp: format: date-time type: string finalizers: items: type: string type: array generateName: type: string generation: format: int64 type: integer initializers: properties: pending: items: properties: name: type: string required: - name type: object type: array result: properties: apiVersion: type: string code: format: int32 type: integer details: properties: causes: items: properties: field: type: string message: type: string reason: type: string type: object type: array group: type: string kind: type: string name: type: string retryAfterSeconds: format: int32 type: integer uid: type: string type: object kind: type: string message: type: string metadata: properties: continue: type: string resourceVersion: type: string selfLink: type: string type: object reason: type: string status: type: string type: object required: - pending type: object labels: additionalProperties: type: string type: object managedFields: items: properties: apiVersion: type: string fields: additionalProperties: true type: object manager: type: string operation: type: string time: format: date-time type: string type: object type: array name: type: string namespace: type: string ownerReferences: items: properties: apiVersion: type: string blockOwnerDeletion: type: boolean controller: type: boolean kind: type: string name: type: string uid: type: string required: - apiVersion - kind - name - uid type: object type: array resourceVersion: type: string selfLink: type: string uid: type: string type: object spec: properties: minReadySeconds: format: int32 type: integer paused: type: boolean progressDeadlineSeconds: format: int32 type: integer replicas: format: int32 type: integer revisionHistoryLimit: format: int32 type: integer selector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string type: object type: object strategy: properties: blueGreen: properties: activeService: type: string autoPromotionEnabled: type: boolean autoPromotionSeconds: format: int32 type: integer previewReplicaCount: format: int32 type: integer previewService: type: string scaleDownDelaySeconds: format: int32 type: integer type: object canary: properties: canaryService: type: string maxSurge: anyOf: - type: string - type: integer maxUnavailable: anyOf: - type: string - type: integer steps: items: properties: pause: properties: duration: format: int32 type: integer type: object setWeight: format: int32 type: integer type: object type: array type: object type: object template: properties: metadata: properties: annotations: additionalProperties: type: string type: object clusterName: type: string deletionGracePeriodSeconds: format: int64 type: integer deletionTimestamp: format: date-time type: string finalizers: items: type: string type: array generateName: type: string generation: format: int64 type: integer initializers: properties: pending: items: properties: name: type: string required: - name type: object type: array result: properties: apiVersion: type: string code: format: int32 type: integer details: properties: causes: items: properties: field: type: string message: type: string reason: type: string type: object type: array group: type: string kind: type: string name: type: string retryAfterSeconds: format: int32 type: integer uid: type: string type: object kind: type: string message: type: string metadata: properties: continue: type: string resourceVersion: type: string selfLink: type: string type: object reason: type: string status: type: string type: object required: - pending type: object labels: additionalProperties: type: string type: object managedFields: items: properties: apiVersion: type: string fields: additionalProperties: true type: object manager: type: string operation: type: string time: format: date-time type: string type: object type: array name: type: string namespace: type: string ownerReferences: items: properties: apiVersion: type: string blockOwnerDeletion: type: boolean controller: type: boolean kind: type: string name: type: string uid: type: string required: - apiVersion - kind - name - uid type: object type: array resourceVersion: type: string selfLink: type: string uid: type: string type: object spec: properties: activeDeadlineSeconds: format: int64 type: integer affinity: properties: nodeAffinity: properties: preferredDuringSchedulingIgnoredDuringExecution: items: properties: preference: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchFields: items: properties: key: type: string operator: type: string values: items: type: string type: array required: - key - operator type: object type: array type: object weight: format: int32 type: integer required: - weight - preference type: object type: array requiredDuringSchedulingIgnoredDuringExecution: properties: nodeSelectorTerms: items: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchFields: items: properties: key: type: string operator: type: string values: items: type: string type: array required: - key - operator type: object type: array type: object type: array required: - nodeSelectorTerms type: object type: object podAffinity: properties: preferredDuringSchedulingIgnoredDuringExecution: items: properties: podAffinityTerm: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string type: object type: object namespaces: items: type: string type: array topologyKey: type: string required: - topologyKey type: object weight: format: int32 type: integer required: - weight - podAffinityTerm type: object type: array requiredDuringSchedulingIgnoredDuringExecution: items: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string type: object type: object namespaces: items: type: string type: array topologyKey: type: string required: - topologyKey type: object type: array type: object podAntiAffinity: properties: preferredDuringSchedulingIgnoredDuringExecution: items: properties: podAffinityTerm: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string type: object type: object namespaces: items: type: string type: array topologyKey: type: string required: - topologyKey type: object weight: format: int32 type: integer required: - weight - podAffinityTerm type: object type: array requiredDuringSchedulingIgnoredDuringExecution: items: properties: labelSelector: properties: matchExpressions: items: properties: key: type: string operator: type: string values: items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string type: object type: object namespaces: items: type: string type: array topologyKey: type: string required: - topologyKey type: object type: array type: object type: object automountServiceAccountToken: type: boolean containers: items: properties: args: items: type: string type: array command: items: type: string type: array env: items: properties: name: type: string value: type: string valueFrom: properties: configMapKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object resourceFieldRef: properties: containerName: type: string divisor: type: string resource: type: string required: - resource type: object secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object type: object required: - name type: object type: array envFrom: items: properties: configMapRef: properties: name: type: string optional: type: boolean type: object prefix: type: string secretRef: properties: name: type: string optional: type: boolean type: object type: object type: array image: type: string imagePullPolicy: type: string lifecycle: properties: postStart: properties: exec: properties: command: items: type: string type: array type: object httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: anyOf: - type: string - type: integer scheme: type: string required: - port type: object tcpSocket: properties: host: type: string port: anyOf: - type: string - type: integer required: - port type: object type: object preStop: properties: exec: properties: command: items: type: string type: array type: object httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: anyOf: - type: string - type: integer scheme: type: string required: - port type: object tcpSocket: properties: host: type: string port: anyOf: - type: string - type: integer required: - port type: object type: object type: object livenessProbe: properties: exec: properties: command: items: type: string type: array type: object failureThreshold: format: int32 type: integer httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: anyOf: - type: string - type: integer scheme: type: string required: - port type: object initialDelaySeconds: format: int32 type: integer periodSeconds: format: int32 type: integer successThreshold: format: int32 type: integer tcpSocket: properties: host: type: string port: anyOf: - type: string - type: integer required: - port type: object timeoutSeconds: format: int32 type: integer type: object name: type: string ports: items: properties: containerPort: format: int32 type: integer hostIP: type: string hostPort: format: int32 type: integer name: type: string protocol: type: string required: - containerPort type: object type: array readinessProbe: properties: exec: properties: command: items: type: string type: array type: object failureThreshold: format: int32 type: integer httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: anyOf: - type: string - type: integer scheme: type: string required: - port type: object initialDelaySeconds: format: int32 type: integer periodSeconds: format: int32 type: integer successThreshold: format: int32 type: integer tcpSocket: properties: host: type: string port: anyOf: - type: string - type: integer required: - port type: object timeoutSeconds: format: int32 type: integer type: object resources: type: object securityContext: properties: allowPrivilegeEscalation: type: boolean capabilities: properties: add: items: type: string type: array drop: items: type: string type: array type: object privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: format: int64 type: integer runAsNonRoot: type: boolean runAsUser: format: int64 type: integer seLinuxOptions: properties: level: type: string role: type: string type: type: string user: type: string type: object type: object stdin: type: boolean stdinOnce: type: boolean terminationMessagePath: type: string terminationMessagePolicy: type: string tty: type: boolean volumeDevices: items: properties: devicePath: type: string name: type: string required: - name - devicePath type: object type: array volumeMounts: items: properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean subPath: type: string subPathExpr: type: string required: - name - mountPath type: object type: array workingDir: type: string required: - name type: object type: array dnsConfig: properties: nameservers: items: type: string type: array options: items: properties: name: type: string value: type: string type: object type: array searches: items: type: string type: array type: object dnsPolicy: type: string enableServiceLinks: type: boolean hostAliases: items: properties: hostnames: items: type: string type: array ip: type: string type: object type: array hostIPC: type: boolean hostNetwork: type: boolean hostPID: type: boolean hostname: type: string imagePullSecrets: items: properties: name: type: string type: object type: array initContainers: items: properties: args: items: type: string type: array command: items: type: string type: array env: items: properties: name: type: string value: type: string valueFrom: properties: configMapKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object fieldRef: properties: apiVersion: type: string fieldPath: type: string required: - fieldPath type: object resourceFieldRef: properties: containerName: type: string divisor: type: string resource: type: string required: - resource type: object secretKeyRef: properties: key: type: string name: type: string optional: type: boolean required: - key type: object type: object required: - name type: object type: array envFrom: items: properties: configMapRef: properties: name: type: string optional: type: boolean type: object prefix: type: string secretRef: properties: name: type: string optional: type: boolean type: object type: object type: array image: type: string imagePullPolicy: type: string lifecycle: properties: postStart: properties: exec: properties: command: items: type: string type: array type: object httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: anyOf: - type: string - type: integer scheme: type: string required: - port type: object tcpSocket: properties: host: type: string port: anyOf: - type: string - type: integer required: - port type: object type: object preStop: properties: exec: properties: command: items: type: string type: array type: object httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: anyOf: - type: string - type: integer scheme: type: string required: - port type: object tcpSocket: properties: host: type: string port: anyOf: - type: string - type: integer required: - port type: object type: object type: object livenessProbe: properties: exec: properties: command: items: type: string type: array type: object failureThreshold: format: int32 type: integer httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: anyOf: - type: string - type: integer scheme: type: string required: - port type: object initialDelaySeconds: format: int32 type: integer periodSeconds: format: int32 type: integer successThreshold: format: int32 type: integer tcpSocket: properties: host: type: string port: anyOf: - type: string - type: integer required: - port type: object timeoutSeconds: format: int32 type: integer type: object name: type: string ports: items: properties: containerPort: format: int32 type: integer hostIP: type: string hostPort: format: int32 type: integer name: type: string protocol: type: string required: - containerPort type: object type: array readinessProbe: properties: exec: properties: command: items: type: string type: array type: object failureThreshold: format: int32 type: integer httpGet: properties: host: type: string httpHeaders: items: properties: name: type: string value: type: string required: - name - value type: object type: array path: type: string port: anyOf: - type: string - type: integer scheme: type: string required: - port type: object initialDelaySeconds: format: int32 type: integer periodSeconds: format: int32 type: integer successThreshold: format: int32 type: integer tcpSocket: properties: host: type: string port: anyOf: - type: string - type: integer required: - port type: object timeoutSeconds: format: int32 type: integer type: object resources: properties: limits: additionalProperties: type: string type: object requests: additionalProperties: type: string type: object type: object securityContext: properties: allowPrivilegeEscalation: type: boolean capabilities: properties: add: items: type: string type: array drop: items: type: string type: array type: object privileged: type: boolean procMount: type: string readOnlyRootFilesystem: type: boolean runAsGroup: format: int64 type: integer runAsNonRoot: type: boolean runAsUser: format: int64 type: integer seLinuxOptions: properties: level: type: string role: type: string type: type: string user: type: string type: object type: object stdin: type: boolean stdinOnce: type: boolean terminationMessagePath: type: string terminationMessagePolicy: type: string tty: type: boolean volumeDevices: items: properties: devicePath: type: string name: type: string required: - name - devicePath type: object type: array volumeMounts: items: properties: mountPath: type: string mountPropagation: type: string name: type: string readOnly: type: boolean subPath: type: string subPathExpr: type: string required: - name - mountPath type: object type: array workingDir: type: string required: - name type: object type: array nodeName: type: string nodeSelector: additionalProperties: type: string type: object priority: format: int32 type: integer priorityClassName: type: string readinessGates: items: properties: conditionType: type: string required: - conditionType type: object type: array restartPolicy: type: string runtimeClassName: type: string schedulerName: type: string securityContext: properties: fsGroup: format: int64 type: integer runAsGroup: format: int64 type: integer runAsNonRoot: type: boolean runAsUser: format: int64 type: integer seLinuxOptions: properties: level: type: string role: type: string type: type: string user: type: string type: object supplementalGroups: items: format: int64 type: integer type: array sysctls: items: properties: name: type: string value: type: string required: - name - value type: object type: array type: object serviceAccount: type: string serviceAccountName: type: string shareProcessNamespace: type: boolean subdomain: type: string terminationGracePeriodSeconds: format: int64 type: integer tolerations: items: properties: effect: type: string key: type: string operator: type: string tolerationSeconds: format: int64 type: integer value: type: string type: object type: array volumes: items: properties: awsElasticBlockStore: properties: fsType: type: string partition: format: int32 type: integer readOnly: type: boolean volumeID: type: string required: - volumeID type: object azureDisk: properties: cachingMode: type: string diskName: type: string diskURI: type: string fsType: type: string kind: type: string readOnly: type: boolean required: - diskName - diskURI type: object azureFile: properties: readOnly: type: boolean secretName: type: string shareName: type: string required: - secretName - shareName type: object cephfs: properties: monitors: items: type: string type: array path: type: string readOnly: type: boolean secretFile: type: string secretRef: properties: name: type: string type: object user: type: string required: - monitors type: object cinder: properties: fsType: type: string readOnly: type: boolean secretRef: properties: name: type: string type: object volumeID: type: string required: - volumeID type: object csi: properties: driver: type: string fsType: type: string nodePublishSecretRef: properties: name: type: string type: object readOnly: type: boolean volumeAttributes: additionalProperties: type: string type: object required: - driver type: object emptyDir: properties: medium: type: string sizeLimit: type: string type: object fc: properties: fsType: type: string lun: format: int32 type: integer readOnly: type: boolean targetWWNs: items: type: string type: array wwids: items: type: string type: array type: object flexVolume: properties: driver: type: string fsType: type: string options: additionalProperties: type: string type: object readOnly: type: boolean secretRef: properties: name: type: string type: object required: - driver type: object flocker: properties: datasetName: type: string datasetUUID: type: string type: object gcePersistentDisk: properties: fsType: type: string partition: format: int32 type: integer pdName: type: string readOnly: type: boolean required: - pdName type: object gitRepo: properties: directory: type: string repository: type: string revision: type: string required: - repository type: object glusterfs: properties: endpoints: type: string path: type: string readOnly: type: boolean required: - endpoints - path type: object hostPath: properties: path: type: string type: type: string required: - path type: object iscsi: properties: chapAuthDiscovery: type: boolean chapAuthSession: type: boolean fsType: type: string initiatorName: type: string iqn: type: string iscsiInterface: type: string lun: format: int32 type: integer portals: items: type: string type: array readOnly: type: boolean secretRef: properties: name: type: string type: object targetPortal: type: string required: - targetPortal - iqn - lun type: object name: type: string nfs: properties: path: type: string readOnly: type: boolean server: type: string required: - server - path type: object persistentVolumeClaim: properties: claimName: type: string readOnly: type: boolean required: - claimName type: object photonPersistentDisk: properties: fsType: type: string pdID: type: string required: - pdID type: object portworxVolume: properties: fsType: type: string readOnly: type: boolean volumeID: type: string required: - volumeID type: object projected: properties: defaultMode: format: int32 type: integer sources: items: properties: serviceAccountToken: properties: audience: type: string expirationSeconds: format: int64 type: integer path: type: string required: - path type: object type: object type: array required: - sources type: object quobyte: properties: group: type: string readOnly: type: boolean registry: type: string tenant: type: string user: type: string volume: type: string required: - registry - volume type: object rbd: properties: fsType: type: string image: type: string keyring: type: string monitors: items: type: string type: array pool: type: string readOnly: type: boolean secretRef: properties: name: type: string type: object user: type: string required: - monitors - image type: object scaleIO: properties: fsType: type: string gateway: type: string protectionDomain: type: string readOnly: type: boolean secretRef: properties: name: type: string type: object sslEnabled: type: boolean storageMode: type: string storagePool: type: string system: type: string volumeName: type: string required: - gateway - system - secretRef type: object storageos: properties: fsType: type: string readOnly: type: boolean secretRef: properties: name: type: string type: object volumeName: type: string volumeNamespace: type: string type: object vsphereVolume: properties: fsType: type: string storagePolicyID: type: string storagePolicyName: type: string volumePath: type: string required: - volumePath type: object required: - name type: object type: array required: - containers type: object type: object required: - selector - template - strategy type: object status: properties: HPAReplicas: format: int32 type: integer availableReplicas: format: int32 type: integer blueGreen: properties: activeSelector: type: string previewSelector: type: string previousActiveSelector: type: string scaleDownDelayStartTime: format: date-time type: string scaleUpPreviewCheckPoint: type: boolean type: object canary: properties: stableRS: type: string type: object collisionCount: format: int32 type: integer conditions: items: properties: lastTransitionTime: format: date-time type: string lastUpdateTime: format: date-time type: string message: type: string reason: type: string status: type: string type: type: string required: - type - status - lastUpdateTime - lastTransitionTime - reason - message type: object type: array currentPodHash: type: string currentStepHash: type: string currentStepIndex: format: int32 type: integer observedGeneration: type: string pauseStartTime: format: date-time type: string readyReplicas: format: int32 type: integer replicas: format: int32 type: integer selector: type: string updatedReplicas: format: int32 type: integer type: object required: - spec type: object versions: - name: v1alpha1 served: true storage: true --- apiVersion: v1 kind: ServiceAccount metadata: labels: app.kubernetes.io/component: rollouts-controller app.kubernetes.io/name: argo-rollouts app.kubernetes.io/part-of: argo-rollouts name: argo-rollouts --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: labels: app.kubernetes.io/component: rollouts-controller app.kubernetes.io/name: argo-rollouts-role app.kubernetes.io/part-of: argo-rollouts name: argo-rollouts-role rules: - apiGroups: - argoproj.io resources: - rollouts verbs: - watch - get - list - update - patch - apiGroups: - apps resources: - replicasets verbs: - get - list - create - update - delete - watch - apiGroups: - "" resources: - services verbs: - get - list - patch - watch - apiGroups: - "" resources: - events verbs: - create - update - patch --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: app.kubernetes.io/component: aggregate-cluster-role app.kubernetes.io/name: argo-rollouts-aggregate-to-admin app.kubernetes.io/part-of: argo-rollouts rbac.authorization.k8s.io/aggregate-to-admin: "true" name: argo-rollouts-aggregate-to-admin rules: - apiGroups: - argoproj.io resources: - rollouts verbs: - create - delete - deletecollection - get - list - patch - update - watch --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: app.kubernetes.io/component: aggregate-cluster-role app.kubernetes.io/name: argo-rollouts-aggregate-to-edit app.kubernetes.io/part-of: argo-rollouts rbac.authorization.k8s.io/aggregate-to-edit: "true" name: argo-rollouts-aggregate-to-edit rules: - apiGroups: - argoproj.io resources: - rollouts verbs: - create - delete - deletecollection - get - list - patch - update - watch --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: app.kubernetes.io/component: aggregate-cluster-role app.kubernetes.io/name: argo-rollouts-aggregate-to-view app.kubernetes.io/part-of: argo-rollouts rbac.authorization.k8s.io/aggregate-to-view: "true" name: argo-rollouts-aggregate-to-view rules: - apiGroups: - argoproj.io resources: - rollouts verbs: - get - list - watch --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: app.kubernetes.io/component: rollouts-controller app.kubernetes.io/name: argo-rollouts-clusterrole app.kubernetes.io/part-of: argo-rollouts name: argo-rollouts-clusterrole rules: - apiGroups: - apps resources: - replicasets verbs: - watch - get - list - create - update - delete - apiGroups: - "" resources: - services verbs: - watch - get - list - patch - apiGroups: - argoproj.io resources: - rollouts verbs: - get - list - update - watch - patch - apiGroups: - "" resources: - events verbs: - create - update - patch --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: labels: app.kubernetes.io/component: rollouts-controller app.kubernetes.io/name: argo-rollouts-role-binding app.kubernetes.io/part-of: argo-rollouts name: argo-rollouts-role-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: argo-rollouts-role subjects: - kind: ServiceAccount name: argo-rollouts --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: labels: app.kubernetes.io/component: rollouts-controller app.kubernetes.io/name: argo-rollouts-clusterrolebinding app.kubernetes.io/part-of: argo-rollouts name: argo-rollouts-clusterrolebinding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: argo-rollouts-clusterrole subjects: - kind: ServiceAccount name: argo-rollouts namespace: argo-rollouts --- apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/component: server app.kubernetes.io/name: argo-rollouts-metrics app.kubernetes.io/part-of: argo-rollouts name: argo-rollouts-metrics spec: ports: - name: metrics port: 8090 protocol: TCP targetPort: 8090 selector: app.kubernetes.io/name: argo-rollouts --- apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/component: rollouts-controller app.kubernetes.io/name: argo-rollouts app.kubernetes.io/part-of: argo-rollouts name: argo-rollouts spec: selector: matchLabels: app.kubernetes.io/name: argo-rollouts strategy: type: Recreate template: metadata: labels: app.kubernetes.io/name: argo-rollouts spec: containers: - command: - /bin/rollouts-controller image: argoproj/argo-rollouts:v0.4.1 imagePullPolicy: Always name: argo-rollouts volumeMounts: - mountPath: /tmp name: tmp serviceAccountName: argo-rollouts volumes: - emptyDir: {} name: tmp