nuvolaris/templates/etcd-sts.yaml (42 lines of code) (raw):
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: nuvolaris-etcd
namespace: nuvolaris
labels:
app.kubernetes.io/name: nuvolaris-etcd
spec:
replicas: {{etcd_replicas}}
serviceName: nuvolaris-etcd-headless
selector:
matchLabels:
app.kubernetes.io/name: nuvolaris-etcd
template:
metadata:
labels:
app.kubernetes.io/name: nuvolaris-etcd
annotations:
serviceName: nuvolaris-etcd
spec:
containers:
- name: {{container}}
env:
- name: ETCD_INITIAL_CLUSTER
value: {{etc_initial_cluster}}
- name: ETCD_AUTO_COMPACTION_RETENTION
value: "{{etcd_auto_compaction_retention}}"
- name: ETCD_QUOTA_BACKEND_BYTES
value: "{{etcd_quota_backend_bytes}}"
image: docker.io/bitnami/etcd:3.5.17-debian-12-r0
imagePullPolicy: IfNotPresent
volumeClaimTemplates:
- metadata:
name: nuvolaris-etc-data
spec:
accessModes:
- "ReadWriteOnce"
storageClassName: {{storageClass}}
resources:
requests:
storage: "{{size}}Gi"