Automated Manifest Update (#4490)

This PR contains newly rendered Kubernetes manifests automatically generated by the CI workflow.

Reviewed-on: #4490
Co-authored-by: gitea-bot <gitea-bot@alexlebens.net>
Co-committed-by: gitea-bot <gitea-bot@alexlebens.net>
This commit was merged in pull request #4490.
This commit is contained in:
2026-03-06 17:19:30 +00:00
committed by Alex Lebens
parent b9e9fd18c1
commit 08d4d7c8cf
18 changed files with 113 additions and 23156 deletions

View File

@@ -46,6 +46,35 @@ data:
echo "bind * -::*" echo "bind * -::*"
echo "dir /data" echo "dir /data"
} >>"$VALKEY_CONFIG" } >>"$VALKEY_CONFIG"
# Replica mode configuration
log "Configuring replication mode"
# Use POD_INDEX from Kubernetes metadata
POD_INDEX=${POD_INDEX:-0}
IS_MASTER=false
# Check if this is pod-0 (master)
if [ "$POD_INDEX" = "0" ]; then
IS_MASTER=true
log "This pod (index $POD_INDEX) is configured as MASTER"
else
log "This pod (index $POD_INDEX) is configured as REPLICA"
fi
# Configure replica settings
if [ "$IS_MASTER" = "false" ]; then
MASTER_HOST="blocky-valkey-0.blocky-valkey-headless.blocky.svc.cluster.local"
MASTER_PORT="6379"
log "Configuring replica to follow master at $MASTER_HOST:$MASTER_PORT"
{
echo ""
echo "# Replica Configuration"
echo "replicaof $MASTER_HOST $MASTER_PORT"
echo "replica-announce-ip blocky-valkey-$POD_INDEX.blocky-valkey-headless.blocky.svc.cluster.local"
} >>"$VALKEY_CONFIG"
fi
# Append extra configs if present # Append extra configs if present
if [ -f /usr/local/etc/valkey/valkey.conf ]; then if [ -f /usr/local/etc/valkey/valkey.conf ]; then

View File

@@ -1,18 +0,0 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: blocky-valkey
labels:
helm.sh/chart: valkey-0.9.3
app.kubernetes.io/name: valkey
app.kubernetes.io/instance: blocky
app.kubernetes.io/version: "9.0.3"
app.kubernetes.io/managed-by: Helm
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 1Gi
storageClassName: ceph-block

View File

@@ -0,0 +1,23 @@
apiVersion: v1
kind: Service
metadata:
name: blocky-valkey-headless
labels:
helm.sh/chart: valkey-0.9.3
app.kubernetes.io/name: valkey
app.kubernetes.io/instance: blocky
app.kubernetes.io/version: "9.0.3"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/component: headless
spec:
type: ClusterIP
clusterIP: None
publishNotReadyAddresses: true
ports:
- name: tcp
port: 6379
targetPort: tcp
protocol: TCP
selector:
app.kubernetes.io/name: valkey
app.kubernetes.io/instance: blocky

View File

@@ -0,0 +1,21 @@
apiVersion: v1
kind: Service
metadata:
name: blocky-valkey-read
labels:
helm.sh/chart: valkey-0.9.3
app.kubernetes.io/name: valkey
app.kubernetes.io/instance: blocky
app.kubernetes.io/version: "9.0.3"
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/component: read
spec:
type: ClusterIP
ports:
- name: tcp
port: 6379
targetPort: tcp
protocol: TCP
selector:
app.kubernetes.io/name: valkey
app.kubernetes.io/instance: blocky

View File

@@ -19,3 +19,4 @@ spec:
selector: selector:
app.kubernetes.io/name: valkey app.kubernetes.io/name: valkey
app.kubernetes.io/instance: blocky app.kubernetes.io/instance: blocky
statefulset.kubernetes.io/pod-name: blocky-valkey-0

View File

@@ -1,5 +1,5 @@
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: StatefulSet
metadata: metadata:
name: blocky-valkey name: blocky-valkey
labels: labels:
@@ -9,20 +9,30 @@ metadata:
app.kubernetes.io/version: "9.0.3" app.kubernetes.io/version: "9.0.3"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
spec: spec:
replicas: 1 serviceName: blocky-valkey-headless
strategy: replicas: 3
type: RollingUpdate podManagementPolicy: OrderedReady
selector: selector:
matchLabels: matchLabels:
app.kubernetes.io/name: valkey app.kubernetes.io/name: valkey
app.kubernetes.io/instance: blocky app.kubernetes.io/instance: blocky
volumeClaimTemplates:
- metadata:
name: valkey-data
spec:
accessModes:
- ReadWriteOnce
storageClassName: "ceph-block"
resources:
requests:
storage: "1Gi"
template: template:
metadata: metadata:
labels: labels:
app.kubernetes.io/name: valkey app.kubernetes.io/name: valkey
app.kubernetes.io/instance: blocky app.kubernetes.io/instance: blocky
annotations: annotations:
checksum/initconfig: 2d752b6b5c2e159b0111a667752e1fca checksum/initconfig: "b997c0967aeeee370412add1d41691a1"
spec: spec:
automountServiceAccountToken: false automountServiceAccountToken: false
serviceAccountName: blocky-valkey serviceAccountName: blocky-valkey
@@ -42,6 +52,11 @@ spec:
runAsNonRoot: true runAsNonRoot: true
runAsUser: 1000 runAsUser: 1000
command: ["/scripts/init.sh"] command: ["/scripts/init.sh"]
env:
- name: POD_INDEX
valueFrom:
fieldRef:
fieldPath: metadata.labels['apps.kubernetes.io/pod-index']
volumeMounts: volumeMounts:
- name: valkey-data - name: valkey-data
mountPath: /data mountPath: /data
@@ -61,6 +76,10 @@ spec:
runAsNonRoot: true runAsNonRoot: true
runAsUser: 1000 runAsUser: 1000
env: env:
- name: POD_INDEX
valueFrom:
fieldRef:
fieldPath: metadata.labels['apps.kubernetes.io/pod-index']
- name: VALKEY_LOGLEVEL - name: VALKEY_LOGLEVEL
value: "notice" value: "notice"
ports: ports:
@@ -108,6 +127,3 @@ spec:
configMap: configMap:
name: blocky-valkey-init-scripts name: blocky-valkey-init-scripts
defaultMode: 0555 defaultMode: 0555
- name: valkey-data
persistentVolumeClaim:
claimName: blocky-valkey

View File

@@ -1,17 +0,0 @@
apiVersion: grafana.integreatly.org/v1beta1
kind: GrafanaDashboard
metadata:
name: grafana-dashboard-redis-operator
namespace: grafana-operator
labels:
app.kubernetes.io/name: grafana-dashboard-redis-operator
app.kubernetes.io/instance: grafana-operator
app.kubernetes.io/part-of: grafana-operator
spec:
instanceSelector:
matchLabels:
app: grafana-main
contentCacheDuration: 1h
folderUID: grafana-folder-service
resyncPeriod: 1h
url: http://gitea-http.gitea:3000/alexlebens/grafana-dashboards/raw/branch/main/dashboards/service/redis-operator.json

View File

@@ -1,17 +0,0 @@
apiVersion: grafana.integreatly.org/v1beta1
kind: GrafanaDashboard
metadata:
name: grafana-dashboard-redis-replication
namespace: grafana-operator
labels:
app.kubernetes.io/name: grafana-dashboard-redis-replication
app.kubernetes.io/instance: grafana-operator
app.kubernetes.io/part-of: grafana-operator
spec:
instanceSelector:
matchLabels:
app: grafana-main
contentCacheDuration: 1h
folderUID: grafana-folder-service
resyncPeriod: 1h
url: http://gitea-http.gitea:3000/alexlebens/grafana-dashboards/raw/branch/main/dashboards/service/redis-replication.json

View File

@@ -61,6 +61,20 @@ data:
html { html {
font-size: 18px; font-size: 18px;
} }
ul#myTab {
background-color: rgba(240, 230, 215, 0.12) !important;
color: white !important;
}
li.service div.service-card,
li.bookmark a.rounded-md {
color: white !important;
background-color: rgba(240, 230, 215, 0.12) !important;
transition: all 150ms ease !important;
}
li.service div.service-card:hover,
li.bookmark a.rounded-md:hover {
background-color: rgba(240, 230, 215, 0.18) !important;
}
docker.yaml: "" docker.yaml: ""
kubernetes.yaml: | kubernetes.yaml: |
mode: cluster mode: cluster

View File

@@ -24,7 +24,7 @@ spec:
template: template:
metadata: metadata:
annotations: annotations:
checksum/configMaps: 3db8a419e6560546f697d19063ab7808365cbe7cf09d46f7ec7a2e56cbb32768 checksum/configMaps: 5c637e0850c43e318deda60c6550c6fd4e2fc408a4bf0e0734f2f4bf1c67b021
checksum/secrets: d3ba83f111cd32f92c909268c55ad8bbd4f9e299b74b35b33c1a011180d8b378 checksum/secrets: d3ba83f111cd32f92c909268c55ad8bbd4f9e299b74b35b33c1a011180d8b378
labels: labels:
app.kubernetes.io/controller: main app.kubernetes.io/controller: main

View File

@@ -1,125 +0,0 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: redis-operator
labels:
app.kubernetes.io/name: redis-operator
helm.sh/chart: redis-operator-0.23.0
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: redis-operator
app.kubernetes.io/version: 0.23.0
app.kubernetes.io/component: role
app.kubernetes.io/part-of: redis-operator
rules:
- apiGroups:
- redis.redis.opstreelabs.in
resources:
- rediss
- redisclusters
- redisreplications
- redis
- rediscluster
- redissentinel
- redissentinels
- redisreplication
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- nonResourceURLs:
- '*'
verbs:
- get
- apiGroups:
- "apiextensions.k8s.io"
resources:
- "customresourcedefinitions"
verbs:
- "get"
- "list"
- "watch"
- apiGroups:
- redis.redis.opstreelabs.in
resources:
- redis/finalizers
- rediscluster/finalizers
- redisclusters/finalizers
- redissentinel/finalizers
- redissentinels/finalizers
- redisreplication/finalizers
- redisreplications/finalizers
verbs:
- update
- apiGroups:
- redis.redis.opstreelabs.in
resources:
- redis/status
- rediscluster/status
- redisclusters/status
- redissentinel/status
- redissentinels/status
- redisreplication/status
- redisreplications/status
verbs:
- get
- patch
- update
- apiGroups:
- ""
resources:
- secrets
- pods/exec
- pods
- services
- configmaps
- events
- persistentvolumeclaims
- namespace
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- apps
resources:
- statefulsets
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- "coordination.k8s.io"
resources:
- leases
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- "policy"
resources:
- poddisruptionbudgets
verbs:
- create
- delete
- get
- list
- patch
- update
- watch

View File

@@ -1,20 +0,0 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: redis-operator
labels:
app.kubernetes.io/name: redis-operator
helm.sh/chart: redis-operator-0.23.0
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: redis-operator
app.kubernetes.io/version: 0.23.0
app.kubernetes.io/component: role-binding
app.kubernetes.io/part-of: redis-operator
subjects:
- kind: ServiceAccount
name: redis-operator
namespace: redis-operator
roleRef:
kind: ClusterRole
name: redis-operator
apiGroup: rbac.authorization.k8s.io

View File

@@ -1,76 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: redis-operator
namespace: redis-operator
labels:
app.kubernetes.io/name: redis-operator
helm.sh/chart: redis-operator-0.23.0
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: redis-operator
app.kubernetes.io/version: 0.23.0
app.kubernetes.io/component: operator
app.kubernetes.io/part-of: redis-operator
spec:
strategy:
rollingUpdate:
maxSurge: 50%
maxUnavailable: 50%
type: RollingUpdate
replicas: 2
selector:
matchLabels:
name: redis-operator
template:
metadata:
annotations:
cert-manager.io/inject-ca-from: redis-operator/serving-cert
labels:
name: redis-operator
spec:
automountServiceAccountToken: true
securityContext: {}
containers:
- name: "redis-operator"
securityContext: {}
image: "ghcr.io/ot-container-kit/redis-operator/redis-operator:v0.23.0"
imagePullPolicy: Always
livenessProbe:
httpGet:
path: /healthz
port: probe
readinessProbe:
httpGet:
path: /readyz
port: probe
command:
- /operator
- manager
args:
- --leader-elect
- --metrics-bind-address=:8080
ports:
- containerPort: 8081
name: probe
protocol: TCP
- containerPort: 8080
name: metrics
protocol: TCP
env:
- name: INIT_CONTAINER_IMAGE
value: ghcr.io/ot-container-kit/redis-operator/redis-operator:v0.23.0
- name: ENABLE_WEBHOOKS
value: "false"
- name: SERVICE_DNS_DOMAIN
value: "cluster.local"
- name: FEATURE_GATES
value: "GenerateConfigInInitContainer=false"
resources:
limits:
cpu: 500m
memory: 500Mi
requests:
cpu: 50m
memory: 128Mi
serviceAccountName: "redis-operator"
serviceAccount: "redis-operator"

View File

@@ -1,14 +0,0 @@
apiVersion: v1
kind: ServiceAccount
automountServiceAccountToken: true
metadata:
name: redis-operator
namespace: redis-operator
labels:
app.kubernetes.io/name: redis-operator
helm.sh/chart: redis-operator-0.23.0
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: redis-operator
app.kubernetes.io/version: 0.23.0
app.kubernetes.io/component: service-account
app.kubernetes.io/part-of: redis-operator