From 52db9e16694ea1cdd7ebc512572436ba94cb418a Mon Sep 17 00:00:00 2001 From: Edward Cheng Date: Sun, 30 Jun 2024 22:36:12 +1000 Subject: [PATCH] add app flight-tracker --- .../apps/flight-tracker/app/development.yaml | 123 ++++++++++++++++++ .../apps/flight-tracker/app/ingress.yaml | 41 ++++++ .../apps/flight-tracker/app/service.yaml | 79 +++++++++++ .../apps/flight-tracker/flight-tracker.yaml | 18 +++ .../ingress-nginx-svc-controller-patch.yaml | 6 + .../scripts/patch-ingress-nginx.sh | 4 + kubernetes/apps/kustomization.yaml | 1 + .../namespaces/namespaces/flight-tracker.yaml | 4 + 8 files changed, 276 insertions(+) create mode 100644 kubernetes/apps/flight-tracker/app/development.yaml create mode 100644 kubernetes/apps/flight-tracker/app/ingress.yaml create mode 100644 kubernetes/apps/flight-tracker/app/service.yaml create mode 100644 kubernetes/apps/flight-tracker/flight-tracker.yaml create mode 100644 kubernetes/apps/flight-tracker/scripts/ingress-nginx-svc-controller-patch.yaml create mode 100644 kubernetes/apps/flight-tracker/scripts/patch-ingress-nginx.sh create mode 100644 kubernetes/infrastructure/namespaces/namespaces/flight-tracker.yaml diff --git a/kubernetes/apps/flight-tracker/app/development.yaml b/kubernetes/apps/flight-tracker/app/development.yaml new file mode 100644 index 0000000..980ad8b --- /dev/null +++ b/kubernetes/apps/flight-tracker/app/development.yaml @@ -0,0 +1,123 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: flight-tracker + namespace: flight-tracker + labels: + app.kubernetes.io/name: flight-tracker +spec: + selector: + matchLabels: + app.kubernetes.io/name: flight-tracker + template: + metadata: + labels: + app.kubernetes.io/name: flight-tracker + spec: + containers: + - name: flight-tracker + securityContext: + privileged: true + image: edeedeeed/flight-tracker:sha-7757871 + ports: + - protocol: TCP + containerPort: 80 + name: 80-tcp + - protocol: TCP + containerPort: 8504 + name: 8504-tcp + - protocol: TCP + containerPort: 8754 + name: 8754-tcp + - protocol: TCP + containerPort: 8080 + name: 8080-tcp + - protocol: TCP + containerPort: 30001 + name: 30001-tcp + - protocol: TCP + containerPort: 30002 + name: 30002-tcp + - protocol: TCP + containerPort: 30003 + name: 30003-tcp + - protocol: TCP + containerPort: 30004 + name: 30004-tcp + - protocol: TCP + containerPort: 30005 + name: 30005-tcp + - protocol: TCP + containerPort: 30053 + name: 30053-tcp + - protocol: TCP + containerPort: 30054 + name: 30054-tcp + - protocol: TCP + containerPort: 30104 + name: 30104-tcp + - protocol: TCP + containerPort: 30105 + name: 30105-tcp + - protocol: TCP + containerPort: 30106 + name: 30106-tcp + - protocol: TCP + containerPort: 30154 + name: 30154-tcp + - protocol: TCP + containerPort: 30334 + name: 30334-tcp + - protocol: TCP + containerPort: 32004 + name: 32004-tcp + - protocol: TCP + containerPort: 32008 + name: 32008-tcp + - protocol: TCP + containerPort: 32088 + name: 32088-tcp + - protocol: TCP + containerPort: 32457 + name: 32457-tcp + - protocol: TCP + containerPort: 32458 + name: 32458-tcp + - protocol: TCP + containerPort: 32459 + name: 32459-tcp + env: + - name: TZ + value: Australia/Sydney + volumeMounts: + - name: rtl-sdr-dvb + mountPath: /dev/dvb + - name: rtl-sdr-i2c-13 + mountPath: /dev/i2c-13 + - name: rtl-sdr-i2c-14 + mountPath: /dev/i2c-14 + - name: rtl-sdr-lirc0 + mountPath: /dev/lirc0 + - name: rtl-sdr-media3 + mountPath: /dev/media3 + - name: rtl-sdr-swradio0 + mountPath: /dev/swradio0 + volumes: + - name: rtl-sdr-dvb + hostPath: + path: /dev/dvb + - name: rtl-sdr-i2c-13 + hostPath: + path: /dev/i2c-13 + - name: rtl-sdr-i2c-14 + hostPath: + path: /dev/i2c-14 + - name: rtl-sdr-lirc0 + hostPath: + path: /dev/lirc0 + - name: rtl-sdr-media3 + hostPath: + path: /dev/media3 + - name: rtl-sdr-swradio0 + hostPath: + path: /dev/swradio0 \ No newline at end of file diff --git a/kubernetes/apps/flight-tracker/app/ingress.yaml b/kubernetes/apps/flight-tracker/app/ingress.yaml new file mode 100644 index 0000000..deb5ce2 --- /dev/null +++ b/kubernetes/apps/flight-tracker/app/ingress.yaml @@ -0,0 +1,41 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: flight-tracker-ingress + namespace: flight-tracker + annotations: + nginx.ingress.kubernetes.io/ssl-redirect: "false" + nginx.ingress.kubernetes.io/use-regex: "true" +spec: + ingressClassName: nginx + rules: + - host: "piaware.flight-tracker.cluster.local" + http: + paths: + - pathType: Prefix + path: "/" + backend: + service: + name: flight-tracker + port: + number: 18080 + - host: "fr24-feed.flight-tracker.cluster.local" + http: + paths: + - pathType: Prefix + path: "/" + backend: + service: + name: flight-tracker + port: + number: 10080 + - host: "tar1090.flight-tracker.cluster.local" + http: + paths: + - pathType: Prefix + path: "/" + backend: + service: + name: flight-tracker + port: + number: 10080 \ No newline at end of file diff --git a/kubernetes/apps/flight-tracker/app/service.yaml b/kubernetes/apps/flight-tracker/app/service.yaml new file mode 100644 index 0000000..d05dcc5 --- /dev/null +++ b/kubernetes/apps/flight-tracker/app/service.yaml @@ -0,0 +1,79 @@ +apiVersion: v1 +kind: Service +metadata: + name: flight-tracker + namespace: flight-tracker + labels: + app.kubernetes.io/name: flight-tracker +spec: + selector: + app.kubernetes.io/name: flight-tracker + type: ClusterIP + internalTrafficPolicy: Cluster + ports: + - protocol: TCP + port: 10880 + targetPort: 80 + - protocol: TCP + port: 8504 + targetPort: 8504 + - protocol: TCP + port: 8754 + targetPort: 8754 + - protocol: TCP + port: 18080 + targetPort: 8080 + - protocol: TCP + port: 30001 + targetPort: 30001 + - protocol: TCP + port: 30002 + targetPort: 30002 + - protocol: TCP + port: 30003 + targetPort: 30003 + - protocol: TCP + port: 30004 + targetPort: 30004 + - protocol: TCP + port: 30005 + targetPort: 30005 + - protocol: TCP + port: 30053 + targetPort: 30053 + - protocol: TCP + port: 30054 + targetPort: 30054 + - protocol: TCP + port: 30104 + targetPort: 30104 + - protocol: TCP + port: 30105 + targetPort: 30105 + - protocol: TCP + port: 30106 + targetPort: 30106 + - protocol: TCP + port: 30154 + targetPort: 30154 + - protocol: TCP + port: 30334 + targetPort: 30334 + - protocol: TCP + port: 32004 + targetPort: 32004 + - protocol: TCP + port: 32008 + targetPort: 32008 + - protocol: TCP + port: 32088 + targetPort: 32088 + - protocol: TCP + port: 32457 + targetPort: 32457 + - protocol: TCP + port: 32458 + targetPort: 32458 + - protocol: TCP + port: 32459 + targetPort: 32459 \ No newline at end of file diff --git a/kubernetes/apps/flight-tracker/flight-tracker.yaml b/kubernetes/apps/flight-tracker/flight-tracker.yaml new file mode 100644 index 0000000..7c2033c --- /dev/null +++ b/kubernetes/apps/flight-tracker/flight-tracker.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: flight-tracker + namespace: flight-tracker +spec: + interval: 10m + timeout: 1m30s + retryInterval: 30s + path: ./kubernetes/apps/flight-tracker/app + prune: true + sourceRef: + kind: GitRepository + namespace: flux-system + name: flux-system + dependsOn: + - name: repositories + namespace: flux-system \ No newline at end of file diff --git a/kubernetes/apps/flight-tracker/scripts/ingress-nginx-svc-controller-patch.yaml b/kubernetes/apps/flight-tracker/scripts/ingress-nginx-svc-controller-patch.yaml new file mode 100644 index 0000000..f8ea9e1 --- /dev/null +++ b/kubernetes/apps/flight-tracker/scripts/ingress-nginx-svc-controller-patch.yaml @@ -0,0 +1,6 @@ +spec: + ports: + - name: 30001-tcp + port: 30001 + targetPort: 30001 + protocol: TCP \ No newline at end of file diff --git a/kubernetes/apps/flight-tracker/scripts/patch-ingress-nginx.sh b/kubernetes/apps/flight-tracker/scripts/patch-ingress-nginx.sh new file mode 100644 index 0000000..11a7db3 --- /dev/null +++ b/kubernetes/apps/flight-tracker/scripts/patch-ingress-nginx.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -e + +kubectl patch service ingress-nginx-controller -n ingress-nginx --patch "$(cat ingress-nginx-svc-controller-patch.yaml)" \ No newline at end of file diff --git a/kubernetes/apps/kustomization.yaml b/kubernetes/apps/kustomization.yaml index 9de1004..c0b7afc 100644 --- a/kubernetes/apps/kustomization.yaml +++ b/kubernetes/apps/kustomization.yaml @@ -5,6 +5,7 @@ resources: - ./capacitor/capacitor.yaml - ./code-server/code-server.yaml - ./dokuwiki/dokuwiki.yaml + - ./flight-tracker/flight-tracker.yaml - ./gitea/gitea.yaml - ./homer/homer.yaml - ./jellyfin/jellyfin.yaml diff --git a/kubernetes/infrastructure/namespaces/namespaces/flight-tracker.yaml b/kubernetes/infrastructure/namespaces/namespaces/flight-tracker.yaml new file mode 100644 index 0000000..8e4162f --- /dev/null +++ b/kubernetes/infrastructure/namespaces/namespaces/flight-tracker.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: flight-tracker