From b9fe6010054b995e913db8903a85c14e23cba651 Mon Sep 17 00:00:00 2001 From: pricelees Date: Fri, 11 Jul 2025 17:31:47 +0900 Subject: [PATCH] refactor: update sample helm chart --- chart/templates/application.yaml | 33 ++++++++++--------------------- chart/templates/ingress.yaml | 30 ++++++++++++++++++++++++++++ chart/templates/mysql-deploy.yaml | 24 ++++++++-------------- chart/templates/secrets.yaml | 18 ----------------- chart/templates/services.yaml | 14 ++++++------- chart/values.yaml | 32 +++++++++++++++++++++++++++--- 6 files changed, 84 insertions(+), 67 deletions(-) create mode 100644 chart/templates/ingress.yaml delete mode 100644 chart/templates/secrets.yaml diff --git a/chart/templates/application.yaml b/chart/templates/application.yaml index 583087e..75f7638 100644 --- a/chart/templates/application.yaml +++ b/chart/templates/application.yaml @@ -5,7 +5,7 @@ metadata: name: {{ .Values.application.name }} namespace: {{ .Values.common.namespace }} labels: - app: {{ .Values.application.name }} + app: {{ .Values.application.name }} spec: selector: @@ -20,35 +20,22 @@ spec: containers: - name: {{ .Values.application.name }} image: {{ .Values.application.image }}:{{ .Values.application.tag | default "latest" }} + ports: - containerPort: {{ .Values.application.ports.containerPort }} name: {{ .Values.application.ports.name }} env: - name: SPRING_PROFILES_ACTIVE - valueFrom: - secretKeyRef: - name: {{ .Values.common.secretName }} - key: spring_profile + value: {{ .Values.application.env.spring_profile }} - name: SPRING_DATASOURCE_URL - valueFrom: - secretKeyRef: - name: {{ .Values.common.secretName }} - key: database_url + value: {{ .Values.application.env.database_url }} - name: SPRING_DATASOURCE_DRIVER_CLASS_NAME - valueFrom: - secretKeyRef: - name: {{ .Values.common.secretName }} - key: database_driver_class - + value: {{ .Values.application.env.database_driver_class }} - name: SPRING_DATASOURCE_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.common.secretName }} - key: database_username - + value: {{ .Values.database.env.username }} - name: SPRING_DATASOURCE_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.common.secretName }} - key: database_password \ No newline at end of file + value: {{ .Values.database.env.password }} + + imagePullSecrets: + - name: privateregistry \ No newline at end of file diff --git a/chart/templates/ingress.yaml b/chart/templates/ingress.yaml new file mode 100644 index 0000000..2bff58b --- /dev/null +++ b/chart/templates/ingress.yaml @@ -0,0 +1,30 @@ +{{- if .Values.application.ingress.enabled -}} +apiVersion: networking.k8s.io/v1 +kind: Ingress + +metadata: + name: {{ .Values.application.ingress.name }} + namespace: {{ .Values.common.namespace }} + annotations: + cert-manager.io/cluster-issuer: {{ .Values.application.ingress.clusterIssuer }} + nginx.ingress.kubernetes.io/rewrite-target: /$2 + nginx.ingress.kubernetes.io/use-forwarded-headers: "true" + nginx.ingress.kubernetes.io/x-forwarded-for: "$proxy_add_x_forwarded_for" +spec: + ingressClassName: {{ .Values.application.ingress.className }} + tls: + - hosts: + - {{ .Values.application.ingress.host }} + secretName: {{ .Values.application.ingress.tls.secretName }} + rules: + - host: {{ .Values.application.ingress.host }} + http: + paths: + - path: {{ .Values.application.ingress.path }} + pathType: ImplementationSpecific + backend: + service: + name: {{ .Values.application.service.name }} + port: + number: {{ .Values.application.service.port }} +{{- end }} \ No newline at end of file diff --git a/chart/templates/mysql-deploy.yaml b/chart/templates/mysql-deploy.yaml index fefd30f..2a127a0 100644 --- a/chart/templates/mysql-deploy.yaml +++ b/chart/templates/mysql-deploy.yaml @@ -8,6 +8,10 @@ metadata: app: {{ .Values.database.name }} spec: + serviceName: {{ .Values.database.service.name }} + selector: + matchLabels: + app: {{ .Values.database.name }} template: metadata: labels: @@ -22,25 +26,13 @@ spec: env: - name: MYSQL_ROOT_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.common.secretName }} - key: database_root_password + value: {{ .Values.database.env.root_password | quote }} - name: MYSQL_DATABASE - valueFrom: - secretKeyRef: - name: {{ .Values.common.secretName }} - key: default_database + value: {{ .Values.database.env.default_database | quote }} - name: MYSQL_USER - valueFrom: - secretKeyRef: - name: {{ .Values.common.secretName }} - key: database_username + value: {{ .Values.database.env.username | quote }} - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.common.secretName }} - key: database_password + value: {{ .Values.database.env.password | quote }} volumeMounts: - name: {{ .Values.database.volume.name }} diff --git a/chart/templates/secrets.yaml b/chart/templates/secrets.yaml deleted file mode 100644 index 7e0e910..0000000 --- a/chart/templates/secrets.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: v1 -kind: Secret - -metadata: - name: {{ .Values.common.secretName }} - -type: 0paque - -stringData: - spring_profile: "deploy" - default_database: "" - database_driver_class: "" - database_url: "" - database_root_password: "" - database_username: "" - database_password: "" - - diff --git a/chart/templates/services.yaml b/chart/templates/services.yaml index 75b063d..26e5782 100644 --- a/chart/templates/services.yaml +++ b/chart/templates/services.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ .Values.database.name }}-service + name: {{ .Values.application.service.name }} labels: app: {{ .Values.database.name }} @@ -19,13 +19,13 @@ apiVersion: v1 kind: Service metadata: - name: {{ .Values.application.name }}-service + name: {{ .Values.application.service.name }} labels: app: {{ .Values.application.name }} spec: - type: {{ .Values.application.service.type }} - ports: - - port: {{ .Values.application.service.port }} - selector: - app: {{ .Values.application.name }} + type: {{ .Values.application.service.type }} + ports: + - port: {{ .Values.application.service.port }} + selector: + app: {{ .Values.application.name }} diff --git a/chart/values.yaml b/chart/values.yaml index 33c1699..79638cc 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -1,6 +1,5 @@ common: - namespace: argo-vault-demo - secretName: argo-vault-demo-secret + namespace: argo-demo database: image: mysql:8.4 @@ -23,6 +22,7 @@ database: size: 512Mi service: + name: mysql-service type: ClusterIP port: 3306 @@ -30,13 +30,39 @@ database: name: mysql-data mountPath: /var/lib/mysql + env: + default_database: + root_password: + username: + password: + application: name: argo-vault-demo image: argo-vault-demo tag: latest + ports: containerPort: 8080 name: application + service: + name: argo-vault-demo-service type: ClusterIP - port: 8080 \ No newline at end of file + port: 8080 + + ingress: + enabled: true + name: argo-vault-demo-ingress + clusterIssuer: letsencrypt-prod + className: nginx + host: "your-domain.com" + path: /api(/|$)(.*) + tls: + enabled: false + secretName: argo-demo-ingress-cert + + env: + spring_profile: "deploy" + database_url: + database_driver_class: +