Compare commits

..

No commits in common. "51591b8cc7efc56d65d0997bdf48037f746a5f44" and "1364d02816052fd7edf7c7ae219f8c1256fc05ac" have entirely different histories.

7 changed files with 68 additions and 89 deletions

View File

@ -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,22 +20,35 @@ 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
value: {{ .Values.application.env.spring_profile }}
valueFrom:
secretKeyRef:
name: {{ .Values.common.secretName }}
key: spring_profile
- name: SPRING_DATASOURCE_URL
value: {{ .Values.application.env.database_url }}
valueFrom:
secretKeyRef:
name: {{ .Values.common.secretName }}
key: database_url
- name: SPRING_DATASOURCE_DRIVER_CLASS_NAME
value: {{ .Values.application.env.database_driver_class }}
- name: SPRING_DATASOURCE_USERNAME
value: {{ .Values.database.env.username }}
- name: SPRING_DATASOURCE_PASSWORD
value: {{ .Values.database.env.password }}
valueFrom:
secretKeyRef:
name: {{ .Values.common.secretName }}
key: database_driver_class
imagePullSecrets:
- name: privateregistry
- name: SPRING_DATASOURCE_USERNAME
valueFrom:
secretKeyRef:
name: {{ .Values.common.secretName }}
key: database_username
- name: SPRING_DATASOURCE_PASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.common.secretName }}
key: database_password

View File

@ -1,30 +0,0 @@
{{- 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 }}

View File

@ -8,10 +8,6 @@ metadata:
app: {{ .Values.database.name }}
spec:
serviceName: {{ .Values.database.service.name }}
selector:
matchLabels:
app: {{ .Values.database.name }}
template:
metadata:
labels:
@ -26,13 +22,25 @@ spec:
env:
- name: MYSQL_ROOT_PASSWORD
value: {{ .Values.database.env.root_password | quote }}
valueFrom:
secretKeyRef:
name: {{ .Values.common.secretName }}
key: database_root_password
- name: MYSQL_DATABASE
value: {{ .Values.database.env.default_database | quote }}
valueFrom:
secretKeyRef:
name: {{ .Values.common.secretName }}
key: default_database
- name: MYSQL_USER
value: {{ .Values.database.env.username | quote }}
valueFrom:
secretKeyRef:
name: {{ .Values.common.secretName }}
key: database_username
- name: MYSQL_PASSWORD
value: {{ .Values.database.env.password | quote }}
valueFrom:
secretKeyRef:
name: {{ .Values.common.secretName }}
key: database_password
volumeMounts:
- name: {{ .Values.database.volume.name }}

View File

@ -0,0 +1,18 @@
apiVersion: v1
kind: Secret
metadata:
name: {{ .Values.common.secretName }}
type: 0paque
stringData:
spring_profile: "deploy"
default_database: "<path:demo/data/application#db_default_database>"
database_driver_class: "<path:demo/data/application#db_driver_class>"
database_url: "<path:demo/data/application#db_url>"
database_root_password: "<path:demo/data/application#db_root_password>"
database_username: "<path:demo/data/application#db_username>"
database_password: "<path:demo/data/application#db_password>"

View File

@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
name: {{ .Values.application.service.name }}
name: {{ .Values.database.name }}-service
labels:
app: {{ .Values.database.name }}
@ -19,13 +19,13 @@ apiVersion: v1
kind: Service
metadata:
name: {{ .Values.application.service.name }}
name: {{ .Values.application.name }}-service
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 }}

View File

@ -1,5 +1,6 @@
common:
namespace: argo-demo
namespace: argo-vault-demo
secretName: argo-vault-demo-secret
database:
image: mysql:8.4
@ -22,7 +23,6 @@ database:
size: 512Mi
service:
name: mysql-service
type: ClusterIP
port: 3306
@ -30,39 +30,13 @@ database:
name: mysql-data
mountPath: /var/lib/mysql
env:
default_database: <path:argo-cd/data/argo-vault-demo#database_default_database>
root_password: <path:argo-cd/data/argo-vault-demo#database_root_password>
username: <path:argo-cd/data/argo-vault-demo#database_username>
password: <path:argo-cd/data/argo-vault-demo#database_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
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: <path:argo-cd/data/argo-vault-demo#database_jdbc_url>
database_driver_class: <path:argo-cd/data/argo-vault-demo#database_driver_class>
port: 8080

View File

@ -1,8 +1,4 @@
spring:
sql:
init:
mode: always
datasource:
driver-class-name: ${SPRING_DATASOURCE_DRIVER_CLASS_NAME}
url: ${SPRING_DATASOURCE_URL}