@@ -49,74 +49,59 @@ jobs:
4949
5050 - name : " Setup Kubectl"
5151 uses : azure/setup-kubectl@v4
52-
53- - name : " Set up OpenTofu"
54- uses : opentofu/setup-opentofu@v2
55-
5652 - uses : actions/checkout@v6
57-
5853 - uses : eclipse-edc/.github/.github/actions/setup-build@main
5954
6055 - name : " Build runtime images"
6156 working-directory : ./
6257 run : |
63- ./gradlew -Ppersistence=true dockerize
58+ ./gradlew dockerize
6459
6560
6661 - name : " Create k8s Kind Cluster"
6762 uses : helm/kind-action@v1.14.0
6863 with :
69- config : deployment/kind.config.yaml
7064 cluster_name : dcp-demo
7165
7266 - name : " Load runtime images into KinD"
73- run : kind load docker-image controlplane:latest dataplane:latest identity-hub:latest catalog-server:latest issuerservice:latest -n dcp-demo
67+ run : kind load docker-image -n dcp-demo \
68+ ghcr.io/eclipse-edc/mvd/controlplane:latest \
69+ ghcr.io/eclipse-edc/mvd/dataplane:latest \
70+ ghcr.io/eclipse-edc/mvd/identity-hub:latest \
71+ ghcr.io/eclipse-edc/mvd/issuerservice:latest
7472
75- - name : " Install nginx ingress controller"
73+ - name : " Install Traefik Gateway controller"
7674 run : |-
77- echo "::notice title=nginx ingress on KinD::For details how to run nginx ingress on KinD check https://kind.sigs.k8s.io/docs/user/ingress/#ingress-nginx"
78- kubectl apply -f https://kind.sigs.k8s.io/examples/ingress/deploy-ingress-nginx.yaml
79- kubectl wait --namespace ingress-nginx \
80- --for=condition=ready pod \
81- --selector=app.kubernetes.io/component=controller \
82- --timeout=90s
75+ helm repo add traefik https://traefik.github.io/charts
76+ helm repo update
77+ helm upgrade --install --namespace traefik traefik traefik/traefik --create-namespace -f values.yaml
8378
79+ # Wait for traefik to be ready
80+ kubectl rollout status deployment/traefik -n traefik --timeout=120s
8481
82+ # forward port 80 -> 8080
83+ kubectl -n traefik port-forward svc/traefik 8080:80 &
8584
86- - name : " Tofu init"
87- working-directory : ./deployment
88- run : |-
89- tofu init -reconfigure
90- - name : " Tofu plan"
91- working-directory : ./deployment
92- run : |-
93- tofu plan -out=$GITHUB_SHA.out
85+ # install Gateway API CRDs
86+ kubectl apply --server-side --force-conflicts -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.1/experimental-install.yaml
9487
95- - name : " Tofu apply"
96- working-directory : ./deployment
88+ sleep 5 # to be safe`
89+
90+ - name : " Deploy MVD"
9791 run : |-
98- tofu apply "$GITHUB_SHA.out"
92+ kubectl apply -k k8s/
9993
100- - name : " Seed dataspace "
94+ - name : " Wait for MVD to be ready "
10195 run : |-
102- chmod +x seed-k8s.sh
103- ./seed-k8s.sh
96+ kubectl wait -A \
97+ --selector=type=edc-job \
98+ --for=condition=complete job --all \
99+ --timeout=90s
104100
105101 - name : " Run E2E Test"
106102 run : |-
107103 ./gradlew -DincludeTags="EndToEndTest" test -DverboseTest=true
108104
109- - name : " Run Newman"
110- continue-on-error : true
111- working-directory : ./deployment/postman
112- run : |-
113- newman run "MVD.postman_collection.json" -e "MVD K8S.postman_environment.json" --folder "ControlPlane Management" --delay-request 5000 --verbose
114-
115- - name : " Print log if test failed"
116- if : failure()
117- run : |-
118- kubectl logs deployment/provider-qna-controlplane -n mvd
119-
120105 - name : " Destroy the KinD cluster"
121106 run : >-
122107 kind delete cluster -n dcp-demo
0 commit comments