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..6121794 --- /dev/null +++ b/kubernetes/apps/homer/app/ingress.yaml @@ -0,0 +1,32 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: homer-ingress + namespace: homer + 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