diff --git a/build/k3s.yaml b/build/k3s.yaml index 340e2c9..88abe58 100644 --- a/build/k3s.yaml +++ b/build/k3s.yaml @@ -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 kind: Deployment metadata: @@ -52,6 +15,7 @@ spec: labels: app: portfolio spec: + nodeName: vps-10b6d432 containers: - image: website-image imagePullPolicy: Always @@ -75,114 +39,15 @@ spec: - containerPort: 3306 name: mysql volumeMounts: - - name: mysql-persistent-storage + - name: portfolio-persistent-storage + subPath: mysql mountPath: /var/lib/mysql volumes: - name: env configMap: name: env-cm - - name: mysql-persistent-storage + - name: portfolio-persistent-storage persistentVolumeClaim: - claimName: mysql-pvc + claimName: portfolio-pvc imagePullSecrets: - 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 diff --git a/build/kustomization.yaml b/build/kustomization.yaml index ea5d138..55c10ab 100644 --- a/build/kustomization.yaml +++ b/build/kustomization.yaml @@ -1,20 +1,25 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: portfolio-website + resources: - k3s.yaml + configMapGenerator: - name: env-cm - namespace: portfolio files: - .env.production + secretGenerator: - name: chaoticlogic-registry-login - namespace: portfolio type: kubernetes.io/dockerconfigjson files: - .dockerconfigjson - name: mysql-pass - namespace: portfolio envs: - mysql-secret.env + images: - name: website-image newName: registry.chaoticlogic.us/daniel-website