Update build to use new cluster stuff, coolbeans

This commit is contained in:
Daniel_I_Am 2022-04-21 22:39:55 +02:00
parent f50f660346
commit 7b61999c9f
2 changed files with 13 additions and 143 deletions

View File

@ -1,40 +1,3 @@
# vim: syntax=yaml:ts=2:et
apiVersion: v1
kind: Namespace
metadata:
name: portfolio
---
apiVersion: v1
kind: Service
metadata:
name: website
namespace: portfolio
labels:
app: portfolio
spec:
ports:
- port: 80
selector:
app: portfolio
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pvc
namespace: portfolio
labels:
app: portfolio
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
---
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
@ -52,6 +15,7 @@ spec:
labels: labels:
app: portfolio app: portfolio
spec: spec:
nodeName: vps-10b6d432
containers: containers:
- image: website-image - image: website-image
imagePullPolicy: Always imagePullPolicy: Always
@ -75,114 +39,15 @@ spec:
- containerPort: 3306 - containerPort: 3306
name: mysql name: mysql
volumeMounts: volumeMounts:
- name: mysql-persistent-storage - name: portfolio-persistent-storage
subPath: mysql
mountPath: /var/lib/mysql mountPath: /var/lib/mysql
volumes: volumes:
- name: env - name: env
configMap: configMap:
name: env-cm name: env-cm
- name: mysql-persistent-storage - name: portfolio-persistent-storage
persistentVolumeClaim: persistentVolumeClaim:
claimName: mysql-pvc claimName: portfolio-pvc
imagePullSecrets: imagePullSecrets:
- name: chaoticlogic-registry-login - name: chaoticlogic-registry-login
nodeSelector:
on-master: "true"
beta.kubernetes.io/arch: amd64
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: ingress-https
namespace: portfolio
spec:
entryPoints:
- https
routes:
- match: Host(`danieldecloet.nl`)
kind: Rule
middlewares:
- name: www-redirect
services:
- name: website
port: 80
tls:
certResolver: letsencrypt
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: ingress-http
namespace: portfolio
spec:
entryPoints:
- http
routes:
- match: Host(`danieldecloet.nl`)
kind: Rule
middlewares:
- name: https-redirect
- name: www-redirect
services:
- name: website
port: 80
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: ingress-https-www
namespace: portfolio
spec:
entryPoints:
- https
routes:
- match: Host(`www.danieldecloet.nl`)
kind: Rule
services:
- name: website
port: 80
tls:
certResolver: letsencrypt
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: ingress-http-www
namespace: portfolio
spec:
entryPoints:
- http
routes:
- match: Host(`www.danieldecloet.nl`)
kind: Rule
middlewares:
- name: https-redirect
services:
- name: website
port: 80
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: https-redirect
namespace: portfolio
spec:
redirectScheme:
scheme: https
permanent: true
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: www-redirect
namespace: portfolio
spec:
redirectRegex:
regex: ^(https?://)danieldecloet.nl/(.*)$
replacement: ${1}www.danieldecloet.nl/${2}
permanent: true

View File

@ -1,20 +1,25 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: portfolio-website
resources: resources:
- k3s.yaml - k3s.yaml
configMapGenerator: configMapGenerator:
- name: env-cm - name: env-cm
namespace: portfolio
files: files:
- .env.production - .env.production
secretGenerator: secretGenerator:
- name: chaoticlogic-registry-login - name: chaoticlogic-registry-login
namespace: portfolio
type: kubernetes.io/dockerconfigjson type: kubernetes.io/dockerconfigjson
files: files:
- .dockerconfigjson - .dockerconfigjson
- name: mysql-pass - name: mysql-pass
namespace: portfolio
envs: envs:
- mysql-secret.env - mysql-secret.env
images: images:
- name: website-image - name: website-image
newName: registry.chaoticlogic.us/daniel-website newName: registry.chaoticlogic.us/daniel-website