First commit

This commit is contained in:
LeNei
2023-11-05 21:27:36 +01:00
commit 1001e8f8c6
14 changed files with 414 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Values.api.appName }} # Name of the deployment
labels:
app: {{ .Values.api.appName }} # Name of your application
spec:
selector:
matchLabels:
app: {{ .Values.api.appName }} # Name of your application
replicas: {{ .Values.api.replicas }} # Number of replicas
template:
metadata:
labels:
app: {{ .Values.api.appName }} # Name of your application
spec:
containers:
# Containers are the individual pieces of your application that you want
# to run.
- name: {{ .Values.api.appName }} # Name of the container
image: {{ .Values.api.image }}
ports:
# Ports are the ports that your application uses.
- containerPort: {{ .Values.api.containerPort }} # The port that your application uses
env:
- name: APP_ENVIRONMENT
value: "production"
- name: APP_APPLICATION__PORT
value: "{{ .Values.api.containerPort }}"
- name: APP_DATABASE__HOST
value: "{{ .Release.Name }}-postgresql"
- name: APP_DATABASE__USERNAME
value: "postgres"
- name: APP_DATABASE__PASSWORD
valueFrom:
secretKeyRef:
name: "{{ .Release.Name }}-postgresql"
key: postgres-password
- name: APP_DATABASE__DATABASE_NAME
value: "{{ .Values.postgresql.auth.database }}"
- name: APP_DATABASE__REQUIRE_SSL
value: "false"
- name: APP_AUTH__JWKS_URL
value: "{{ .Values.api.jwksUrl }}"
- name: CARGO_MANIFEST_DIR
value: "/app"
imagePullSecrets:
- name: docker-regcred

View File

@@ -0,0 +1,23 @@
kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
name: {{ .Values.api.appName }}
annotations:
cert-manager.io/cluster-issuer: letsencrypt
traefik.ingress.kubernetes.io/router.middlewares: "{{ .Release.Namespace }}-redirect-https@kubernetescrd"
spec:
rules:
- host: {{ .Values.api.host }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ .Values.api.appName }}
port:
number: 80
tls:
- hosts:
- {{ .Values.api.host }}
secretName: {{ .Values.api.host | replace "." "-" }}

View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Values.api.appName }}
spec:
selector:
app: {{ .Values.api.appName }}
type: ClusterIP
ports:
- name: http
port: 80

View File

@@ -0,0 +1,15 @@
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: {{ .Values.email }}
privateKeySecretRef:
name: letsencrypt
solvers:
- selector: {}
http01:
ingress:
class: traefik

View File

@@ -0,0 +1,26 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Values.nextjs.appName }} # Name of the deployment
labels:
app: {{ .Values.nextjs.appName }} # Name of your application
spec:
selector:
matchLabels:
app: {{ .Values.nextjs.appName }} # Name of your application
replicas: {{ .Values.nextjs.replicas }} # Number of replicas
template:
metadata:
labels:
app: {{ .Values.nextjs.appName }} # Name of your application
spec:
containers:
# Containers are the individual pieces of your application that you want
# to run.
- name: {{ .Values.nextjs.appName }} # Name of the container
image: {{ .Values.nextjs.image }}
ports:
# Ports are the ports that your application uses.
- containerPort: {{ .Values.nextjs.containerPort }} # The port that your application uses
imagePullSecrets:
- name: docker-regcred

View File

@@ -0,0 +1,23 @@
kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
name: {{ .Values.nextjs.appName }}
annotations:
cert-manager.io/cluster-issuer: letsencrypt
traefik.ingress.kubernetes.io/router.middlewares: "{{ .Release.Namespace }}-redirect-https@kubernetescrd"
spec:
rules:
- host: {{ .Values.nextjs.host }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ .Values.nextjs.appName }}
port:
number: 80
tls:
- hosts:
- {{ .Values.nextjs.host }}
secretName: {{ .Values.nextjs.host | replace "." "-" }}

View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Values.frontend.appName }}
spec:
selector:
app: {{ .Values.frontend.appName }}
type: ClusterIP
ports:
- name: http
port: 80

View File

@@ -0,0 +1,8 @@
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: redirect-https
spec:
redirectScheme:
scheme: https
permanent: true