@leverege/build-tools 2.25.2 → 2.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/helmdn +2 -2
- package/src/helmup +31 -41
- package/src/k8cryo +2 -0
- package/src/system-charts/cert-manager.hup +3 -3
- package/src/system-charts/grafana.hup +3 -5
- package/src/system-charts/prometheus-local.yaml +91 -80
- package/src/system-charts/prometheus.hup +2 -2
- package/src/system-charts/redis.hup +2 -2
- package/src/system-charts/stackdriver-exporter-local.yaml +8 -0
- package/src/system-charts/stackdriver-exporter.hup +14 -0
- package/src/system-charts/timescale-db.hup +2 -2
- package/src/system-charts/traefik-canary.hup +4 -5
- package/src/system-charts/traefik.hup +3 -4
- package/src/system-charts/velero.hup +8 -4
package/package.json
CHANGED
package/src/helmdn
CHANGED
|
@@ -87,8 +87,8 @@ GCP_PROJECT_ID=${ADDR[1]} # project id is the second string split by _
|
|
|
87
87
|
helm repo update &> /dev/null
|
|
88
88
|
|
|
89
89
|
function annihilateMonitoring() {
|
|
90
|
-
kubectl delete sa -n monitoring stackdriver-exporter
|
|
91
|
-
gcloud iam service-accounts delete stackdriver-exporter@${GCP_PROJECT_ID}.iam.gserviceaccount.com --quiet
|
|
90
|
+
# kubectl delete sa -n monitoring stackdriver-exporter
|
|
91
|
+
# gcloud iam service-accounts delete stackdriver-exporter@${GCP_PROJECT_ID}.iam.gserviceaccount.com --quiet
|
|
92
92
|
|
|
93
93
|
# kube-state-metrics?
|
|
94
94
|
helm uninstall -n monitoring grafana prometheus stackdriver-exporter elasticsearch-exporter
|
package/src/helmup
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
#
|
|
3
|
-
#printf "\n***** RUNNING LOCALLY *****\n" && sleep 2 && alias build-tools="build-tools.js"
|
|
3
|
+
# printf "\n***** RUNNING LOCALLY *****\n" && sleep 2 && alias build-tools="build-tools.js"
|
|
4
4
|
|
|
5
5
|
# Load the standard helper functions
|
|
6
6
|
. `build-tools --bashfun`
|
|
@@ -57,7 +57,7 @@ CATNAMI
|
|
|
57
57
|
addHelmRepo bitnami $BITNAMI_URL
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
function bindWorkloadIdentity(){
|
|
60
|
+
function bindWorkloadIdentity() {
|
|
61
61
|
SVC_ACCT=$1
|
|
62
62
|
NAMESPACE=$2
|
|
63
63
|
SVC_ACCT_EMAIL="${SVC_ACCT}@${GCP_PROJECT_ID}.iam.gserviceaccount.com"
|
|
@@ -93,12 +93,12 @@ WORKLOAD_ID
|
|
|
93
93
|
warnOnError $? "Failed to annotate service account $NAMESPACE/$SVC_ACCT - things may fail"
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
function generatePassword(){
|
|
96
|
+
function generatePassword() {
|
|
97
97
|
RANDOMPW=`openssl rand -base64 12`
|
|
98
98
|
echo $RANDOMPW
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
function createNamespaceIfNeeded(){
|
|
101
|
+
function createNamespaceIfNeeded() {
|
|
102
102
|
# Check the namespace exists in kubernetes
|
|
103
103
|
kubectl get namespace $1 &> /dev/null
|
|
104
104
|
if [[ $? -eq 1 ]];
|
|
@@ -116,7 +116,6 @@ function bootstrapLocalSetup() {
|
|
|
116
116
|
|
|
117
117
|
SYSTEM_CHART="$SYSTEM_FILES/$SERVICE-local.yaml"
|
|
118
118
|
[ ! -f "$SYSTEM_CHART" ] && errorExit "Missing $SERVICE chart => $(color y $SYSTEM_CHART)"
|
|
119
|
-
|
|
120
119
|
SYSTEM_HUP="$SYSTEM_FILES/$SERVICE.hup"
|
|
121
120
|
[ ! -f "$SYSTEM_HUP" ] && errorExit "Missing $SERVICE helmup script => $(color y $SYSTEM_HUP)"
|
|
122
121
|
|
|
@@ -146,8 +145,8 @@ function errorIfMissingSecret() {
|
|
|
146
145
|
fi
|
|
147
146
|
}
|
|
148
147
|
|
|
149
|
-
function
|
|
150
|
-
showInstalling "
|
|
148
|
+
function installStackdriverExporterEnvironment() {
|
|
149
|
+
showInstalling "Stackdriver Exporter Service Account Binding"
|
|
151
150
|
createNamespaceIfNeeded monitoring
|
|
152
151
|
|
|
153
152
|
# Add necessary helm repositories - note that stable is deprecated
|
|
@@ -155,9 +154,6 @@ function installMonitoringCharts(){
|
|
|
155
154
|
|
|
156
155
|
local SDEXP_SA='stackdriver-exporter'
|
|
157
156
|
|
|
158
|
-
# Uninstall the exporter if it is already on the cluster
|
|
159
|
-
helm uninstall -n monitoring $SDEXP_SA &>/dev/null
|
|
160
|
-
|
|
161
157
|
# NOTE: The k8s SA != GCP SA - the former is created by the helm chart
|
|
162
158
|
# that installs the stackdriver-exporter, the latter is handled here in
|
|
163
159
|
# order to provide the proper IAM permissions to the exporter.
|
|
@@ -174,36 +170,21 @@ function installMonitoringCharts(){
|
|
|
174
170
|
--role "roles/monitoring.viewer" \
|
|
175
171
|
--member "serviceAccount:$SDEXP_SA@$GCP_PROJECT_ID.iam.gserviceaccount.com" &>/dev/null
|
|
176
172
|
|
|
177
|
-
|
|
178
|
-
gcloud iam service-accounts add-iam-policy-binding \
|
|
179
|
-
--project "$GCP_PROJECT_ID" \
|
|
180
|
-
--role "roles/iam.workloadIdentityUser" \
|
|
181
|
-
--member "serviceAccount:$GCP_PROJECT_ID.svc.id.goog[monitoring/$SDEXP_SA]" \
|
|
182
|
-
"$SDEXP_SA@$GCP_PROJECT_ID.iam.gserviceaccount.com"
|
|
183
|
-
|
|
184
|
-
# The GCP SA is now up but slight delay before launch helm to let the IAM update occur
|
|
185
|
-
sleep 2
|
|
186
|
-
helm upgrade --install stackdriver-exporter \
|
|
187
|
-
prometheus-community/prometheus-stackdriver-exporter \
|
|
188
|
-
--namespace monitoring \
|
|
189
|
-
--values stackdriver-exporter/values.yaml \
|
|
190
|
-
--version 3
|
|
173
|
+
bindWorkloadIdentity $SDEXP_SA monitoring
|
|
191
174
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
if [[ $? -eq 1 ]];
|
|
195
|
-
then
|
|
196
|
-
printf "The $SDEXP_SA SA seems to be missing - did startup fail?\n"
|
|
197
|
-
else
|
|
198
|
-
# Annotate Kubernetes SA
|
|
199
|
-
printf "\n*** Annotating the stackdriver-exporter SA\n"
|
|
200
|
-
kubectl annotate serviceaccount $SDEXP_SA \
|
|
201
|
-
"iam.gke.io/gcp-service-account=$SDEXP_SA@$GCP_PROJECT_ID.iam.gserviceaccount.com" \
|
|
202
|
-
--namespace monitoring
|
|
203
|
-
fi
|
|
175
|
+
removeHelmRepo prometheus-community
|
|
176
|
+
}
|
|
204
177
|
|
|
205
|
-
|
|
206
|
-
|
|
178
|
+
function installMonitoringEnvironment() {
|
|
179
|
+
showInstalling "Monitoring Components"
|
|
180
|
+
createNamespaceIfNeeded monitoring
|
|
181
|
+
|
|
182
|
+
## Install Stackdriver Exporter
|
|
183
|
+
installStackdriverExporterEnvironment
|
|
184
|
+
bootstrapLocalSetup stackdriver-exporter set-values-local
|
|
185
|
+
|
|
186
|
+
# Add necessary helm repositories - note that stable is deprecated
|
|
187
|
+
addHelmRepo prometheus-community https://prometheus-community.github.io/helm-charts
|
|
207
188
|
|
|
208
189
|
## Installing ES exporter
|
|
209
190
|
helm upgrade --install elasticsearch-exporter prometheus-community/prometheus-elasticsearch-exporter \
|
|
@@ -218,6 +199,9 @@ es:
|
|
|
218
199
|
uri: http://elasticsearch-master.default.svc.cluster.local:9200
|
|
219
200
|
ELASTIC_EXPORTER_CHART_MOD
|
|
220
201
|
|
|
202
|
+
## Install Prometheus
|
|
203
|
+
bootstrapLocalSetup prometheus set-values-local
|
|
204
|
+
|
|
221
205
|
## Install Grafana
|
|
222
206
|
bootstrapLocalSetup grafana
|
|
223
207
|
|
|
@@ -225,7 +209,7 @@ ELASTIC_EXPORTER_CHART_MOD
|
|
|
225
209
|
removeHelmRepo prometheus-community
|
|
226
210
|
}
|
|
227
211
|
|
|
228
|
-
function monitoringHelp(){
|
|
212
|
+
function monitoringHelp() {
|
|
229
213
|
MONPASS=`kubectl get secret --namespace monitoring grafana -o jsonpath='{.data.admin-password}' | base64 --decode`
|
|
230
214
|
|
|
231
215
|
cat<<ACCESS
|
|
@@ -266,9 +250,10 @@ function getManagedSecret() {
|
|
|
266
250
|
function installPreemptibleKiller() {
|
|
267
251
|
showInstalling "Preemptible Node Killing Coordinator"
|
|
268
252
|
NAMESPACE="estafette"
|
|
253
|
+
createNamespaceIfNeeded $NAMESPACE
|
|
254
|
+
|
|
269
255
|
SVC_ACCT="preemptible-killer"
|
|
270
256
|
|
|
271
|
-
createNamespaceIfNeeded $NAMESPACE
|
|
272
257
|
addHelmRepo estafette https://helm.estafette.io
|
|
273
258
|
|
|
274
259
|
printf "\nCreating the gcloud $SVC_ACCT service account (SA)\n"
|
|
@@ -691,7 +676,7 @@ function doInstall() {
|
|
|
691
676
|
;;
|
|
692
677
|
|
|
693
678
|
"monitoring")
|
|
694
|
-
|
|
679
|
+
installMonitoringEnvironment
|
|
695
680
|
monitoringHelp
|
|
696
681
|
;;
|
|
697
682
|
|
|
@@ -718,6 +703,11 @@ function doInstall() {
|
|
|
718
703
|
removeHelmRepo stakater
|
|
719
704
|
;;
|
|
720
705
|
|
|
706
|
+
"stackdriver-exporter")
|
|
707
|
+
installStackdriverExporterEnvironment
|
|
708
|
+
bootstrapLocalSetup stackdriver-exporter set-values-local
|
|
709
|
+
;;
|
|
710
|
+
|
|
721
711
|
"timescale"|"timescale-db")
|
|
722
712
|
bootstrapLocalSetup timescale-db
|
|
723
713
|
;;
|
package/src/k8cryo
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
# cert-manager may be skipped for now?
|
|
4
4
|
#
|
|
5
5
|
skipInstalling cert-manager && exit 0
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
addHelmRepo jetstack https://charts.jetstack.io
|
|
8
|
-
[ -z "$
|
|
8
|
+
[ -z "$CERT_MANAGER_CHART_VERSION" ] && CERT_MANAGER_CHART_VERSION="v1.10"
|
|
9
9
|
helm upgrade --install cert-manager jetstack/cert-manager \
|
|
10
10
|
--namespace cert-manager --set installCRDs=true \
|
|
11
|
-
--version $
|
|
11
|
+
--version $CERT_MANAGER_CHART_VERSION
|
|
12
12
|
|
|
13
13
|
cat<<DELAY
|
|
14
14
|
|
|
@@ -2,14 +2,12 @@
|
|
|
2
2
|
#
|
|
3
3
|
showInstalling "Grafana"
|
|
4
4
|
|
|
5
|
-
createNamespaceIfNeeded monitoring
|
|
6
|
-
|
|
7
5
|
addHelmRepo grafana https://grafana.github.io/helm-charts
|
|
8
6
|
|
|
9
|
-
[ -z "$
|
|
7
|
+
[ -z "$GRAFANA_CHART_VERSION" ] && GRAFANA_CHART_VERSION="6"
|
|
10
8
|
helm upgrade --install grafana grafana/grafana \
|
|
11
|
-
--namespace monitoring \
|
|
9
|
+
--namespace monitoring --create-namespace \
|
|
12
10
|
--values grafana/grafana-local.yaml \
|
|
13
|
-
--version $
|
|
11
|
+
--version $GRAFANA_CHART_VERSION $HELM_WHAT
|
|
14
12
|
|
|
15
13
|
removeHelmRepo grafana
|
|
@@ -1,14 +1,51 @@
|
|
|
1
|
+
server:
|
|
2
|
+
global:
|
|
3
|
+
external_labels:
|
|
4
|
+
cluster: "OVH:<CLUSTER_NAME>"
|
|
5
|
+
affinity:
|
|
6
|
+
nodeAffinity:
|
|
7
|
+
requiredDuringSchedulingIgnoredDuringExecution:
|
|
8
|
+
nodeSelectorTerms:
|
|
9
|
+
- matchExpressions:
|
|
10
|
+
- key: target-env
|
|
11
|
+
operator: In
|
|
12
|
+
values:
|
|
13
|
+
- database
|
|
14
|
+
tolerations:
|
|
15
|
+
- key: "database"
|
|
16
|
+
operator: "Equal"
|
|
17
|
+
value: "true"
|
|
18
|
+
effect: "NoSchedule"
|
|
19
|
+
retention: "30d"
|
|
20
|
+
persistentVolume:
|
|
21
|
+
size: 50Gi
|
|
22
|
+
resources:
|
|
23
|
+
limits:
|
|
24
|
+
memory: 4Gi
|
|
25
|
+
requests:
|
|
26
|
+
memory: 2Gi
|
|
27
|
+
strategy:
|
|
28
|
+
type: Recreate
|
|
29
|
+
|
|
30
|
+
pushgateway:
|
|
31
|
+
enabled: false
|
|
32
|
+
|
|
33
|
+
# temp set to false if upgrade errors with something like:
|
|
34
|
+
# Error: UPGRADE FAILED: cannot patch "prometheus-kube-state-metrics" ... field is immutable
|
|
35
|
+
#
|
|
36
|
+
kubeStateMetrics:
|
|
37
|
+
enabled: true
|
|
38
|
+
|
|
1
39
|
alertmanager:
|
|
2
40
|
affinity:
|
|
3
|
-
nodeAffinity:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
- key:
|
|
41
|
+
nodeAffinity:
|
|
42
|
+
requiredDuringSchedulingIgnoredDuringExecution:
|
|
43
|
+
nodeSelectorTerms:
|
|
44
|
+
- matchExpressions:
|
|
45
|
+
- key: target-env
|
|
8
46
|
operator: In
|
|
9
47
|
values:
|
|
10
48
|
- database
|
|
11
|
-
weight: 100
|
|
12
49
|
tolerations:
|
|
13
50
|
- key: "database"
|
|
14
51
|
operator: "Equal"
|
|
@@ -51,6 +88,9 @@ alertmanagerFiles:
|
|
|
51
88
|
route:
|
|
52
89
|
group_wait: 10s
|
|
53
90
|
group_interval: 5m
|
|
91
|
+
group_by:
|
|
92
|
+
- alertname
|
|
93
|
+
- cluster
|
|
54
94
|
receiver: slack
|
|
55
95
|
routes:
|
|
56
96
|
- match:
|
|
@@ -301,38 +341,38 @@ serverFiles:
|
|
|
301
341
|
description: "{{ $labels.app }} is in a crash loop"
|
|
302
342
|
dashboard: "OVH:<MONITORING>/stackdriver"
|
|
303
343
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
344
|
+
# - name: MySQL
|
|
345
|
+
# rules:
|
|
346
|
+
# - alert: MysqlDown
|
|
347
|
+
# expr: mysql_up == 0
|
|
348
|
+
# for: 5m
|
|
349
|
+
# labels:
|
|
350
|
+
# severity: page
|
|
351
|
+
# priority: P3
|
|
352
|
+
# annotations:
|
|
353
|
+
# summary: "MySQL down (instance {{ $labels.instance }})"
|
|
354
|
+
# description: "MySQL pod is down. Look into manually restarting."
|
|
355
|
+
# dashboard: "OVH:<MONITORING>/mysql"
|
|
316
356
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
357
|
+
# - alert: MysqlSlowQueries
|
|
358
|
+
# expr: mysql_global_status_slow_queries > 0
|
|
359
|
+
# for: 5m
|
|
360
|
+
# labels:
|
|
361
|
+
# severity: warning
|
|
362
|
+
# annotations:
|
|
363
|
+
# summary: "MySQL slow queries detected"
|
|
364
|
+
# description: "MySQL server is detected {{ $value }} slow queries."
|
|
365
|
+
# dashboard: "OVH:<MONITORING>/mysql"
|
|
326
366
|
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
367
|
+
# - alert: MysqlRestarted
|
|
368
|
+
# expr: mysql_global_status_uptime < 60
|
|
369
|
+
# for: 5m
|
|
370
|
+
# labels:
|
|
371
|
+
# severity: warning
|
|
372
|
+
# annotations:
|
|
373
|
+
# summary: "MySQL restarted"
|
|
374
|
+
# description: "MySQL has just been restarted, less than one minute ago."
|
|
375
|
+
# dashboard: "OVH:<MONITORING>/mysql"
|
|
336
376
|
|
|
337
377
|
- name: Postgres
|
|
338
378
|
rules:
|
|
@@ -610,15 +650,15 @@ serverFiles:
|
|
|
610
650
|
summary: "Traefik config failed to reload"
|
|
611
651
|
description: "New config file for Traefik is invalid or Traefik encountered an error"
|
|
612
652
|
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
653
|
+
# - alert: TraefikHighHttp4xxError
|
|
654
|
+
# expr: sum(rate(traefik_service_requests_total{code=~"4.*"}[3m])) by (service) / sum(rate(traefik_service_requests_total[3m])) by (service) * 100 > 10
|
|
655
|
+
# for: 5m
|
|
656
|
+
# labels:
|
|
657
|
+
# severity: error
|
|
658
|
+
# annotations:
|
|
659
|
+
# summary: "Traefik high HTTP 4xx error rate on {{ $labels.service }}"
|
|
660
|
+
# description: "Traefik backend 4xx error rate is above 10% (currently at {{ $value }}%)"
|
|
661
|
+
# dashboard: "OVH:<MONITORING>/traefik"
|
|
622
662
|
|
|
623
663
|
- alert: TraefikHighHttp5xxError
|
|
624
664
|
expr: sum(rate(traefik_service_requests_total{code=~"5.*"}[5m])) by (service) / sum(rate(traefik_service_requests_total[5m])) by (service) * 100 > 5
|
|
@@ -754,39 +794,10 @@ serverFiles:
|
|
|
754
794
|
summary: "Velero has not made any backups yet"
|
|
755
795
|
description: "No backups have successfully been made since velero was initialized (or restarted), go check it out ASAP"
|
|
756
796
|
dashboard: "OVH:<MONITORING>/velero"
|
|
757
|
-
|
|
758
|
-
server:
|
|
759
|
-
affinity:
|
|
760
|
-
nodeAffinity:
|
|
761
|
-
preferredDuringSchedulingIgnoredDuringExecution:
|
|
762
|
-
- preference:
|
|
763
|
-
matchExpressions:
|
|
764
|
-
- key: cloud.google.com/gke-nodepool
|
|
765
|
-
operator: In
|
|
766
|
-
values:
|
|
767
|
-
- database
|
|
768
|
-
weight: 100
|
|
769
|
-
tolerations:
|
|
770
|
-
- key: "database"
|
|
771
|
-
operator: "Equal"
|
|
772
|
-
value: "true"
|
|
773
|
-
effect: "NoSchedule"
|
|
774
|
-
retention: "30d"
|
|
775
|
-
persistentVolume:
|
|
776
|
-
size: 50Gi
|
|
777
|
-
resources:
|
|
778
|
-
limits:
|
|
779
|
-
memory: 4Gi
|
|
780
|
-
requests:
|
|
781
|
-
memory: 2Gi
|
|
782
|
-
strategy:
|
|
783
|
-
type: Recreate
|
|
784
|
-
|
|
785
|
-
pushgateway:
|
|
786
|
-
enabled: false
|
|
787
|
-
|
|
788
|
-
# temp set to false if upgrade errors with something like:
|
|
789
|
-
# Error: UPGRADE FAILED: cannot patch "prometheus-kube-state-metrics" ... field is immutable
|
|
790
797
|
#
|
|
791
|
-
|
|
792
|
-
|
|
798
|
+
# Add local custom rules / alerts here
|
|
799
|
+
#
|
|
800
|
+
# - name: Custom Local Alerts
|
|
801
|
+
# rules:
|
|
802
|
+
# - alert: MyCustomAlertName
|
|
803
|
+
# expr: my_prom_ql_expression
|
|
@@ -6,10 +6,10 @@ createNamespaceIfNeeded monitoring
|
|
|
6
6
|
|
|
7
7
|
addHelmRepo prometheus-community https://prometheus-community.github.io/helm-charts
|
|
8
8
|
|
|
9
|
-
[ -z "$
|
|
9
|
+
[ -z "$PROMETHEUS_CHART_VERSION" ] && PROMETHEUS_CHART_VERSION="15"
|
|
10
10
|
helm upgrade --install prometheus prometheus-community/prometheus \
|
|
11
11
|
--namespace monitoring \
|
|
12
12
|
--values prometheus/values.yaml \
|
|
13
|
-
--version $
|
|
13
|
+
--version $PROMETHEUS_CHART_VERSION $HELM_WHAT
|
|
14
14
|
|
|
15
15
|
removeHelmRepo prometheus-community
|
|
@@ -4,9 +4,9 @@ showInstalling "Redis"
|
|
|
4
4
|
|
|
5
5
|
addBitnamiRepo latest
|
|
6
6
|
|
|
7
|
-
[ -z "$
|
|
7
|
+
[ -z "$REDIS_CHART_VERSION" ] && REDIS_CHART_VERSION="17" # latest chart 17 is redis v7
|
|
8
8
|
helm upgrade --install redis bitnami/redis \
|
|
9
9
|
--values redis/redis-local.yaml \
|
|
10
|
-
--version $
|
|
10
|
+
--version $REDIS_CHART_VERSION $HELM_WHAT
|
|
11
11
|
|
|
12
12
|
removeHelmRepo bitnami
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
stackdriver:
|
|
2
|
+
projectId: "OVH:<PROJECT_NAME>"
|
|
3
|
+
metrics:
|
|
4
|
+
typePrefixes: 'pubsub.googleapis.com/subscription/oldest_unacked_message_age,pubsub.googleapis.com/subscription/num_undelivered_messages,pubsub.googleapis.com/subscription/pull_ack_request_count,pubsub.googleapis.com/subscription/streaming_pull_ack_request_count,pubsub.googleapis.com/topic/message_sizes,pubsub.googleapis.com/topic/send_request_count,firebasedatabase.googleapis.com/io/database_load,firebasedatabase.googleapis.com/network/sent_bytes_count,firebasedatabase.googleapis.com/network/active_connections'
|
|
5
|
+
|
|
6
|
+
annotations:
|
|
7
|
+
prometheus.io/port: "9255"
|
|
8
|
+
prometheus.io/scrape: "true"
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
#
|
|
3
|
+
showInstalling "Stackdriver Exporter"
|
|
4
|
+
|
|
5
|
+
addHelmRepo prometheus-community https://prometheus-community.github.io/helm-charts
|
|
6
|
+
|
|
7
|
+
[ -z "$STACKDRIVER_EXPORTER_CHART_VERSION" ] && STACKDRIVER_EXPORTER_CHART_VERSION="4"
|
|
8
|
+
helm upgrade --install stackdriver-exporter \
|
|
9
|
+
prometheus-community/prometheus-stackdriver-exporter \
|
|
10
|
+
--namespace monitoring --create-namespace \
|
|
11
|
+
--values stackdriver-exporter/values.yaml \
|
|
12
|
+
--version $STACKDRIVER_EXPORTER_CHART_VERSION $HELM_WHAT
|
|
13
|
+
|
|
14
|
+
removeHelmRepo prometheus-community
|
|
@@ -4,7 +4,7 @@ showInstalling "Timescale Database (Leverege chart)"
|
|
|
4
4
|
|
|
5
5
|
errorIfMissingSecret postgresql-password
|
|
6
6
|
|
|
7
|
-
[ -z "$
|
|
7
|
+
[ -z "$TIMESCALE_DB_CHART_VERSION" ] && TIMESCALE_DB_CHART_VERSION="2"
|
|
8
8
|
helm upgrade --install timescale-db leverege/timescale-db \
|
|
9
9
|
--values timescale-db/timescale-db-local.yaml \
|
|
10
|
-
--version $
|
|
10
|
+
--version $TIMESCALE_DB_CHART_VERSION $HELM_WHAT
|
|
@@ -4,13 +4,12 @@ showInstalling "Traefik Canary Load Balancer / Router"
|
|
|
4
4
|
|
|
5
5
|
TRAEFIK_CANARY="traefik-canary"
|
|
6
6
|
|
|
7
|
-
createNamespaceIfNeeded $TRAEFIK_CANARY
|
|
8
|
-
|
|
9
7
|
addHelmRepo traefik https://helm.traefik.io/traefik
|
|
10
8
|
|
|
11
|
-
[ -z "$
|
|
12
|
-
helm upgrade --install $TRAEFIK_CANARY traefik/traefik
|
|
9
|
+
[ -z "$TRAEFIK_CHART_VERSION" ] && TRAEFIK_CHART_VERSION="16"
|
|
10
|
+
helm upgrade --install $TRAEFIK_CANARY traefik/traefik \
|
|
11
|
+
--namespace $TRAEFIK_CANARY --create-namespace \
|
|
13
12
|
--values $TRAEFIK_CANARY/traefik-canary-local.yaml \
|
|
14
|
-
--version $
|
|
13
|
+
--version $TRAEFIK_CHART_VERSION $HELM_WHAT
|
|
15
14
|
|
|
16
15
|
removeHelmRepo traefik
|
|
@@ -3,14 +3,13 @@
|
|
|
3
3
|
showInstalling "Traefik Load Balancer / Router"
|
|
4
4
|
|
|
5
5
|
TRAEFIK_NAMESPACE="traefik"
|
|
6
|
-
createNamespaceIfNeeded $TRAEFIK_NAMESPACE
|
|
7
6
|
|
|
8
7
|
addHelmRepo traefik https://helm.traefik.io/traefik
|
|
9
8
|
|
|
10
|
-
[ -z "$
|
|
9
|
+
[ -z "$TRAEFIK_CHART_VERSION" ] && TRAEFIK_CHART_VERSION="16"
|
|
11
10
|
helm upgrade --install traefik traefik/traefik \
|
|
12
|
-
--namespace $TRAEFIK_NAMESPACE \
|
|
11
|
+
--namespace $TRAEFIK_NAMESPACE --create-namespace \
|
|
13
12
|
--values traefik/traefik-local.yaml \
|
|
14
|
-
--version $
|
|
13
|
+
--version $TRAEFIK_CHART_VERSION $HELM_WHAT
|
|
15
14
|
|
|
16
15
|
removeHelmRepo traefik
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
+
#
|
|
3
|
+
showInstalling "Velero Backup System"
|
|
2
4
|
|
|
3
5
|
addHelmRepo vmware-tanzu https://vmware-tanzu.github.io/helm-charts
|
|
4
6
|
|
|
5
|
-
[ -z "$
|
|
7
|
+
[ -z "$VELERO_CHART_VERSION" ] && VELERO_CHART_VERSION="3"
|
|
6
8
|
#
|
|
7
9
|
# Build the bucket, region and SA email variables and use --set to mod the
|
|
8
10
|
# chart values as opposed to using an OVH:<label> approach. This eliminates
|
|
@@ -11,7 +13,7 @@ addHelmRepo vmware-tanzu https://vmware-tanzu.github.io/helm-charts
|
|
|
11
13
|
#
|
|
12
14
|
# Note: GCP_PROJECT_ID is passed down from helmup's environment.
|
|
13
15
|
#
|
|
14
|
-
GCE_BUCKET="$GCP_PROJECT_ID-velero-$
|
|
16
|
+
GCE_BUCKET="$GCP_PROJECT_ID-velero-$VELERO_CHART_VERSION"
|
|
15
17
|
GCE_REGION=`overwhelm -k GCE_REGION`
|
|
16
18
|
GCE_SA_EMAIL="velero@${GCP_PROJECT_ID}.iam.gserviceaccount.com"
|
|
17
19
|
|
|
@@ -21,9 +23,10 @@ GCE_SA_EMAIL="velero@${GCP_PROJECT_ID}.iam.gserviceaccount.com"
|
|
|
21
23
|
velero schedule delete --all --confirm &> /dev/null
|
|
22
24
|
|
|
23
25
|
helm upgrade \
|
|
24
|
-
--install velero vmware-tanzu/velero
|
|
26
|
+
--install velero vmware-tanzu/velero \
|
|
27
|
+
--namespace velero --create-namespace \
|
|
25
28
|
--values velero/velero-local.yaml \
|
|
26
|
-
--version $
|
|
29
|
+
--version $VELERO_CHART_VERSION $HELM_WHAT \
|
|
27
30
|
--set configuration.backupStorageLocation.bucket="$GCE_BUCKET" \
|
|
28
31
|
--set configuration.backupStorageLocation.config.serviceAccount="$GCE_SA_EMAIL" \
|
|
29
32
|
--set configuration.volumeSnapshotLocation.config.snapshotLocation="$GCE_REGION"
|
|
@@ -35,6 +38,7 @@ cat<<DONE_VELERO
|
|
|
35
38
|
|
|
36
39
|
Wait at least 1 minute before kicking off the following backups:
|
|
37
40
|
|
|
41
|
+
`color g 'velero backup create --from-schedule velero-full'`
|
|
38
42
|
`color g 'velero backup create --from-schedule velero-psql'`
|
|
39
43
|
`color g 'velero backup create --from-schedule velero-tsdb'`
|
|
40
44
|
|