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
173 stars 54 forks source link

[Bug]: Codespaces - failed to ensure docker network #386

Open OneCricketeer opened 1 week ago

OneCricketeer commented 1 week ago

What is your environment, configuration, and command?

idpbuilder 0.7.0 go1.21.3

Fresh installation following Quickstart Guide, trying to use Codespaces.

What did you do and What did you see instead?

idpbuilder create fails to create a Docker network in Codespaces

Sep 10 01:41:21 INFO Creating kind cluster logger=setup 
Sep 10 01:41:21 INFO Runtime detected logger=setup provider=docker 
########################### 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.30.0"
  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
#########################   config end    ############################
Sep 10 01:41:21 INFO Creating kind cluster logger=setup cluster=localdev 
Sep 10 01:41:21 ERROR Error starting kind cluster logger=setup err=failed to ensure docker network: command "docker network create -d=bridge -o com.docker.network.bridge.enable_ip_masquerade=true -o com.docker.network.driver.mtu=1500 --ipv6 --subnet fc00:f853:ccd:e793::/64 kind" failed with error: exit status 1 
Error: failed to ensure docker network: command "docker network create -d=bridge -o com.docker.network.bridge.enable_ip_masquerade=true -o com.docker.network.driver.mtu=1500 --ipv6 --subnet fc00:f853:ccd:e793::/64 kind" failed with error: exit status 1
failed to ensure docker network: command "docker network create -d=bridge -o com.docker.network.bridge.enable_ip_masquerade=true -o com.docker.network.driver.mtu=1500 --ipv6 --subnet fc00:f853:ccd:e793::/64 kind" failed with error: exit status 1

Running that command directly shows an IPTables error

$ docker network create -d=bridge -o com.docker.network.bridge.enable_ip_masquerade=true -o com.docker.network.driver.mtu=1500 --ipv6 --subnet fc00:f853:ccd:e793::/64 kind
Error response from daemon: Failed to Setup IP tables: Unable to enable NAT rule:  (iptables failed: ip6tables --wait -t nat -I POSTROUTING -s fc00:f853:ccd:e793::/64 ! -o br-3063696e3735 -j MASQUERADE: ip6tables v1.8.7 (legacy): can't initialize ip6tables table `nat': Table does not exist (do you need to insmod?)
Perhaps ip6tables or your kernel needs to be upgraded.
 (exit status 3))

Tried to look at the devcontainer config + postInstall script, but would be great if this worked as documented.

Additional Information. Logs.

No response

MichaelSp commented 1 week ago

I can confirm. This is the guide I used: https://cnoe.io/docs/reference-implementation/installations/idpbuilder/quick-start#running-in-codespaces

nabuskey commented 1 week ago

Might be related to this. https://github.com/cnoe-io/idpbuilder/issues/356 There must have been an update to codespaces vm image. I will have to investigate.