cnoe-io / idpbuilder

Spin up a complete internal developer platform with only Docker required as a dependency.
https://cloud-native.slack.com/archives/C05TN9WFN5S
Apache License 2.0
149 stars 45 forks source link

[Bug]: URL of the gitea server is not changed (kind config, ingress, etc) if we create a cluster with parameter --host #315

Open cmoulliard opened 1 week ago

cmoulliard commented 1 week ago

What is your environment, configuration, and command?

idpbuilder 0.5.0 go1.21.3 darwin/arm64

What did you do and What did you see instead?

The registry name gitea.cnoe.localtest.me is hard coded within the kind config file like also within the ingress name created and do not change if we pass the --host parameter to create a cluster

Example:

idpbuilder create \
  --host 127.0.0.1.nip.io

Log output is

########################### Our kind config ############################
# Kind kubernetes release images https://github.com/kubernetes-sigs/kind/releases
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
  image: "kindest/node:v1.29.2"
  kubeadmConfigPatches:
  - |
    kind: InitConfiguration
    nodeRegistration:
      kubeletExtraArgs:
        node-labels: "ingress-ready=true"
  extraPortMappings:
  - containerPort: 443
    hostPort: 8443
    protocol: TCP

containerdConfigPatches:
- |-
  [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gitea.cnoe.localtest.me:8443"]
    endpoint = ["https://gitea.cnoe.localtest.me"]
  [plugins."io.containerd.grpc.v1.cri".registry.configs."gitea.cnoe.localtest.me".tls]
    insecure_skip_verify = true

AND

k get ingress -A
NAMESPACE   NAME                    CLASS   HOSTS                     ADDRESS     PORTS   AGE
argocd      argocd-server-ingress   nginx   argocd.127.0.0.1.nip.io   localhost   80      5m46s
gitea       my-gitea                nginx   gitea.cnoe.localtest.me   localhost   80      5m46s
gitea       my-gitea-custom         nginx   gitea.127.0.0.1.nip.io    localhost   80      5m46s

Impact

Such an issue as several impact(s) as it is not possible to demo/test idpbuilder using the localhost address except if we hack the DNS resolution (coreDNS, etc) but then we will also be faced to the issue that port 8443 is not mapped to the internal port 3000 For local demo or github workflow, it should be possible to create a cluster using the localhost and without the need to set the ports to 8443, etc

nimakaviani commented 1 week ago

this is a good catch, thanks. will prioritize it for a fix. We should knock it out together with https://github.com/cnoe-io/idpbuilder/issues/314 which also seems reasonable.