feat(haos): Proxy HAOS through k8s for certificate

This commit is contained in:
Vegard Hagen
2024-03-02 11:50:34 +01:00
parent c6e1aadb16
commit 3c33225e00
11 changed files with 106 additions and 11 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: argocd
commonLabels:
dev.stonegarden: app-management
app.kubernetes.io/managed-by: argocd
+36
View File
@@ -0,0 +1,36 @@
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: utility
namespace: argocd
labels:
dev.stonegarden: utility
spec:
generators:
- git:
repoURL: https://github.com/vehagn/homelab
revision: HEAD
directories:
- path: apps/utility/*
template:
metadata:
name: '{{ path.basename }}'
labels:
dev.stonegarden: utility
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: utility
source:
plugin:
name: kustomize-build-with-helm
repoURL: https://github.com/vehagn/homelab
targetRevision: HEAD
path: '{{ path }}'
destination:
name: in-cluster
namespace: '{{ path.basename }}'
syncPolicy:
automated:
selfHeal: true
prune: true
+18
View File
@@ -0,0 +1,18 @@
apiVersion: discovery.k8s.io/v1
kind: EndpointSlice
metadata:
name: home-assistant-1
namespace: haos
labels:
kubernetes.io/service-name: home-assistant
endpointslice.kubernetes.io/managed-by: cluster-admins
addressType: IPv4
ports:
- name: http
protocol: TCP
port: 8123
endpoints:
- addresses:
- 192.168.1.27
conditions: # https://github.com/argoproj/argo-cd/issues/15554
ready: true
+19
View File
@@ -0,0 +1,19 @@
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: home-assistant
namespace: haos
spec:
parentRefs:
- name: cilium-gateway
namespace: gateway
hostnames:
- "haos.stonegarden.dev"
rules:
- matches:
- path:
type: PathPrefix
value: /
backendRefs:
- name: home-assistant
port: 80
+8
View File
@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ns.yaml
- svc.yaml
- endpoint-slice.yaml
- http-route.yaml
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: haos
+11
View File
@@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: home-assistant
namespace: haos
spec:
ports:
- name: http
protocol: TCP
port: 80
targetPort: 8123
+3 -2
View File
@@ -1,10 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: argocd
commonLabels:
dev.stonegarden: app-management
app.kubernetes.io/managed-by: argocd
resources:
- project.yaml
- home-assistant.yaml
- application-set.yaml
# - home-assistant.yaml
+1 -1
View File
@@ -11,7 +11,7 @@ spec:
destinations:
- namespace: 'argocd'
server: '*'
- namespace: 'home-assistant'
- namespace: 'haos'
server: '*'
clusterResourceWhitelist:
- group: '*'
+1 -7
View File
@@ -32,10 +32,4 @@ spec:
name: cloudflare-cert
allowedRoutes:
namespaces:
from: All
# allowedRoutes:
# namespaces:
# from: Selector
# selector:
# matchLabels:
# dev.stonegarden.app: homepage
from: All
@@ -11,6 +11,10 @@ ingress:
service: hello_world
- hostname: ssh.stonegarden.dev
service: ssh://192.168.1.12:22
- hostname: haos.stonegarden.dev
service: https://cilium-gateway-cilium-gateway.gateway.svc.cluster.local:443
originRequest:
originServerName: "*.stonegarden.dev"
- hostname: blog.stonegarden.dev
service: https://cilium-gateway-cilium-gateway.gateway.svc.cluster.local:443
originRequest: