From 89c6a7aa8047229c668f708e508870bfcb5cf52e Mon Sep 17 00:00:00 2001 From: Paul Payne Date: Sat, 11 Oct 2025 22:06:39 +0000 Subject: [PATCH] Moves setup files into embedded package. --- {setup => internal/setup}/README.md | 0 .../setup}/cluster-nodes/init-cluster.sh | 0 .../patch.templates/controlplane.yaml | 0 .../cluster-nodes/patch.templates/worker.yaml | 0 .../setup}/cluster-nodes/talos-schemas.yaml | 0 .../setup}/cluster-services/README.md | 0 .../cluster-services/cert-manager/README.md | 0 .../cluster-services/cert-manager/install.sh | 0 .../cert-manager-for-reference.yaml | 0 .../internal-wildcard-certificate.yaml | 0 .../kustomize.template/kustomization.yaml | 0 .../letsencrypt-prod-dns01.yaml | 0 .../letsencrypt-staging-dns01.yaml | 0 .../kustomize.template/namespace.yaml | 0 .../wildcard-certificate.yaml | 0 .../cert-manager/wild-manifest.yaml | 0 .../setup}/cluster-services/common.sh | 0 .../setup}/cluster-services/coredns/README.md | 0 .../cluster-services/coredns/install.sh | 0 .../coredns-custom-config.yaml | 0 .../coredns/wild-manifest.yaml | 0 .../docker-registry/README.md | 0 .../docker-registry/install.sh | 0 .../kustomize.template/deployment.yaml | 0 .../kustomize.template/ingress.yaml | 0 .../kustomize.template/kustomization.yaml | 0 .../kustomize.template/namespace.yaml | 0 .../kustomize.template/pvc.yaml | 0 .../kustomize.template/service.yaml | 0 .../docker-registry/wild-manifest.yaml | 0 .../cluster-services/externaldns/README.md | 0 .../cluster-services/externaldns/install.sh | 0 .../externaldns-cloudflare.yaml | 0 .../kustomize.template/externaldns-rbac.yaml | 0 .../kustomize.template/kustomization.yaml | 0 .../kustomize.template/namespace.yaml | 0 .../externaldns/wild-manifest.yaml | 0 .../kubernetes-dashboard/README.md | 0 .../kubernetes-dashboard/install.sh | 0 .../dashboard-admin-rbac.yaml | 0 .../dashboard-kube-system.yaml | 0 .../kustomize.template/kustomization.yaml | 0 .../kubernetes-dashboard/wild-manifest.yaml | 0 .../cluster-services/longhorn/README.md | 0 .../cluster-services/longhorn/install.sh | 0 .../longhorn/kustomize.template/ingress.yaml | 0 .../kustomize.template/kustomization.yaml | 0 .../longhorn/kustomize.template/longhorn.yaml | 0 .../longhorn/wild-manifest.yaml | 0 .../setup}/cluster-services/metallb/README.md | 0 .../cluster-services/metallb/install.sh | 0 .../configuration/kustomization.yaml | 0 .../configuration/pool.yaml | 0 .../installation/kustomization.yaml | 0 .../metallb/wild-manifest.yaml | 0 .../setup}/cluster-services/nfs/README.md | 0 .../setup}/cluster-services/nfs/install.sh | 0 .../nfs/kustomize.template/kustomization.yaml | 0 .../kustomize.template/persistent-volume.yaml | 0 .../nfs/kustomize.template/storage-class.yaml | 0 .../cluster-services/nfs/setup-nfs-host.sh | 0 .../cluster-services/nfs/wild-manifest.yaml | 0 .../node-feature-discovery/README.md | 0 .../node-feature-discovery/install.sh | 0 .../kustomize.template/crds.yaml | 0 .../kustomize.template/daemonset.yaml | 0 .../kustomize.template/kustomization.yaml | 0 .../kustomize.template/master.yaml | 0 .../kustomize.template/namespace.yaml | 0 .../kustomize.template/rbac.yaml | 0 .../node-feature-discovery/wild-manifest.yaml | 0 .../nvidia-device-plugin/README.md | 0 .../nvidia-device-plugin/install.sh | 0 .../kustomize.template/daemonset.yaml | 0 .../kustomize.template/kustomization.yaml | 0 .../kustomize.template/runtimeclass.yaml | 0 .../nvidia-device-plugin/wild-manifest.yaml | 0 .../setup}/cluster-services/smtp/README.md | 0 .../cluster-services/smtp/wild-manifest.yaml | 0 .../setup}/cluster-services/traefik/README.md | 0 .../cluster-services/traefik/install.sh | 0 .../internal-middleware.yaml | 0 .../kustomize.template/kustomization.yaml | 0 .../traefik/kustomize.template/namespace.yaml | 0 .../templates/deployment.yaml | 0 .../kustomize.template/templates/gateway.yaml | 0 .../templates/gatewayclass.yaml | 0 .../templates/ingressclass.yaml | 0 .../templates/ingressroute.yaml | 0 .../templates/rbac/clusterrole.yaml | 0 .../templates/rbac/clusterrolebinding.yaml | 0 .../templates/rbac/serviceaccount.yaml | 0 .../kustomize.template/templates/service.yaml | 0 .../kustomize.template/traefik-service.yaml | 0 .../traefik/wild-manifest.yaml | 0 .../setup}/cluster-services/utils/README.md | 0 .../setup}/cluster-services/utils/install.sh | 0 .../utils/kustomize.template/netdebug.yaml | 0 .../cluster-services/utils/wild-manifest.yaml | 0 {setup => internal/setup}/dnsmasq/.gitignore | 0 .../setup}/dnsmasq/.not_logged_in_yet | 0 {setup => internal/setup}/dnsmasq/README.md | 0 .../setup}/dnsmasq/bare-metal.yaml | 0 {setup => internal/setup}/dnsmasq/boot.ipxe | 0 .../setup}/dnsmasq/dnsmasq.conf | 0 .../setup}/dnsmasq/dnsmasq.reference | 0 {setup => internal/setup}/dnsmasq/nginx.conf | 0 {setup => internal/setup}/dnsmasq/setup.sh | 0 internal/setup/embedded.go | 173 ++++++++++++++++++ internal/setup/embedded_test.go | 164 +++++++++++++++++ .../setup}/operator/backup/install.sh | 0 .../setup}/operator/install_all.sh | 0 112 files changed, 337 insertions(+) rename {setup => internal/setup}/README.md (100%) rename {setup => internal/setup}/cluster-nodes/init-cluster.sh (100%) rename {setup => internal/setup}/cluster-nodes/patch.templates/controlplane.yaml (100%) rename {setup => internal/setup}/cluster-nodes/patch.templates/worker.yaml (100%) rename {setup => internal/setup}/cluster-nodes/talos-schemas.yaml (100%) rename {setup => internal/setup}/cluster-services/README.md (100%) rename {setup => internal/setup}/cluster-services/cert-manager/README.md (100%) rename {setup => internal/setup}/cluster-services/cert-manager/install.sh (100%) rename {setup => internal/setup}/cluster-services/cert-manager/kustomize.template/cert-manager-for-reference.yaml (100%) rename {setup => internal/setup}/cluster-services/cert-manager/kustomize.template/internal-wildcard-certificate.yaml (100%) rename {setup => internal/setup}/cluster-services/cert-manager/kustomize.template/kustomization.yaml (100%) rename {setup => internal/setup}/cluster-services/cert-manager/kustomize.template/letsencrypt-prod-dns01.yaml (100%) rename {setup => internal/setup}/cluster-services/cert-manager/kustomize.template/letsencrypt-staging-dns01.yaml (100%) rename {setup => internal/setup}/cluster-services/cert-manager/kustomize.template/namespace.yaml (100%) rename {setup => internal/setup}/cluster-services/cert-manager/kustomize.template/wildcard-certificate.yaml (100%) rename {setup => internal/setup}/cluster-services/cert-manager/wild-manifest.yaml (100%) rename {setup => internal/setup}/cluster-services/common.sh (100%) rename {setup => internal/setup}/cluster-services/coredns/README.md (100%) rename {setup => internal/setup}/cluster-services/coredns/install.sh (100%) rename {setup => internal/setup}/cluster-services/coredns/kustomize.template/coredns-custom-config.yaml (100%) rename {setup => internal/setup}/cluster-services/coredns/wild-manifest.yaml (100%) rename {setup => internal/setup}/cluster-services/docker-registry/README.md (100%) rename {setup => internal/setup}/cluster-services/docker-registry/install.sh (100%) rename {setup => internal/setup}/cluster-services/docker-registry/kustomize.template/deployment.yaml (100%) rename {setup => internal/setup}/cluster-services/docker-registry/kustomize.template/ingress.yaml (100%) rename {setup => internal/setup}/cluster-services/docker-registry/kustomize.template/kustomization.yaml (100%) rename {setup => internal/setup}/cluster-services/docker-registry/kustomize.template/namespace.yaml (100%) rename {setup => internal/setup}/cluster-services/docker-registry/kustomize.template/pvc.yaml (100%) rename {setup => internal/setup}/cluster-services/docker-registry/kustomize.template/service.yaml (100%) rename {setup => internal/setup}/cluster-services/docker-registry/wild-manifest.yaml (100%) rename {setup => internal/setup}/cluster-services/externaldns/README.md (100%) rename {setup => internal/setup}/cluster-services/externaldns/install.sh (100%) rename {setup => internal/setup}/cluster-services/externaldns/kustomize.template/externaldns-cloudflare.yaml (100%) rename {setup => internal/setup}/cluster-services/externaldns/kustomize.template/externaldns-rbac.yaml (100%) rename {setup => internal/setup}/cluster-services/externaldns/kustomize.template/kustomization.yaml (100%) rename {setup => internal/setup}/cluster-services/externaldns/kustomize.template/namespace.yaml (100%) rename {setup => internal/setup}/cluster-services/externaldns/wild-manifest.yaml (100%) rename {setup => internal/setup}/cluster-services/kubernetes-dashboard/README.md (100%) rename {setup => internal/setup}/cluster-services/kubernetes-dashboard/install.sh (100%) rename {setup => internal/setup}/cluster-services/kubernetes-dashboard/kustomize.template/dashboard-admin-rbac.yaml (100%) rename {setup => internal/setup}/cluster-services/kubernetes-dashboard/kustomize.template/dashboard-kube-system.yaml (100%) rename {setup => internal/setup}/cluster-services/kubernetes-dashboard/kustomize.template/kustomization.yaml (100%) rename {setup => internal/setup}/cluster-services/kubernetes-dashboard/wild-manifest.yaml (100%) rename {setup => internal/setup}/cluster-services/longhorn/README.md (100%) rename {setup => internal/setup}/cluster-services/longhorn/install.sh (100%) rename {setup => internal/setup}/cluster-services/longhorn/kustomize.template/ingress.yaml (100%) rename {setup => internal/setup}/cluster-services/longhorn/kustomize.template/kustomization.yaml (100%) rename {setup => internal/setup}/cluster-services/longhorn/kustomize.template/longhorn.yaml (100%) rename {setup => internal/setup}/cluster-services/longhorn/wild-manifest.yaml (100%) rename {setup => internal/setup}/cluster-services/metallb/README.md (100%) rename {setup => internal/setup}/cluster-services/metallb/install.sh (100%) rename {setup => internal/setup}/cluster-services/metallb/kustomize.template/configuration/kustomization.yaml (100%) rename {setup => internal/setup}/cluster-services/metallb/kustomize.template/configuration/pool.yaml (100%) rename {setup => internal/setup}/cluster-services/metallb/kustomize.template/installation/kustomization.yaml (100%) rename {setup => internal/setup}/cluster-services/metallb/wild-manifest.yaml (100%) rename {setup => internal/setup}/cluster-services/nfs/README.md (100%) rename {setup => internal/setup}/cluster-services/nfs/install.sh (100%) rename {setup => internal/setup}/cluster-services/nfs/kustomize.template/kustomization.yaml (100%) rename {setup => internal/setup}/cluster-services/nfs/kustomize.template/persistent-volume.yaml (100%) rename {setup => internal/setup}/cluster-services/nfs/kustomize.template/storage-class.yaml (100%) rename {setup => internal/setup}/cluster-services/nfs/setup-nfs-host.sh (100%) rename {setup => internal/setup}/cluster-services/nfs/wild-manifest.yaml (100%) rename {setup => internal/setup}/cluster-services/node-feature-discovery/README.md (100%) rename {setup => internal/setup}/cluster-services/node-feature-discovery/install.sh (100%) rename {setup => internal/setup}/cluster-services/node-feature-discovery/kustomize.template/crds.yaml (100%) rename {setup => internal/setup}/cluster-services/node-feature-discovery/kustomize.template/daemonset.yaml (100%) rename {setup => internal/setup}/cluster-services/node-feature-discovery/kustomize.template/kustomization.yaml (100%) rename {setup => internal/setup}/cluster-services/node-feature-discovery/kustomize.template/master.yaml (100%) rename {setup => internal/setup}/cluster-services/node-feature-discovery/kustomize.template/namespace.yaml (100%) rename {setup => internal/setup}/cluster-services/node-feature-discovery/kustomize.template/rbac.yaml (100%) rename {setup => internal/setup}/cluster-services/node-feature-discovery/wild-manifest.yaml (100%) rename {setup => internal/setup}/cluster-services/nvidia-device-plugin/README.md (100%) rename {setup => internal/setup}/cluster-services/nvidia-device-plugin/install.sh (100%) rename {setup => internal/setup}/cluster-services/nvidia-device-plugin/kustomize.template/daemonset.yaml (100%) rename {setup => internal/setup}/cluster-services/nvidia-device-plugin/kustomize.template/kustomization.yaml (100%) rename {setup => internal/setup}/cluster-services/nvidia-device-plugin/kustomize.template/runtimeclass.yaml (100%) rename {setup => internal/setup}/cluster-services/nvidia-device-plugin/wild-manifest.yaml (100%) rename {setup => internal/setup}/cluster-services/smtp/README.md (100%) rename {setup => internal/setup}/cluster-services/smtp/wild-manifest.yaml (100%) rename {setup => internal/setup}/cluster-services/traefik/README.md (100%) rename {setup => internal/setup}/cluster-services/traefik/install.sh (100%) rename {setup => internal/setup}/cluster-services/traefik/kustomize.template/internal-middleware.yaml (100%) rename {setup => internal/setup}/cluster-services/traefik/kustomize.template/kustomization.yaml (100%) rename {setup => internal/setup}/cluster-services/traefik/kustomize.template/namespace.yaml (100%) rename {setup => internal/setup}/cluster-services/traefik/kustomize.template/templates/deployment.yaml (100%) rename {setup => internal/setup}/cluster-services/traefik/kustomize.template/templates/gateway.yaml (100%) rename {setup => internal/setup}/cluster-services/traefik/kustomize.template/templates/gatewayclass.yaml (100%) rename {setup => internal/setup}/cluster-services/traefik/kustomize.template/templates/ingressclass.yaml (100%) rename {setup => internal/setup}/cluster-services/traefik/kustomize.template/templates/ingressroute.yaml (100%) rename {setup => internal/setup}/cluster-services/traefik/kustomize.template/templates/rbac/clusterrole.yaml (100%) rename {setup => internal/setup}/cluster-services/traefik/kustomize.template/templates/rbac/clusterrolebinding.yaml (100%) rename {setup => internal/setup}/cluster-services/traefik/kustomize.template/templates/rbac/serviceaccount.yaml (100%) rename {setup => internal/setup}/cluster-services/traefik/kustomize.template/templates/service.yaml (100%) rename {setup => internal/setup}/cluster-services/traefik/kustomize.template/traefik-service.yaml (100%) rename {setup => internal/setup}/cluster-services/traefik/wild-manifest.yaml (100%) rename {setup => internal/setup}/cluster-services/utils/README.md (100%) rename {setup => internal/setup}/cluster-services/utils/install.sh (100%) rename {setup => internal/setup}/cluster-services/utils/kustomize.template/netdebug.yaml (100%) rename {setup => internal/setup}/cluster-services/utils/wild-manifest.yaml (100%) rename {setup => internal/setup}/dnsmasq/.gitignore (100%) rename {setup => internal/setup}/dnsmasq/.not_logged_in_yet (100%) rename {setup => internal/setup}/dnsmasq/README.md (100%) rename {setup => internal/setup}/dnsmasq/bare-metal.yaml (100%) rename {setup => internal/setup}/dnsmasq/boot.ipxe (100%) rename {setup => internal/setup}/dnsmasq/dnsmasq.conf (100%) rename {setup => internal/setup}/dnsmasq/dnsmasq.reference (100%) rename {setup => internal/setup}/dnsmasq/nginx.conf (100%) rename {setup => internal/setup}/dnsmasq/setup.sh (100%) create mode 100644 internal/setup/embedded.go create mode 100644 internal/setup/embedded_test.go rename {setup => internal/setup}/operator/backup/install.sh (100%) rename {setup => internal/setup}/operator/install_all.sh (100%) diff --git a/setup/README.md b/internal/setup/README.md similarity index 100% rename from setup/README.md rename to internal/setup/README.md diff --git a/setup/cluster-nodes/init-cluster.sh b/internal/setup/cluster-nodes/init-cluster.sh similarity index 100% rename from setup/cluster-nodes/init-cluster.sh rename to internal/setup/cluster-nodes/init-cluster.sh diff --git a/setup/cluster-nodes/patch.templates/controlplane.yaml b/internal/setup/cluster-nodes/patch.templates/controlplane.yaml similarity index 100% rename from setup/cluster-nodes/patch.templates/controlplane.yaml rename to internal/setup/cluster-nodes/patch.templates/controlplane.yaml diff --git a/setup/cluster-nodes/patch.templates/worker.yaml b/internal/setup/cluster-nodes/patch.templates/worker.yaml similarity index 100% rename from setup/cluster-nodes/patch.templates/worker.yaml rename to internal/setup/cluster-nodes/patch.templates/worker.yaml diff --git a/setup/cluster-nodes/talos-schemas.yaml b/internal/setup/cluster-nodes/talos-schemas.yaml similarity index 100% rename from setup/cluster-nodes/talos-schemas.yaml rename to internal/setup/cluster-nodes/talos-schemas.yaml diff --git a/setup/cluster-services/README.md b/internal/setup/cluster-services/README.md similarity index 100% rename from setup/cluster-services/README.md rename to internal/setup/cluster-services/README.md diff --git a/setup/cluster-services/cert-manager/README.md b/internal/setup/cluster-services/cert-manager/README.md similarity index 100% rename from setup/cluster-services/cert-manager/README.md rename to internal/setup/cluster-services/cert-manager/README.md diff --git a/setup/cluster-services/cert-manager/install.sh b/internal/setup/cluster-services/cert-manager/install.sh similarity index 100% rename from setup/cluster-services/cert-manager/install.sh rename to internal/setup/cluster-services/cert-manager/install.sh diff --git a/setup/cluster-services/cert-manager/kustomize.template/cert-manager-for-reference.yaml b/internal/setup/cluster-services/cert-manager/kustomize.template/cert-manager-for-reference.yaml similarity index 100% rename from setup/cluster-services/cert-manager/kustomize.template/cert-manager-for-reference.yaml rename to internal/setup/cluster-services/cert-manager/kustomize.template/cert-manager-for-reference.yaml diff --git a/setup/cluster-services/cert-manager/kustomize.template/internal-wildcard-certificate.yaml b/internal/setup/cluster-services/cert-manager/kustomize.template/internal-wildcard-certificate.yaml similarity index 100% rename from setup/cluster-services/cert-manager/kustomize.template/internal-wildcard-certificate.yaml rename to internal/setup/cluster-services/cert-manager/kustomize.template/internal-wildcard-certificate.yaml diff --git a/setup/cluster-services/cert-manager/kustomize.template/kustomization.yaml b/internal/setup/cluster-services/cert-manager/kustomize.template/kustomization.yaml similarity index 100% rename from setup/cluster-services/cert-manager/kustomize.template/kustomization.yaml rename to internal/setup/cluster-services/cert-manager/kustomize.template/kustomization.yaml diff --git a/setup/cluster-services/cert-manager/kustomize.template/letsencrypt-prod-dns01.yaml b/internal/setup/cluster-services/cert-manager/kustomize.template/letsencrypt-prod-dns01.yaml similarity index 100% rename from setup/cluster-services/cert-manager/kustomize.template/letsencrypt-prod-dns01.yaml rename to internal/setup/cluster-services/cert-manager/kustomize.template/letsencrypt-prod-dns01.yaml diff --git a/setup/cluster-services/cert-manager/kustomize.template/letsencrypt-staging-dns01.yaml b/internal/setup/cluster-services/cert-manager/kustomize.template/letsencrypt-staging-dns01.yaml similarity index 100% rename from setup/cluster-services/cert-manager/kustomize.template/letsencrypt-staging-dns01.yaml rename to internal/setup/cluster-services/cert-manager/kustomize.template/letsencrypt-staging-dns01.yaml diff --git a/setup/cluster-services/cert-manager/kustomize.template/namespace.yaml b/internal/setup/cluster-services/cert-manager/kustomize.template/namespace.yaml similarity index 100% rename from setup/cluster-services/cert-manager/kustomize.template/namespace.yaml rename to internal/setup/cluster-services/cert-manager/kustomize.template/namespace.yaml diff --git a/setup/cluster-services/cert-manager/kustomize.template/wildcard-certificate.yaml b/internal/setup/cluster-services/cert-manager/kustomize.template/wildcard-certificate.yaml similarity index 100% rename from setup/cluster-services/cert-manager/kustomize.template/wildcard-certificate.yaml rename to internal/setup/cluster-services/cert-manager/kustomize.template/wildcard-certificate.yaml diff --git a/setup/cluster-services/cert-manager/wild-manifest.yaml b/internal/setup/cluster-services/cert-manager/wild-manifest.yaml similarity index 100% rename from setup/cluster-services/cert-manager/wild-manifest.yaml rename to internal/setup/cluster-services/cert-manager/wild-manifest.yaml diff --git a/setup/cluster-services/common.sh b/internal/setup/cluster-services/common.sh similarity index 100% rename from setup/cluster-services/common.sh rename to internal/setup/cluster-services/common.sh diff --git a/setup/cluster-services/coredns/README.md b/internal/setup/cluster-services/coredns/README.md similarity index 100% rename from setup/cluster-services/coredns/README.md rename to internal/setup/cluster-services/coredns/README.md diff --git a/setup/cluster-services/coredns/install.sh b/internal/setup/cluster-services/coredns/install.sh similarity index 100% rename from setup/cluster-services/coredns/install.sh rename to internal/setup/cluster-services/coredns/install.sh diff --git a/setup/cluster-services/coredns/kustomize.template/coredns-custom-config.yaml b/internal/setup/cluster-services/coredns/kustomize.template/coredns-custom-config.yaml similarity index 100% rename from setup/cluster-services/coredns/kustomize.template/coredns-custom-config.yaml rename to internal/setup/cluster-services/coredns/kustomize.template/coredns-custom-config.yaml diff --git a/setup/cluster-services/coredns/wild-manifest.yaml b/internal/setup/cluster-services/coredns/wild-manifest.yaml similarity index 100% rename from setup/cluster-services/coredns/wild-manifest.yaml rename to internal/setup/cluster-services/coredns/wild-manifest.yaml diff --git a/setup/cluster-services/docker-registry/README.md b/internal/setup/cluster-services/docker-registry/README.md similarity index 100% rename from setup/cluster-services/docker-registry/README.md rename to internal/setup/cluster-services/docker-registry/README.md diff --git a/setup/cluster-services/docker-registry/install.sh b/internal/setup/cluster-services/docker-registry/install.sh similarity index 100% rename from setup/cluster-services/docker-registry/install.sh rename to internal/setup/cluster-services/docker-registry/install.sh diff --git a/setup/cluster-services/docker-registry/kustomize.template/deployment.yaml b/internal/setup/cluster-services/docker-registry/kustomize.template/deployment.yaml similarity index 100% rename from setup/cluster-services/docker-registry/kustomize.template/deployment.yaml rename to internal/setup/cluster-services/docker-registry/kustomize.template/deployment.yaml diff --git a/setup/cluster-services/docker-registry/kustomize.template/ingress.yaml b/internal/setup/cluster-services/docker-registry/kustomize.template/ingress.yaml similarity index 100% rename from setup/cluster-services/docker-registry/kustomize.template/ingress.yaml rename to internal/setup/cluster-services/docker-registry/kustomize.template/ingress.yaml diff --git a/setup/cluster-services/docker-registry/kustomize.template/kustomization.yaml b/internal/setup/cluster-services/docker-registry/kustomize.template/kustomization.yaml similarity index 100% rename from setup/cluster-services/docker-registry/kustomize.template/kustomization.yaml rename to internal/setup/cluster-services/docker-registry/kustomize.template/kustomization.yaml diff --git a/setup/cluster-services/docker-registry/kustomize.template/namespace.yaml b/internal/setup/cluster-services/docker-registry/kustomize.template/namespace.yaml similarity index 100% rename from setup/cluster-services/docker-registry/kustomize.template/namespace.yaml rename to internal/setup/cluster-services/docker-registry/kustomize.template/namespace.yaml diff --git a/setup/cluster-services/docker-registry/kustomize.template/pvc.yaml b/internal/setup/cluster-services/docker-registry/kustomize.template/pvc.yaml similarity index 100% rename from setup/cluster-services/docker-registry/kustomize.template/pvc.yaml rename to internal/setup/cluster-services/docker-registry/kustomize.template/pvc.yaml diff --git a/setup/cluster-services/docker-registry/kustomize.template/service.yaml b/internal/setup/cluster-services/docker-registry/kustomize.template/service.yaml similarity index 100% rename from setup/cluster-services/docker-registry/kustomize.template/service.yaml rename to internal/setup/cluster-services/docker-registry/kustomize.template/service.yaml diff --git a/setup/cluster-services/docker-registry/wild-manifest.yaml b/internal/setup/cluster-services/docker-registry/wild-manifest.yaml similarity index 100% rename from setup/cluster-services/docker-registry/wild-manifest.yaml rename to internal/setup/cluster-services/docker-registry/wild-manifest.yaml diff --git a/setup/cluster-services/externaldns/README.md b/internal/setup/cluster-services/externaldns/README.md similarity index 100% rename from setup/cluster-services/externaldns/README.md rename to internal/setup/cluster-services/externaldns/README.md diff --git a/setup/cluster-services/externaldns/install.sh b/internal/setup/cluster-services/externaldns/install.sh similarity index 100% rename from setup/cluster-services/externaldns/install.sh rename to internal/setup/cluster-services/externaldns/install.sh diff --git a/setup/cluster-services/externaldns/kustomize.template/externaldns-cloudflare.yaml b/internal/setup/cluster-services/externaldns/kustomize.template/externaldns-cloudflare.yaml similarity index 100% rename from setup/cluster-services/externaldns/kustomize.template/externaldns-cloudflare.yaml rename to internal/setup/cluster-services/externaldns/kustomize.template/externaldns-cloudflare.yaml diff --git a/setup/cluster-services/externaldns/kustomize.template/externaldns-rbac.yaml b/internal/setup/cluster-services/externaldns/kustomize.template/externaldns-rbac.yaml similarity index 100% rename from setup/cluster-services/externaldns/kustomize.template/externaldns-rbac.yaml rename to internal/setup/cluster-services/externaldns/kustomize.template/externaldns-rbac.yaml diff --git a/setup/cluster-services/externaldns/kustomize.template/kustomization.yaml b/internal/setup/cluster-services/externaldns/kustomize.template/kustomization.yaml similarity index 100% rename from setup/cluster-services/externaldns/kustomize.template/kustomization.yaml rename to internal/setup/cluster-services/externaldns/kustomize.template/kustomization.yaml diff --git a/setup/cluster-services/externaldns/kustomize.template/namespace.yaml b/internal/setup/cluster-services/externaldns/kustomize.template/namespace.yaml similarity index 100% rename from setup/cluster-services/externaldns/kustomize.template/namespace.yaml rename to internal/setup/cluster-services/externaldns/kustomize.template/namespace.yaml diff --git a/setup/cluster-services/externaldns/wild-manifest.yaml b/internal/setup/cluster-services/externaldns/wild-manifest.yaml similarity index 100% rename from setup/cluster-services/externaldns/wild-manifest.yaml rename to internal/setup/cluster-services/externaldns/wild-manifest.yaml diff --git a/setup/cluster-services/kubernetes-dashboard/README.md b/internal/setup/cluster-services/kubernetes-dashboard/README.md similarity index 100% rename from setup/cluster-services/kubernetes-dashboard/README.md rename to internal/setup/cluster-services/kubernetes-dashboard/README.md diff --git a/setup/cluster-services/kubernetes-dashboard/install.sh b/internal/setup/cluster-services/kubernetes-dashboard/install.sh similarity index 100% rename from setup/cluster-services/kubernetes-dashboard/install.sh rename to internal/setup/cluster-services/kubernetes-dashboard/install.sh diff --git a/setup/cluster-services/kubernetes-dashboard/kustomize.template/dashboard-admin-rbac.yaml b/internal/setup/cluster-services/kubernetes-dashboard/kustomize.template/dashboard-admin-rbac.yaml similarity index 100% rename from setup/cluster-services/kubernetes-dashboard/kustomize.template/dashboard-admin-rbac.yaml rename to internal/setup/cluster-services/kubernetes-dashboard/kustomize.template/dashboard-admin-rbac.yaml diff --git a/setup/cluster-services/kubernetes-dashboard/kustomize.template/dashboard-kube-system.yaml b/internal/setup/cluster-services/kubernetes-dashboard/kustomize.template/dashboard-kube-system.yaml similarity index 100% rename from setup/cluster-services/kubernetes-dashboard/kustomize.template/dashboard-kube-system.yaml rename to internal/setup/cluster-services/kubernetes-dashboard/kustomize.template/dashboard-kube-system.yaml diff --git a/setup/cluster-services/kubernetes-dashboard/kustomize.template/kustomization.yaml b/internal/setup/cluster-services/kubernetes-dashboard/kustomize.template/kustomization.yaml similarity index 100% rename from setup/cluster-services/kubernetes-dashboard/kustomize.template/kustomization.yaml rename to internal/setup/cluster-services/kubernetes-dashboard/kustomize.template/kustomization.yaml diff --git a/setup/cluster-services/kubernetes-dashboard/wild-manifest.yaml b/internal/setup/cluster-services/kubernetes-dashboard/wild-manifest.yaml similarity index 100% rename from setup/cluster-services/kubernetes-dashboard/wild-manifest.yaml rename to internal/setup/cluster-services/kubernetes-dashboard/wild-manifest.yaml diff --git a/setup/cluster-services/longhorn/README.md b/internal/setup/cluster-services/longhorn/README.md similarity index 100% rename from setup/cluster-services/longhorn/README.md rename to internal/setup/cluster-services/longhorn/README.md diff --git a/setup/cluster-services/longhorn/install.sh b/internal/setup/cluster-services/longhorn/install.sh similarity index 100% rename from setup/cluster-services/longhorn/install.sh rename to internal/setup/cluster-services/longhorn/install.sh diff --git a/setup/cluster-services/longhorn/kustomize.template/ingress.yaml b/internal/setup/cluster-services/longhorn/kustomize.template/ingress.yaml similarity index 100% rename from setup/cluster-services/longhorn/kustomize.template/ingress.yaml rename to internal/setup/cluster-services/longhorn/kustomize.template/ingress.yaml diff --git a/setup/cluster-services/longhorn/kustomize.template/kustomization.yaml b/internal/setup/cluster-services/longhorn/kustomize.template/kustomization.yaml similarity index 100% rename from setup/cluster-services/longhorn/kustomize.template/kustomization.yaml rename to internal/setup/cluster-services/longhorn/kustomize.template/kustomization.yaml diff --git a/setup/cluster-services/longhorn/kustomize.template/longhorn.yaml b/internal/setup/cluster-services/longhorn/kustomize.template/longhorn.yaml similarity index 100% rename from setup/cluster-services/longhorn/kustomize.template/longhorn.yaml rename to internal/setup/cluster-services/longhorn/kustomize.template/longhorn.yaml diff --git a/setup/cluster-services/longhorn/wild-manifest.yaml b/internal/setup/cluster-services/longhorn/wild-manifest.yaml similarity index 100% rename from setup/cluster-services/longhorn/wild-manifest.yaml rename to internal/setup/cluster-services/longhorn/wild-manifest.yaml diff --git a/setup/cluster-services/metallb/README.md b/internal/setup/cluster-services/metallb/README.md similarity index 100% rename from setup/cluster-services/metallb/README.md rename to internal/setup/cluster-services/metallb/README.md diff --git a/setup/cluster-services/metallb/install.sh b/internal/setup/cluster-services/metallb/install.sh similarity index 100% rename from setup/cluster-services/metallb/install.sh rename to internal/setup/cluster-services/metallb/install.sh diff --git a/setup/cluster-services/metallb/kustomize.template/configuration/kustomization.yaml b/internal/setup/cluster-services/metallb/kustomize.template/configuration/kustomization.yaml similarity index 100% rename from setup/cluster-services/metallb/kustomize.template/configuration/kustomization.yaml rename to internal/setup/cluster-services/metallb/kustomize.template/configuration/kustomization.yaml diff --git a/setup/cluster-services/metallb/kustomize.template/configuration/pool.yaml b/internal/setup/cluster-services/metallb/kustomize.template/configuration/pool.yaml similarity index 100% rename from setup/cluster-services/metallb/kustomize.template/configuration/pool.yaml rename to internal/setup/cluster-services/metallb/kustomize.template/configuration/pool.yaml diff --git a/setup/cluster-services/metallb/kustomize.template/installation/kustomization.yaml b/internal/setup/cluster-services/metallb/kustomize.template/installation/kustomization.yaml similarity index 100% rename from setup/cluster-services/metallb/kustomize.template/installation/kustomization.yaml rename to internal/setup/cluster-services/metallb/kustomize.template/installation/kustomization.yaml diff --git a/setup/cluster-services/metallb/wild-manifest.yaml b/internal/setup/cluster-services/metallb/wild-manifest.yaml similarity index 100% rename from setup/cluster-services/metallb/wild-manifest.yaml rename to internal/setup/cluster-services/metallb/wild-manifest.yaml diff --git a/setup/cluster-services/nfs/README.md b/internal/setup/cluster-services/nfs/README.md similarity index 100% rename from setup/cluster-services/nfs/README.md rename to internal/setup/cluster-services/nfs/README.md diff --git a/setup/cluster-services/nfs/install.sh b/internal/setup/cluster-services/nfs/install.sh similarity index 100% rename from setup/cluster-services/nfs/install.sh rename to internal/setup/cluster-services/nfs/install.sh diff --git a/setup/cluster-services/nfs/kustomize.template/kustomization.yaml b/internal/setup/cluster-services/nfs/kustomize.template/kustomization.yaml similarity index 100% rename from setup/cluster-services/nfs/kustomize.template/kustomization.yaml rename to internal/setup/cluster-services/nfs/kustomize.template/kustomization.yaml diff --git a/setup/cluster-services/nfs/kustomize.template/persistent-volume.yaml b/internal/setup/cluster-services/nfs/kustomize.template/persistent-volume.yaml similarity index 100% rename from setup/cluster-services/nfs/kustomize.template/persistent-volume.yaml rename to internal/setup/cluster-services/nfs/kustomize.template/persistent-volume.yaml diff --git a/setup/cluster-services/nfs/kustomize.template/storage-class.yaml b/internal/setup/cluster-services/nfs/kustomize.template/storage-class.yaml similarity index 100% rename from setup/cluster-services/nfs/kustomize.template/storage-class.yaml rename to internal/setup/cluster-services/nfs/kustomize.template/storage-class.yaml diff --git a/setup/cluster-services/nfs/setup-nfs-host.sh b/internal/setup/cluster-services/nfs/setup-nfs-host.sh similarity index 100% rename from setup/cluster-services/nfs/setup-nfs-host.sh rename to internal/setup/cluster-services/nfs/setup-nfs-host.sh diff --git a/setup/cluster-services/nfs/wild-manifest.yaml b/internal/setup/cluster-services/nfs/wild-manifest.yaml similarity index 100% rename from setup/cluster-services/nfs/wild-manifest.yaml rename to internal/setup/cluster-services/nfs/wild-manifest.yaml diff --git a/setup/cluster-services/node-feature-discovery/README.md b/internal/setup/cluster-services/node-feature-discovery/README.md similarity index 100% rename from setup/cluster-services/node-feature-discovery/README.md rename to internal/setup/cluster-services/node-feature-discovery/README.md diff --git a/setup/cluster-services/node-feature-discovery/install.sh b/internal/setup/cluster-services/node-feature-discovery/install.sh similarity index 100% rename from setup/cluster-services/node-feature-discovery/install.sh rename to internal/setup/cluster-services/node-feature-discovery/install.sh diff --git a/setup/cluster-services/node-feature-discovery/kustomize.template/crds.yaml b/internal/setup/cluster-services/node-feature-discovery/kustomize.template/crds.yaml similarity index 100% rename from setup/cluster-services/node-feature-discovery/kustomize.template/crds.yaml rename to internal/setup/cluster-services/node-feature-discovery/kustomize.template/crds.yaml diff --git a/setup/cluster-services/node-feature-discovery/kustomize.template/daemonset.yaml b/internal/setup/cluster-services/node-feature-discovery/kustomize.template/daemonset.yaml similarity index 100% rename from setup/cluster-services/node-feature-discovery/kustomize.template/daemonset.yaml rename to internal/setup/cluster-services/node-feature-discovery/kustomize.template/daemonset.yaml diff --git a/setup/cluster-services/node-feature-discovery/kustomize.template/kustomization.yaml b/internal/setup/cluster-services/node-feature-discovery/kustomize.template/kustomization.yaml similarity index 100% rename from setup/cluster-services/node-feature-discovery/kustomize.template/kustomization.yaml rename to internal/setup/cluster-services/node-feature-discovery/kustomize.template/kustomization.yaml diff --git a/setup/cluster-services/node-feature-discovery/kustomize.template/master.yaml b/internal/setup/cluster-services/node-feature-discovery/kustomize.template/master.yaml similarity index 100% rename from setup/cluster-services/node-feature-discovery/kustomize.template/master.yaml rename to internal/setup/cluster-services/node-feature-discovery/kustomize.template/master.yaml diff --git a/setup/cluster-services/node-feature-discovery/kustomize.template/namespace.yaml b/internal/setup/cluster-services/node-feature-discovery/kustomize.template/namespace.yaml similarity index 100% rename from setup/cluster-services/node-feature-discovery/kustomize.template/namespace.yaml rename to internal/setup/cluster-services/node-feature-discovery/kustomize.template/namespace.yaml diff --git a/setup/cluster-services/node-feature-discovery/kustomize.template/rbac.yaml b/internal/setup/cluster-services/node-feature-discovery/kustomize.template/rbac.yaml similarity index 100% rename from setup/cluster-services/node-feature-discovery/kustomize.template/rbac.yaml rename to internal/setup/cluster-services/node-feature-discovery/kustomize.template/rbac.yaml diff --git a/setup/cluster-services/node-feature-discovery/wild-manifest.yaml b/internal/setup/cluster-services/node-feature-discovery/wild-manifest.yaml similarity index 100% rename from setup/cluster-services/node-feature-discovery/wild-manifest.yaml rename to internal/setup/cluster-services/node-feature-discovery/wild-manifest.yaml diff --git a/setup/cluster-services/nvidia-device-plugin/README.md b/internal/setup/cluster-services/nvidia-device-plugin/README.md similarity index 100% rename from setup/cluster-services/nvidia-device-plugin/README.md rename to internal/setup/cluster-services/nvidia-device-plugin/README.md diff --git a/setup/cluster-services/nvidia-device-plugin/install.sh b/internal/setup/cluster-services/nvidia-device-plugin/install.sh similarity index 100% rename from setup/cluster-services/nvidia-device-plugin/install.sh rename to internal/setup/cluster-services/nvidia-device-plugin/install.sh diff --git a/setup/cluster-services/nvidia-device-plugin/kustomize.template/daemonset.yaml b/internal/setup/cluster-services/nvidia-device-plugin/kustomize.template/daemonset.yaml similarity index 100% rename from setup/cluster-services/nvidia-device-plugin/kustomize.template/daemonset.yaml rename to internal/setup/cluster-services/nvidia-device-plugin/kustomize.template/daemonset.yaml diff --git a/setup/cluster-services/nvidia-device-plugin/kustomize.template/kustomization.yaml b/internal/setup/cluster-services/nvidia-device-plugin/kustomize.template/kustomization.yaml similarity index 100% rename from setup/cluster-services/nvidia-device-plugin/kustomize.template/kustomization.yaml rename to internal/setup/cluster-services/nvidia-device-plugin/kustomize.template/kustomization.yaml diff --git a/setup/cluster-services/nvidia-device-plugin/kustomize.template/runtimeclass.yaml b/internal/setup/cluster-services/nvidia-device-plugin/kustomize.template/runtimeclass.yaml similarity index 100% rename from setup/cluster-services/nvidia-device-plugin/kustomize.template/runtimeclass.yaml rename to internal/setup/cluster-services/nvidia-device-plugin/kustomize.template/runtimeclass.yaml diff --git a/setup/cluster-services/nvidia-device-plugin/wild-manifest.yaml b/internal/setup/cluster-services/nvidia-device-plugin/wild-manifest.yaml similarity index 100% rename from setup/cluster-services/nvidia-device-plugin/wild-manifest.yaml rename to internal/setup/cluster-services/nvidia-device-plugin/wild-manifest.yaml diff --git a/setup/cluster-services/smtp/README.md b/internal/setup/cluster-services/smtp/README.md similarity index 100% rename from setup/cluster-services/smtp/README.md rename to internal/setup/cluster-services/smtp/README.md diff --git a/setup/cluster-services/smtp/wild-manifest.yaml b/internal/setup/cluster-services/smtp/wild-manifest.yaml similarity index 100% rename from setup/cluster-services/smtp/wild-manifest.yaml rename to internal/setup/cluster-services/smtp/wild-manifest.yaml diff --git a/setup/cluster-services/traefik/README.md b/internal/setup/cluster-services/traefik/README.md similarity index 100% rename from setup/cluster-services/traefik/README.md rename to internal/setup/cluster-services/traefik/README.md diff --git a/setup/cluster-services/traefik/install.sh b/internal/setup/cluster-services/traefik/install.sh similarity index 100% rename from setup/cluster-services/traefik/install.sh rename to internal/setup/cluster-services/traefik/install.sh diff --git a/setup/cluster-services/traefik/kustomize.template/internal-middleware.yaml b/internal/setup/cluster-services/traefik/kustomize.template/internal-middleware.yaml similarity index 100% rename from setup/cluster-services/traefik/kustomize.template/internal-middleware.yaml rename to internal/setup/cluster-services/traefik/kustomize.template/internal-middleware.yaml diff --git a/setup/cluster-services/traefik/kustomize.template/kustomization.yaml b/internal/setup/cluster-services/traefik/kustomize.template/kustomization.yaml similarity index 100% rename from setup/cluster-services/traefik/kustomize.template/kustomization.yaml rename to internal/setup/cluster-services/traefik/kustomize.template/kustomization.yaml diff --git a/setup/cluster-services/traefik/kustomize.template/namespace.yaml b/internal/setup/cluster-services/traefik/kustomize.template/namespace.yaml similarity index 100% rename from setup/cluster-services/traefik/kustomize.template/namespace.yaml rename to internal/setup/cluster-services/traefik/kustomize.template/namespace.yaml diff --git a/setup/cluster-services/traefik/kustomize.template/templates/deployment.yaml b/internal/setup/cluster-services/traefik/kustomize.template/templates/deployment.yaml similarity index 100% rename from setup/cluster-services/traefik/kustomize.template/templates/deployment.yaml rename to internal/setup/cluster-services/traefik/kustomize.template/templates/deployment.yaml diff --git a/setup/cluster-services/traefik/kustomize.template/templates/gateway.yaml b/internal/setup/cluster-services/traefik/kustomize.template/templates/gateway.yaml similarity index 100% rename from setup/cluster-services/traefik/kustomize.template/templates/gateway.yaml rename to internal/setup/cluster-services/traefik/kustomize.template/templates/gateway.yaml diff --git a/setup/cluster-services/traefik/kustomize.template/templates/gatewayclass.yaml b/internal/setup/cluster-services/traefik/kustomize.template/templates/gatewayclass.yaml similarity index 100% rename from setup/cluster-services/traefik/kustomize.template/templates/gatewayclass.yaml rename to internal/setup/cluster-services/traefik/kustomize.template/templates/gatewayclass.yaml diff --git a/setup/cluster-services/traefik/kustomize.template/templates/ingressclass.yaml b/internal/setup/cluster-services/traefik/kustomize.template/templates/ingressclass.yaml similarity index 100% rename from setup/cluster-services/traefik/kustomize.template/templates/ingressclass.yaml rename to internal/setup/cluster-services/traefik/kustomize.template/templates/ingressclass.yaml diff --git a/setup/cluster-services/traefik/kustomize.template/templates/ingressroute.yaml b/internal/setup/cluster-services/traefik/kustomize.template/templates/ingressroute.yaml similarity index 100% rename from setup/cluster-services/traefik/kustomize.template/templates/ingressroute.yaml rename to internal/setup/cluster-services/traefik/kustomize.template/templates/ingressroute.yaml diff --git a/setup/cluster-services/traefik/kustomize.template/templates/rbac/clusterrole.yaml b/internal/setup/cluster-services/traefik/kustomize.template/templates/rbac/clusterrole.yaml similarity index 100% rename from setup/cluster-services/traefik/kustomize.template/templates/rbac/clusterrole.yaml rename to internal/setup/cluster-services/traefik/kustomize.template/templates/rbac/clusterrole.yaml diff --git a/setup/cluster-services/traefik/kustomize.template/templates/rbac/clusterrolebinding.yaml b/internal/setup/cluster-services/traefik/kustomize.template/templates/rbac/clusterrolebinding.yaml similarity index 100% rename from setup/cluster-services/traefik/kustomize.template/templates/rbac/clusterrolebinding.yaml rename to internal/setup/cluster-services/traefik/kustomize.template/templates/rbac/clusterrolebinding.yaml diff --git a/setup/cluster-services/traefik/kustomize.template/templates/rbac/serviceaccount.yaml b/internal/setup/cluster-services/traefik/kustomize.template/templates/rbac/serviceaccount.yaml similarity index 100% rename from setup/cluster-services/traefik/kustomize.template/templates/rbac/serviceaccount.yaml rename to internal/setup/cluster-services/traefik/kustomize.template/templates/rbac/serviceaccount.yaml diff --git a/setup/cluster-services/traefik/kustomize.template/templates/service.yaml b/internal/setup/cluster-services/traefik/kustomize.template/templates/service.yaml similarity index 100% rename from setup/cluster-services/traefik/kustomize.template/templates/service.yaml rename to internal/setup/cluster-services/traefik/kustomize.template/templates/service.yaml diff --git a/setup/cluster-services/traefik/kustomize.template/traefik-service.yaml b/internal/setup/cluster-services/traefik/kustomize.template/traefik-service.yaml similarity index 100% rename from setup/cluster-services/traefik/kustomize.template/traefik-service.yaml rename to internal/setup/cluster-services/traefik/kustomize.template/traefik-service.yaml diff --git a/setup/cluster-services/traefik/wild-manifest.yaml b/internal/setup/cluster-services/traefik/wild-manifest.yaml similarity index 100% rename from setup/cluster-services/traefik/wild-manifest.yaml rename to internal/setup/cluster-services/traefik/wild-manifest.yaml diff --git a/setup/cluster-services/utils/README.md b/internal/setup/cluster-services/utils/README.md similarity index 100% rename from setup/cluster-services/utils/README.md rename to internal/setup/cluster-services/utils/README.md diff --git a/setup/cluster-services/utils/install.sh b/internal/setup/cluster-services/utils/install.sh similarity index 100% rename from setup/cluster-services/utils/install.sh rename to internal/setup/cluster-services/utils/install.sh diff --git a/setup/cluster-services/utils/kustomize.template/netdebug.yaml b/internal/setup/cluster-services/utils/kustomize.template/netdebug.yaml similarity index 100% rename from setup/cluster-services/utils/kustomize.template/netdebug.yaml rename to internal/setup/cluster-services/utils/kustomize.template/netdebug.yaml diff --git a/setup/cluster-services/utils/wild-manifest.yaml b/internal/setup/cluster-services/utils/wild-manifest.yaml similarity index 100% rename from setup/cluster-services/utils/wild-manifest.yaml rename to internal/setup/cluster-services/utils/wild-manifest.yaml diff --git a/setup/dnsmasq/.gitignore b/internal/setup/dnsmasq/.gitignore similarity index 100% rename from setup/dnsmasq/.gitignore rename to internal/setup/dnsmasq/.gitignore diff --git a/setup/dnsmasq/.not_logged_in_yet b/internal/setup/dnsmasq/.not_logged_in_yet similarity index 100% rename from setup/dnsmasq/.not_logged_in_yet rename to internal/setup/dnsmasq/.not_logged_in_yet diff --git a/setup/dnsmasq/README.md b/internal/setup/dnsmasq/README.md similarity index 100% rename from setup/dnsmasq/README.md rename to internal/setup/dnsmasq/README.md diff --git a/setup/dnsmasq/bare-metal.yaml b/internal/setup/dnsmasq/bare-metal.yaml similarity index 100% rename from setup/dnsmasq/bare-metal.yaml rename to internal/setup/dnsmasq/bare-metal.yaml diff --git a/setup/dnsmasq/boot.ipxe b/internal/setup/dnsmasq/boot.ipxe similarity index 100% rename from setup/dnsmasq/boot.ipxe rename to internal/setup/dnsmasq/boot.ipxe diff --git a/setup/dnsmasq/dnsmasq.conf b/internal/setup/dnsmasq/dnsmasq.conf similarity index 100% rename from setup/dnsmasq/dnsmasq.conf rename to internal/setup/dnsmasq/dnsmasq.conf diff --git a/setup/dnsmasq/dnsmasq.reference b/internal/setup/dnsmasq/dnsmasq.reference similarity index 100% rename from setup/dnsmasq/dnsmasq.reference rename to internal/setup/dnsmasq/dnsmasq.reference diff --git a/setup/dnsmasq/nginx.conf b/internal/setup/dnsmasq/nginx.conf similarity index 100% rename from setup/dnsmasq/nginx.conf rename to internal/setup/dnsmasq/nginx.conf diff --git a/setup/dnsmasq/setup.sh b/internal/setup/dnsmasq/setup.sh similarity index 100% rename from setup/dnsmasq/setup.sh rename to internal/setup/dnsmasq/setup.sh diff --git a/internal/setup/embedded.go b/internal/setup/embedded.go new file mode 100644 index 0000000..3f11507 --- /dev/null +++ b/internal/setup/embedded.go @@ -0,0 +1,173 @@ +package setup + +import ( + "embed" + "fmt" + "io/fs" + "path" + + "gopkg.in/yaml.v3" +) + +// Embed all setup directories into the binary +// +//go:embed cluster-services/* cluster-nodes/* dnsmasq/* operator/* README.md +var setupFS embed.FS + +// Legacy alias for backward compatibility +var clusterServices = setupFS + +// ServiceManifest represents the wild-manifest.yaml structure +type ServiceManifest struct { + Name string `yaml:"name"` + Description string `yaml:"description"` + Version string `yaml:"version"` + Category string `yaml:"category"` + // Add other fields as needed from wild-manifest.yaml +} + +// ListServices returns all available cluster services +func ListServices() ([]string, error) { + entries, err := clusterServices.ReadDir("cluster-services") + if err != nil { + return nil, fmt.Errorf("reading cluster services: %w", err) + } + + var services []string + for _, entry := range entries { + if entry.IsDir() { + services = append(services, entry.Name()) + } + } + return services, nil +} + +// GetServiceFile returns a specific file from a service +func GetServiceFile(serviceName, filePath string) ([]byte, error) { + fullPath := path.Join("cluster-services", serviceName, filePath) + data, err := clusterServices.ReadFile(fullPath) + if err != nil { + return nil, fmt.Errorf("reading service file %s: %w", fullPath, err) + } + return data, nil +} + +// GetServiceFS returns the filesystem for a specific service +func GetServiceFS(serviceName string) (fs.FS, error) { + subFS, err := fs.Sub(clusterServices, path.Join("cluster-services", serviceName)) + if err != nil { + return nil, fmt.Errorf("accessing service %s: %w", serviceName, err) + } + return subFS, nil +} + +// GetManifest returns the parsed wild-manifest.yaml for a service +func GetManifest(serviceName string) (*ServiceManifest, error) { + data, err := GetServiceFile(serviceName, "wild-manifest.yaml") + if err != nil { + return nil, err + } + + var manifest ServiceManifest + if err := yaml.Unmarshal(data, &manifest); err != nil { + return nil, fmt.Errorf("parsing manifest for %s: %w", serviceName, err) + } + + return &manifest, nil +} + +// GetKustomizeTemplate returns all files from the kustomize.template directory +func GetKustomizeTemplate(serviceName string) (fs.FS, error) { + serviceFS, err := GetServiceFS(serviceName) + if err != nil { + return nil, err + } + + templateFS, err := fs.Sub(serviceFS, "kustomize.template") + if err != nil { + return nil, fmt.Errorf("accessing kustomize.template for %s: %w", serviceName, err) + } + + return templateFS, nil +} + +// ServiceExists checks if a service exists in the embedded files +func ServiceExists(serviceName string) bool { + services, err := ListServices() + if err != nil { + return false + } + + for _, s := range services { + if s == serviceName { + return true + } + } + return false +} + +// GetClusterNodesFS returns the filesystem for cluster-nodes setup files +func GetClusterNodesFS() (fs.FS, error) { + subFS, err := fs.Sub(setupFS, "cluster-nodes") + if err != nil { + return nil, fmt.Errorf("accessing cluster-nodes: %w", err) + } + return subFS, nil +} + +// GetClusterNodesFile returns a specific file from cluster-nodes +func GetClusterNodesFile(filePath string) ([]byte, error) { + fullPath := path.Join("cluster-nodes", filePath) + data, err := setupFS.ReadFile(fullPath) + if err != nil { + return nil, fmt.Errorf("reading cluster-nodes file %s: %w", filePath, err) + } + return data, nil +} + +// GetDNSMasqFS returns the filesystem for dnsmasq setup files +func GetDNSMasqFS() (fs.FS, error) { + subFS, err := fs.Sub(setupFS, "dnsmasq") + if err != nil { + return nil, fmt.Errorf("accessing dnsmasq: %w", err) + } + return subFS, nil +} + +// GetDNSMasqFile returns a specific file from dnsmasq +func GetDNSMasqFile(filePath string) ([]byte, error) { + fullPath := path.Join("dnsmasq", filePath) + data, err := setupFS.ReadFile(fullPath) + if err != nil { + return nil, fmt.Errorf("reading dnsmasq file %s: %w", filePath, err) + } + return data, nil +} + +// GetOperatorFS returns the filesystem for operator setup files +func GetOperatorFS() (fs.FS, error) { + subFS, err := fs.Sub(setupFS, "operator") + if err != nil { + return nil, fmt.Errorf("accessing operator: %w", err) + } + return subFS, nil +} + +// GetOperatorFile returns a specific file from operator +func GetOperatorFile(filePath string) ([]byte, error) { + fullPath := path.Join("operator", filePath) + data, err := setupFS.ReadFile(fullPath) + if err != nil { + return nil, fmt.Errorf("reading operator file %s: %w", filePath, err) + } + return data, nil +} + +// GetReadme returns the setup README.md content +func GetReadme() ([]byte, error) { + data, err := setupFS.ReadFile("README.md") + if err != nil { + return nil, fmt.Errorf("reading README.md: %w", err) + } + return data, nil +} diff --git a/internal/setup/embedded_test.go b/internal/setup/embedded_test.go new file mode 100644 index 0000000..de16650 --- /dev/null +++ b/internal/setup/embedded_test.go @@ -0,0 +1,164 @@ +package setup + +import ( + "io/fs" + "testing" +) + +func TestListServices(t *testing.T) { + services, err := ListServices() + if err != nil { + t.Fatalf("ListServices failed: %v", err) + } + + if len(services) == 0 { + t.Fatal("Expected at least one service, got none") + } + + t.Logf("Found %d services: %v", len(services), services) + + // Check for known services + expectedServices := []string{"traefik", "metallb", "coredns"} + for _, expected := range expectedServices { + found := false + for _, service := range services { + if service == expected { + found = true + break + } + } + if !found { + t.Errorf("Expected service %q not found in list", expected) + } + } +} + +func TestServiceExists(t *testing.T) { + tests := []struct { + name string + service string + expected bool + }{ + {"existing service", "traefik", true}, + {"non-existent service", "nonexistent", false}, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + exists := ServiceExists(tt.service) + if exists != tt.expected { + t.Errorf("ServiceExists(%q) = %v, want %v", tt.service, exists, tt.expected) + } + }) + } +} + +func TestGetManifest(t *testing.T) { + services, err := ListServices() + if err != nil { + t.Fatalf("ListServices failed: %v", err) + } + + if len(services) == 0 { + t.Skip("No services to test") + } + + // Test the first service + serviceName := services[0] + manifest, err := GetManifest(serviceName) + if err != nil { + t.Fatalf("GetManifest(%q) failed: %v", serviceName, err) + } + + if manifest.Name == "" { + t.Error("Manifest name is empty") + } + + t.Logf("Service: %s, Manifest: %+v", serviceName, manifest) +} + +func TestGetServiceFile(t *testing.T) { + // Test getting wild-manifest.yaml + data, err := GetServiceFile("traefik", "wild-manifest.yaml") + if err != nil { + t.Fatalf("GetServiceFile failed: %v", err) + } + + if len(data) == 0 { + t.Error("Expected non-empty file data") + } + + t.Logf("Retrieved wild-manifest.yaml, size: %d bytes", len(data)) +} + +func TestGetServiceFS(t *testing.T) { + serviceFS, err := GetServiceFS("traefik") + if err != nil { + t.Fatalf("GetServiceFS failed: %v", err) + } + + // Verify we can read the filesystem + entries, err := fs.ReadDir(serviceFS, ".") + if err != nil { + t.Fatalf("ReadDir failed: %v", err) + } + + if len(entries) == 0 { + t.Error("Expected non-empty service directory") + } + + t.Logf("Service FS entries: %d", len(entries)) + for _, entry := range entries { + t.Logf(" - %s (dir: %v)", entry.Name(), entry.IsDir()) + } +} + +func TestGetKustomizeTemplate(t *testing.T) { + templateFS, err := GetKustomizeTemplate("traefik") + if err != nil { + t.Fatalf("GetKustomizeTemplate failed: %v", err) + } + + // Verify we can read the template filesystem + entries, err := fs.ReadDir(templateFS, ".") + if err != nil { + t.Fatalf("ReadDir failed: %v", err) + } + + if len(entries) == 0 { + t.Error("Expected non-empty kustomize.template directory") + } + + t.Logf("Kustomize template entries: %d", len(entries)) + for _, entry := range entries { + t.Logf(" - %s (dir: %v)", entry.Name(), entry.IsDir()) + } +} + +func TestGetNonExistentService(t *testing.T) { + _, err := GetManifest("nonexistent-service") + if err == nil { + t.Error("Expected error for non-existent service, got nil") + } +} + +func TestGetClusterNodesFS(t *testing.T) { + clusterNodesFS, err := GetClusterNodesFS() + if err != nil { + t.Fatalf("GetClusterNodesFS failed: %v", err) + } + + entries, err := fs.ReadDir(clusterNodesFS, ".") + if err != nil { + t.Fatalf("ReadDir failed: %v", err) + } + + if len(entries) == 0 { + t.Error("Expected non-empty cluster-nodes directory") + } + + t.Logf("Cluster-nodes entries: %d", len(entries)) + for _, entry := range entries { + t.Logf(" - %s (dir: %v)", entry.Name(), entry.IsDir()) + } +} diff --git a/setup/operator/backup/install.sh b/internal/setup/operator/backup/install.sh similarity index 100% rename from setup/operator/backup/install.sh rename to internal/setup/operator/backup/install.sh diff --git a/setup/operator/install_all.sh b/internal/setup/operator/install_all.sh similarity index 100% rename from setup/operator/install_all.sh rename to internal/setup/operator/install_all.sh