From f71dac54b2cbddcf5cc4e73516142b118018493f Mon Sep 17 00:00:00 2001 From: Edward Cheng Date: Sun, 16 Jun 2024 22:43:04 +1000 Subject: [PATCH] added homer app --- kubernetes/apps/homer/app/development.yaml | 38 +++++++++++++++++++ kubernetes/apps/homer/app/ingress.yaml | 32 ++++++++++++++++ kubernetes/apps/homer/app/service.yaml | 17 +++++++++ kubernetes/apps/homer/homer.yaml | 22 +++++++++++ kubernetes/apps/kustomization.yaml | 1 + kubernetes/infrastructure/kustomization.yaml | 1 + .../infrastructure/namespaces/homer.yaml | 4 ++ .../repositories/repos/djjudas21.yaml | 8 ++++ 8 files changed, 123 insertions(+) create mode 100644 kubernetes/apps/homer/app/development.yaml create mode 100644 kubernetes/apps/homer/app/ingress.yaml create mode 100644 kubernetes/apps/homer/app/service.yaml create mode 100644 kubernetes/apps/homer/homer.yaml create mode 100644 kubernetes/infrastructure/namespaces/homer.yaml create mode 100644 kubernetes/infrastructure/repositories/repos/djjudas21.yaml diff --git a/kubernetes/apps/homer/app/development.yaml b/kubernetes/apps/homer/app/development.yaml new file mode 100644 index 0000000..c49370d --- /dev/null +++ b/kubernetes/apps/homer/app/development.yaml @@ -0,0 +1,38 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: homer + namespace: homer + labels: + app.kubernetes.io/name: homer +spec: + selector: + matchLabels: + app.kubernetes.io/name: homer + template: + metadata: + labels: + app.kubernetes.io/name: homer + rpi5.cluster.policy/egress-kubeapi: "true" + rpi5.cluster.policy/egress-namespace: "true" + rpi5.cluster.policy/egress-world: "true" + rpi5.cluster.policy/ingress-namespace: "true" + rpi5.cluster.policy/ingress-nginx: "true" + rpi5.cluster.policy/ingress-nodes: "true" + rpi5.cluster.policy/ingress-world: "true" + spec: + containers: + - name: homer + image: b4bz/homer:v24.05.1 + ports: + - protocol: TCP + containerPort: 8080 + name: http + volumeMounts: + - name: www + mountPath: /www + volumes: + - name: www + hostPath: + path: /mnt/nfs/AppData/homer/www + type: Directory diff --git a/kubernetes/apps/homer/app/ingress.yaml b/kubernetes/apps/homer/app/ingress.yaml new file mode 100644 index 0000000..cceaa68 --- /dev/null +++ b/kubernetes/apps/homer/app/ingress.yaml @@ -0,0 +1,32 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: capacitor-ingress + namespace: capacitor + annotations: + nginx.ingress.kubernetes.io/ssl-redirect: "false" + nginx.ingress.kubernetes.io/use-regex: "true" + nginx.ingress.kubernetes.io/rewrite-target: /$2 +spec: + ingressClassName: nginx + rules: + - host: "home.edward.sydney" + http: + paths: + - pathType: Prefix + path: "/" + backend: + service: + name: homer + port: + number: 8088 + - host: "home.cluster.local" + http: + paths: + - pathType: Prefix + path: "/" + backend: + service: + name: homer + port: + number: 8088 \ No newline at end of file diff --git a/kubernetes/apps/homer/app/service.yaml b/kubernetes/apps/homer/app/service.yaml new file mode 100644 index 0000000..2547050 --- /dev/null +++ b/kubernetes/apps/homer/app/service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + name: homer + namespace: homer + labels: + app.kubernetes.io/name: homer +spec: + selector: + app.kubernetes.io/name: homer + type: ClusterIP + internalTrafficPolicy: Cluster + ports: + - protocol: TCP + port: 8088 + targetPort: 8080 + name: http diff --git a/kubernetes/apps/homer/homer.yaml b/kubernetes/apps/homer/homer.yaml new file mode 100644 index 0000000..9264179 --- /dev/null +++ b/kubernetes/apps/homer/homer.yaml @@ -0,0 +1,22 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: homer + namespace: homer +spec: + interval: 10m + timeout: 1m30s + retryInterval: 30s + targetNamespace: flux-system + path: ./kubernetes/apps/homer/app + prune: true + sourceRef: + kind: GitRepository + namespace: flux-system + name: flux-system + dependsOn: + - kind: HelmRepository + name: djjudas21 + values: + - secretRef: + name: homer-vars \ No newline at end of file diff --git a/kubernetes/apps/kustomization.yaml b/kubernetes/apps/kustomization.yaml index 21ff023..7088fba 100644 --- a/kubernetes/apps/kustomization.yaml +++ b/kubernetes/apps/kustomization.yaml @@ -4,4 +4,5 @@ resources: - ./adguard-home/adguard-home.yaml - ./capacitor/capacitor.yaml - ./cert-manager/cert-manager.yaml + - ./homer/homer.yaml - ./podinfo/podinfo.yaml \ No newline at end of file diff --git a/kubernetes/infrastructure/kustomization.yaml b/kubernetes/infrastructure/kustomization.yaml index 43b120a..40d9d9e 100644 --- a/kubernetes/infrastructure/kustomization.yaml +++ b/kubernetes/infrastructure/kustomization.yaml @@ -4,6 +4,7 @@ resources: - ./namespaces/adguard-home.yaml - ./namespaces/capacitor.yaml - ./namespaces/cert-manager.yaml + - ./namespaces/homer.yaml - ./namespaces/ingress-nginx.yaml - ./namespaces/podinfo.yaml - ./namespaces/prometheus-operator.yaml diff --git a/kubernetes/infrastructure/namespaces/homer.yaml b/kubernetes/infrastructure/namespaces/homer.yaml new file mode 100644 index 0000000..c8762ca --- /dev/null +++ b/kubernetes/infrastructure/namespaces/homer.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: homer diff --git a/kubernetes/infrastructure/repositories/repos/djjudas21.yaml b/kubernetes/infrastructure/repositories/repos/djjudas21.yaml new file mode 100644 index 0000000..bda9d2f --- /dev/null +++ b/kubernetes/infrastructure/repositories/repos/djjudas21.yaml @@ -0,0 +1,8 @@ +apiVersion: source.toolkit.fluxcd.io/v1 +kind: HelmRepository +metadata: + name: djjudas21 + namespace: flux-system +spec: + interval: 6h + url: https://djjudas21.github.io/charts/