summaryrefslogtreecommitdiffstats
path: root/roles/openshift_storage_glusterfs/files/v3.6/deploy-heketi-template.yml
blob: c9945be132aba925f3de1b08ff290e87c9e528e3 (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
---
kind: Template
apiVersion: v1
metadata:
  name: deploy-heketi
  labels:
    glusterfs: heketi-template
    deploy-heketi: support
  annotations:
    description: Bootstrap Heketi installation
    tags: glusterfs,heketi,installation
labels:
  template: deploy-heketi
objects:
- kind: Service
  apiVersion: v1
  metadata:
    name: deploy-heketi
    labels:
      glusterfs: deploy-heketi-service
      deploy-heketi: support
    annotations:
      description: Exposes Heketi service
  spec:
    ports:
    - name: deploy-heketi
      port: 8080
      targetPort: 8080
    selector:
      name: deploy-heketi
- kind: Route
  apiVersion: v1
  metadata:
    name: deploy-heketi
    labels:
      glusterfs: deploy-heketi-route
      deploy-heketi: support
  spec:
    to:
      kind: Service
      name: deploy-heketi
- kind: DeploymentConfig
  apiVersion: v1
  metadata:
    name: deploy-heketi
    labels:
      glusterfs: deploy-heketi-dc
      deploy-heketi: support
    annotations:
      description: Defines how to deploy Heketi
  spec:
    replicas: 1
    selector:
      name: deploy-heketi
    triggers:
    - type: ConfigChange
    strategy:
      type: Recreate
    template:
      metadata:
        name: deploy-heketi
        labels:
          name: deploy-heketi
          glusterfs: deploy-heketi-pod
          deploy-heketi: support
      spec:
        serviceAccountName: heketi-service-account
        containers:
        - name: deploy-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: kubernetes
          - name: HEKETI_FSTAB
            value: /var/lib/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
          readinessProbe:
            timeoutSeconds: 3
            initialDelaySeconds: 3
            httpGet:
              path: /hello
              port: 8080
          livenessProbe:
            timeoutSeconds: 3
            initialDelaySeconds: 30
            httpGet:
              path: /hello
              port: 8080
        volumes:
        - name: db
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: IMAGE_NAME
  displayName: GlusterFS container name
  required: True
- name: IMAGE_VERSION
  displayName: GlusterFS container versiona
  required: True