From 27bdb3f6747e9fdfae84d2d5092bb230d2a3e886 Mon Sep 17 00:00:00 2001 From: William P Date: Thu, 5 Mar 2026 15:41:01 -0500 Subject: [PATCH] use pure nix for manifests, yaml is too buggy --- kubernetes/kubernetes.nix | 4 +- kubernetes/manifests/default.nix | 5 ++ kubernetes/manifests/test.nix | 76 ++++++++++++++++++++++++++ kubernetes/manifests/test/deploy.yaml | 17 ------ kubernetes/manifests/test/ingress.yaml | 17 ------ kubernetes/manifests/test/ns.yaml | 4 -- kubernetes/manifests/test/svc.yaml | 11 ---- 7 files changed, 82 insertions(+), 52 deletions(-) create mode 100644 kubernetes/manifests/default.nix create mode 100644 kubernetes/manifests/test.nix delete mode 100644 kubernetes/manifests/test/deploy.yaml delete mode 100644 kubernetes/manifests/test/ingress.yaml delete mode 100644 kubernetes/manifests/test/ns.yaml delete mode 100644 kubernetes/manifests/test/svc.yaml diff --git a/kubernetes/kubernetes.nix b/kubernetes/kubernetes.nix index 0cc9822..40c1d45 100644 --- a/kubernetes/kubernetes.nix +++ b/kubernetes/kubernetes.nix @@ -1,6 +1,7 @@ { imports = [ ./charts + ./manifests ]; networking.firewall.allowedTCPPorts = [6443]; @@ -8,8 +9,5 @@ services.k3s = { enable = true; role = "server"; - manifests = { - test-color.source = ./manifests/test; - }; }; } \ No newline at end of file diff --git a/kubernetes/manifests/default.nix b/kubernetes/manifests/default.nix new file mode 100644 index 0000000..8928c1a --- /dev/null +++ b/kubernetes/manifests/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./test.nix + ]; +} \ No newline at end of file diff --git a/kubernetes/manifests/test.nix b/kubernetes/manifests/test.nix new file mode 100644 index 0000000..8163367 --- /dev/null +++ b/kubernetes/manifests/test.nix @@ -0,0 +1,76 @@ +{ + services.k3s.manifests = { + test-color-ns.content = { + apiVersion = "v1"; + kind = "Namespace"; + metadata = { + name = "test-color"; + }; + }; + test-color-deploy.content = { + apiVersion = "apps/v1"; + kind = "Deployment"; + metadata = { + name = "test-color"; + namespace = "test-color"; + }; + spec = { + selector = { + matchLabels = { + app = "test-color"; + }; + }; + template = { + metadata = { + labels = { + app = "test-color"; + }; + }; + spec = { + containers = [ + { + name = "test-color"; + image = "kodekloud/webapp-color:latest"; + } + ]; + }; + }; + }; + }; + test-color-svc.content = { + apiVersion = "v1"; + kind = "Service"; + metadata = { + name = "test-color"; + namespace = "test-color"; + }; + spec = { + selector.app = "test-color"; + ports = [{port = 8080; targetPort = 8080;}]; + }; + }; + test-color-ingress.content = { + apiVersion = "networking.k8s.io/v1"; + kind = "Ingress"; + metadata = { + name = "test-color-ingress"; + namespace = "test-color"; + }; + spec = { + rules = [ + { + host = "test-color.weyma-bs.infra.dubyatp.xyz"; + http.paths = [{ + pathType = "Prefix"; + path = "/"; + backend.service = { + name = "test-color"; + port.number = 8080; + }; + }]; + } + ]; + }; + }; + }; +} \ No newline at end of file diff --git a/kubernetes/manifests/test/deploy.yaml b/kubernetes/manifests/test/deploy.yaml deleted file mode 100644 index 2dc5ee4..0000000 --- a/kubernetes/manifests/test/deploy.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: test-color - namespace: test-color -spec: - selector: - matchLabels: - app: test-color - template: - metadata: - labels: - app: test-color - spec: - containers: - - name: test-color - image: kodekloud/webapp-color:latest diff --git a/kubernetes/manifests/test/ingress.yaml b/kubernetes/manifests/test/ingress.yaml deleted file mode 100644 index 89d6f42..0000000 --- a/kubernetes/manifests/test/ingress.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: test-color-ingress - namespace: test-color -spec: - rules: - - host: test-color.weyma-bs.infra.dubyatp.xyz - http: - paths: - - pathType: Prefix - path: "/" - backend: - service: - name: test-color - port: - number: 8080 \ No newline at end of file diff --git a/kubernetes/manifests/test/ns.yaml b/kubernetes/manifests/test/ns.yaml deleted file mode 100644 index fdab3ba..0000000 --- a/kubernetes/manifests/test/ns.yaml +++ /dev/null @@ -1,4 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: test-color \ No newline at end of file diff --git a/kubernetes/manifests/test/svc.yaml b/kubernetes/manifests/test/svc.yaml deleted file mode 100644 index dba49ee..0000000 --- a/kubernetes/manifests/test/svc.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: test-color - namespace: test-color -spec: - selector: - app: test-color - ports: - - port: 8080 - targetPort: 8080