From 3556242a7a0dae933eb19790336e621b51cade38 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 12 Sep 2025 16:35:55 +0900 Subject: [PATCH] grafana_gitea_hostpath --- sample/prd_jupyter/base/tf.yaml | 5 +- .../gyeonggi/gitea/3_apply/deployment.yaml | 376 ++++++++++++++++++ .../gyeonggi/gitea/3_apply/postgresql.yaml | 251 ++++++++++++ template/gyeonggi/gitea/3_apply/redis.yaml | 181 +++++++++ .../gitea/{3_apply/deploy.yaml => deploy.bak} | 0 .../monitoring/base/grafana/deploy.yaml | 7 +- .../base/grafana/kustomization.yaml | 3 +- .../gyeonggi/monitoring/base/grafana/pvc.yaml | 13 - .../default/grafana/patch-deploy.yaml | 7 +- 9 files changed, 819 insertions(+), 24 deletions(-) create mode 100644 template/gyeonggi/gitea/3_apply/deployment.yaml create mode 100644 template/gyeonggi/gitea/3_apply/postgresql.yaml create mode 100644 template/gyeonggi/gitea/3_apply/redis.yaml rename template/gyeonggi/gitea/{3_apply/deploy.yaml => deploy.bak} (100%) delete mode 100644 template/gyeonggi/monitoring/base/grafana/pvc.yaml diff --git a/sample/prd_jupyter/base/tf.yaml b/sample/prd_jupyter/base/tf.yaml index 81571b3..31ca5f1 100644 --- a/sample/prd_jupyter/base/tf.yaml +++ b/sample/prd_jupyter/base/tf.yaml @@ -31,8 +31,7 @@ spec: spec: hostPID: true nodeSelector: - kubernetes.io/hostname: h100-12 - nodegroup: h100 + nodegroup: a100 containers: - name: tf-notebook image: tensorflow/tensorflow:2.16.2-gpu-jupyter @@ -40,7 +39,7 @@ spec: limits: cpu: "4" memory: 16Gi - nvidia.com/gpu: 2 + nvidia.com/gpu: 1 ports: - containerPort: 8888 name: notebook diff --git a/template/gyeonggi/gitea/3_apply/deployment.yaml b/template/gyeonggi/gitea/3_apply/deployment.yaml new file mode 100644 index 0000000..8e6e427 --- /dev/null +++ b/template/gyeonggi/gitea/3_apply/deployment.yaml @@ -0,0 +1,376 @@ +# Source: gitea/charts/postgresql-ha/templates/pgpool/deployment.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: release-name-postgresql-ha-pgpool + namespace: gitea + labels: + app.kubernetes.io/instance: release-name + app.kubernetes.io/name: postgresql-ha + app.kubernetes.io/version: 4.5.2 + app.kubernetes.io/component: pgpool +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/instance: release-name + app.kubernetes.io/name: postgresql-ha + app.kubernetes.io/component: pgpool + template: + metadata: + labels: + app.kubernetes.io/instance: release-name + app.kubernetes.io/name: postgresql-ha + app.kubernetes.io/version: 4.5.2 + app.kubernetes.io/component: pgpool + spec: + nodeSelector: + nodegroup: nd + automountServiceAccountToken: false + affinity: + podAffinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/instance: release-name + app.kubernetes.io/name: postgresql-ha + app.kubernetes.io/component: pgpool + topologyKey: kubernetes.io/hostname + weight: 1 + nodeAffinity: + + securityContext: + fsGroup: 1001 + fsGroupChangePolicy: Always + supplementalGroups: [] + sysctls: [] + serviceAccountName: release-name-postgresql-ha + # Auxiliary vars to populate environment variables + containers: + - name: pgpool + image: docker.io/bitnami/pgpool:4.5.2-debian-12-r2 + imagePullPolicy: "IfNotPresent" + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + privileged: false + readOnlyRootFilesystem: true + runAsGroup: 1001 + runAsNonRoot: true + runAsUser: 1001 + seccompProfile: + type: RuntimeDefault + env: + - name: BITNAMI_DEBUG + value: "false" + - name: PGPOOL_BACKEND_NODES + value: 0:release-name-postgresql-ha-postgresql-0.release-name-postgresql-ha-postgresql-headless:5432,1:release-name-postgresql-ha-postgresql-1.release-name-postgresql-ha-postgresql-headless:5432,2:release-name-postgresql-ha-postgresql-2.release-name-postgresql-ha-postgresql-headless:5432, + - name: PGPOOL_SR_CHECK_USER + value: "repmgr" + - name: PGPOOL_SR_CHECK_PASSWORD + valueFrom: + secretKeyRef: + name: release-name-postgresql-ha-postgresql + key: repmgr-password + - name: PGPOOL_SR_CHECK_DATABASE + value: "postgres" + - name: PGPOOL_ENABLE_LDAP + value: "no" + - name: PGPOOL_POSTGRES_USERNAME + value: "gitea" + - name: PGPOOL_POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: release-name-postgresql-ha-postgresql + key: password + - name: PGPOOL_ADMIN_USERNAME + value: "admin" + - name: PGPOOL_ADMIN_PASSWORD + valueFrom: + secretKeyRef: + name: release-name-postgresql-ha-pgpool + key: admin-password + - name: PGPOOL_AUTHENTICATION_METHOD + value: "scram-sha-256" + - name: PGPOOL_ENABLE_LOAD_BALANCING + value: "yes" + - name: PGPOOL_DISABLE_LOAD_BALANCE_ON_WRITE + value: "transaction" + - name: PGPOOL_ENABLE_LOG_CONNECTIONS + value: "no" + - name: PGPOOL_ENABLE_LOG_HOSTNAME + value: "yes" + - name: PGPOOL_ENABLE_LOG_PER_NODE_STATEMENT + value: "no" + - name: PGPOOL_RESERVED_CONNECTIONS + value: '1' + - name: PGPOOL_CHILD_LIFE_TIME + value: "" + - name: PGPOOL_ENABLE_TLS + value: "no" + - name: PGPOOL_HEALTH_CHECK_PSQL_TIMEOUT + value: "6" + envFrom: + ports: + - name: postgresql + containerPort: 5432 + protocol: TCP + livenessProbe: + failureThreshold: 5 + initialDelaySeconds: 30 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 5 + exec: + command: + - /opt/bitnami/scripts/pgpool/healthcheck.sh + readinessProbe: + failureThreshold: 5 + initialDelaySeconds: 5 + periodSeconds: 5 + successThreshold: 1 + timeoutSeconds: 5 + exec: + command: + - bash + - -ec + - PGPASSWORD=${PGPOOL_POSTGRES_PASSWORD} psql -U "gitea" -d "gitea" -h /opt/bitnami/pgpool/tmp -tA -c "SELECT 1" >/dev/null + resources: + limits: + cpu: 375m + ephemeral-storage: 2Gi + memory: 384Mi + requests: + cpu: 250m + ephemeral-storage: 50Mi + memory: 256Mi + volumeMounts: + - name: empty-dir + mountPath: /tmp + subPath: tmp-dir + - name: empty-dir + mountPath: /opt/bitnami/pgpool/etc + subPath: app-etc-dir + - name: empty-dir + mountPath: /opt/bitnami/pgpool/conf + subPath: app-conf-dir + - name: empty-dir + mountPath: /opt/bitnami/pgpool/tmp + subPath: app-tmp-dir + - name: empty-dir + mountPath: /opt/bitnami/pgpool/logs + subPath: app-logs-dir + volumes: + - name: empty-dir + emptyDir: {} +--- +# Source: gitea/templates/gitea/deployment.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: release-name-gitea + namespace: gitea + annotations: + labels: + app: gitea + app.kubernetes.io/name: gitea + app.kubernetes.io/instance: release-name + app.kubernetes.io/version: "1.22.1" + version: "1.22.1" +spec: + replicas: 1 + strategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 0 + maxSurge: 100% + selector: + matchLabels: + app.kubernetes.io/name: gitea + app.kubernetes.io/instance: release-name + template: + metadata: + annotations: + checksum/config: 00fd8064076a446a896870db4974c6590fcf51561cf391547e559011465a57d8 + labels: + app: gitea + app.kubernetes.io/name: gitea + app.kubernetes.io/instance: release-name + app.kubernetes.io/version: "1.22.1" + version: "1.22.1" + spec: + nodeSelector: + nodegroup: nd + securityContext: + fsGroup: 1000 + initContainers: + - name: init-directories + image: "gitea/gitea:1.22.1-rootless" + imagePullPolicy: IfNotPresent + command: ["/usr/sbin/init_directory_structure.sh"] + env: + - name: GITEA_APP_INI + value: /data/gitea/conf/app.ini + - name: GITEA_CUSTOM + value: /data/gitea + - name: GITEA_WORK_DIR + value: /data + - name: GITEA_TEMP + value: /tmp/gitea + volumeMounts: + - name: init + mountPath: /usr/sbin + - name: temp + mountPath: /tmp + - name: data + mountPath: /data + + securityContext: + {} + resources: + limits: {} + requests: + cpu: 100m + memory: 128Mi + - name: init-app-ini + image: "gitea/gitea:1.22.1-rootless" + imagePullPolicy: IfNotPresent + command: ["/usr/sbin/config_environment.sh"] + env: + - name: GITEA_APP_INI + value: /data/gitea/conf/app.ini + - name: GITEA_CUSTOM + value: /data/gitea + - name: GITEA_WORK_DIR + value: /data + - name: GITEA_TEMP + value: /tmp/gitea + volumeMounts: + - name: config + mountPath: /usr/sbin + - name: temp + mountPath: /tmp + - name: data + mountPath: /data + - name: inline-config-sources + mountPath: /env-to-ini-mounts/inlines/ + + securityContext: + {} + resources: + limits: {} + requests: + cpu: 100m + memory: 128Mi + - name: configure-gitea + image: "gitea/gitea:1.22.1-rootless" + command: ["/usr/sbin/configure_gitea.sh"] + imagePullPolicy: IfNotPresent + securityContext: + runAsUser: 1000 + env: + - name: GITEA_APP_INI + value: /data/gitea/conf/app.ini + - name: GITEA_CUSTOM + value: /data/gitea + - name: GITEA_WORK_DIR + value: /data + - name: GITEA_TEMP + value: /tmp/gitea + - name: HOME + value: /data/gitea/git + - name: GITEA_ADMIN_USERNAME + value: "gitea_admin" + - name: GITEA_ADMIN_PASSWORD + value: "nhn!@#123" # sdjo + - name: GITEA_ADMIN_PASSWORD_MODE + value: keepUpdated + volumeMounts: + - name: init + mountPath: /usr/sbin + - name: temp + mountPath: /tmp + - name: data + mountPath: /data + + resources: + limits: {} + requests: + cpu: 100m + memory: 128Mi + terminationGracePeriodSeconds: 60 + containers: + - name: gitea + image: "gitea/gitea:1.22.1-rootless" + imagePullPolicy: IfNotPresent + env: + # SSH Port values have to be set here as well for openssh configuration + - name: SSH_LISTEN_PORT + value: "2222" + - name: SSH_PORT + value: "22" + - name: GITEA_APP_INI + value: /data/gitea/conf/app.ini + - name: GITEA_CUSTOM + value: /data/gitea + - name: GITEA_WORK_DIR + value: /data + - name: GITEA_TEMP + value: /tmp/gitea + - name: TMPDIR + value: /tmp/gitea + - name: HOME + value: /data/gitea/git + ports: + - name: ssh + containerPort: 2222 + - name: http + containerPort: 3000 + livenessProbe: + failureThreshold: 10 + initialDelaySeconds: 200 + periodSeconds: 10 + successThreshold: 1 + tcpSocket: + port: http + timeoutSeconds: 1 + readinessProbe: + failureThreshold: 3 + initialDelaySeconds: 5 + periodSeconds: 10 + successThreshold: 1 + tcpSocket: + port: http + timeoutSeconds: 1 + resources: + {} + securityContext: + {} + volumeMounts: + - name: temp + mountPath: /tmp + - name: data + mountPath: /data + + volumes: + - name: init + secret: + secretName: release-name-gitea-init + defaultMode: 110 + - name: config + secret: + secretName: release-name-gitea + defaultMode: 110 + - name: inline-config-sources + secret: + secretName: release-name-gitea-inline-config + - name: temp + emptyDir: {} + - name: data + hostPath: + path: /data/gitea-shared-storage + type: DirectoryOrCreate diff --git a/template/gyeonggi/gitea/3_apply/postgresql.yaml b/template/gyeonggi/gitea/3_apply/postgresql.yaml new file mode 100644 index 0000000..8132a09 --- /dev/null +++ b/template/gyeonggi/gitea/3_apply/postgresql.yaml @@ -0,0 +1,251 @@ +# Source: gitea/charts/postgresql-ha/templates/postgresql/statefulset.yaml +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: release-name-postgresql-ha-postgresql + namespace: "gitea" + labels: + app.kubernetes.io/instance: release-name + app.kubernetes.io/name: postgresql-ha + app.kubernetes.io/version: 16.3.0 + app.kubernetes.io/component: postgresql + role: data +spec: + replicas: 3 + podManagementPolicy: "Parallel" + serviceName: release-name-postgresql-ha-postgresql-headless + updateStrategy: + type: RollingUpdate + selector: + matchLabels: + app.kubernetes.io/instance: release-name + app.kubernetes.io/name: postgresql-ha + app.kubernetes.io/component: postgresql + role: data + template: + metadata: + labels: + app.kubernetes.io/instance: release-name + app.kubernetes.io/name: postgresql-ha + app.kubernetes.io/version: 16.3.0 + app.kubernetes.io/component: postgresql + role: data + spec: + nodeSelector: + nodegroup: nd + automountServiceAccountToken: false + affinity: + podAffinity: + + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/instance: release-name + app.kubernetes.io/name: postgresql-ha + app.kubernetes.io/component: postgresql + topologyKey: kubernetes.io/hostname + weight: 1 + nodeAffinity: + + securityContext: + fsGroup: 1001 + fsGroupChangePolicy: Always + supplementalGroups: [] + sysctls: [] + serviceAccountName: release-name-postgresql-ha + hostNetwork: false + hostIPC: false + containers: + - name: postgresql + image: docker.io/bitnami/postgresql-repmgr:16.3.0-debian-12-r15 + imagePullPolicy: "IfNotPresent" + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + privileged: false + readOnlyRootFilesystem: true + runAsGroup: 1001 + runAsNonRoot: true + runAsUser: 1001 + seccompProfile: + type: RuntimeDefault + lifecycle: + preStop: + exec: + command: + - /pre-stop.sh + - "25" + # Auxiliary vars to populate environment variables + env: + - name: BITNAMI_DEBUG + value: "false" + # PostgreSQL configuration + - name: POSTGRESQL_VOLUME_DIR + value: "/bitnami/postgresql" + - name: PGDATA + value: "/bitnami/postgresql/data" + - name: POSTGRES_POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: release-name-postgresql-ha-postgresql + key: postgres-password + - name: POSTGRES_USER + value: "gitea" + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: release-name-postgresql-ha-postgresql + key: password + - name: POSTGRES_DB + value: "gitea" + - name: POSTGRESQL_LOG_HOSTNAME + value: "true" + - name: POSTGRESQL_LOG_CONNECTIONS + value: "false" + - name: POSTGRESQL_LOG_DISCONNECTIONS + value: "false" + - name: POSTGRESQL_PGAUDIT_LOG_CATALOG + value: "off" + - name: POSTGRESQL_CLIENT_MIN_MESSAGES + value: "error" + - name: POSTGRESQL_SHARED_PRELOAD_LIBRARIES + value: "pgaudit, repmgr" + - name: POSTGRESQL_ENABLE_TLS + value: "no" + - name: POSTGRESQL_PORT_NUMBER + value: "5432" + # Repmgr configuration + - name: REPMGR_PORT_NUMBER + value: "5432" + - name: REPMGR_PRIMARY_PORT + value: "5432" + - name: MY_POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: REPMGR_UPGRADE_EXTENSION + value: "no" + - name: REPMGR_PGHBA_TRUST_ALL + value: "no" + - name: REPMGR_MOUNTED_CONF_DIR + value: "/bitnami/repmgr/conf" + - name: REPMGR_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: REPMGR_PARTNER_NODES + value: release-name-postgresql-ha-postgresql-0.release-name-postgresql-ha-postgresql-headless.$(REPMGR_NAMESPACE).svc.cluster.local,release-name-postgresql-ha-postgresql-1.release-name-postgresql-ha-postgresql-headless.$(REPMGR_NAMESPACE).svc.cluster.local,release-name-postgresql-ha-postgresql-2.release-name-postgresql-ha-postgresql-headless.$(REPMGR_NAMESPACE).svc.cluster.local, + - name: REPMGR_PRIMARY_HOST + value: "release-name-postgresql-ha-postgresql-0.release-name-postgresql-ha-postgresql-headless.$(REPMGR_NAMESPACE).svc.cluster.local" + - name: REPMGR_NODE_NAME + value: "$(MY_POD_NAME)" + - name: REPMGR_NODE_NETWORK_NAME + value: "$(MY_POD_NAME).release-name-postgresql-ha-postgresql-headless.$(REPMGR_NAMESPACE).svc.cluster.local" + - name: REPMGR_NODE_TYPE + value: "data" + - name: REPMGR_LOG_LEVEL + value: "NOTICE" + - name: REPMGR_CONNECT_TIMEOUT + value: "5" + - name: REPMGR_RECONNECT_ATTEMPTS + value: "2" + - name: REPMGR_RECONNECT_INTERVAL + value: "3" + - name: REPMGR_USERNAME + value: "repmgr" + - name: REPMGR_PASSWORD + valueFrom: + secretKeyRef: + name: release-name-postgresql-ha-postgresql + key: repmgr-password + - name: REPMGR_DATABASE + value: "repmgr" + - name: REPMGR_FENCE_OLD_PRIMARY + value: "no" + - name: REPMGR_CHILD_NODES_CHECK_INTERVAL + value: "5" + - name: REPMGR_CHILD_NODES_CONNECTED_MIN_COUNT + value: "1" + - name: REPMGR_CHILD_NODES_DISCONNECT_TIMEOUT + value: "30" + envFrom: + ports: + - name: postgresql + containerPort: 5432 + protocol: TCP + livenessProbe: + failureThreshold: 6 + initialDelaySeconds: 30 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 5 + exec: + command: + - bash + - -ec + - 'PGPASSWORD=$POSTGRES_PASSWORD psql -w -U "gitea" -d "gitea" -h 127.0.0.1 -p 5432 -c "SELECT 1"' + readinessProbe: + failureThreshold: 6 + initialDelaySeconds: 5 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 5 + exec: + command: + - bash + - -ec + - | + exec pg_isready -U "postgres" -h 127.0.0.1 -p 5432 + [ -f /opt/bitnami/postgresql/tmp/.initialized ] || [ -f /bitnami/postgresql/.initialized ] + resources: + limits: + cpu: 375m + ephemeral-storage: 2Gi + memory: 384Mi + requests: + cpu: 250m + ephemeral-storage: 50Mi + memory: 256Mi + volumeMounts: + - name: empty-dir + mountPath: /tmp + subPath: tmp-dir + - name: empty-dir + mountPath: /opt/bitnami/postgresql/conf + subPath: app-conf-dir + - name: empty-dir + mountPath: /opt/bitnami/postgresql/tmp + subPath: app-tmp-dir + - name: empty-dir + mountPath: /opt/bitnami/repmgr/conf + subPath: repmgr-conf-dir + - name: empty-dir + mountPath: /opt/bitnami/repmgr/tmp + subPath: repmgr-tmp-dir + - name: empty-dir + mountPath: /opt/bitnami/repmgr/logs + subPath: repmgr-logs-dir + - name: data + mountPath: /bitnami/postgresql + subPathExpr: $(MY_POD_NAME) + - name: hooks-scripts + mountPath: /pre-stop.sh + subPath: pre-stop.sh + - name: hooks-scripts + mountPath: /readiness-probe.sh + subPath: readiness-probe.sh + volumes: + - name: empty-dir + emptyDir: {} + - name: hooks-scripts + configMap: + name: release-name-postgresql-ha-postgresql-hooks-scripts + defaultMode: 0755 + - name: data + hostPath: + path: /data + type: DirectoryOrCreate diff --git a/template/gyeonggi/gitea/3_apply/redis.yaml b/template/gyeonggi/gitea/3_apply/redis.yaml new file mode 100644 index 0000000..8c05477 --- /dev/null +++ b/template/gyeonggi/gitea/3_apply/redis.yaml @@ -0,0 +1,181 @@ +# Source: cdgitea/charts/redis-cluster/templates/redis-statefulset.yaml +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: release-name-redis-cluster + namespace: "gitea" + labels: + app.kubernetes.io/instance: release-name + app.kubernetes.io/name: redis-cluster + app.kubernetes.io/version: 7.2.5 +spec: + updateStrategy: + rollingUpdate: + partition: 0 + type: RollingUpdate + selector: + matchLabels: + app.kubernetes.io/instance: release-name + app.kubernetes.io/name: redis-cluster + replicas: 3 + serviceName: release-name-redis-cluster-headless + podManagementPolicy: Parallel + template: + metadata: + labels: + app.kubernetes.io/instance: release-name + app.kubernetes.io/name: redis-cluster + app.kubernetes.io/version: 7.2.5 + annotations: + checksum/scripts: f4443ed238f1b19ab40555e6ba2aea56daba79e8270549f884b9b31cf8e0e2ee + checksum/secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + checksum/config: 958b865b26062946819f240fe4e5fd268b7c3203b944549981f1bd7fdc7947eb + spec: + nodeSelector: + nodegroup: nd + hostNetwork: false + enableServiceLinks: false + + securityContext: + fsGroup: 1001 + fsGroupChangePolicy: Always + supplementalGroups: [] + sysctls: [] + serviceAccountName: release-name-redis-cluster + automountServiceAccountToken: false + affinity: + podAffinity: + + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/instance: release-name + app.kubernetes.io/name: redis-cluster + topologyKey: kubernetes.io/hostname + weight: 1 + nodeAffinity: + + containers: + - name: release-name-redis-cluster + image: docker.io/bitnami/redis-cluster:7.2.5-debian-12-r2 + imagePullPolicy: "IfNotPresent" + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + privileged: false + readOnlyRootFilesystem: true + runAsGroup: 1001 + runAsNonRoot: true + runAsUser: 1001 + seccompProfile: + type: RuntimeDefault + command: ['/bin/bash', '-c'] + args: + - | + # Backwards compatibility change + if ! [[ -f /opt/bitnami/redis/etc/redis.conf ]]; then + echo COPYING FILE + cp /opt/bitnami/redis/etc/redis-default.conf /opt/bitnami/redis/etc/redis.conf + fi + pod_index=($(echo "$POD_NAME" | tr "-" "\n")) + pod_index="${pod_index[-1]}" + if [[ "$pod_index" == "0" ]]; then + export REDIS_CLUSTER_CREATOR="yes" + export REDIS_CLUSTER_REPLICAS="0" + fi + /opt/bitnami/scripts/redis-cluster/entrypoint.sh /opt/bitnami/scripts/redis-cluster/run.sh + env: + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: REDIS_NODES + value: "release-name-redis-cluster-0.release-name-redis-cluster-headless release-name-redis-cluster-1.release-name-redis-cluster-headless release-name-redis-cluster-2.release-name-redis-cluster-headless " + - name: ALLOW_EMPTY_PASSWORD + value: "yes" + - name: REDIS_AOF_ENABLED + value: "yes" + - name: REDIS_TLS_ENABLED + value: "no" + - name: REDIS_PORT_NUMBER + value: "6379" + ports: + - name: tcp-redis + containerPort: 6379 + - name: tcp-redis-bus + containerPort: 16379 + livenessProbe: + initialDelaySeconds: 5 + periodSeconds: 5 + # One second longer than command timeout should prevent generation of zombie processes. + timeoutSeconds: 6 + successThreshold: 1 + failureThreshold: 5 + exec: + command: + - sh + - -c + - /scripts/ping_liveness_local.sh 5 + readinessProbe: + initialDelaySeconds: 5 + periodSeconds: 5 + # One second longer than command timeout should prevent generation of zombie processes. + timeoutSeconds: 2 + successThreshold: 1 + failureThreshold: 5 + exec: + command: + - sh + - -c + - /scripts/ping_readiness_local.sh 1 + resources: + limits: + cpu: 150m + ephemeral-storage: 2Gi + memory: 192Mi + requests: + cpu: 100m + ephemeral-storage: 50Mi + memory: 128Mi + volumeMounts: + - name: scripts + mountPath: /scripts + - name: redis-data + mountPath: /bitnami/redis/data + subPathExpr: $(POD_NAME) + subPath: + - name: default-config + mountPath: /opt/bitnami/redis/etc/redis-default.conf + subPath: redis-default.conf + - name: empty-dir + mountPath: /opt/bitnami/redis/etc/ + subPath: app-conf-dir + - name: empty-dir + mountPath: /opt/bitnami/redis/tmp + subPath: app-tmp-dir + - name: empty-dir + mountPath: /opt/bitnami/redis/logs + subPath: app-logs-dir + - name: empty-dir + mountPath: /tmp + subPath: tmp-dir + volumes: + - name: scripts + configMap: + name: release-name-redis-cluster-scripts + defaultMode: 0755 + - name: default-config + configMap: + name: release-name-redis-cluster-default + - name: empty-dir + emptyDir: {} + - name: redis-data + hostPath: + path: /data + type: DirectoryOrCreate + + diff --git a/template/gyeonggi/gitea/3_apply/deploy.yaml b/template/gyeonggi/gitea/deploy.bak similarity index 100% rename from template/gyeonggi/gitea/3_apply/deploy.yaml rename to template/gyeonggi/gitea/deploy.bak diff --git a/template/gyeonggi/monitoring/base/grafana/deploy.yaml b/template/gyeonggi/monitoring/base/grafana/deploy.yaml index 04a5feb..4050fdf 100644 --- a/template/gyeonggi/monitoring/base/grafana/deploy.yaml +++ b/template/gyeonggi/monitoring/base/grafana/deploy.yaml @@ -115,7 +115,8 @@ spec: configMap: name: grafana - name: storage - persistentVolumeClaim: - claimName: grafana-pvc + hostPath: + path: /data/grafana + type: DirectoryOrCreate # - name: storage - # emptyDir: {} \ No newline at end of file + # emptyDir: {} diff --git a/template/gyeonggi/monitoring/base/grafana/kustomization.yaml b/template/gyeonggi/monitoring/base/grafana/kustomization.yaml index 815106d..d625ac4 100644 --- a/template/gyeonggi/monitoring/base/grafana/kustomization.yaml +++ b/template/gyeonggi/monitoring/base/grafana/kustomization.yaml @@ -13,5 +13,4 @@ resources: - secret.yaml - service.yaml - ingress.yaml - - pvc.yaml - \ No newline at end of file + diff --git a/template/gyeonggi/monitoring/base/grafana/pvc.yaml b/template/gyeonggi/monitoring/base/grafana/pvc.yaml deleted file mode 100644 index 9a0cc28..0000000 --- a/template/gyeonggi/monitoring/base/grafana/pvc.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: grafana-pvc - namespace: monitoring - labels: - app.kubernetes.io/name: grafana -spec: - accessModes: - - "ReadWriteOnce" - resources: - requests: - storage: "10Gi" \ No newline at end of file diff --git a/template/gyeonggi/monitoring/overlays/default/grafana/patch-deploy.yaml b/template/gyeonggi/monitoring/overlays/default/grafana/patch-deploy.yaml index 5d3f468..4cb5ee8 100644 --- a/template/gyeonggi/monitoring/overlays/default/grafana/patch-deploy.yaml +++ b/template/gyeonggi/monitoring/overlays/default/grafana/patch-deploy.yaml @@ -14,7 +14,8 @@ spec: mountPath: "/var/lib/grafana" volumes: - name: storage - persistentVolumeClaim: - claimName: grafana-pvc + hostPath: + path: /data/grafana + type: DirectoryOrCreate # - name: storage - # emptyDir: {} \ No newline at end of file + # emptyDir: {}