summaryrefslogtreecommitdiffstats
path: root/roles/openshift_storage_glusterfs/files/v3.6/deploy-heketi-template.yml
blob: 7b705c2d4e76a138cbdfdd2a90220ca30d09a281 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
---
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: /var/lib/heketi/fstab
          - name: HEKETI_SNAPSHOT_LIMIT
            value: '14'
          - name: HEKETI_KUBE_GLUSTER_DAEMONSET
            value: '1'
          - name: HEKETI_KUBE_NAMESPACE
            value: ${HEKETI_KUBE_NAMESPACE}
          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_KUBE_NAMESPACE
  displayName: Namespace
  description: Set the namespace where the GlusterFS pods reside
  value: default
- 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