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