diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 592fda25b1c6c228787930749baa710fcb3e4ff0..7f51fdbb753792fea319ba5659a2dbc1f963969c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -94,7 +94,25 @@ jobs: with: version: ${{ env.kind-version }} image: ${{ matrix.kind-image }} - wait: 300s + wait: 10s # Without default CNI, control-plane doesn't get ready until Cilium is installed + config: .github/workflows/kind/config.yml + - name: Setup Helm + uses: azure/setup-helm@v1 + - name: Install Cilium + run: | + helm repo add cilium https://helm.cilium.io/ + helm install cilium cilium/cilium --version 1.9.13 \ + --namespace kube-system \ + --set nodeinit.enabled=true \ + --set kubeProxyReplacement=partial \ + --set hostServices.enabled=false \ + --set externalIPs.enabled=true \ + --set nodePort.enabled=true \ + --set hostPort.enabled=true \ + --set bpf.masquerade=false \ + --set image.pullPolicy=IfNotPresent \ + --set ipam.mode=kubernetes \ + --set operator.replicas=1 - name: Wait for cluster to finish bootstraping run: kubectl wait --for=condition=Ready pods --all --all-namespaces --timeout=300s - name: Create kube-prometheus stack diff --git a/.github/workflows/kind/config.yml b/.github/workflows/kind/config.yml new file mode 100644 index 0000000000000000000000000000000000000000..e0ac61d536534f3bb994c336cc5f7a84baad239b --- /dev/null +++ b/.github/workflows/kind/config.yml @@ -0,0 +1,6 @@ +kind: Cluster +apiVersion: kind.x-k8s.io/v1alpha4 +networking: + disableDefaultCNI: true + podSubnet: "10.10.0.0/16" + serviceSubnet: "10.11.0.0/16" diff --git a/.gitignore b/.gitignore index cf9dc350f8ba9265fc482813d2b6ea9d1666da7f..cebe81d22dfacd61180351e439499b5b759c01a5 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,4 @@ vendor/ crdschemas/ developer-workspace/gitpod/_output -kind \ No newline at end of file +developer-workspace/codespaces/kind \ No newline at end of file diff --git a/developer-workspace/codespaces/prepare-kind.sh b/developer-workspace/codespaces/prepare-kind.sh index 21bbf5afc2cebea0a39c3efa1820ff67be81bc9b..5ee6f54732c9c6c7e0cfb357962b55db86931cf3 100755 --- a/developer-workspace/codespaces/prepare-kind.sh +++ b/developer-workspace/codespaces/prepare-kind.sh @@ -9,12 +9,27 @@ if [[ $? != 0 ]]; then | cut -d : -f 2,3 \ | tr -d \" \ | wget -qi - - mv kind-linux-amd64 kind && chmod +x kind + mv kind-linux-amd64 developer-workspace/codespaces/kind && chmod +x developer-workspace/codespaces/kind + export PATH=$PATH:$PWD/developer-workspace/codespaces fi -cluster_created=$($PWD/kind get clusters 2>&1) +cluster_created=$($PWD/developer-workspace/codespaces/kind get clusters 2>&1) if [[ "$cluster_created" == "No kind clusters found." ]]; then - $PWD/kind create cluster + $PWD/developer-workspace/codespaces/kind create cluster --config $PWD/.github/workflows/kind/config.yml else echo "Cluster '$cluster_created' already present" -fi \ No newline at end of file +fi + +helm repo add --force-update cilium https://helm.cilium.io/ +helm install cilium cilium/cilium --version 1.9.13 \ + --namespace kube-system \ + --set nodeinit.enabled=true \ + --set kubeProxyReplacement=partial \ + --set hostServices.enabled=false \ + --set externalIPs.enabled=true \ + --set nodePort.enabled=true \ + --set hostPort.enabled=true \ + --set bpf.masquerade=false \ + --set image.pullPolicy=IfNotPresent \ + --set ipam.mode=kubernetes \ + --set operator.replicas=1 \ No newline at end of file