From 9fa7c454eecda1fa983b9c785b6f46e0f2bfbd57 Mon Sep 17 00:00:00 2001 From: David Landry Date: Fri, 2 Feb 2024 21:44:39 -0500 Subject: [PATCH] chore(foundryvtt): adjust service and ingress --- apps/foundryvtt/base/deployment.yaml | 106 +++++++++++++++++++-------- 1 file changed, 75 insertions(+), 31 deletions(-) diff --git a/apps/foundryvtt/base/deployment.yaml b/apps/foundryvtt/base/deployment.yaml index feafbd6..429b2ec 100644 --- a/apps/foundryvtt/base/deployment.yaml +++ b/apps/foundryvtt/base/deployment.yaml @@ -10,10 +10,10 @@ spec: app: foundryvtt type: ClusterIP ports: - - port: 80 - targetPort: 8080 - protocol: TCP - name: http + - port: 8080 + targetPort: http + protocol: TCP + name: http --- apiVersion: apps/v1 kind: Deployment @@ -26,38 +26,51 @@ spec: replicas: 1 template: metadata: + annotations: + # gethomepage.dev/enabled: "true" + # gethomepage.dev/href: https://library.nc.landry.land + # gethomepage.dev/name: "FoundryVTT" + # gethomepage.dev/description: "Virtual-tabletop" + # gethomepage.dev/group: "Games" + # gethomepage.dev/icon: "foundryvtt.png" + traefik.enable: "true" + traefik.http.routers.foundryvtt.entrypoints: websecure + traefik.http.routers.foundryvtt.rule: Host(`foundryvtt.nc.landry.land`) + traefik.http.routers.foundryvtt.service: foundryvtt + traefik.http.routers.foundryvtt.tls.certresolver: leresolver + traefik.http.services.foundryvtt.loadbalancer.server.port: "8080" labels: app: foundryvtt spec: containers: - - name: foundryvtt - image: pgschk/foundryvtt-containerized:latest - env: - - name: FOUNDRYVTT_DOWNLOAD_URL - value: "https://foundryvtt.s3.amazonaws.com/releases/11.315/FoundryVTT-11.315-Setup.exe?AWSAccessKeyId=AKIA2KJE5YZ3BCQQ6DH3&Signature=HSnWSl09cJvf1aq5lVOQfRgEFOA%3D&Expires=1706927160" - ports: - - containerPort: 8080 - volumeMounts: - - name: foundryvtt-data - mountPath: /data/foundryvtt - - name: foundryvtt-install - mountPath: /usr/src/app/foundryvtt - resources: - requests: - cpu: 150m - memory: 500Mi - limits: - cpu: 1000m - memory: 2000Mi - securityContext: - runAsUser: 1000 + - name: foundryvtt + image: pgschk/foundryvtt-containerized:latest + env: + - name: FOUNDRYVTT_DOWNLOAD_URL + value: "https://foundryvtt.s3.amazonaws.com/releases/11.315/FoundryVTT-11.315-Setup.exe?AWSAccessKeyId=AKIA2KJE5YZ3BCQQ6DH3&Signature=HSnWSl09cJvf1aq5lVOQfRgEFOA%3D&Expires=1706927160" + ports: + - containerPort: 8080 + volumeMounts: + - name: foundryvtt-data + mountPath: /data/foundryvtt + - name: foundryvtt-install + mountPath: /usr/src/app/foundryvtt + resources: + requests: + cpu: 150m + memory: 500Mi + limits: + cpu: 1000m + memory: 2000Mi + securityContext: + runAsUser: 1000 volumes: - - name: foundryvtt-data - persistentVolumeClaim: - claimName: foundryvtt-data - - name: foundryvtt-install - persistentVolumeClaim: - claimName: foundryvtt-install + - name: foundryvtt-data + persistentVolumeClaim: + claimName: foundryvtt-data + - name: foundryvtt-install + persistentVolumeClaim: + claimName: foundryvtt-install --- apiVersion: v1 kind: PersistentVolumeClaim @@ -81,3 +94,34 @@ spec: requests: storage: 2Gi +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + annotations: + cert-manager.io/cluster-issuer: letsencrypt-issuer + gethomepage.dev/enabled: "true" + gethomepage.dev/name: "FoundryVTT" + gethomepage.dev/description: "Virtual-tabletop" + gethomepage.dev/group: "Games" + gethomepage.dev/icon: "foundryvtt.png" + name: foundryvtt + labels: + name: foundryvtt +spec: + rules: + - host: vtt.nc.landry.land + http: + paths: + - backend: + service: + name: foundryvtt + port: + number: 8080 + path: / + pathType: Prefix + + tls: + - hosts: + - library.nc.landry.land + secretName: foundryvtt-tls