-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(charts)!: Update Helm release redis to 19.6.4 - autoclosed #2438
Conversation
Path: @@ -1,14 +1,42 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +45,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +59,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +90,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +100,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +120,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +141,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +161,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +196,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +224,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +235,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +245,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +259,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +270,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +282,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +292,42 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +335,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.4-debian-12-r9
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: null
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +407,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +422,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.58.0-debian-12-r4
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: null
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +456,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +468,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +510,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +523,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
70f4cea
to
d2b1de6
Compare
Path: @@ -1,14 +1,42 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +45,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +59,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +90,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +100,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +120,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +141,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +161,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +196,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +224,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +235,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +245,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +259,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +270,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +282,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +292,42 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +335,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.4-debian-12-r9
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +407,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +422,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.58.0-debian-12-r4
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +456,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +468,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +510,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +523,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
d2b1de6
to
77895c7
Compare
Path: @@ -1,14 +1,42 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +45,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +59,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +90,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +100,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +120,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +141,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +161,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +196,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +224,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +235,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +245,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +259,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +270,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +282,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +292,42 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +335,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.4-debian-12-r9
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +407,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +422,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.58.0-debian-12-r4
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +456,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +468,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +510,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +523,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
77895c7
to
8e84e79
Compare
Path: @@ -1,14 +1,42 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +45,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +59,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +90,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +100,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +120,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +141,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +161,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +196,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +224,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +235,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +245,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +259,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +270,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +282,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +292,42 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +335,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.4-debian-12-r9
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +407,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +422,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.58.0-debian-12-r4
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +456,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +468,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +510,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +523,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
8e84e79
to
a3c8a56
Compare
Path: @@ -1,14 +1,42 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +45,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +59,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +90,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +100,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +120,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +141,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +161,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +196,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +224,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +235,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +245,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +259,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +270,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +282,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +292,42 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +335,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.4-debian-12-r11
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +407,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +422,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.58.0-debian-12-r7
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +456,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +468,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +510,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +523,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
a3c8a56
to
fa04152
Compare
Path: @@ -1,14 +1,42 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +45,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +59,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +90,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +100,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +120,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +141,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +161,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +196,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +224,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +235,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +245,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +259,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +270,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +282,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +292,42 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +335,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.4-debian-12-r12
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +407,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +422,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.58.0-debian-12-r7
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +456,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +468,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +510,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +523,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
fa04152
to
5b77a28
Compare
Path: @@ -1,14 +1,42 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +45,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +59,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +90,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +100,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +120,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +141,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +161,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +196,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +224,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +235,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +245,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +259,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +270,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +282,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +292,42 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +335,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.4-debian-12-r12
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +407,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +422,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.58.0-debian-12-r7
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +456,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +468,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +510,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +523,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
5b77a28
to
ca4401e
Compare
Path: @@ -1,14 +1,42 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +45,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +59,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +90,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +100,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +120,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +141,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +161,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +196,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +224,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +235,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +245,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +259,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +270,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +282,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +292,42 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +335,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.4-debian-12-r13
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +407,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +422,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.59.0-debian-12-r1
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +456,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +468,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +510,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +523,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
ca4401e
to
8136466
Compare
Path: @@ -1,14 +1,42 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +45,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +59,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +90,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +100,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +120,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +141,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +161,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +196,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +224,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +235,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +245,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +259,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +270,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +282,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +292,42 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +335,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.4-debian-12-r13
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +407,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +422,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.59.0-debian-12-r1
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +456,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +468,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +510,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +523,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
8136466
to
0af1eb2
Compare
Path: @@ -1,14 +1,42 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +45,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +59,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +90,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +100,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +120,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +141,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +161,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +196,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +224,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +235,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +245,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +259,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +270,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +282,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +292,42 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +335,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.4-debian-12-r13
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +407,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +422,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.59.0-debian-12-r1
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +456,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +468,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +510,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +523,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
Path: @@ -1,14 +1,61 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +64,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +78,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +109,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +119,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +139,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +160,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +180,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +215,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +243,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +254,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +264,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +278,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +289,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +301,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +311,42 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +354,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.5-debian-12-r0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +426,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +441,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.60.0-debian-12-r1
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +475,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +487,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +529,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +542,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
f4165c2
to
dbc1cac
Compare
Path: @@ -1,14 +1,61 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +64,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +78,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +109,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +119,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +139,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +160,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +180,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +215,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +243,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +254,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +264,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +278,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +289,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +301,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +311,42 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +354,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.5-debian-12-r0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +426,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +441,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.60.0-debian-12-r1
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +475,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +487,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +529,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +542,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
dbc1cac
to
04328f6
Compare
Path: @@ -1,14 +1,61 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +64,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +78,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +109,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +119,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +139,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +160,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +180,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +215,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +243,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +254,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +264,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +278,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +289,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +301,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +311,42 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +354,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.5-debian-12-r0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +426,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +441,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.61.0-debian-12-r0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +475,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +487,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +529,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +542,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
04328f6
to
dd99978
Compare
Path: @@ -1,14 +1,61 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +64,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +78,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +109,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +119,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +139,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +160,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +180,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +215,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +243,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +254,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +264,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +278,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +289,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +301,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +311,42 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +354,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.5-debian-12-r0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +426,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +441,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.61.0-debian-12-r0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +475,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +487,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +529,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +542,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
dd99978
to
da0a9d7
Compare
Path: @@ -1,14 +1,61 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +64,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +78,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +109,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +119,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +139,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +160,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +180,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +215,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +243,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +254,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +264,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +278,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +289,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +301,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +311,43 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
+ revisionHistoryLimit: 10
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +355,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.5-debian-12-r0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +427,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +442,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.61.0-debian-12-r0
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +476,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +488,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +530,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +543,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
da0a9d7
to
eedfe40
Compare
Path: @@ -1,14 +1,61 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +64,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +78,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +109,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +119,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +139,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +160,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +180,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +215,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +243,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +254,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +264,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +278,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +289,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +301,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +311,43 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
+ revisionHistoryLimit: 10
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +355,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.5-debian-12-r2
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +427,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +442,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.61.0-debian-12-r2
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +476,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +488,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 1024Mi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +530,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +543,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
eedfe40
to
8a755f8
Compare
Path: @@ -1,14 +1,61 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +64,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +78,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +109,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +119,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +139,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +160,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +180,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +215,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +243,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +254,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +264,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +278,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +289,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +301,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +311,43 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
+ revisionHistoryLimit: 10
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +355,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.5-debian-12-r2
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +427,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +442,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.61.0-debian-12-r2
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +476,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +488,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +530,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +543,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
8a755f8
to
69f49a2
Compare
Path: @@ -1,14 +1,61 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +64,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +78,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +109,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +119,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +139,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +160,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +180,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +215,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +243,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +254,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +264,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +278,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +289,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +301,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +311,43 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
+ revisionHistoryLimit: 10
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +355,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.5-debian-12-r3
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +427,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +442,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.62.0-debian-12-r1
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +476,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +488,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +530,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +543,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
Signed-off-by: Danny Froberg <[email protected]>
69f49a2
to
60d8610
Compare
Path: @@ -1,14 +1,61 @@
-# Source: redis/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
+# Source: redis/templates/networkpolicy.yaml
+kind: NetworkPolicy
+apiVersion: networking.k8s.io/v1
metadata:
name: redis
namespace: "default"
labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: redis
+spec:
+ podSelector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ policyTypes:
+ - Ingress
+ - Egress
+ egress:
+ - {}
+ ingress:
+ # Allow inbound connections
+ - ports:
+ - port: 6379
+ # Allow prometheus scrapes for metrics
+ - ports:
+ - port: 9121
+---
+# Source: redis/templates/master/pdb.yaml
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+spec:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
+ app.kubernetes.io/component: master
+---
+# Source: redis/templates/master/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: false
+metadata:
+ name: redis-master
+ namespace: "default"
+ labels:
+ app.kubernetes.io/instance: redis
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/secret.yaml
apiVersion: v1
@@ -17,9 +64,9 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
type: Opaque
data:
redis-password: "JHtTRUNSRVRfUkVESVNfUEFTU1dPUkR9"
@@ -31,9 +78,9 @@
name: redis-configuration
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
redis.conf: |-
# User-supplied common configuration:
@@ -62,9 +109,9 @@
name: redis-health
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
ping_readiness_local.sh: |-
#!/bin/bash
@@ -72,7 +119,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -92,7 +139,7 @@
[[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
[[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h localhost \
-p $REDIS_PORT \
@@ -113,7 +160,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -133,7 +180,7 @@
[[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
[[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
response=$(
- timeout -s 3 $1 \
+ timeout -s 15 $1 \
redis-cli \
-h $REDIS_MASTER_HOST \
-p $REDIS_MASTER_PORT_NUMBER \
@@ -168,9 +215,9 @@
name: redis-scripts
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
data:
start-master.sh: |
#!/bin/bash
@@ -196,10 +243,9 @@
name: redis-headless
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
- annotations:
+ app.kubernetes.io/name: redis
spec:
type: ClusterIP
clusterIP: None
@@ -208,8 +254,8 @@
port: 6379
targetPort: redis
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/service.yaml
apiVersion: v1
@@ -218,9 +264,9 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
type: ClusterIP
@@ -232,8 +278,8 @@
targetPort: redis
nodePort: null
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
---
# Source: redis/templates/metrics-svc.yaml
@@ -243,9 +289,9 @@
name: redis-metrics
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
@@ -255,8 +301,8 @@
protocol: TCP
targetPort: metrics
selector:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
---
# Source: redis/templates/master/application.yaml
apiVersion: apps/v1
@@ -265,39 +311,43 @@
name: redis-master
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
spec:
replicas: 1
+ revisionHistoryLimit: 10
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
serviceName: redis-headless
updateStrategy:
- rollingUpdate: {}
type: RollingUpdate
template:
metadata:
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
annotations:
- checksum/configmap: b55f312b2062b1f194f602f7bc278534fc59a776407a40c7c7ddf8f21acf4b8c
- checksum/health: 76146d0a8f8571680c57312c32f5af572c535d3d4aaff7ff18bad86d272eb7ad
- checksum/scripts: 520130be832daed123eefb6f195f7972853fcddaca577a8f3911a429d7aea24e
- checksum/secret: 06fc0ebc9fa8fae9aa13ce05cc08b295e2bb91034ee6f79bfa091d17a0541c05
+ checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47
+ checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9
+ checksum/scripts: 560c33ff34d845009b51830c332aa05fa211444d1877d3526d3599be7543aaa5
+ checksum/secret: e02b67d540ccd6de3d6095c8d3ab7d3874da72c10ec88f23fe15d1a500ee176e
prometheus.io/port: "9121"
prometheus.io/scrape: "true"
spec:
securityContext:
fsGroup: 1001
- serviceAccountName: redis
+ fsGroupChangePolicy: Always
+ supplementalGroups: []
+ sysctls: []
+ serviceAccountName: redis-master
+ automountServiceAccountToken: false
affinity:
podAffinity:
podAntiAffinity:
@@ -305,21 +355,30 @@
- podAffinityTerm:
labelSelector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: master
- namespaces:
- - "default"
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
+ enableServiceLinks: true
terminationGracePeriodSeconds: 30
containers:
- name: redis
- image: docker.io/bitnami/redis:7.0.5-debian-11-r7
+ image: docker.io/bitnami/redis:7.2.5-debian-12-r4
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
args:
@@ -368,8 +427,14 @@
- -c
- /health/ping_readiness_local.sh 1
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
@@ -377,18 +442,29 @@
mountPath: /health
- name: redis-data
mountPath: /data
- subPath:
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
- - name: redis-tmp-conf
+ - name: empty-dir
mountPath: /opt/bitnami/redis/etc/
- - name: tmp
+ subPath: app-conf-dir
+ - name: empty-dir
mountPath: /tmp
+ subPath: tmp-dir
- name: metrics
- image: docker.io/bitnami/redis-exporter:1.44.0-debian-11-r16
+ image: docker.io/bitnami/redis-exporter:1.62.0-debian-12-r2
imagePullPolicy: "IfNotPresent"
securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
runAsUser: 1001
+ seLinuxOptions: {}
+ seccompProfile:
+ type: RuntimeDefault
command:
- /bin/bash
- -c
@@ -400,6 +476,8 @@
env:
- name: REDIS_ALIAS
value: redis
+ - name: REDIS_EXPORTER_WEB_LISTEN_ADDRESS
+ value: :9121
- name: REDIS_USER
value: default
- name: REDIS_PASSWORD
@@ -410,10 +488,36 @@
ports:
- name: metrics
containerPort: 9121
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ tcpSocket:
+ port: metrics
+ readinessProbe:
+ failureThreshold: 3
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ httpGet:
+ path: /
+ port: metrics
resources:
- limits: {}
- requests: {}
+ limits:
+ cpu: 150m
+ ephemeral-storage: 2Gi
+ memory: 192Mi
+ requests:
+ cpu: 100m
+ ephemeral-storage: 50Mi
+ memory: 128Mi
volumeMounts:
+ - name: empty-dir
+ mountPath: /tmp
+ subPath: app-tmp-dir
volumes:
- name: start-scripts
configMap:
@@ -426,9 +530,7 @@
- name: config
configMap:
name: redis-configuration
- - name: redis-tmp-conf
- emptyDir: {}
- - name: tmp
+ - name: empty-dir
emptyDir: {}
- name: redis-data
persistentVolumeClaim:
@@ -441,18 +543,18 @@
name: redis
namespace: "default"
labels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/name: redis
spec:
endpoints:
- port: http-metrics
interval: 30s
namespaceSelector:
matchNames:
- - default
+ - "default"
selector:
matchLabels:
- app.kubernetes.io/name: redis
app.kubernetes.io/instance: redis
+ app.kubernetes.io/name: redis
app.kubernetes.io/component: metrics |
This PR contains the following updates:
17.3.5
->19.6.4
Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
bitnami/charts (redis)
v19.6.4
v19.6.3
v19.6.2
v19.6.1
v19.6.0
v19.5.5
v19.5.4
v19.5.3
v19.5.2
v19.5.0
v19.4.0
v19.3.4
v19.3.3
v19.3.2
v19.3.1
v19.3.0
v19.2.0
v19.1.5
v19.1.4
v19.1.3
v19.1.2
v19.1.1
v19.1.0
v19.0.2
v19.0.1
v19.0.0
v18.19.4
v18.19.3
v18.19.2
v18.19.1
v18.19.0
v18.18.1
v18.18.0
v18.17.1
v18.17.0
v18.16.1
v18.16.0
v18.15.1
v18.14.0
v18.13.0
v18.12.1
v18.12.0
v18.11.1
v18.11.0
v18.10.0
v18.9.1
v18.9.0
v18.8.3
v18.8.2
v18.8.0
v18.7.1
v18.7.0
v18.6.4
v18.6.3
v18.6.2
v18.6.1
v18.6.0
v18.5.0
v18.4.0
v18.3.3
v18.3.2
v18.3.1
v18.3.0
v18.2.2
v18.2.1
v18.2.0
v18.1.6
v18.1.5
v18.1.4
persistentVolumeClaimRetentionPolicy
for redis (#19689) (5658fa8), closes #19689v18.1.3
v18.1.2
v18.1.1
v18.1.0
v18.0.4
v18.0.2
v18.0.1
v18.0.0
v17.17.1
v17.17.0
v17.16.0
v17.15.6
v17.15.5
v17.15.4
v17.15.2
v17.15.1
v17.15.0
v17.14.6
v17.14.5
v17.14.4
v17.14.3
v17.14.2
v17.14.1
.Values.auth.existingSecretPasswordKey
(#17723) (344db98), closes #17723v17.14.0
v17.13.2
v17.13.1
v17.13.0
v17.12.0
@
for unauthenticated URI (#17493) (1713a0f), closes #17493v17.11.8
v17.11.7
v17.11.6
v17.11.5
v17.11.4
v17.11.3
v17.11.2
v17.11.1
v17.10.3
v17.10.2
v17.10.1
v17.9.5
v17.9.4
v17.9.3
v17.9.2
v17.9.1
v17.9.0
v17.8.7
v17.8.6
v17.8.5
v17.8.4
v17.8.3
v17.8.2
v17.8.1
v17.8.0
v17.7.6
v17.7.5
v17.7.4
v17.7.3
v17.7.2
v17.7.1
v17.6.0
v17.5.1
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.