diff options
| author | Scott Dodson <sdodson@redhat.com> | 2018-01-10 20:13:31 -0500 | 
|---|---|---|
| committer | Scott Dodson <sdodson@redhat.com> | 2018-01-10 20:14:02 -0500 | 
| commit | ff919a3f4de66074defebdaa91f2fe37e972ecae (patch) | |
| tree | cea7796ba73c6e3c4b9cf7ef1eaba812593d9069 /roles | |
| parent | 3041060af052648c772a34e4e9cf25f0ce14bf77 (diff) | |
| download | openshift-ff919a3f4de66074defebdaa91f2fe37e972ecae.tar.gz openshift-ff919a3f4de66074defebdaa91f2fe37e972ecae.tar.bz2 openshift-ff919a3f4de66074defebdaa91f2fe37e972ecae.tar.xz openshift-ff919a3f4de66074defebdaa91f2fe37e972ecae.zip | |
Add missing v3.9 gluster templates
Fixes Bug 1532961
Diffstat (limited to 'roles')
6 files changed, 734 insertions, 0 deletions
| diff --git a/roles/openshift_storage_glusterfs/files/v3.9/deploy-heketi-template.yml b/roles/openshift_storage_glusterfs/files/v3.9/deploy-heketi-template.yml new file mode 100644 index 000000000..34af652c2 --- /dev/null +++ b/roles/openshift_storage_glusterfs/files/v3.9/deploy-heketi-template.yml @@ -0,0 +1,133 @@ +--- +kind: Template +apiVersion: v1 +metadata: +  name: deploy-heketi +  labels: +    glusterfs: heketi-template +    deploy-heketi: support +  annotations: +    description: Bootstrap Heketi installation +    tags: glusterfs,heketi,installation +objects: +- kind: Service +  apiVersion: v1 +  metadata: +    name: deploy-heketi-${CLUSTER_NAME} +    labels: +      glusterfs: deploy-heketi-${CLUSTER_NAME}-service +      deploy-heketi: support +    annotations: +      description: Exposes Heketi service +  spec: +    ports: +    - name: deploy-heketi-${CLUSTER_NAME} +      port: 8080 +      targetPort: 8080 +    selector: +      glusterfs: deploy-heketi-${CLUSTER_NAME}-pod +- kind: Route +  apiVersion: v1 +  metadata: +    name: ${HEKETI_ROUTE} +    labels: +      glusterfs: deploy-heketi-${CLUSTER_NAME}-route +      deploy-heketi: support +  spec: +    to: +      kind: Service +      name: deploy-heketi-${CLUSTER_NAME} +- kind: DeploymentConfig +  apiVersion: v1 +  metadata: +    name: deploy-heketi-${CLUSTER_NAME} +    labels: +      glusterfs: deploy-heketi-${CLUSTER_NAME}-dc +      deploy-heketi: support +    annotations: +      description: Defines how to deploy Heketi +  spec: +    replicas: 1 +    selector: +      glusterfs: deploy-heketi-${CLUSTER_NAME}-pod +    triggers: +    - type: ConfigChange +    strategy: +      type: Recreate +    template: +      metadata: +        name: deploy-heketi +        labels: +          glusterfs: deploy-heketi-${CLUSTER_NAME}-pod +          deploy-heketi: support +      spec: +        serviceAccountName: heketi-${CLUSTER_NAME}-service-account +        containers: +        - name: heketi +          image: ${IMAGE_NAME}:${IMAGE_VERSION} +          env: +          - name: HEKETI_USER_KEY +            value: ${HEKETI_USER_KEY} +          - name: HEKETI_ADMIN_KEY +            value: ${HEKETI_ADMIN_KEY} +          - name: HEKETI_EXECUTOR +            value: ${HEKETI_EXECUTOR} +          - name: HEKETI_FSTAB +            value: ${HEKETI_FSTAB} +          - name: HEKETI_SNAPSHOT_LIMIT +            value: '14' +          - name: HEKETI_KUBE_GLUSTER_DAEMONSET +            value: '1' +          ports: +          - containerPort: 8080 +          volumeMounts: +          - name: db +            mountPath: /var/lib/heketi +          - name: config +            mountPath: /etc/heketi +          readinessProbe: +            timeoutSeconds: 3 +            initialDelaySeconds: 3 +            httpGet: +              path: /hello +              port: 8080 +          livenessProbe: +            timeoutSeconds: 3 +            initialDelaySeconds: 30 +            httpGet: +              path: /hello +              port: 8080 +        volumes: +        - name: db +        - name: config +          secret: +            secretName: heketi-${CLUSTER_NAME}-config-secret +parameters: +- name: HEKETI_USER_KEY +  displayName: Heketi User Secret +  description: Set secret for those creating volumes as type _user_ +- name: HEKETI_ADMIN_KEY +  displayName: Heketi Administrator Secret +  description: Set secret for administration of the Heketi service as user _admin_ +- name: HEKETI_EXECUTOR +  displayName: heketi executor type +  description: Set the executor type, kubernetes or ssh +  value: kubernetes +- name: HEKETI_FSTAB +  displayName: heketi fstab path +  description: Set the fstab path, file that is populated with bricks that heketi creates +  value: /var/lib/heketi/fstab +- name: HEKETI_ROUTE +  displayName: heketi route name +  description: Set the hostname for the route URL +  value: "heketi-glusterfs" +- name: IMAGE_NAME +  displayName: heketi container image name +  required: True +- name: IMAGE_VERSION +  displayName: heketi container image version +  required: True +- name: CLUSTER_NAME +  displayName: GlusterFS cluster name +  description: A unique name to identify this heketi service, useful for running multiple heketi instances +  value: glusterfs diff --git a/roles/openshift_storage_glusterfs/files/v3.9/gluster-s3-pvcs-template.yml b/roles/openshift_storage_glusterfs/files/v3.9/gluster-s3-pvcs-template.yml new file mode 100644 index 000000000..064b51473 --- /dev/null +++ b/roles/openshift_storage_glusterfs/files/v3.9/gluster-s3-pvcs-template.yml @@ -0,0 +1,67 @@ +--- +kind: Template +apiVersion: v1 +metadata: +  name: gluster-s3-pvcs +  labels: +    glusterfs: s3-pvcs-template +    gluster-s3: pvcs-template +  annotations: +    description: Gluster S3 service template +    tags: glusterfs,heketi,gluster-s3 +objects: +- kind: PersistentVolumeClaim +  apiVersion: v1 +  metadata: +    name: "${PVC}" +    labels: +      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-storage +      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-pvc +    annotations: +      volume.beta.kubernetes.io/storage-class: "glusterfs-${CLUSTER_NAME}" +  spec: +    accessModes: +    - ReadWriteMany +    resources: +      requests: +        storage: "${PVC_SIZE}" +- kind: PersistentVolumeClaim +  apiVersion: v1 +  metadata: +    name: "${META_PVC}" +    labels: +      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-storage +      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-meta-pvc +    annotations: +      volume.beta.kubernetes.io/storage-class: "glusterfs-${CLUSTER_NAME}" +  spec: +    accessModes: +    - ReadWriteMany +    resources: +      requests: +        storage: "${META_PVC_SIZE}" +parameters: +- name: S3_ACCOUNT +  displayName: S3 Account Name +  description: S3 storage account which will provide storage on GlusterFS volumes +  required: true +- name: PVC +  displayName: Primary GlusterFS-backed PVC +  description: GlusterFS-backed PVC for object storage +  required: true +- name: PVC_SIZE +  displayName: Primary GlusterFS-backed PVC capacity +  description: Capacity for GlusterFS-backed PVC for object storage +  value: 2Gi +- name: META_PVC +  displayName: Metadata GlusterFS-backed PVC +  description: GlusterFS-backed PVC for object storage metadata +  required: true +- name: META_PVC_SIZE +  displayName: Metadata GlusterFS-backed PVC capacity +  description: Capacity for GlusterFS-backed PVC for object storage metadata +  value: 1Gi +- name: CLUSTER_NAME +  displayName: GlusterFS cluster name +  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances +  value: storage diff --git a/roles/openshift_storage_glusterfs/files/v3.9/gluster-s3-template.yml b/roles/openshift_storage_glusterfs/files/v3.9/gluster-s3-template.yml new file mode 100644 index 000000000..896a1b226 --- /dev/null +++ b/roles/openshift_storage_glusterfs/files/v3.9/gluster-s3-template.yml @@ -0,0 +1,140 @@ +--- +kind: Template +apiVersion: v1 +metadata: +  name: gluster-s3 +  labels: +    glusterfs: s3-template +    gluster-s3: template +  annotations: +    description: Gluster S3 service template +    tags: glusterfs,heketi,gluster-s3 +objects: +- kind: Service +  apiVersion: v1 +  metadata: +    name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service +    labels: +      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service +      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-service +  spec: +    ports: +    - protocol: TCP +      port: 8080 +      targetPort: 8080 +    selector: +      glusterfs: s3-pod +    type: ClusterIP +    sessionAffinity: None +  status: +    loadBalancer: {} +- kind: Route +  apiVersion: v1 +  metadata: +    name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-route +    labels: +      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-route +      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-route +  spec: +    to: +      kind: Service +      name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service +- kind: DeploymentConfig +  apiVersion: v1 +  metadata: +    name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-dc +    labels: +      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-dc +      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-dc +    annotations: +      openshift.io/scc: privileged +      description: Defines how to deploy gluster s3 object storage +  spec: +    replicas: 1 +    selector: +      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-pod +    template: +      metadata: +        name: gluster-${CLUSTER_NAME}-${S3_ACCOUNT}-s3 +        labels: +          glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-pod +          gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-pod +      spec: +        containers: +        - name: gluster-s3 +          image: ${IMAGE_NAME}:${IMAGE_VERSION} +          imagePullPolicy: IfNotPresent +          ports: +          - name: gluster +            containerPort: 8080 +            protocol: TCP +          env: +          - name: S3_ACCOUNT +            value: "${S3_ACCOUNT}" +          - name: S3_USER +            value: "${S3_USER}" +          - name: S3_PASSWORD +            value: "${S3_PASSWORD}" +          resources: {} +          volumeMounts: +          - name: gluster-vol1 +            mountPath: "/mnt/gluster-object/${S3_ACCOUNT}" +          - name: gluster-vol2 +            mountPath: "/mnt/gluster-object/gsmetadata" +          - name: glusterfs-cgroup +            readOnly: true +            mountPath: "/sys/fs/cgroup" +          terminationMessagePath: "/dev/termination-log" +          securityContext: +            privileged: true +        volumes: +        - name: glusterfs-cgroup +          hostPath: +            path: "/sys/fs/cgroup" +        - name: gluster-vol1 +          persistentVolumeClaim: +            claimName: ${PVC} +        - name: gluster-vol2 +          persistentVolumeClaim: +            claimName: ${META_PVC} +        restartPolicy: Always +        terminationGracePeriodSeconds: 30 +        dnsPolicy: ClusterFirst +        serviceAccountName: default +        serviceAccount: default +        securityContext: {} +parameters: +- name: IMAGE_NAME +  displayName: glusterblock provisioner container image name +  required: True +- name: IMAGE_VERSION +  displayName: glusterblock provisioner container image version +  required: True +- name: CLUSTER_NAME +  displayName: GlusterFS cluster name +  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances +  value: storage +- name: S3_ACCOUNT +  displayName: S3 Account Name +  description: S3 storage account which will provide storage on GlusterFS volumes +  required: true +- name: S3_USER +  displayName: S3 User +  description: S3 user who can access the S3 storage account +  required: true +- name: S3_PASSWORD +  displayName: S3 User Password +  description: Password for the S3 user +  required: true +- name: PVC +  displayName: Primary GlusterFS-backed PVC +  description: GlusterFS-backed PVC for object storage +  value: gluster-s3-claim +- name: META_PVC +  displayName: Metadata GlusterFS-backed PVC +  description: GlusterFS-backed PVC for object storage metadata +  value: gluster-s3-meta-claim +- name: CLUSTER_NAME +  displayName: GlusterFS cluster name +  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances +  value: storage diff --git a/roles/openshift_storage_glusterfs/files/v3.9/glusterblock-provisioner.yml b/roles/openshift_storage_glusterfs/files/v3.9/glusterblock-provisioner.yml new file mode 100644 index 000000000..63dd5cce6 --- /dev/null +++ b/roles/openshift_storage_glusterfs/files/v3.9/glusterblock-provisioner.yml @@ -0,0 +1,104 @@ +--- +kind: Template +apiVersion: v1 +metadata: +  name: glusterblock-provisioner +  labels: +    glusterfs: block-template +    glusterblock: template +  annotations: +    description: glusterblock provisioner template +    tags: glusterfs +objects: +- kind: ClusterRole +  apiVersion: v1 +  metadata: +    name: glusterblock-provisioner-runner +    labels: +      glusterfs: block-provisioner-runner-clusterrole +      glusterblock: provisioner-runner-clusterrole +  rules: +    - apiGroups: [""] +      resources: ["persistentvolumes"] +      verbs: ["get", "list", "watch", "create", "delete"] +    - apiGroups: [""] +      resources: ["persistentvolumeclaims"] +      verbs: ["get", "list", "watch", "update"] +    - apiGroups: ["storage.k8s.io"] +      resources: ["storageclasses"] +      verbs: ["get", "list", "watch"] +    - apiGroups: [""] +      resources: ["events"] +      verbs: ["list", "watch", "create", "update", "patch"] +    - apiGroups: [""] +      resources: ["services"] +      verbs: ["get"] +    - apiGroups: [""] +      resources: ["secrets"] +      verbs: ["get", "create", "delete"] +    - apiGroups: [""] +      resources: ["routes"] +      verbs: ["get", "list"] +- apiVersion: v1 +  kind: ServiceAccount +  metadata: +    name: glusterblock-${CLUSTER_NAME}-provisioner +    labels: +      glusterfs: block-${CLUSTER_NAME}-provisioner-sa +      glusterblock: ${CLUSTER_NAME}-provisioner-sa +- apiVersion: v1 +  kind: ClusterRoleBinding +  metadata: +    name: glusterblock-${CLUSTER_NAME}-provisioner +  roleRef: +    name: glusterblock-provisioner-runner +  subjects: +  - kind: ServiceAccount +    name: glusterblock-${CLUSTER_NAME}-provisioner +    namespace: ${NAMESPACE} +- kind: DeploymentConfig +  apiVersion: v1 +  metadata: +    name: glusterblock-${CLUSTER_NAME}-provisioner-dc +    labels: +      glusterfs: block-${CLUSTER_NAME}-provisioner-dc +      glusterblock: ${CLUSTER_NAME}-provisioner-dc +    annotations: +      description: Defines how to deploy the glusterblock provisioner pod. +  spec: +    replicas: 1 +    selector: +      glusterfs: block-${CLUSTER_NAME}-provisioner-pod +    triggers: +    - type: ConfigChange +    strategy: +      type: Recreate +    template: +      metadata: +        name: glusterblock-provisioner +        labels: +          glusterfs: block-${CLUSTER_NAME}-provisioner-pod +      spec: +        serviceAccountName: glusterblock-${CLUSTER_NAME}-provisioner +        containers: +        - name: glusterblock-provisioner +          image: ${IMAGE_NAME}:${IMAGE_VERSION} +          imagePullPolicy: IfNotPresent +          env: +          - name: PROVISIONER_NAME +            value: gluster.org/glusterblock +parameters: +- name: IMAGE_NAME +  displayName: glusterblock provisioner container image name +  required: True +- name: IMAGE_VERSION +  displayName: glusterblock provisioner container image version +  required: True +- name: NAMESPACE +  displayName: glusterblock provisioner namespace +  description: The namespace in which these resources are being created +  required: True +- name: CLUSTER_NAME +  displayName: GlusterFS cluster name +  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances +  value: storage diff --git a/roles/openshift_storage_glusterfs/files/v3.9/glusterfs-template.yml b/roles/openshift_storage_glusterfs/files/v3.9/glusterfs-template.yml new file mode 100644 index 000000000..09850a2c2 --- /dev/null +++ b/roles/openshift_storage_glusterfs/files/v3.9/glusterfs-template.yml @@ -0,0 +1,154 @@ +--- +kind: Template +apiVersion: v1 +metadata: +  name: glusterfs +  labels: +    glusterfs: template +  annotations: +    description: GlusterFS DaemonSet template +    tags: glusterfs +objects: +- kind: DaemonSet +  apiVersion: extensions/v1beta1 +  metadata: +    name: glusterfs-${CLUSTER_NAME} +    labels: +      glusterfs: ${CLUSTER_NAME}-daemonset +    annotations: +      description: GlusterFS DaemonSet +      tags: glusterfs +  spec: +    selector: +      matchLabels: +        glusterfs: ${CLUSTER_NAME}-pod +    template: +      metadata: +        name: glusterfs-${CLUSTER_NAME} +        labels: +          glusterfs: ${CLUSTER_NAME}-pod +          glusterfs-node: pod +      spec: +        nodeSelector: "${{NODE_LABELS}}" +        hostNetwork: true +        containers: +        - name: glusterfs +          image: ${IMAGE_NAME}:${IMAGE_VERSION} +          imagePullPolicy: IfNotPresent +          env: +          - name: GB_GLFS_LRU_COUNT +            value: "${GB_GLFS_LRU_COUNT}" +          - name: TCMU_LOGDIR +            value: "${TCMU_LOGDIR}" +          resources: +            requests: +              memory: 100Mi +              cpu: 100m +          volumeMounts: +          - name: glusterfs-heketi +            mountPath: "/var/lib/heketi" +          - name: glusterfs-run +            mountPath: "/run" +          - name: glusterfs-lvm +            mountPath: "/run/lvm" +          - name: glusterfs-etc +            mountPath: "/etc/glusterfs" +          - name: glusterfs-logs +            mountPath: "/var/log/glusterfs" +          - name: glusterfs-config +            mountPath: "/var/lib/glusterd" +          - name: glusterfs-dev +            mountPath: "/dev" +          - name: glusterfs-misc +            mountPath: "/var/lib/misc/glusterfsd" +          - name: glusterfs-cgroup +            mountPath: "/sys/fs/cgroup" +            readOnly: true +          - name: glusterfs-ssl +            mountPath: "/etc/ssl" +            readOnly: true +          securityContext: +            capabilities: {} +            privileged: true +          readinessProbe: +            timeoutSeconds: 3 +            initialDelaySeconds: 40 +            exec: +              command: +              - "/bin/bash" +              - "-c" +              - systemctl status glusterd.service +            periodSeconds: 25 +            successThreshold: 1 +            failureThreshold: 15 +          livenessProbe: +            timeoutSeconds: 3 +            initialDelaySeconds: 40 +            exec: +              command: +              - "/bin/bash" +              - "-c" +              - systemctl status glusterd.service +            periodSeconds: 25 +            successThreshold: 1 +            failureThreshold: 15 +          terminationMessagePath: "/dev/termination-log" +        volumes: +        - name: glusterfs-heketi +          hostPath: +            path: "/var/lib/heketi" +        - name: glusterfs-run +          emptyDir: {} +        - name: glusterfs-lvm +          hostPath: +            path: "/run/lvm" +        - name: glusterfs-etc +          hostPath: +            path: "/etc/glusterfs" +        - name: glusterfs-logs +          hostPath: +            path: "/var/log/glusterfs" +        - name: glusterfs-config +          hostPath: +            path: "/var/lib/glusterd" +        - name: glusterfs-dev +          hostPath: +            path: "/dev" +        - name: glusterfs-misc +          hostPath: +            path: "/var/lib/misc/glusterfsd" +        - name: glusterfs-cgroup +          hostPath: +            path: "/sys/fs/cgroup" +        - name: glusterfs-ssl +          hostPath: +            path: "/etc/ssl" +        restartPolicy: Always +        terminationGracePeriodSeconds: 30 +        dnsPolicy: ClusterFirst +        securityContext: {} +parameters: +- name: NODE_LABELS +  displayName: Daemonset Node Labels +  description: Labels which define the daemonset node selector. Must contain at least one label of the format \'glusterfs=<CLUSTER_NAME>-host\' +  value: '{ "glusterfs": "storage-host" }' +- name: IMAGE_NAME +  displayName: GlusterFS container image name +  required: True +- name: IMAGE_VERSION +  displayName: GlusterFS container image version +  required: True +- name: CLUSTER_NAME +  displayName: GlusterFS cluster name +  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances +  value: storage +- name: GB_GLFS_LRU_COUNT +  displayName: Maximum number of block hosting volumes +  description: This value is to set maximum number of block hosting volumes. +  value: "15" +  required: true +- name: TCMU_LOGDIR +  displayName: Tcmu runner log directory +  description: This value is to set tcmu runner log directory +  value: "/var/log/glusterfs/gluster-block" +  required: true diff --git a/roles/openshift_storage_glusterfs/files/v3.9/heketi-template.yml b/roles/openshift_storage_glusterfs/files/v3.9/heketi-template.yml new file mode 100644 index 000000000..28cdb2982 --- /dev/null +++ b/roles/openshift_storage_glusterfs/files/v3.9/heketi-template.yml @@ -0,0 +1,136 @@ +--- +kind: Template +apiVersion: v1 +metadata: +  name: heketi +  labels: +    glusterfs: heketi-template +  annotations: +    description: Heketi service deployment template +    tags: glusterfs,heketi +objects: +- kind: Service +  apiVersion: v1 +  metadata: +    name: heketi-${CLUSTER_NAME} +    labels: +      glusterfs: heketi-${CLUSTER_NAME}-service +      heketi: ${CLUSTER_NAME}-service +    annotations: +      description: Exposes Heketi service +  spec: +    ports: +    - name: heketi +      port: 8080 +      targetPort: 8080 +    selector: +      glusterfs: heketi-${CLUSTER_NAME}-pod +- kind: Route +  apiVersion: v1 +  metadata: +    name: ${HEKETI_ROUTE} +    labels: +      glusterfs: heketi-${CLUSTER_NAME}-route +      heketi: ${CLUSTER_NAME}-route +  spec: +    to: +      kind: Service +      name: heketi-${CLUSTER_NAME} +- kind: DeploymentConfig +  apiVersion: v1 +  metadata: +    name: heketi-${CLUSTER_NAME} +    labels: +      glusterfs: heketi-${CLUSTER_NAME}-dc +      heketi: ${CLUSTER_NAME}-dc +    annotations: +      description: Defines how to deploy Heketi +  spec: +    replicas: 1 +    selector: +      glusterfs: heketi-${CLUSTER_NAME}-pod +    triggers: +    - type: ConfigChange +    strategy: +      type: Recreate +    template: +      metadata: +        name: heketi-${CLUSTER_NAME} +        labels: +          glusterfs: heketi-${CLUSTER_NAME}-pod +          heketi: ${CLUSTER_NAME}-pod +      spec: +        serviceAccountName: heketi-${CLUSTER_NAME}-service-account +        containers: +        - name: heketi +          image: ${IMAGE_NAME}:${IMAGE_VERSION} +          imagePullPolicy: IfNotPresent +          env: +          - name: HEKETI_USER_KEY +            value: ${HEKETI_USER_KEY} +          - name: HEKETI_ADMIN_KEY +            value: ${HEKETI_ADMIN_KEY} +          - name: HEKETI_EXECUTOR +            value: ${HEKETI_EXECUTOR} +          - name: HEKETI_FSTAB +            value: ${HEKETI_FSTAB} +          - name: HEKETI_SNAPSHOT_LIMIT +            value: '14' +          - name: HEKETI_KUBE_GLUSTER_DAEMONSET +            value: '1' +          ports: +          - containerPort: 8080 +          volumeMounts: +          - name: db +            mountPath: /var/lib/heketi +          - name: config +            mountPath: /etc/heketi +          readinessProbe: +            timeoutSeconds: 3 +            initialDelaySeconds: 3 +            httpGet: +              path: /hello +              port: 8080 +          livenessProbe: +            timeoutSeconds: 3 +            initialDelaySeconds: 30 +            httpGet: +              path: /hello +              port: 8080 +        volumes: +        - name: db +          glusterfs: +            endpoints: heketi-db-${CLUSTER_NAME}-endpoints +            path: heketidbstorage +        - name: config +          secret: +            secretName: heketi-${CLUSTER_NAME}-config-secret +parameters: +- name: HEKETI_USER_KEY +  displayName: Heketi User Secret +  description: Set secret for those creating volumes as type _user_ +- name: HEKETI_ADMIN_KEY +  displayName: Heketi Administrator Secret +  description: Set secret for administration of the Heketi service as user _admin_ +- name: HEKETI_EXECUTOR +  displayName: heketi executor type +  description: Set the executor type, kubernetes or ssh +  value: kubernetes +- name: HEKETI_FSTAB +  displayName: heketi fstab path +  description: Set the fstab path, file that is populated with bricks that heketi creates +  value: /var/lib/heketi/fstab +- name: HEKETI_ROUTE +  displayName: heketi route name +  description: Set the hostname for the route URL +  value: "heketi-glusterfs" +- name: IMAGE_NAME +  displayName: heketi container image name +  required: True +- name: IMAGE_VERSION +  displayName: heketi container image version +  required: True +- name: CLUSTER_NAME +  displayName: GlusterFS cluster name +  description: A unique name to identify this heketi service, useful for running multiple heketi instances +  value: glusterfs | 
