@leverege/build-tools 2.22.0 → 2.22.1

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leverege/build-tools",
3
- "version": "2.22.0",
3
+ "version": "2.22.1",
4
4
  "description": "A collection of build / support tools for Leverege developers",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -67,8 +67,8 @@
67
67
  "zx": "^7.1.1"
68
68
  },
69
69
  "devDependencies": {
70
- "@babel/cli": "^7.19.3",
71
- "@babel/core": "^7.20.5",
70
+ "@babel/cli": "^7.20.7",
71
+ "@babel/core": "^7.20.12",
72
72
  "@leverege/babel-preset-leverege-node": "^2.0.0",
73
73
  "@leverege/eslint-config-leverege": "^3.0.1",
74
74
  "npm": "^9.2.0"
package/src/bash-funcs CHANGED
@@ -102,7 +102,7 @@ function addHelmRepo() {
102
102
  Adding helm repo => $(color g "$chart") from $(color g "$url")
103
103
 
104
104
  REPOADD
105
- helm repo add $chart $url &> /dev/null
105
+ helm repo add --force-update $chart $url &> /dev/null
106
106
  helm repo update &> /dev/null
107
107
  }
108
108
 
package/src/helmup CHANGED
@@ -518,8 +518,8 @@ HINTS
518
518
  removeHelmRepo jetstack
519
519
  }
520
520
 
521
- function installTraefik() {
522
- showInstalling "Traefik Load Balancer / Router"
521
+ function installTraefikEnvironment() {
522
+ showInstalling "Traefik Namespace and Cloudflare Secret"
523
523
  createNamespaceIfNeeded traefik
524
524
 
525
525
  kubectl get secret cloudflare --namespace traefik &>/dev/null
@@ -542,39 +542,6 @@ NEED_TRAEFIK_SECRET
542
542
  --namespace traefik \
543
543
  --from-literal=dns-token=$TOKEN
544
544
  fi
545
-
546
- TRAEFIK_DIR="traefik"
547
- [ ! -d "$TRAEFIK_DIR" ] && mkdir $TRAEFIK_DIR
548
- TRAEFIK_HA_YAML="$TRAEFIK_DIR/traefik-ha-values.yaml"
549
- if [ ! -f "$TRAEFIK_HA_YAML" ];
550
- then
551
- touch "$TRAEFIK_DIR/.nohelm"
552
- cat<<TRAEFIK_CFG>>"$TRAEFIK_HA_YAML"
553
- additionalArguments:
554
- - "--accesslog=true"
555
- - "--accesslog.format=json"
556
- - "--log.level=WARN"
557
- - "--metrics.prometheus=true"
558
- - "--api.dashboard=true"
559
-
560
- deployment:
561
- replicas: 3
562
-
563
- #service:
564
- # spec:
565
- # loadBalancerIP: xx.xx.xx.xx
566
- TRAEFIK_CFG
567
- fi
568
-
569
- addHelmRepo traefik https://helm.traefik.io/traefik
570
-
571
- [ -z "$TRAEFIK_HELM_CHART" ] && TRAEFIK_HELM_CHART="16"
572
- helm upgrade --install traefik traefik/traefik \
573
- --namespace traefik \
574
- --version $TRAEFIK_HELM_CHART \
575
- --values $TRAEFIK_HA_YAML
576
-
577
- removeHelmRepo traefik
578
545
  }
579
546
 
580
547
  function installVelero() {
@@ -593,8 +560,9 @@ function installVelero() {
593
560
 
594
561
  ## Create a bucket
595
562
  BUCKET="$PROJECT_ID-velero"
596
- printf "\nCreating storage bucket...\n"
597
- gsutil mb gs://$BUCKET/ &> /dev/null
563
+ GCE_REGION=`overwhelm -k GCE_REGION`
564
+ printf "\nCreating storage bucket in $GCE_REGION...\n"
565
+ gsutil mb -l $GCE_REGION gs://$BUCKET/ &> /dev/null
598
566
  warnOnError $? "Bucket failed to create or already exists - go check it\n"
599
567
 
600
568
  ## Create a service account
@@ -682,7 +650,7 @@ function installVelero() {
682
650
  ## Install velero chart => https://github.com/vmware-tanzu/helm-charts/blob/main/charts/velero/values.yaml
683
651
  ## Helpful debugging link => https://github.com/vmware-tanzu/helm-charts/issues/351
684
652
  addHelmRepo vmware-tanzu https://vmware-tanzu.github.io/helm-charts
685
- [ -z "$VELERO_HELM_CHART" ] && VELERO_HELM_CHART="2"
653
+ [ -z "$VELERO_HELM_CHART" ] && VELERO_HELM_CHART="3"
686
654
  helm upgrade --install velero vmware-tanzu/velero \
687
655
  --version $VELERO_HELM_CHART \
688
656
  --namespace velero \
@@ -696,7 +664,7 @@ function installVelero() {
696
664
  --set snapshotsEnabled="true" \
697
665
  --set configuration.volumeSnapshotLocation.name=default \
698
666
  --set "initContainers[0].name"="velero-plugin-for-gcp" \
699
- --set "initContainers[0].image"="velero/velero-plugin-for-gcp:v1.0.0" \
667
+ --set "initContainers[0].image"="velero/velero-plugin-for-gcp:v1.6.0" \
700
668
  --set "initContainers[0].volumeMounts[0].mountPath"="/target" \
701
669
  --set "initContainers[0].volumeMounts[0].name"="plugins" \
702
670
  --set schedules.postgresql.schedule="0 2 * * *" \
@@ -708,13 +676,22 @@ function installVelero() {
708
676
  --set schedules.timescale.template.ttl="720h" \
709
677
  --set schedules.timescale.template.labelSelector.matchLabels.release="timescale-db" \
710
678
  --set schedules.timescale.template.labelSelector.matchLabels.app="postgresql" \
711
- --set schedules.timescale.template.snapshotVolumes="true"
679
+ --set schedules.timescale.template.snapshotVolumes="true" \
680
+ --set schedules.redis.schedule="*/30 * * * *" \
681
+ --set schedules.redis.template.ttl="24h" \
682
+ --set schedules.redis.template.labelSelector.matchLabels.name="redis" \
683
+ --set schedules.redis.template.snapshotVolumes="true"
712
684
 
713
685
  velero get backups
714
686
  cat<<DONE_VELERO
715
687
 
716
688
  Velero docs => `color g 'open https://velero.io/docs'`
689
+
690
+ Creating initial backups from `color g 'velero-postgres'` and `color g 'velero-timescale'` schedules...
717
691
  DONE_VELERO
692
+ sleep 2
693
+ velero backup create --from-schedule velero-postgresql
694
+ velero backup create --from-schedule velero-timescale
718
695
  removeHelmRepo vmware-tanzu
719
696
  echo -n "npm run ahoy && velero get backups" | pbcopy
720
697
  }
@@ -737,6 +714,7 @@ PLUGIN_NOEXEC
737
714
  fi
738
715
 
739
716
  printf "\n***Executing local plugin code => `color y $PLUGIN`\n\n" && sleep 2
717
+ export HELM_WHAT
740
718
  . $PLUGIN # executing with . allows the plugin to use functions like color
741
719
  return 0
742
720
  }
@@ -806,7 +784,7 @@ function doInstall() {
806
784
  [ ! -z "$CHARTVER" ] && CHARTVER="--version $CHARTVER"
807
785
 
808
786
  # set the dry-run flag on what
809
- [ "`basename $0`" == "helmwhat" ] && WHAT="--dry-run --debug"
787
+ [ "`basename $0`" == "helmwhat" ] && HELM_WHAT="--dry-run --debug"
810
788
 
811
789
  # If we're referencing a plugin then execute it and continue
812
790
  ifPluggedIn $SERVICE && continue
@@ -841,7 +819,7 @@ function doInstall() {
841
819
  ;;
842
820
 
843
821
  "grafana")
844
- installGrafana
822
+ bootstrapLocalSetup grafana
845
823
  ;;
846
824
 
847
825
  "monitoring")
@@ -878,12 +856,13 @@ function doInstall() {
878
856
 
879
857
  transponder-*)
880
858
  # transponders use the same chart but different deployment name
881
- HELMUP="helm upgrade --install $SERVICE leverege/transponder --values $SERVICE/values.yaml $CHARTVER $WHAT"
859
+ HELMUP="helm upgrade --install $SERVICE leverege/transponder --values $SERVICE/values.yaml $CHARTVER $HELM_WHAT"
882
860
  doHelmup "$HELMUP"
883
861
  ;;
884
862
 
885
863
  "traefik")
886
- installTraefik
864
+ installTraefikEnvironment
865
+ bootstrapLocalSetup traefik
887
866
  ;;
888
867
 
889
868
  "velero")
@@ -929,7 +908,7 @@ NO_SERVICE_MAN
929
908
  MUSEUM=$(<${OVERRIDE})
930
909
  printf "\n$YELO_WARN Local chartmuseum name override from ${SERVICE} to ${MUSEUM}\n"
931
910
  fi
932
- HELMUP="helm upgrade --install $SERVICE leverege/$MUSEUM -f $SERVICE/values.yaml $CHARTVER $WHAT"
911
+ HELMUP="helm upgrade --install $SERVICE leverege/$MUSEUM -f $SERVICE/values.yaml $CHARTVER $HELM_WHAT"
933
912
  doHelmup $HELMUP
934
913
  SAVERR=$?
935
914
  if [ $SAVERR -ne 0 ];
@@ -957,7 +936,7 @@ NOTRUNNING
957
936
  GITTOP=`git rev-parse --show-toplevel` # `&& cd $GITTOP
958
937
  K8S_UTILS="${GITTOP}/k8s-utils"
959
938
 
960
- overwhelm.js #XXX
939
+ overwhelm # overwhelm.js # use overwhelm.js for local
961
940
  [ $? -ne 0 ] && printf "\n\n***Aborting helmup...\n\n" && exit 1
962
941
 
963
942
  doInstall $@
@@ -13,6 +13,6 @@ addHelmRepo elastic https://helm.elastic.co
13
13
  helm upgrade --install elasticsearch elastic/elasticsearch \
14
14
  --version 7.16 \
15
15
  --values $LOCAL_ES_VALUES \
16
- --set volumeClaimTemplate.storageClassName="ssd"
16
+ --set volumeClaimTemplate.storageClassName="ssd" $HELM_WHAT
17
17
 
18
18
  removeHelmRepo elastic
@@ -0,0 +1,29 @@
1
+ service:
2
+ type: "NodePort"
3
+ port: "9000"
4
+
5
+ persistence:
6
+ enabled: true
7
+ storageClassName: ssd
8
+
9
+ plugins:
10
+ - grafana-piechart-panel
11
+ - agenty-flowcharting-panel
12
+
13
+ deploymentStrategy:
14
+ type: Recreate
15
+
16
+ affinity:
17
+ nodeAffinity:
18
+ requiredDuringSchedulingIgnoredDuringExecution:
19
+ nodeSelectorTerms:
20
+ - matchExpressions:
21
+ - key: target-env
22
+ operator: In
23
+ values:
24
+ - database
25
+ tolerations:
26
+ - key: "database"
27
+ operator: "Equal"
28
+ value: "true"
29
+ effect: "NoSchedule"
@@ -9,7 +9,9 @@ addHelmRepo grafana https://grafana.github.io/helm-charts
9
9
  [ -z "$GRAFANA_HELM_CHART" ] && GRAFANA_HELM_CHART="6"
10
10
  helm upgrade --install grafana grafana/grafana \
11
11
  --namespace monitoring \
12
- --values grafana/values-grafana.yaml \
13
- --version $GRAFANA_HELM_CHART
12
+ --values grafana/grafana-local.yaml \
13
+ --version $GRAFANA_HELM_CHART $HELM_WHAT
14
+
15
+ helmup monitoring-wtf
14
16
 
15
17
  removeHelmRepo grafana
@@ -6,6 +6,6 @@ addBitnamiRepo
6
6
 
7
7
  helm upgrade --install postgres bitnami/postgresql \
8
8
  --values postgres/postgres-local.yaml \
9
- --version 10
9
+ --version 10 $HELM_WHAT
10
10
 
11
11
  removeHelmRepo bitnami
@@ -784,3 +784,9 @@ server:
784
784
 
785
785
  pushgateway:
786
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
+ #
791
+ kubeStateMetrics:
792
+ enabled: true
@@ -10,6 +10,6 @@ addHelmRepo prometheus-community https://prometheus-community.github.io/helm-cha
10
10
  helm upgrade --install prometheus prometheus-community/prometheus \
11
11
  --namespace monitoring \
12
12
  --values prometheus/values.yaml \
13
- --version $PROMETHEUS_HELM_CHART
13
+ --version $PROMETHEUS_HELM_CHART $HELM_WHAT
14
14
 
15
15
  removeHelmRepo prometheus-community
@@ -23,7 +23,7 @@ master:
23
23
  effect: "NoSchedule"
24
24
 
25
25
  persistence:
26
- size: 1Gi # 8Gi is default
26
+ size: 8Gi # 8Gi is default
27
27
 
28
28
  replica:
29
29
  affinity:
@@ -7,6 +7,6 @@ addBitnamiRepo latest
7
7
  [ -z "$REDIS_HELM_CHART" ] && REDIS_HELM_CHART="17" # latest chart 17 is redis v7
8
8
  helm upgrade --install redis bitnami/redis \
9
9
  --values redis/redis-local.yaml \
10
- --version $REDIS_HELM_CHART
10
+ --version $REDIS_HELM_CHART $HELM_WHAT
11
11
 
12
12
  removeHelmRepo bitnami
@@ -7,4 +7,4 @@ checkTimescalePassword
7
7
  [ -z "$TIMESCALE_HELM_CHART" ] && TIMESCALE_HELM_CHART="2"
8
8
  helm upgrade --install timescale-db leverege/timescale-db \
9
9
  --values timescale-db/timescale-db-local.yaml \
10
- --version $TIMESCALE_HELM_CHART
10
+ --version $TIMESCALE_HELM_CHART $HELM_WHAT
@@ -0,0 +1,13 @@
1
+ additionalArguments:
2
+ - "--accesslog=true"
3
+ - "--accesslog.format=json"
4
+ - "--log.level=WARN"
5
+ - "--metrics.prometheus=true"
6
+ - "--api.dashboard=true"
7
+
8
+ deployment:
9
+ replicas: 3
10
+
11
+ #service:
12
+ # spec:
13
+ # loadBalancerIP: xx.xx.xx.xx
@@ -0,0 +1,13 @@
1
+ #!/bin/bash
2
+
3
+ showInstalling "Traefik Load Balancer / Router"
4
+
5
+ addHelmRepo traefik https://helm.traefik.io/traefik
6
+
7
+ [ -z "$TRAEFIK_HELM_CHART" ] && TRAEFIK_HELM_CHART="16"
8
+ helm upgrade --install traefik traefik/traefik \
9
+ --namespace traefik \
10
+ --values traefik/traefik-local.yaml \
11
+ --version $TRAEFIK_HELM_CHART $HELM_WHAT
12
+
13
+ removeHelmRepo traefik