@leverege/build-tools 2.14.2 → 2.16.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.
@@ -342,6 +342,12 @@ glob.sync('**/*.ovh').forEach(cfgmap => {
342
342
  }); // Set the GCP context for safety!
343
343
 
344
344
  const clusterName = over.CLUSTER_NAME;
345
+
346
+ if (over.PROJECT_NAME === 'minikube') {
347
+ process.exit(0);
348
+ }
349
+
350
+ console.log(over, `XXXXX=>[${clusterName}]`);
345
351
  const projectId = over.PROJECT_ID;
346
352
  let zone = over['GCE_REGION'] + (over['GCE_ZONE'] ? `-${over['GCE_ZONE']}` : '');
347
353
 
Binary file
@@ -342,6 +342,12 @@ glob.sync('**/*.ovh').forEach(cfgmap => {
342
342
  }); // Set the GCP context for safety!
343
343
 
344
344
  const clusterName = over.CLUSTER_NAME;
345
+
346
+ if (over.PROJECT_NAME === 'minikube') {
347
+ process.exit(0);
348
+ }
349
+
350
+ console.log(over, `XXXXX=>[${clusterName}]`);
345
351
  const projectId = over.PROJECT_ID;
346
352
  let zone = over['GCE_REGION'] + (over['GCE_ZONE'] ? `-${over['GCE_ZONE']}` : '');
347
353
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leverege/build-tools",
3
- "version": "2.14.2",
3
+ "version": "2.16.0",
4
4
  "description": "A collection of build / support tools for Leverege developers",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -68,14 +68,14 @@
68
68
  "parse-gitignore": "^1.0.1",
69
69
  "readline-sync": "^1.4.10",
70
70
  "semver": "^7.3.7",
71
- "simple-git": "^3.7.1"
71
+ "simple-git": "^3.10.0"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@babel/cli": "^7.17.10",
75
- "@babel/core": "^7.18.2",
76
- "@babel/node": "^7.17.10",
75
+ "@babel/core": "^7.18.5",
76
+ "@babel/node": "^7.18.5",
77
77
  "@leverege/babel-preset-leverege-node": "^2.0.0",
78
78
  "@leverege/eslint-config-leverege": "^3.0.1",
79
- "npm": "^8.12.1"
79
+ "npm": "^8.13.1"
80
80
  }
81
81
  }
package/src/dockreate CHANGED
@@ -44,6 +44,7 @@ pluginFile="Dockerfile.plugin"
44
44
 
45
45
  # cleanup trapper for gracefully killing, which doesn't do much right now
46
46
  cleanup() {
47
+ [ ! -z "$DOCKER_SKIP_CLEANUP" ] && printf "\nSkipping clean up\n\n" && exit 1
47
48
  printf "\nCleaning up and exiting...\n\n"
48
49
  rm -rf ./workspace $SSHDIR .npmrc
49
50
  exit 0
package/src/helmdn CHANGED
@@ -52,6 +52,7 @@ PLATFORM=(
52
52
  scheduler
53
53
  transponder-bq
54
54
  transponder-postgres
55
+ transponder-tsdb
55
56
  transponder-rt
56
57
  )
57
58
 
package/src/helmup CHANGED
@@ -25,6 +25,7 @@ PLATFORM=(
25
25
  transponder-bq
26
26
  transponder-rt
27
27
  transponder-postgres
28
+ transponder-tsdb
28
29
  )
29
30
 
30
31
  SYSTEM=(
@@ -43,7 +44,7 @@ SYSTEM=(
43
44
 
44
45
  # support for legacy bitnami charts
45
46
  function addBitnamiRepo() {
46
- if [ ! -z "$BITNAMI_LATEST" ];
47
+ if [ ! -z "$BITNAMI_LATEST" ] || [ "$1" == "latest" ];
47
48
  then
48
49
  BITNAMI_URL="https://charts.bitnami.com/bitnami"
49
50
  else
@@ -148,8 +149,71 @@ function installPrometheus() {
148
149
  # removeHelmRepo prometheus-community
149
150
  }
150
151
 
152
+ function installRedis() {
153
+ showInstalling "Redis Network Cache"
154
+ addBitnamiRepo latest
155
+ [ -z "$REDIS_HELM_CHART" ] && REDIS_HELM_CHART="16" # latest breaks us => "v14+"
156
+ helm upgrade --install redis bitnami/redis \
157
+ --version $REDIS_HELM_CHART \
158
+ -f - <<REDIS_CHART_MODS
159
+ auth:
160
+ enabled: false
161
+
162
+ global:
163
+ storageClass: ssd
164
+
165
+ metrics:
166
+ enabled: true
167
+
168
+ networkPolicy:
169
+ enabled: true
170
+
171
+ master:
172
+ persistence:
173
+ size: 8Gi # 8Gi is default
174
+
175
+ tolerations:
176
+ - key: "database"
177
+ operator: "Equal"
178
+ value: "true"
179
+ effect: "NoSchedule"
180
+
181
+ affinity:
182
+ nodeAffinity:
183
+ requiredDuringSchedulingIgnoredDuringExecution:
184
+ nodeSelectorTerms:
185
+ - matchExpressions:
186
+ - key: target-env
187
+ operator: In
188
+ values:
189
+ - database
190
+
191
+ replica:
192
+ persistence:
193
+ size: 8Gi # 8Gi is default
194
+
195
+ tolerations:
196
+ - key: "database"
197
+ operator: "Equal"
198
+ value: "true"
199
+ effect: "NoSchedule"
200
+
201
+ affinity:
202
+ nodeAffinity:
203
+ requiredDuringSchedulingIgnoredDuringExecution:
204
+ nodeSelectorTerms:
205
+ - matchExpressions:
206
+ - key: target-env
207
+ operator: In
208
+ values:
209
+ - database
210
+ REDIS_CHART_MODS
211
+ printf "\n\nTo start a specific version => `color g 'REDIS_HELM_CHART="13.0.1" helmup redis'`\n\n"
212
+ removeHelmRepo bitnami
213
+ }
214
+
151
215
  function installMonitoringCharts(){
152
- showInstalling "Grafana Monitoring"
216
+ showInstalling "Monitoring Components"
153
217
  createNamespaceIfNeeded monitoring
154
218
 
155
219
  # Add necessary helm repositories - note that stable is deprecated
@@ -160,8 +224,8 @@ function installMonitoringCharts(){
160
224
 
161
225
  IFS='_'
162
226
  read -ra ADDR <<< "$currContext"
163
-
164
227
  KUBERNETES_ENV=${ADDR[0]} # should be either gke or eks
228
+ GCP_PROJECT_ID=${ADDR[1]} # project id is the second string split by _
165
229
 
166
230
  ## Installing stackdriver exporter in GKE
167
231
  if [[ "$KUBERNETES_ENV" = "gke" ]];
@@ -173,28 +237,16 @@ function installMonitoringCharts(){
173
237
 
174
238
  The stackdriver-exporter SA already exists which means installing the
175
239
  helm chart is going to fail because it wants to manage that aspect of the
176
- system.
240
+ system. This most likely because the stackdriver exporter is already
241
+ installed and running. Run the following helm command to uninstall first:
242
+
243
+ `color y "overwhelm && helm uninstall -n monitoring stackdriver-exporter"`
177
244
 
178
245
  SA_EXISTS
179
- kubectl get sa -n monitoring stackdriver-exporter
180
- exitOnError 1 "Must remove the SA in order to proceed - `color r DANGER`"
246
+ exitOnError 1 "uninstall the existing deployment in order to proceed"
181
247
  fi
182
248
 
183
- GCP_PROJECT_ID=${ADDR[1]} # project id is the second string split by _
184
249
  SDEXP_SA='stackdriver-exporter'
185
- helm upgrade --install stackdriver-exporter \
186
- prometheus-community/prometheus-stackdriver-exporter \
187
- --namespace monitoring \
188
- --values stackdriver-exporter/values.yaml \
189
- --version 1.12.0
190
-
191
- # Verify the Kubernetes SA
192
- kubectl get sa -n monitoring $SDEXP_SA
193
- if [[ $? -eq 1 ]];
194
- then
195
- printf "The $SDEXP_SA SA seems to be missing, which is weird - creating it now\n"
196
- kubectl create sa -n monitoring stackdriver-exporter
197
- fi
198
250
 
199
251
  # NOTE: The k8s SA != GCP SA - the former is created by the helm chart
200
252
  # that installs the stackdriver-exporter, the latter is handled here in
@@ -203,7 +255,8 @@ SA_EXISTS
203
255
  # Create GCP SA and bind policies
204
256
  printf "\n*** Creating GCP SA with monitoring/viewer ***\n"
205
257
  gcloud iam service-accounts create $SDEXP_SA \
206
- --project "$GCP_PROJECT_ID"
258
+ --project "$GCP_PROJECT_ID" \
259
+ --display-name "Prometheus Stackdriver Exporter"
207
260
  warnOnError $? "the GCP SA $SDEXP_SA may already exist"
208
261
 
209
262
  printf "\n*** Binding IAM role of monitoring viewer to stackdriver-exporter in $GCP_PROJECT_ID\n"
@@ -218,11 +271,26 @@ SA_EXISTS
218
271
  --member "serviceAccount:$GCP_PROJECT_ID.svc.id.goog[monitoring/$SDEXP_SA]" \
219
272
  "$SDEXP_SA@$GCP_PROJECT_ID.iam.gserviceaccount.com"
220
273
 
221
- # Annotate Kubernetes SA
222
- printf "\n*** Annotating the stackdriver-exporter SA\n"
223
- kubectl annotate serviceaccount $SDEXP_SA \
224
- "iam.gke.io/gcp-service-account=$SDEXP_SA@$GCP_PROJECT_ID.iam.gserviceaccount.com" \
225
- --namespace monitoring
274
+ # The GCP SA is now up but slight delay before launch helm to let the IAM update occur
275
+ sleep 2
276
+ helm upgrade --install stackdriver-exporter \
277
+ prometheus-community/prometheus-stackdriver-exporter \
278
+ --namespace monitoring \
279
+ --values stackdriver-exporter/values.yaml \
280
+ --version 3
281
+
282
+ # Verify the Kubernetes SA
283
+ kubectl get sa -n monitoring $SDEXP_SA
284
+ if [[ $? -eq 1 ]];
285
+ then
286
+ printf "The $SDEXP_SA SA seems to be missing - did startup fail?\n"
287
+ else
288
+ # Annotate Kubernetes SA
289
+ printf "\n*** Annotating the stackdriver-exporter SA\n"
290
+ kubectl annotate serviceaccount $SDEXP_SA \
291
+ "iam.gke.io/gcp-service-account=$SDEXP_SA@$GCP_PROJECT_ID.iam.gserviceaccount.com" \
292
+ --namespace monitoring
293
+ fi
226
294
  fi
227
295
 
228
296
  ## Install Prometheus
@@ -232,14 +300,14 @@ SA_EXISTS
232
300
  helm upgrade --install elasticsearch-exporter prometheus-community/prometheus-elasticsearch-exporter \
233
301
  --namespace monitoring \
234
302
  --values elasticsearch-exporter/values-es-exporter.yaml \
235
- --version 4.11
303
+ --version 4.13
236
304
 
237
305
  ## Install Grafana
238
306
  addHelmRepo grafana https://grafana.github.io/helm-charts
239
307
  helm upgrade --install grafana grafana/grafana \
240
308
  --namespace monitoring \
241
309
  --values grafana/values-grafana.yaml \
242
- --version 6.26.5 # latest v8 grafana
310
+ --version 6 # latest v8 grafana
243
311
 
244
312
  ## Clean up
245
313
  removeHelmRepo prometheus-community
@@ -321,7 +389,8 @@ function installPreemptibleKiller() {
321
389
  printf "\nCreating the gcloud $SVC_ACCT service account (SA)\n"
322
390
  gcloud iam service-accounts create $SVC_ACCT \
323
391
  --project $PROJECT_ID \
324
- --display-name "Estafette Node Killer"
392
+ --description "Estafette Node Killer SA" \
393
+ --display-name "Estafette Node Killer SA"
325
394
  warnOnError $? "SA creation may have failed or it already exists"
326
395
 
327
396
  printf "\nCreate the $SVC_ACCT IAM role\n"
@@ -456,7 +525,7 @@ NEED_MANAGED_SECRET
456
525
  addHelmRepo jetstack https://charts.jetstack.io
457
526
  helm upgrade --install cert-manager jetstack/cert-manager \
458
527
  --namespace cert-manager --set installCRDs=true \
459
- --version v1.7.0
528
+ --version v1.8
460
529
 
461
530
  cat<<DELAY
462
531
 
@@ -531,10 +600,12 @@ TRAEFIK_CFG
531
600
 
532
601
  addHelmRepo traefik https://helm.traefik.io/traefik
533
602
 
603
+ [ -z "$TRAEFIK_HELM_CHART" ] && TRAEFIK_HELM_CHART="10"
534
604
  helm upgrade --install traefik traefik/traefik \
535
605
  --namespace traefik \
536
- --values $TRAEFIK_HA_YAML
537
-
606
+ --version $TRAEFIK_HELM_CHART \
607
+ --values $TRAEFIK_HA_YAML
608
+
538
609
  removeHelmRepo traefik
539
610
  }
540
611
 
@@ -644,6 +715,7 @@ function installVelero() {
644
715
  ## Helpful debugging link => https://github.com/vmware-tanzu/helm-charts/issues/351
645
716
  addHelmRepo vmware-tanzu https://vmware-tanzu.github.io/helm-charts
646
717
  helm upgrade --install velero vmware-tanzu/velero \
718
+ --version 2.29 \
647
719
  --namespace velero \
648
720
  --set credentials.useSecret="false" \
649
721
  --set configuration.provider="gcp" \
@@ -798,6 +870,7 @@ function doInstall() {
798
870
  checkSSDStorageClass
799
871
  addHelmRepo elastic https://helm.elastic.co
800
872
  helm upgrade --install elasticsearch elastic/elasticsearch \
873
+ --version 7 \
801
874
  --values $LOCAL_ES_VALUES \
802
875
  --set volumeClaimTemplate.storageClassName="ssd"
803
876
  removeHelmRepo elastic
@@ -828,14 +901,7 @@ function doInstall() {
828
901
  ;;
829
902
 
830
903
  "redis")
831
- showInstalling "Redis Network Cache"
832
- addBitnamiRepo
833
- [ -z "$REDIS_HELM_CHART" ] && REDIS_HELM_CHART="13.0.1" # latest breaks us => "v14+"
834
- helm upgrade --install redis bitnami/redis \
835
- -f redis/redis-values.yaml \
836
- --version $REDIS_HELM_CHART
837
- printf "\n\nTo start a specific version => `color g 'REDIS_HELM_CHART="13.0.1" helmup redis'`\n\n"
838
- removeHelmRepo bitnami
904
+ installRedis
839
905
  ;;
840
906
 
841
907
  "reloader")
package/src/overwhelm.js CHANGED
@@ -286,6 +286,10 @@ glob.sync( '**/*.ovh' ).forEach( ( cfgmap ) => {
286
286
 
287
287
  // Set the GCP context for safety!
288
288
  const clusterName = over.CLUSTER_NAME
289
+ if ( over.PROJECT_NAME === 'minikube' ) {
290
+ process.exit(0)
291
+ }
292
+ console.log( over, `XXXXX=>[${clusterName}]` )
289
293
  const projectId = over.PROJECT_ID
290
294
  let zone = over['GCE_REGION'] + ( over['GCE_ZONE'] ? `-${over['GCE_ZONE']}` : '' )
291
295