1+ allow_k8s_contexts (['kind-mgmt' , 'kind-worker' ])
2+
3+ mgmt_ctx = 'kind-mgmt'
4+ worker_ctx = 'kind-worker'
5+
6+ mgmt_kubeconfig = './config/kind/mgmt-kubeconfig-external'
7+ worker_kubeconfig = './config/kind/worker-kubeconfig'
8+
9+ def mgmt_kubectl (args ):
10+ return local ('kubectl --kubeconfig=' + mgmt_kubeconfig + ' --context=' + mgmt_ctx + ' ' + args )
11+
12+ def worker_kubectl (args ):
13+ return local ('kubectl --kubeconfig=' + worker_kubeconfig + ' --context=' + worker_ctx + ' ' + args )
14+
15+ mgmt_kubectl ('apply -f https://raw.githubusercontent.com/ironcore-dev/metal-operator/main/config/crd/bases/metal.ironcore.dev_serverclaims.yaml' )
16+ mgmt_kubectl ('apply -f https://raw.githubusercontent.com/ironcore-dev/metal-operator/main/config/crd/bases/metal.ironcore.dev_servermaintenances.yaml' )
17+ mgmt_kubectl ('apply -f https://raw.githubusercontent.com/ironcore-dev/metal-operator/main/config/crd/bases/metal.ironcore.dev_servers.yaml' )
18+ mgmt_kubectl ('apply -f config/kind/crs/server.yaml' )
19+ mgmt_kubectl ('apply -f config/kind/crs/serverclaim.yaml' )
20+
21+ worker_kubectl ('apply -k config/kind' ) # kustomize
22+ worker_kubectl ('apply -f config/kind/crs/node.yaml' )
23+
24+ local_resource (
25+ "manager-binary" ,
26+ cmd = 'mkdir -p .tiltbuild; CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o .tiltbuild/manager ./cmd/metal-cloud-controller-manager/main.go' ,
27+ deps = ["pkg" , "cmd" , "go.mod" , "go.sum" ]
28+ )
29+
30+ docker_build (
31+ ref = "controller" ,
32+ context = "./.tiltbuild/" ,
33+ dockerfile_contents = """
34+ FROM gcr.io/distroless/static:nonroot
35+ WORKDIR /
36+ COPY manager /metal-cloud-controller-manager
37+ USER 65532:65532
38+ ENTRYPOINT ["/metal-cloud-controller-manager"]
39+ """ ,
40+ only = "manager"
41+ )
42+
43+ k8s_yaml (kustomize ('config/kind' ))
44+
45+ k8s_resource (
46+ 'cloud-controller-manager' ,
47+ labels = ['CCM' ],
48+ port_forwards = '10258:10258' ,
49+ extra_pod_selectors = [{'app.kubernetes.io/name' : 'cloud-controller-manager' }]
50+ )
0 commit comments