Update templates and deploy to develop

- proof of concept that this works!
This commit is contained in:
mattwr18 2020-01-28 20:55:08 +01:00
parent 2363c285e1
commit b05e997743
14 changed files with 134 additions and 121 deletions

View File

@ -1,19 +0,0 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
data:
GRAPHQL_URI: "http://{{ .Release.Name }}-backend:4000"
NEO4J_URI: "bolt://{{ .Release.Name }}-neo4j:7687"
CLIENT_URI: "https://{{ .Values.domain }}"
VERSION: {{ .Chart.AppVersion }}
SENTRY_DSN_WEBAPP: {{ .Values.sentryDsnWebapp }}
SENTRY_DSN_BACKEND: {{ .Values.sentryDsnBackend }}
COMMIT: {{ .Values.commit }}
{{- if .Values.developmentMailserverDomain }}
SMTP_HOST: {{ .Release.Name }}-mailserver
SMTP_PORT: "25"
{{- else }}
SMTP_HOST: {{ .Values.smtpHost }}
SMTP_PORT: {{ .Values.smtpPort }}
{{- end }}

View File

@ -1,7 +1,8 @@
apiVersion: extensions/v1beta1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ .Release.Name }}-backend name: {{ .Release.Name }}-backend
namespace: human-connection
spec: spec:
replicas: 1 replicas: 1
minReadySeconds: 15 minReadySeconds: 15
@ -23,23 +24,33 @@ spec:
human-connection.org/selector: deployment-backend human-connection.org/selector: deployment-backend
spec: spec:
containers: containers:
- name: backend - envFrom:
image: humanconnection/nitro-backend:latest
imagePullPolicy: {{ .Values.pullPolicy }}
ports:
- containerPort: 4000
envFrom:
- configMapRef: - configMapRef:
name: {{ .Release.Name }}-configmap name: {{ .Release.Name }}-configmap
- secretRef: - secretRef:
name: {{ .Release.Name }}-secrets name: {{ .Release.Name }}-secrets
# volumeMounts: image: humanconnection/nitro-backend:latest
# - mountPath: /nitro-backend/public/uploads imagePullPolicy: {{ .Values.pullPolicy }}
# name: uploads name: nitro-backend
# volumes: ports:
# - name: uploads - containerPort: 4000
# persistentVolumeClaim: protocol: TCP
# claimName: uploads-claim resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /nitro-backend/public/uploads
name: uploads
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: uploads
persistentVolumeClaim:
claimName: uploads-claim
dnsPolicy: ClusterFirst
restartPolicy: Always restartPolicy: Always
terminationGracePeriodSeconds: 30 terminationGracePeriodSeconds: 30
status: {} status: {}

View File

@ -1,8 +1,9 @@
{{- if .Values.developmentMailserverDomain }} {{- if .Values.developmentMailserverDomain }}
apiVersion: extensions/v1beta1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ .Release.Name }}-mailserver name: {{ .Release.Name }}-mailserver
namespace: human-connection
spec: spec:
replicas: 1 replicas: 1
minReadySeconds: 15 minReadySeconds: 15

View File

@ -1,7 +1,8 @@
apiVersion: extensions/v1beta1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ .Release.Name }}-maintenance name: {{ .Release.Name }}-maintenance
namespace: human-connection
spec: spec:
selector: selector:
matchLabels: matchLabels:

View File

@ -1,7 +1,8 @@
apiVersion: extensions/v1beta1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ .Release.Name }}-neo4j name: {{ .Release.Name }}-neo4j
namespace: human-connection
spec: spec:
replicas: 1 replicas: 1
strategy: strategy:
@ -44,14 +45,12 @@ spec:
envFrom: envFrom:
- configMapRef: - configMapRef:
name: {{ .Release.Name }}-configmap name: {{ .Release.Name }}-configmap
- secretRef: volumeMounts:
name: {{ .Release.Name }}-secrets - mountPath: /data/
# volumeMounts: name: neo4j-data
# - mountPath: /data/ volumes:
# name: neo4j-data - name: neo4j-data
# volumes: persistentVolumeClaim:
# - name: neo4j-data claimName: neo4j-data-claim
# persistentVolumeClaim:
# claimName: neo4j-data-claim
restartPolicy: Always restartPolicy: Always
terminationGracePeriodSeconds: 30 terminationGracePeriodSeconds: 30

View File

@ -1,7 +1,8 @@
apiVersion: extensions/v1beta1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ .Release.Name }}-webapp name: {{ .Release.Name }}-webapp
namespace: human-connection
spec: spec:
replicas: 2 replicas: 2
minReadySeconds: 15 minReadySeconds: 15

View File

@ -2,15 +2,15 @@ apiVersion: extensions/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: {{ .Release.Name }}-ingress name: {{ .Release.Name }}-ingress
namespace: human-connection
annotations: annotations:
kubernetes.io/ingress.class: "nginx" kubernetes.io/ingress.class: "nginx"
certmanager.k8s.io/issuer: {{ .Values.letsencryptIssuer }} cert-manager.io/cluster-issuer: {{ .Values.letsencryptIssuer }}
certmanager.k8s.io/acme-challenge-type: http01 nginx.ingress.kubernetes.io/proxy-body-size: 10m
nginx.ingress.kubernetes.io/proxy-body-size: 6m
spec: spec:
tls: tls:
- hosts: - hosts:
- {{ .Values.humanConnectionDomain }} - {{ .Values.humanConnectionDomain }}
secretName: tls secretName: tls
rules: rules:
- host: {{ .Values.humanConnectionDomain }} - host: {{ .Values.humanConnectionDomain }}
@ -18,7 +18,7 @@ spec:
paths: paths:
- path: / - path: /
backend: backend:
serviceName: webapp serviceName: {{ .Release.Name }}-webapp
servicePort: 3000 servicePort: 3000
{{- if .Values.developmentMailserverDomain }} {{- if .Values.developmentMailserverDomain }}
- host: {{ .Values.developmentMailserverDomain }} - host: {{ .Values.developmentMailserverDomain }}

View File

@ -1,11 +1,14 @@
apiVersion: certmanager.k8s.io/v1alpha1 apiVersion: cert-manager.io/v1alpha2
kind: Issuer kind: ClusterIssuer
metadata: metadata:
name: {{ .Release.Name }}-letsencrypt-prod name: letsencrypt-prod
spec: spec:
acme: acme:
server: https://acme-v02.api.letsencrypt.org/directory server: https://acme-v02.api.letsencrypt.org/directory
email: {{ .Values.supportEmail }} email: {{ .Values.supportEmail }}
privateKeySecretRef: privateKeySecretRef:
name: letsencrypt-prod name: letsencrypt-prod
http01: {} solvers:
- http01:
ingress:
class: nginx

View File

@ -1,11 +1,14 @@
apiVersion: certmanager.k8s.io/v1alpha1 apiVersion: cert-manager.io/v1alpha2
kind: Issuer kind: ClusterIssuer
metadata: metadata:
name: {{ .Release.Name }}-letsencrypt-staging name: letsencrypt-staging
spec: spec:
acme: acme:
server: https://acme-staging-v02.api.letsencrypt.org/directory server: https://acme-staging-v02.api.letsencrypt.org/directory
email: {{ .Values.supportEmail }} email: {{ .Values.supportEmail }}
privateKeySecretRef: privateKeySecretRef:
name: letsencrypt-staging name: letsencrypt-staging
http01: {} solvers:
- http01:
ingress:
class: nginx

View File

@ -2,6 +2,7 @@ apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ .Release.Name }}-backend name: {{ .Release.Name }}-backend
namespace: human-connection
spec: spec:
ports: ports:
- name: graphql - name: graphql

View File

@ -2,6 +2,7 @@ apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ .Release.Name }}-neo4j name: {{ .Release.Name }}-neo4j
namespace: human-connection
spec: spec:
ports: ports:
- name: bolt - name: bolt

View File

@ -2,10 +2,12 @@ apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ .Release.Name }}-webapp name: {{ .Release.Name }}-webapp
namespace: human-connection
spec: spec:
ports: ports:
- name: web - name: {{ .Release.Name }}-webapp
port: 3000 port: 3000
protocol: TCP
targetPort: 3000 targetPort: 3000
selector: selector:
human-connection.org/selector: deployment-webapp human-connection.org/selector: deployment-webapp

View File

@ -1,20 +1,20 @@
domain: nitro-staging.human-connection.org domain: develop.human-connection.org
commit: 889a7cdd24dda04a139b2b77d626e984d6db6781 commit: 889a7cdd24dda04a139b2b77d626e984d6db6781
pullPolicy: Always pullPolicy: Always
# configs # configs
developmentMailserverDomain: "helm-nitro-mailserver.human-connection.org" developmentMailserverDomain: "mailserver.human-connection.org"
humanConnectionDomain: "helm-staging.human-connection.org" humanConnectionDomain: "develop.human-connection.org"
supportEmail: "developer@human-connection.org" supportEmail: "devcom@human-connection.org"
letsencryptIssuer: "letsencrypt-staging" letsencryptIssuer: "letsencrypt-prod"
smtpHost: "mailserver.human-connection" smtpHost: "mailserver.human-connection"
smtpPort: "25" smtpPort: "25"
smtpUsername: smtpUsername:
smtpPassword: smtpPassword:
sentryDsnWebapp: sentryDsnWebapp: "https://f6a31aa8f406426187cb45ae6dacdbeb@nitro-sentry.human-connection.org/7"
sentryDsnBackend: sentryDsnBackend: "https://44e0f3fb04894fbfbcf898f2bcf652de@nitro-sentry.human-connection.org/6"
neo4jResourceRequestsMemory: "1G" neo4jResourceRequestsMemory: "1G"
neo4jResourceLimitsMemory: "1G" neo4jResourceLimitsMemory: "2G"
neo4jConfig: neo4jConfig:
apoc_import_file_enabled: "true" apoc_import_file_enabled: "true"
dbms_memory_pagecache_size: "490M" dbms_memory_pagecache_size: "490M"
@ -22,10 +22,6 @@ neo4jConfig:
dbms_memory_heap_initial__size: "500M" dbms_memory_heap_initial__size: "500M"
# secrets # secrets
jwtSecret: b/&&7b78BF&fv/Vd jwtSecret: "Yi8mJjdiNzhCRiZmdi9WZA=="
privateKeyPassphrase: a7dsf78sadg87ad87sfagsadg78 privateKeyPassphrase: "YTdkc2Y3OHNhZGc4N2FkODdzZmFnc2FkZzc4"
mapboxToken: pk.eyJ1IjoiaHVtYW4tY29ubmVjdGlvbiIsImEiOiJjajl0cnBubGoweTVlM3VwZ2lzNTNud3ZtIn0.KZ8KK9l70omjXbEkkbHGsQ mapboxToken: "cGsuZXlKMUlqb2lhSFZ0WVc0dFkyOXVibVZqZEdsdmJpSXNJbUVpT2lKamFqbDBjbkJ1Ykdvd2VUVmxNM1Z3WjJsek5UTnVkM1p0SW4wLktaOEtLOWw3MG9talhiRWtrYkhHc1E="
mongodbUsername:
mongodbPassword:
neo4jUsername: neo4j
neo4jPassword: neo4j

View File

@ -1,47 +1,60 @@
--- apiVersion: apps/v1
apiVersion: extensions/v1beta1 kind: Deployment
kind: Deployment metadata:
metadata: creationTimestamp: null
name: nitro-backend labels:
namespace: human-connection human-connection.org/commit: COMMIT
spec: human-connection.org/selector: deployment-human-connection-backend
replicas: 1 name: nitro-backend
minReadySeconds: 15 namespace: human-connection
progressDeadlineSeconds: 60 spec:
strategy: minReadySeconds: 15
rollingUpdate: progressDeadlineSeconds: 60
maxSurge: 0 replicas: 1
maxUnavailable: "100%" revisionHistoryLimit: 2147483647
selector: selector:
matchLabels: matchLabels:
human-connection.org/selector: deployment-human-connection-backend
strategy:
rollingUpdate:
maxSurge: 0
maxUnavailable: 100%
type: RollingUpdate
template:
metadata:
annotations:
backup.velero.io/backup-volumes: uploads
creationTimestamp: null
labels:
human-connection.org/commit: COMMIT
human-connection.org/selector: deployment-human-connection-backend human-connection.org/selector: deployment-human-connection-backend
template: name: nitro-backend
metadata: spec:
annotations: containers:
backup.velero.io/backup-volumes: uploads - envFrom:
labels: - configMapRef:
human-connection.org/commit: COMMIT name: configmap
human-connection.org/selector: deployment-human-connection-backend - secretRef:
name: "nitro-backend" name: human-connection
spec: image: humanconnection/nitro-backend:latest
containers: imagePullPolicy: Always
- name: nitro-backend name: nitro-backend
image: humanconnection/nitro-backend:latest ports:
imagePullPolicy: Always - containerPort: 4000
ports: protocol: TCP
- containerPort: 4000 resources: {}
envFrom: terminationMessagePath: /dev/termination-log
- configMapRef: terminationMessagePolicy: File
name: configmap volumeMounts:
- secretRef: - mountPath: /nitro-backend/public/uploads
name: human-connection name: uploads
volumeMounts: dnsPolicy: ClusterFirst
- mountPath: /nitro-backend/public/uploads restartPolicy: Always
name: uploads schedulerName: default-scheduler
volumes: securityContext: {}
- name: uploads terminationGracePeriodSeconds: 30
persistentVolumeClaim: volumes:
claimName: uploads-claim - name: uploads
restartPolicy: Always persistentVolumeClaim:
terminationGracePeriodSeconds: 30 claimName: uploads-claim
status: {} status: {}