diff --git a/clusters/homelab/apps/homepage/httproute.yaml b/clusters/homelab/apps/homepage/httproute.yaml new file mode 100644 index 0000000..5894221 --- /dev/null +++ b/clusters/homelab/apps/homepage/httproute.yaml @@ -0,0 +1,15 @@ +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: homepage + namespace: homepage +spec: + parentRefs: + - name: homelab-gateway + namespace: gateway + hostnames: + - "homepage.net-scope.org" + rules: + - backendRefs: + - name: homepage + port: 3000 diff --git a/clusters/homelab/apps/homepage/kustomization.yaml b/clusters/homelab/apps/homepage/kustomization.yaml index 82d738f..c1d4501 100644 --- a/clusters/homelab/apps/homepage/kustomization.yaml +++ b/clusters/homelab/apps/homepage/kustomization.yaml @@ -3,7 +3,7 @@ kind: Kustomization resources: - namespace.yaml - rbac.yaml -# - pvc.yaml - deployment.yaml - service.yaml - configmap.yaml + - httproute.yaml diff --git a/clusters/homelab/infrastructure/cilium/kustomization.yaml b/clusters/homelab/infrastructure/cilium/kustomization.yaml index d7fbb03..552c9c6 100644 --- a/clusters/homelab/infrastructure/cilium/kustomization.yaml +++ b/clusters/homelab/infrastructure/cilium/kustomization.yaml @@ -3,3 +3,4 @@ kind: Kustomization resources: - helmrepository.yaml - helmrelease.yaml + - lbippool.yaml diff --git a/clusters/homelab/infrastructure/cilium/lbippool.yaml b/clusters/homelab/infrastructure/cilium/lbippool.yaml new file mode 100644 index 0000000..2a8d6b6 --- /dev/null +++ b/clusters/homelab/infrastructure/cilium/lbippool.yaml @@ -0,0 +1,7 @@ +apiVersion: "cilium.io/v2alpha1" +kind: CiliumLoadBalancerIPPool +metadata: + name: homelab-pool +spec: + blocks: + - cidr: "192.168.2.50/29" diff --git a/clusters/homelab/infrastructure/gateway.yaml b/clusters/homelab/infrastructure/gateway.yaml new file mode 100644 index 0000000..3aacf30 --- /dev/null +++ b/clusters/homelab/infrastructure/gateway.yaml @@ -0,0 +1,14 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: gateway + namespace: flux-system +spec: + interval: 10m + path: ./clusters/homelab/infrastructure/gateway + prune: true + sourceRef: + kind: GitRepository + name: flux-system + dependsOn: + - name: cilium diff --git a/clusters/homelab/infrastructure/gateway/gateway.yaml b/clusters/homelab/infrastructure/gateway/gateway.yaml new file mode 100644 index 0000000..b543e29 --- /dev/null +++ b/clusters/homelab/infrastructure/gateway/gateway.yaml @@ -0,0 +1,14 @@ +apiVersion: gateway.networking.k8s.io/v1 +kind: Gateway +metadata: + name: homelab-gateway + namespace: gateway +spec: + gatewayClassName: cilium + listeners: + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All diff --git a/clusters/homelab/infrastructure/gateway/kustomization.yaml b/clusters/homelab/infrastructure/gateway/kustomization.yaml new file mode 100644 index 0000000..a64a0c8 --- /dev/null +++ b/clusters/homelab/infrastructure/gateway/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - namespace.yaml + - gateway.yaml diff --git a/clusters/homelab/infrastructure/gateway/namespace.yaml b/clusters/homelab/infrastructure/gateway/namespace.yaml new file mode 100644 index 0000000..f1ab7c7 --- /dev/null +++ b/clusters/homelab/infrastructure/gateway/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: gateway