This commit is contained in:
Kekskurse 2019-11-27 17:13:24 +01:00
parent 1432bab3c0
commit dbff63ef0e
6 changed files with 98 additions and 27 deletions

View file

@ -18,4 +18,4 @@ version: 0.1.0
# This is the version number of the application being deployed. This version number should be # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. # incremented each time you make changes to the application.
appVersion: 1.16.0 appVersion: 0.1.0

View file

@ -13,7 +13,7 @@ data:
DB_PASSWORD: "{{.Values.mysql.password}}" DB_PASSWORD: "{{.Values.mysql.password}}"
SAVE_TOKEN_TO_SESSION: "false" SAVE_TOKEN_TO_SESSION: "false"
NEW_GUI: "1" NEW_GUI: "1"
GUI_URL: "{{.Values.guiURL}}" GUI_URL: "{{.Values.api.frontendURL}}"
S3_ACCESS_KEY: "{{.Values.s3.accessKey}}" S3_ACCESS_KEY: "{{.Values.s3.accessKey}}"
S3_SECRET: "{{.Values.s3.secret}}" S3_SECRET: "{{.Values.s3.secret}}"
S3_Bucket: "{{.Values.s3.bucket}}" S3_Bucket: "{{.Values.s3.bucket}}"
@ -33,7 +33,7 @@ spec:
initContainers: initContainers:
- name: init-migration - name: init-migration
imagePullPolicy: {{.Values.api.imagePullPolicy}} imagePullPolicy: {{.Values.api.imagePullPolicy}}
image: docker.keks.cloud/keksaccount/web:{{.Values.api.version}} image: {{.Values.api.container}}:{{.Values.api.version}}
command: ['php', 'artisan', 'migrate', '--force'] command: ['php', 'artisan', 'migrate', '--force']
envFrom: envFrom:
- configMapRef: - configMapRef:
@ -41,7 +41,7 @@ spec:
containers: containers:
- name: api - name: api
imagePullPolicy: {{.Values.api.imagePullPolicy}} imagePullPolicy: {{.Values.api.imagePullPolicy}}
image: docker.keks.cloud/keksaccount/web:{{.Values.api.version}} image: {{.Values.api.container}}:{{.Values.api.version}}
ports: ports:
- containerPort: 80 - containerPort: 80
envFrom: envFrom:
@ -79,10 +79,11 @@ spec:
issuerRef: issuerRef:
name: letsencrypt-prod name: letsencrypt-prod
kind: ClusterIssuer kind: ClusterIssuer
commonName: '{{ .Values.apiUrl }}' commonName: '{{ .Values.api.url }}'
dnsNames: dnsNames:
- {{ .Values.apiUrl }} - {{ .Values.api.url }}
{{ end }} {{ end }}
{{ if .Values.api.ingress }}
--- ---
apiVersion: extensions/v1beta1 apiVersion: extensions/v1beta1
kind: Ingress kind: Ingress
@ -91,7 +92,7 @@ metadata:
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
spec: spec:
rules: rules:
- host: {{ .Values.apiUrl }} - host: {{ .Values.api.url }}
http: http:
paths: paths:
- backend: - backend:
@ -100,5 +101,6 @@ spec:
path: / path: /
{{ if .Values.api.ssl }} {{ if .Values.api.ssl }}
tls: tls:
- secretName: account-keks-cloud-tls - secretName: api-tls
{{ end }}
{{ end }} {{ end }}

View file

@ -4,7 +4,7 @@ metadata:
name: env-gui name: env-gui
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
data: data:
VUE_APP_API_URL: "{{.Values.apiUrl}}" VUE_APP_API_URL: "{{.Values.gui.backendURL}}"
--- ---
apiVersion: extensions/v1beta1 apiVersion: extensions/v1beta1
kind: Deployment kind: Deployment
@ -21,7 +21,7 @@ spec:
containers: containers:
- name: gui - name: gui
imagePullPolicy: {{.Values.gui.imagePullPolicy}} imagePullPolicy: {{.Values.gui.imagePullPolicy}}
image: docker.keks.cloud/keksaccount/gui:{{.Values.gui.version}} image: {{.Values.gui.container}}:{{.Values.gui.version}}
ports: ports:
- containerPort: 8080 - containerPort: 8080
envFrom: envFrom:
@ -59,10 +59,11 @@ spec:
issuerRef: issuerRef:
name: letsencrypt-prod name: letsencrypt-prod
kind: ClusterIssuer kind: ClusterIssuer
commonName: '{{ .Values.guiURL }}' commonName: '{{ .Values.gui.url }}'
dnsNames: dnsNames:
- {{ .Values.guiURL }} - {{ .Values.gui.url }}
{{ end }} {{ end }}
{{ if .Values.api.ingress }}
--- ---
apiVersion: extensions/v1beta1 apiVersion: extensions/v1beta1
kind: Ingress kind: Ingress
@ -71,7 +72,7 @@ metadata:
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
spec: spec:
rules: rules:
- host: {{ .Values.guiURL }} - host: {{ .Values.gui.url }}
http: http:
paths: paths:
- backend: - backend:
@ -80,5 +81,6 @@ spec:
path: / path: /
{{ if .Values.gui.ssl }} {{ if .Values.gui.ssl }}
tls: tls:
- secretName: account-keks-cloud-tls - secretName: gui-tls
{{ end }}
{{ end }} {{ end }}

56
templates/ingress.yml Normal file
View file

@ -0,0 +1,56 @@
{{ if .Values.ingress.enabled }}
{{ if .Values.ingress.ssl }}
---
apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
name: ingress-tls
namespace: {{ .Release.Namespace }}
spec:
secretName: ingress-tls
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
commonName: '{{ .Values.ingress.url }}'
dnsNames:
- {{ .Values.ingress.url }}
{{ end }}
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress
namespace: {{ .Release.Namespace }}
spec:
rules:
- host: {{ .Values.ingress.url }}
http:
paths:
- path: /gitlab/
backend:
serviceName: ingress-api
servicePort: 80
- path: /oauth/
backend:
serviceName: ingress-api
servicePort: 80
- path: /api/
backend:
serviceName: ingress-api
servicePort: 80
{{ if .Values.ingress.oldGui }}
- path: /gui/
backend:
serviceName: ingress-api
servicePort: 80
{{ end }}
- path: /
backend:
serviceName: ingress-gui
servicePort: 80
{{ if .Values.ingress.ssl }}
tls:
- secretName: ingress-tls
{{ end }}
{{ end }}

View file

@ -13,7 +13,7 @@ spec:
containers: containers:
- name: app - name: app
imagePullPolicy: {{.Values.queueworker.imagePullPolicy}} imagePullPolicy: {{.Values.queueworker.imagePullPolicy}}
image: docker.keks.cloud/keksaccount/app:{{.Values.queueworker.version}} image: {{.Values.queueworker.container}}:{{.Values.queueworker.version}}
envFrom: envFrom:
- configMapRef: - configMapRef:
name: env-api name: env-api

View file

@ -1,9 +1,5 @@
apiUrl: api.account.helm.keks.cloud
guiURL: account.helm.keks.cloud
mysql: mysql:
ownServer: true # Just used for development stuff ownServer: false # Just used for development stuff
host: mysql host: mysql
port: 3306 port: 3306
username: account username: account
@ -17,24 +13,39 @@ s3:
bucket: "" bucket: ""
api: api:
ingress: false
url: api.account.helm.keks.cloud
frontendURL: https://account-stg.keks.cloud
replicas: 3 replicas: 3
newGui: "1" newGui: "1"
tls: true tls: true
version: latest version: 0.2.0-pre1
imagePullPolicy: Always container: kekscloud/keksaccount-api
imagePullPolicy: IfNotPresent
ssl: false ssl: false
queueworker: queueworker:
replicas: 2 replicas: 2
version: latest container: kekscloud/keksaccount-api
imagePullPolicy: Always version: 0.2.0-pre1
imagePullPolicy: IfNotPresent
gui: gui:
ingress: false
url: gui.account.helm.keks.cloud
backendURL: https://account-stg.keks.cloud/
replicas: 2 replicas: 2
version: latest version: 0.2.0-pre1.1
imagePullPolicy: Always container: kekscloud/keksaccount-gui
imagePullPolicy: IfNotPresent
ssl: false ssl: false
dockerHub: dockerHub:
enabled: true enabled: false
secret: docker-keks-cloud secret: docker-keks-cloud
ingress:
enabled: true
ssl: false
url: account-stg.keks.cloud
oldGui: true #Used until all features are migrated to v0.2.0