summaryrefslogtreecommitdiffstats
path: root/roles/openshift_hosted_templates/files/v1.5/origin/metrics-deployer.yaml
blob: d191c0439647eb44a482d93c97079b2d5c9b0370 (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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
#!/bin/bash
#
# Copyright 2014-2015 Red Hat, Inc. and/or its affiliates
# and other contributors as indicated by the @author tags.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

apiVersion: "v1"
kind: "Template"
metadata:
  name: metrics-deployer-template
  annotations:
    description: "Template for deploying the required Metrics integration. Requires cluster-admin 'metrics-deployer' service account and 'metrics-deployer' secret."
    tags: "infrastructure"
labels:
  metrics-infra: deployer
  provider: openshift
  component: deployer
objects:
-
  apiVersion: v1
  kind: Pod
  metadata:
    generateName: metrics-deployer-
  spec:
    securityContext: {}
    containers:
    - image: ${IMAGE_PREFIX}metrics-deployer:${IMAGE_VERSION}
      name: deployer
      securityContext: {}
      volumeMounts:
      - name: secret
        mountPath: /secret
        readOnly: true
      - name: empty
        mountPath: /etc/deploy
      env:
        - name: PROJECT
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: IMAGE_PREFIX
          value: ${IMAGE_PREFIX}
        - name: IMAGE_VERSION
          value: ${IMAGE_VERSION}
        - name: MASTER_URL
          value: ${MASTER_URL}
        - name: MODE
          value: ${MODE}
        - name: CONTINUE_ON_ERROR
          value: ${CONTINUE_ON_ERROR}
        - name: REDEPLOY
          value: ${REDEPLOY}
        - name: IGNORE_PREFLIGHT
          value: ${IGNORE_PREFLIGHT}
        - name: USE_PERSISTENT_STORAGE
          value: ${USE_PERSISTENT_STORAGE}
        - name: DYNAMICALLY_PROVISION_STORAGE
          value: ${DYNAMICALLY_PROVISION_STORAGE}
        - name: HAWKULAR_METRICS_HOSTNAME
          value: ${HAWKULAR_METRICS_HOSTNAME}
        - name: CASSANDRA_NODES
          value: ${CASSANDRA_NODES}
        - name: CASSANDRA_PV_SIZE
          value: ${CASSANDRA_PV_SIZE}
        - name: METRIC_DURATION
          value: ${METRIC_DURATION}
        - name: USER_WRITE_ACCESS
          value: ${USER_WRITE_ACCESS}
        - name: HEAPSTER_NODE_ID
          value: ${HEAPSTER_NODE_ID}
        - name: METRIC_RESOLUTION
          value: ${METRIC_RESOLUTION}
        - name: STARTUP_TIMEOUT
          value: ${STARTUP_TIMEOUT}
    dnsPolicy: ClusterFirst
    restartPolicy: Never
    serviceAccount: metrics-deployer
    volumes:
    - name: empty
      emptyDir: {}
    - name: secret
      secret:
        secretName: metrics-deployer
parameters:
-
  description: 'Specify prefix for metrics components; e.g. for "openshift/origin-metrics-deployer:latest", set prefix "openshift/origin-"'
  name: IMAGE_PREFIX
  value: "openshift/origin-"
-
  description: 'Specify version for metrics components; e.g. for "openshift/origin-metrics-deployer:latest", set version "latest"'
  name: IMAGE_VERSION
  value: "latest"
-
  description: "Internal URL for the master, for authentication retrieval"
  name: MASTER_URL
  value: "https://kubernetes.default.svc:443"
-
  description: "External hostname where clients will reach Hawkular Metrics"
  name: HAWKULAR_METRICS_HOSTNAME
  required: true
-
  description: "Can be set to: 'preflight' to perform validation before a deployment; 'deploy' to perform an initial deployment; 'refresh' to delete and redeploy all components but to keep persisted data and routes; 'redeploy' to delete and redeploy everything (losing all data in the process); 'validate' to re-run validations after a deployment"
  name: MODE
  value: "deploy"
- 
  description: "Set to true to continue even if the deployer runs into an error."
  name: CONTINUE_ON_ERROR
  value: "false"
-
  description: "(Deprecated) Turns 'deploy' mode into 'redeploy' mode, deleting and redeploying everything (losing all data in the process)"
  name: REDEPLOY
  value: "false"
-
  description: "If preflight validation is blocking deployment and you're sure you don't care about it, this will ignore the results and proceed to deploy."
  name: IGNORE_PREFLIGHT
  value: "false"
-
  description: "Set to true for persistent storage, set to false to use non persistent storage"
  name: USE_PERSISTENT_STORAGE
  value: "true"
-
  description: "Set to true to dynamically provision storage, set to false to use use pre-created persistent volumes"
  name: DYNAMICALLY_PROVISION_STORAGE
  value: "false"
-
  description: "The number of Cassandra Nodes to deploy for the initial cluster"
  name: CASSANDRA_NODES
  value: "1"
-
  description: "The persistent volume size for each of the Cassandra nodes"
  name: CASSANDRA_PV_SIZE
  value: "10Gi"
-
  description: "How many days metrics should be stored for."
  name: METRIC_DURATION
  value: "7"
-
  description: "If a user accounts should be allowed to write metrics."
  name: USER_WRITE_ACCESS
  value: "false"
-
  description: "The identifier used when generating metric ids in Hawkular"
  name: HEAPSTER_NODE_ID
  value: "nodename"
-
  description: "How often metrics should be gathered. Defaults value of '30s' for 30 seconds"
  name: METRIC_RESOLUTION
  value: "30s"
-
  description: "How long in seconds we should wait until Hawkular Metrics and Heapster starts up before attempting a restart"
  name: STARTUP_TIMEOUT
  value: "500"