فهرست منبع

Added gopy k3s manifest

Breandan Dezendorf 2 سال پیش
والد
کامیت
6e5f4bf26d
3فایلهای تغییر یافته به همراه90 افزوده شده و 3 حذف شده
  1. 3 3
      dezendorf/applications/gopy/Dockerfile
  2. 15 0
      dezendorf/applications/gopy/build.sh
  3. 72 0
      dezendorf/homelab/k3s/gopy/gopy.yaml

+ 3 - 3
dezendorf/applications/gopy/Dockerfile

@@ -1,7 +1,7 @@
-FROM python3
+FROM python:3
 
-ADD gopy.py
-ADD requirements.txt
+ADD gopy.py /
+ADD requirements.txt /
 
 RUN pip3 install -r requirements.txt
 

+ 15 - 0
dezendorf/applications/gopy/build.sh

@@ -0,0 +1,15 @@
+TAG=$(git rev-parse --short HEAD)
+NAME="docker.dezendorf.net/gopy"
+YAML="../../homelab/k3s/gopy/gopy.yaml"
+docker build --no-cache -t ${NAME}:${TAG} . < Dockerfile
+docker push ${NAME}:${TAG}
+docker push ${NAME}:latest
+
+echo "Built and pushed:"
+echo "  ${NAME}:${TAG}"
+echo "  ${NAME}:latest"
+
+sed -i -e "s#$NAME:.*#$NAME:$TAG#g" ${YAML}
+git add ${YAML}
+
+

+ 72 - 0
dezendorf/homelab/k3s/gopy/gopy.yaml

@@ -0,0 +1,72 @@
+---
+kind: Deployment
+apiVersion: apps/v1
+metadata:
+  name: gopy
+  labels:
+    app: gopy
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: gopy
+  template:
+    metadata:
+      labels:
+        app: gopy
+    spec:
+      containers:
+      - name: gopy
+        image: docker.dezendorf.net/gopy:ce60970
+        ports:
+        - name: web
+          containerPort: 5000
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: gopy
+spec:
+  type: ClusterIP
+  ports:
+    - name: web
+      port: 5000
+  selector:
+    app: gopy
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: IngressRoute
+metadata:
+  name: gopy-ingress-route
+  namespace: default
+spec:
+  entryPoints:
+    - web
+  routes:
+  - match: Host(`gopy.dezendorf.net`)
+    kind: Rule
+    middlewares:
+    - name: redirecthttps
+    services:
+    - name: gopy
+      port: 5000
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: IngressRoute
+metadata:
+  name: gopy-websecure-route
+  namespace: default
+spec:
+  entryPoints:
+    - websecure
+  routes:
+  - match: Host(`gopy.dezendorf.net`)
+    kind: Rule
+    middlewares:
+    - name: authelia
+    services:
+    - name: gopy
+      port: 5000
+  tls:
+    certResolver: myresolver