apiVersion: apps/v1
kind: Deployment
metadata:
  name: hybriddeployable-operator
  labels:
    app.kubernetes.io/instance: hybriddeployable-operator
    app.kubernetes.io/managed-by: hybriddeployable-operator
    app.kubernetes.io/name: hybridApplication
spec:
  replicas: 1
  selector:
    matchLabels:
      name: hybriddeployable-operator
  template:
    metadata:
      labels:
        name: hybriddeployable-operator
        app.kubernetes.io/instance: hybriddeployable-operator
        app.kubernetes.io/managed-by: hybriddeployable-operator
        app.kubernetes.io/name: hybridapplication
      annotations:
        productID: 0123456789abcdef0123456789abcdef
        productName: some-name
        productVersion: v1.0.0
    spec:
      serviceAccountName: hybriddeployable-operator
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: kubernetes.io/arch
                operator: In
                values: 
                - amd64
                - ppc64le
                - s390x
      hostIPC: false
      hostNetwork: false
      hostPID: false
      containers:
      - name: hybriddeployable-operator
        # Replace this with the built image name
        image: REPLACE_IMAGE
        securityContext:
          allowPrivilegeEscalation: false
          capabilities:
            drop:
            - ALL
          privileged: false
          readOnlyRootFilesystem: true
          runAsNonRoot: true
          runAsUser: 1001
        command:
        - hybriddeployable-operator
        imagePullPolicy: Always
        env:
        - name: WATCH_NAMESPACE
          value: ""
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: OPERATOR_NAME
          value: "hybriddeployable-operator"
        livenessProbe:
          exec:
            command:
            - ls
          initialDelaySeconds: 15
          periodSeconds: 15
        readinessProbe:
          exec:
            command:
            - ls
          initialDelaySeconds: 15
          periodSeconds: 15
        resources:
          limits:
            cpu: 100m
            memory: 512Mi
          requests:
            cpu: 25m
            memory: 64Mi
