@leverege/build-tools 2.109.0 → 2.110.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 +1 -1
- package/src/helm-charts/prom-operator/helmup.plugin +1 -1
- package/src/helm-charts/prom-operator/prometheus-stack.yaml.ovh +1 -1
- package/src/helm-charts/prom-operator/rules/cnpg-rules.yaml +5 -5
- package/src/helm-charts/prom-operator/rules/elasticsearch-rules.yaml +3 -3
- package/src/helm-charts/prom-operator/rules/kubestate-rules.yaml +8 -5
- package/src/helm-charts/prom-operator/rules/redis-rules.yaml +4 -4
- package/src/helm-charts/prom-operator/rules/traefik-rules.yaml +1 -1
- package/src/helm-charts/valkey/helmup.bootstrap +12 -0
- package/src/helm-charts/valkey/valkey-local.yaml +8 -0
- package/src/helm-charts/velero/helmup.bootstrap +1 -1
- package/src/helm-charts/velero/helmup.plugin +2 -2
- package/src/init-my-chart/Chart.yaml.hbs +1 -1
- package/src/init-my-chart/leaf-chart-templates/templates/loadbalancerservice.yaml +1 -0
- package/src/init-my-chart/leaf-chart-templates/values.schema.json +26 -2
- package/src/init-my-chart/values.yaml.hbs +14 -2
- package/src/init-my-chart/leaf-chart-templates/templates/internalservice.yaml +0 -1
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@ showInstalling "The Prometheus Operator (kube-prometheus-stack)"
|
|
|
8
8
|
|
|
9
9
|
# https://artifacthub.io/packages/helm/prometheus-community/kube-prometheus-stack
|
|
10
10
|
OCI_CHART="oci://ghcr.io/prometheus-community/charts/kube-prometheus-stack"
|
|
11
|
-
[ -z "$PROMETHEUS_STACK_CHART_VERSION" ] && PROMETHEUS_STACK_CHART_VERSION="
|
|
11
|
+
[ -z "$PROMETHEUS_STACK_CHART_VERSION" ] && PROMETHEUS_STACK_CHART_VERSION="86.2.3"
|
|
12
12
|
helm upgrade $NS --install prometheus-stack $OCI_CHART \
|
|
13
13
|
--values prom-operator/prometheus-stack.yaml \
|
|
14
14
|
--version $PROMETHEUS_STACK_CHART_VERSION $HELM_WHAT
|
|
@@ -342,7 +342,7 @@ alertmanager:
|
|
|
342
342
|
- alertname="GKEMaintenanceInProgress"
|
|
343
343
|
- maintenance="true"
|
|
344
344
|
target_matchers:
|
|
345
|
-
- alertname=~"KubernetesNodeNotReady|KubernetesPodNotHealthy|KubernetesPodCrashLooping|frequent_app_restarts"
|
|
345
|
+
- alertname=~"KubernetesNodeNotReady|KubernetesPodNotHealthy|KubernetesPodCrashLooping|frequent_app_restarts|KubernetesStatefulsetDown|KubernetesDaemonsetMisscheduled"
|
|
346
346
|
|
|
347
347
|
route:
|
|
348
348
|
receiver: slack # default for everything
|
|
@@ -68,7 +68,7 @@ spec:
|
|
|
68
68
|
summary: Checks the number of database conflicts
|
|
69
69
|
expr: |-
|
|
70
70
|
rate(cnpg_pg_stat_database_deadlocks[5m]) > 0
|
|
71
|
-
for:
|
|
71
|
+
for: 3m
|
|
72
72
|
labels:
|
|
73
73
|
severity: warning
|
|
74
74
|
- alert: ReplicaFailingReplication
|
|
@@ -77,7 +77,7 @@ spec:
|
|
|
77
77
|
summary: Checks if the replica is failing to replicate
|
|
78
78
|
expr: |-
|
|
79
79
|
cnpg_pg_replication_in_recovery > cnpg_pg_replication_is_wal_receiver_up
|
|
80
|
-
for:
|
|
80
|
+
for: 3m
|
|
81
81
|
labels:
|
|
82
82
|
severity: warning
|
|
83
83
|
#
|
|
@@ -85,7 +85,7 @@ spec:
|
|
|
85
85
|
#
|
|
86
86
|
- alert: PostgresqlDown
|
|
87
87
|
expr: cnpg_collector_up == 0
|
|
88
|
-
for:
|
|
88
|
+
for: 3m
|
|
89
89
|
labels:
|
|
90
90
|
severity: critical
|
|
91
91
|
annotations:
|
|
@@ -94,9 +94,9 @@ spec:
|
|
|
94
94
|
|
|
95
95
|
- alert: PostgresqlRestarted
|
|
96
96
|
expr: time() - cnpg_pg_postmaster_start_time < 60
|
|
97
|
-
for:
|
|
97
|
+
for: 0m
|
|
98
98
|
labels:
|
|
99
|
-
severity:
|
|
99
|
+
severity: warning
|
|
100
100
|
annotations:
|
|
101
101
|
summary: Postgresql restarted (instance {{ $labels.instance }})
|
|
102
102
|
description: "Postgresql restarted\n VALUE = {{ $value }}\n LABELS = {{ $labels }}"
|
|
@@ -76,7 +76,7 @@ spec:
|
|
|
76
76
|
LABELS = {{ $labels }}
|
|
77
77
|
- alert: ElasticsearchHealthyNodes
|
|
78
78
|
expr: elasticsearch_cluster_health_number_of_nodes < 3
|
|
79
|
-
for:
|
|
79
|
+
for: 5m
|
|
80
80
|
labels:
|
|
81
81
|
severity: critical
|
|
82
82
|
annotations:
|
|
@@ -87,7 +87,7 @@ spec:
|
|
|
87
87
|
LABELS = {{ $labels }}
|
|
88
88
|
- alert: ElasticsearchHealthyDataNodes
|
|
89
89
|
expr: elasticsearch_cluster_health_number_of_data_nodes < 3
|
|
90
|
-
for:
|
|
90
|
+
for: 5m
|
|
91
91
|
labels:
|
|
92
92
|
severity: critical
|
|
93
93
|
annotations:
|
|
@@ -142,7 +142,7 @@ spec:
|
|
|
142
142
|
LABELS = {{ $labels }}
|
|
143
143
|
- alert: ElasticsearchUnassignedShards
|
|
144
144
|
expr: elasticsearch_cluster_health_unassigned_shards > 0
|
|
145
|
-
for:
|
|
145
|
+
for: 5m
|
|
146
146
|
labels:
|
|
147
147
|
severity: critical
|
|
148
148
|
annotations:
|
|
@@ -154,7 +154,7 @@ spec:
|
|
|
154
154
|
LABELS = {{ $labels }}
|
|
155
155
|
- alert: KubernetesStatefulsetDown
|
|
156
156
|
expr: kube_statefulset_replicas != kube_statefulset_status_replicas_ready > 0
|
|
157
|
-
for:
|
|
157
|
+
for: 5m # awesome was 1m; bumped to 3m, then 5m for GKE rolling updates
|
|
158
158
|
labels:
|
|
159
159
|
severity: critical
|
|
160
160
|
annotations:
|
|
@@ -228,8 +228,11 @@ spec:
|
|
|
228
228
|
VALUE = {{ $value }}
|
|
229
229
|
LABELS = {{ $labels }}
|
|
230
230
|
- alert: KubernetesReplicasetReplicasMismatch
|
|
231
|
-
expr:
|
|
232
|
-
|
|
231
|
+
expr: |
|
|
232
|
+
(kube_replicaset_spec_replicas != kube_replicaset_status_ready_replicas)
|
|
233
|
+
* on (namespace, replicaset) group_left()
|
|
234
|
+
kube_replicaset_owner{owner_kind!="Deployment"}
|
|
235
|
+
for: 15m # awesome was => 10m; Deployment-owned RSes excluded (covered by KubernetesDeploymentReplicasMismatch)
|
|
233
236
|
labels:
|
|
234
237
|
severity: warning
|
|
235
238
|
annotations:
|
|
@@ -306,7 +309,7 @@ spec:
|
|
|
306
309
|
LABELS = {{ $labels }}
|
|
307
310
|
- alert: KubernetesDaemonsetMisscheduled
|
|
308
311
|
expr: kube_daemonset_status_number_misscheduled > 0
|
|
309
|
-
for:
|
|
312
|
+
for: 5m
|
|
310
313
|
labels:
|
|
311
314
|
severity: critical
|
|
312
315
|
annotations:
|
|
@@ -339,7 +342,7 @@ spec:
|
|
|
339
342
|
LABELS = {{ $labels }}
|
|
340
343
|
- alert: KubernetesApiServerErrors
|
|
341
344
|
expr: sum(rate(apiserver_request_total{job="apiserver",code=~"(?:5..)"}[1m])) by (instance, job) / sum(rate(apiserver_request_total{job="apiserver"}[1m])) by (instance, job) * 100 > 3
|
|
342
|
-
for:
|
|
345
|
+
for: 5m
|
|
343
346
|
labels:
|
|
344
347
|
severity: critical
|
|
345
348
|
annotations:
|
|
@@ -10,7 +10,7 @@ spec:
|
|
|
10
10
|
rules:
|
|
11
11
|
- alert: RedisDown
|
|
12
12
|
expr: redis_up == 0
|
|
13
|
-
for:
|
|
13
|
+
for: 2m
|
|
14
14
|
labels:
|
|
15
15
|
severity: critical
|
|
16
16
|
annotations:
|
|
@@ -21,7 +21,7 @@ spec:
|
|
|
21
21
|
LABELS = {{ $labels }}
|
|
22
22
|
- alert: RedisMissingMaster
|
|
23
23
|
expr: (count(redis_instance_info{role="master"}) or vector(0)) < 1
|
|
24
|
-
for:
|
|
24
|
+
for: 2m
|
|
25
25
|
labels:
|
|
26
26
|
severity: critical
|
|
27
27
|
annotations:
|
|
@@ -43,7 +43,7 @@ spec:
|
|
|
43
43
|
LABELS = {{ $labels }}
|
|
44
44
|
- alert: RedisDisconnectedSlaves
|
|
45
45
|
expr: count without (instance, job) (redis_connected_slaves) - sum without (instance, job) (redis_connected_slaves) - 1 > 0
|
|
46
|
-
for:
|
|
46
|
+
for: 2m
|
|
47
47
|
labels:
|
|
48
48
|
severity: critical
|
|
49
49
|
annotations:
|
|
@@ -54,7 +54,7 @@ spec:
|
|
|
54
54
|
LABELS = {{ $labels }}
|
|
55
55
|
- alert: RedisReplicationBroken
|
|
56
56
|
expr: delta(redis_connected_slaves[1m]) < 0
|
|
57
|
-
for:
|
|
57
|
+
for: 2m
|
|
58
58
|
labels:
|
|
59
59
|
severity: critical
|
|
60
60
|
annotations:
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
#
|
|
3
|
+
# The network policy sets:
|
|
4
|
+
#
|
|
5
|
+
# ingressNSMatchLabels: # this is why default ns gets labelled
|
|
6
|
+
# redis: external
|
|
7
|
+
#
|
|
8
|
+
# which should be specifically set in redis client service helm charts but
|
|
9
|
+
# for now we set it hear without being forced to upgraed al of the legacy
|
|
10
|
+
# helm charts. This setting will eventually end up in the leverege base chart.
|
|
11
|
+
#
|
|
12
|
+
kubectl label namespace default redis=external
|
|
@@ -14,6 +14,14 @@ auth:
|
|
|
14
14
|
enabled: false
|
|
15
15
|
sentinel: true
|
|
16
16
|
|
|
17
|
+
networkPolicy:
|
|
18
|
+
enabled: true
|
|
19
|
+
allowExternal: false
|
|
20
|
+
ingressNSMatchLabels: # this is why default ns gets labelled
|
|
21
|
+
redis: external
|
|
22
|
+
ingressNSPodMatchLabels:
|
|
23
|
+
redis-client: true
|
|
24
|
+
|
|
17
25
|
primary:
|
|
18
26
|
replicaCount: 1
|
|
19
27
|
|
|
@@ -11,7 +11,7 @@ function installVeleroEnvironment() {
|
|
|
11
11
|
gcloud config set project $GCP_PROJECT_ID
|
|
12
12
|
|
|
13
13
|
## The major chart version will determine the bucket suffix
|
|
14
|
-
[ -z "$VELERO_CHART_VERSION" ] && VELERO_CHART_VERSION="
|
|
14
|
+
[ -z "$VELERO_CHART_VERSION" ] && VELERO_CHART_VERSION="12"
|
|
15
15
|
|
|
16
16
|
## Create a bucket
|
|
17
17
|
BUCKET="$GCP_PROJECT_ID-velero-$VELERO_CHART_VERSION"
|
|
@@ -5,8 +5,8 @@ showInstalling "Velero Backup System"
|
|
|
5
5
|
# We use a specific version for the velero chart because we need to control
|
|
6
6
|
# the version of the locally installed velero client application.
|
|
7
7
|
#
|
|
8
|
-
VELERO_CHART_VERSION="
|
|
9
|
-
EXPECTED_CLIENT_VERSION="v1.18.
|
|
8
|
+
VELERO_CHART_VERSION="12.0.3"
|
|
9
|
+
EXPECTED_CLIENT_VERSION="v1.18.1"
|
|
10
10
|
|
|
11
11
|
addHelmRepo vmware-tanzu https://vmware-tanzu.github.io/helm-charts
|
|
12
12
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{{ include "leverege.loadbalancerservice" . }}
|
|
@@ -204,8 +204,32 @@
|
|
|
204
204
|
"required": ["enabled"],
|
|
205
205
|
"properties": {
|
|
206
206
|
"enabled": { "type": "boolean" },
|
|
207
|
-
"livenessProbe": {
|
|
208
|
-
|
|
207
|
+
"livenessProbe": {
|
|
208
|
+
"type": "object",
|
|
209
|
+
"additionalProperties": true,
|
|
210
|
+
"description": "Pod: Liveness probe override. Fields are merged with base defaults — only specify fields you want to change.",
|
|
211
|
+
"properties": {
|
|
212
|
+
"httpGet": { "type": "object", "additionalProperties": true },
|
|
213
|
+
"initialDelaySeconds": { "type": "integer", "minimum": 0 },
|
|
214
|
+
"periodSeconds": { "type": "integer", "minimum": 1 },
|
|
215
|
+
"timeoutSeconds": { "type": "integer", "minimum": 1 },
|
|
216
|
+
"failureThreshold": { "type": "integer", "minimum": 1 },
|
|
217
|
+
"successThreshold": { "type": "integer", "minimum": 1 }
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
"readinessProbe": {
|
|
221
|
+
"type": "object",
|
|
222
|
+
"additionalProperties": true,
|
|
223
|
+
"description": "Pod: Readiness probe override. Fields are merged with base defaults — only specify fields you want to change.",
|
|
224
|
+
"properties": {
|
|
225
|
+
"httpGet": { "type": "object", "additionalProperties": true },
|
|
226
|
+
"initialDelaySeconds": { "type": "integer", "minimum": 0 },
|
|
227
|
+
"periodSeconds": { "type": "integer", "minimum": 1 },
|
|
228
|
+
"timeoutSeconds": { "type": "integer", "minimum": 1 },
|
|
229
|
+
"failureThreshold": { "type": "integer", "minimum": 1 },
|
|
230
|
+
"successThreshold": { "type": "integer", "minimum": 1 }
|
|
231
|
+
}
|
|
232
|
+
}
|
|
209
233
|
}
|
|
210
234
|
},
|
|
211
235
|
|
|
@@ -35,8 +35,9 @@ fullnameOverride: ""
|
|
|
35
35
|
partOf: {{hbsPartOf}} # leverege-stack or project-x - OPTIONAL
|
|
36
36
|
|
|
37
37
|
# overwhelm will auto inject project_id, host and ingress into service
|
|
38
|
-
# When type is LoadBalancer,
|
|
39
|
-
# companion <fullname>-
|
|
38
|
+
# When type is LoadBalancer, the main service remains ClusterIP (stable internal
|
|
39
|
+
# name, http + metrics) and a companion <fullname>-loadbalancer service is rendered
|
|
40
|
+
# to handle external traffic (http only, no metrics exposure).
|
|
40
41
|
service:
|
|
41
42
|
project_id: set-in-values-yaml
|
|
42
43
|
preemptible: {{hbsServicePreemptible}} # true or false - OPTIONAL
|
|
@@ -58,8 +59,19 @@ serviceMonitor:
|
|
|
58
59
|
namespace: "default" # namespace where service to scrape resides
|
|
59
60
|
|
|
60
61
|
# liveness and readiness probe to prove k8s health
|
|
62
|
+
# Individual fields are merged with base defaults — only specify what you need to change.
|
|
63
|
+
# Base defaults: liveness => path=/livenessProbe, initialDelaySeconds=30, periodSeconds=60
|
|
64
|
+
# readiness => path=/healthz, initialDelaySeconds=30, periodSeconds=10
|
|
65
|
+
# Unset fields fall back to Kubernetes defaults (timeoutSeconds: 1, failureThreshold: 3,
|
|
66
|
+
# successThreshold: 1). See https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
|
61
67
|
probes:
|
|
62
68
|
enabled: true
|
|
69
|
+
# livenessProbe:
|
|
70
|
+
# timeoutSeconds: 10 # k8s default: 1
|
|
71
|
+
# failureThreshold: 5 # k8s default: 3
|
|
72
|
+
# readinessProbe:
|
|
73
|
+
# timeoutSeconds: 5 # k8s default: 1
|
|
74
|
+
# failureThreshold: 5 # k8s default: 3
|
|
63
75
|
|
|
64
76
|
# this tells calico that redis access is needed
|
|
65
77
|
redis:
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{{ include "leverege.internalservice" . }}
|