diff --git a/.dockerignore b/.dockerignore
index fee485d0b465a720847a86aa6c382e785ce23833..8fff60fd57f7fba983e1473465cccbbf124caa8c 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -9,5 +9,4 @@ test
 .gitlab-ci.yaml
 ARCHITECTURE.md
 CONTRIBUTING.md
-Dockerfile.alpine
 README.md
diff --git a/.gitlab/ci/.containerlab-ci.yml b/.gitlab/ci/.containerlab-ci.yml
index e459e6a8b48da4fa3d7275d1d9faf974cabdb26b..c3df1abacca1c42ba1feb8eaf4a0803b656c2ecd 100644
--- a/.gitlab/ci/.containerlab-ci.yml
+++ b/.gitlab/ci/.containerlab-ci.yml
@@ -40,7 +40,7 @@ variables:
 containerlab:template:integration:
   extends: .containerlab_template
   variables:
-    CLAB_TEMPLATE: "${CI_PROJECT_DIR}/test/containerlab/complex-1.0.clab.tmpl.yml"
+    CLAB_TEMPLATE: "${CI_PROJECT_DIR}/test/containerlab/int01.clab.tmpl.yml"
 
 
 containerlab:deploy:integration:
@@ -52,12 +52,7 @@ containerlab:deploy:integration:
       echo -e "\
       GOSDN_HTTP_PORT=$(docker_host_port 8080 clab-${CLAB_NAME}-gosdn)\n\
       GOSDN_GRPC_PORT=$(docker_host_port 55055 clab-${CLAB_NAME}-gosdn)\n\
-      CEOS1_1_PORT=$(docker_host_port 6030 clab-${CLAB_NAME}-ceos1-1)\n\
-      CEOS1_2_PORT=$(docker_host_port 6030 clab-${CLAB_NAME}-ceos1-2)\n\
-      CEOS2_1_1_PORT=$(docker_host_port 6030 clab-${CLAB_NAME}-ceos2-1-1)\n\
-      CEOS2_1_2_PORT=$(docker_host_port 6030 clab-${CLAB_NAME}-ceos2-1-2)\n\
-      CEOS2_2_1_PORT=$(docker_host_port 6030 clab-${CLAB_NAME}-ceos2-2-1)\n\
-      CEOS2_2_2_PORT=$(docker_host_port 6030 clab-${CLAB_NAME}-ceos2-2-2)" \
+      CEOS1_PORT=$(docker_host_port 6030 clab-${CLAB_NAME}-ceos1)" \
       > ${CI_PROJECT_DIR}/build.env
     - cat ${CI_PROJECT_DIR}/build.env
   artifacts:
diff --git a/.gitlab/ci/.integration-test.yml b/.gitlab/ci/.integration-test.yml
index 1a09ae14e4153ac9acaf77d73b11772c9d9f6c60..ef542259e7e7e2acd2ef8119cea98e2cf7eabefb 100644
--- a/.gitlab/ci/.integration-test.yml
+++ b/.gitlab/ci/.integration-test.yml
@@ -3,10 +3,12 @@
   stage: integration-test
   needs:
     - job: "containerlab:deploy:integration"
+  tags:
+    - integration-test-docker
   variables:
     GOSDN_LOG: "nolog"
     GOSDN_TEST_API_ENDPOINT: "141.100.70.178:${GOSDN_GRPC_PORT}"
-    GOSDN_TEST_ENDPOINT: "141.100.70.178:${CEOS1_1_PORT}"
+    CEOS_TEST_ENDPOINT: "141.100.70.178:${CEOS1_PORT}"
     GOSDN_TEST_USER: "admin"
     GOSDN_TEST_PASSWORD: "admin"
 
@@ -14,8 +16,7 @@
 integration-test:nucleus:
   <<: *integration-test
   script:
-    - ${CI_PROJECT_DIR}/.gitlab/ci/scripts/wait-for-it.sh ${GOSDN_TEST_ENDPOINT} -s -t 180 -- echo "CEOS is up"
-    - sleep 30
+    - ${CI_PROJECT_DIR}/.gitlab/ci/scripts/wait-for-it.sh ${CEOS_TEST_ENDPOINT} -s -t 180 -- echo "CEOS is up"
     - cd ./test/integration
     - go test -race -v -run TestGnmi_SetIntegration
     - go test -race -v -run TestGnmi_GetIntegration
diff --git a/.gitlab/ci/.test.yml b/.gitlab/ci/.test.yml
index 81316ea511814332257554626a8962d0805a908c..68b22dc6fd23a977476696aa803b78c1710a4adf 100644
--- a/.gitlab/ci/.test.yml
+++ b/.gitlab/ci/.test.yml
@@ -16,7 +16,6 @@
 unit-test:
   script:
     - gotestsum --junitfile report.xml --format testname -- -short -race $(go list ./... | grep -v /forks/ | grep -v /mocks ) -v -coverprofile=coverage.out 
-    # -short -race $(go list ./... | grep -v /forks/ | grep -v /mocks ) -v
   after_script:
     - go tool cover -func=coverage.out
   <<: *test
diff --git a/Dockerfile.alpine b/Dockerfile.alpine
deleted file mode 100644
index 03a059e084dcc7832d4bcc70b65666438e12009d..0000000000000000000000000000000000000000
--- a/Dockerfile.alpine
+++ /dev/null
@@ -1,23 +0,0 @@
-# syntax = docker/dockerfile:1.2
-
-FROM golang:1.16-alpine AS builder
-ARG GITLAB_USER
-ARG GITLAB_TOKEN
-ARG BUILDARGS
-WORKDIR /src/gosdn
-RUN apk add --no-cache git
-RUN git config --global url."https://$GITLAB_USER:$GITLAB_TOKEN@code.fbi.h-da.de".insteadOf "https://code.fbi.h-da.de"
-COPY go.* .
-RUN go mod download
-COPY . .
-RUN --mount=type=cache,target=/root/.cache/go-build \
-GOOS=linux go build -o gosdn ./cmd/gosdn
-
-FROM alpine
-EXPOSE 8080
-EXPOSE 55055
-COPY --from=builder /src/gosdn/gosdn .
-COPY --from=builder /src/gosdn/configs ./configs
-
-ENTRYPOINT [ "./gosdn" ]
-CMD [""]
diff --git a/api/initialise_test.go b/api/initialise_test.go
index c6a00cc2770e63cea87b577fe61c223e292a9c05..a640500bcda0be69c6af0f26550f5f5e84dc0ba5 100644
--- a/api/initialise_test.go
+++ b/api/initialise_test.go
@@ -132,10 +132,10 @@ func bootstrapIntegrationTest() {
 		log.SetLevel(log.PanicLevel)
 	}
 
-	addr := os.Getenv("GOSDN_TEST_ENDPOINT")
+	addr := os.Getenv("CEOS_TEST_ENDPOINT")
 	if addr != "" {
 		testAddress = addr
-		log.Infof("GOSDN_TEST_ENDPOINT set to %v", testAddress)
+		log.Infof("CEOS_TEST_ENDPOINT set to %v", testAddress)
 	}
 	api := os.Getenv("GOSDN_TEST_API_ENDPOINT")
 	if api != "" {
diff --git a/test/integration/nucleusIntegration_test.go b/test/integration/nucleusIntegration_test.go
index 4e2ec7a5a8d50a068cfb38a33901b2e4056d6a24..cf7b86936827bf78862ff2f9d1ede030cab5241d 100644
--- a/test/integration/nucleusIntegration_test.go
+++ b/test/integration/nucleusIntegration_test.go
@@ -45,10 +45,10 @@ func testSetupIntegration() {
 		log.SetLevel(log.PanicLevel)
 	}
 
-	addr := os.Getenv("GOSDN_TEST_ENDPOINT")
+	addr := os.Getenv("CEOS_TEST_ENDPOINT")
 	if addr != "" {
 		testAddress = addr
-		log.Infof("GOSDN_TEST_ENDPOINT set to %v", testAddress)
+		log.Infof("CEOS_TEST_ENDPOINT set to %v", testAddress)
 	}
 	u := os.Getenv("GOSDN_TEST_USER")
 	if u != "" {