From aa1e205c6608f582414ab9900d305e1d115efc00 Mon Sep 17 00:00:00 2001 From: Steffen Illium <steffen.illium@gmail.com> Date: Mon, 25 Mar 2024 19:13:12 +0100 Subject: [PATCH] initial infrastructure --- basic/metallb.yml | 5 ----- infrastructure/01-default-setup.sh | 11 +++++++++++ infrastructure/01-metallb-advert.yml | 5 +++++ infrastructure/01-metallb-pool.yml | 8 ++++++++ infrastructure/argocd-ingress.yml | 22 ++++++++++++++++++++++ 5 files changed, 46 insertions(+), 5 deletions(-) delete mode 100644 basic/metallb.yml create mode 100755 infrastructure/01-default-setup.sh create mode 100644 infrastructure/01-metallb-advert.yml create mode 100644 infrastructure/01-metallb-pool.yml create mode 100644 infrastructure/argocd-ingress.yml diff --git a/basic/metallb.yml b/basic/metallb.yml deleted file mode 100644 index ed82d53..0000000 --- a/basic/metallb.yml +++ /dev/null @@ -1,5 +0,0 @@ -# kustomization.yml -namespace: metallb-system - -resources: - - github.com/metallb/metallb/config/native?ref=v0.14.3 diff --git a/infrastructure/01-default-setup.sh b/infrastructure/01-default-setup.sh new file mode 100755 index 0000000..1cbd157 --- /dev/null +++ b/infrastructure/01-default-setup.sh @@ -0,0 +1,11 @@ +#! /bin/bash + +# Install MetalLB and configure ip ranges (local homelab) +kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.14.3/config/manifests/metallb-native.yaml + -f ./01-metallb-pool.yml + -f ./01-metallb-advert.yml + +# Install argoCD for deployment and secret management +kubectl create namespace argocd +kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml + diff --git a/infrastructure/01-metallb-advert.yml b/infrastructure/01-metallb-advert.yml new file mode 100644 index 0000000..3902089 --- /dev/null +++ b/infrastructure/01-metallb-advert.yml @@ -0,0 +1,5 @@ +apiVersion: metallb.io/v1beta1 +kind: L2Advertisement +metadata: + name: sirnix-advert + namespace: metallb-system diff --git a/infrastructure/01-metallb-pool.yml b/infrastructure/01-metallb-pool.yml new file mode 100644 index 0000000..d021dac --- /dev/null +++ b/infrastructure/01-metallb-pool.yml @@ -0,0 +1,8 @@ +apiVersion: metallb.io/v1beta1 +kind: IPAddressPool +metadata: + name: my-pool + namespace: metallb-system +spec: + addresses: + - 192.168.178.101-192.168.178.255 diff --git a/infrastructure/argocd-ingress.yml b/infrastructure/argocd-ingress.yml new file mode 100644 index 0000000..04e00aa --- /dev/null +++ b/infrastructure/argocd-ingress.yml @@ -0,0 +1,22 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: argocd-server + namespace: argocd + annotations: + kubernetes.io/ingress.class: traefik + traefik.ingress.kubernetes.io/router.entrypoints: "websecure,web" + +spec: + ingressClassName: traefik + rules: + - host: argocd.steffenillium.de + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: argocd-server + port: + number: 80