From 74cb3eb469d2e6de3ba40a277b1e5ab8767966fe Mon Sep 17 00:00:00 2001 From: Malte Bauch <malte.bauch@stud.h-da.de> Date: Tue, 6 Feb 2024 09:15:12 +0000 Subject: [PATCH] Extend CI/CD to push an image for akms-simulator See merge request danet/quant!33 --- .gitlab-ci.yml | 7 +++++++ Makefile | 10 ++++++++-- akms-simulator/.dockerignore | 15 +++++++++++++++ akms-simulator/Dockerfile | 4 ++-- config/configure-3ekms.sh | 6 ++---- config/ekms/example03.yaml | 2 +- docker-compose.yml | 12 ++++++++---- 7 files changed, 43 insertions(+), 13 deletions(-) create mode 100644 akms-simulator/.dockerignore diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f0e054b0..91e71c6c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -34,6 +34,13 @@ build-quantumlayer: - docker buildx build --push -t "$IMAGE_NAME:$TAG" -f quantumlayer/Dockerfile --build-arg "GITLAB_PROXY=${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/" --build-arg GITLAB_LOGIN=${GITLAB_LOGIN} --build-arg GITLAB_TOKEN=${GITLAB_TOKEN} --build-arg GOLANG_VERSION=${GOLANG_VERSION} . <<: *build +build-akms-simulator: + script: + - IMAGE_NAME="$IMAGE_PATH/akms-simulator" + - TAG=$CI_COMMIT_REF_SLUG + - docker buildx build --push -t "$IMAGE_NAME:$TAG" -f akms-simulator/Dockerfile --build-arg "GITLAB_PROXY=${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/" --build-arg GOLANG_VERSION=${GOLANG_VERSION} . + <<: *build + lint: stage: code-quality image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/golangci/golangci-lint:v1.55.2-alpine diff --git a/Makefile b/Makefile index fbb8641c..82268ca5 100644 --- a/Makefile +++ b/Makefile @@ -44,6 +44,9 @@ build-ekms: pre build-quantumlayer: pre $(GOBUILD) -o $(BUILD_ARTIFACTS_PATH)/quantumlayer ./quantumlayer/example/main.go +build-akms-simulator: pre + $(GOBUILD) -o $(BUILD_ARTIFACTS_PATH)/akms-simulator ./akms-simulator/akms-simulator.go + quantumlayer-container: docker buildx build --rm -t quantumlayer --load -f ./quantumlayer/Dockerfile --build-arg GITLAB_LOGIN=${GITLAB_LOGIN} --build-arg GITLAB_TOKEN=${GITLAB_TOKEN} --build-arg GOLANG_VERSION=${GOLANG_VERSION} . @@ -61,9 +64,12 @@ ekms-container: ekms-container-debug: docker buildx build --rm -t ekms-debug --load -f ./ekms/Dockerfile.debug --build-arg GITLAB_LOGIN=${GITLAB_LOGIN} --build-arg GITLAB_TOKEN=${GITLAB_TOKEN} --build-arg GOLANG_VERSION=${GOLANG_VERSION} . -build-images: ekms-container quantumlayer-container +akms-simulator-container: + docker buildx build --rm -t akms-simulator --load -f ./akms-simulator/Dockerfile --build-arg GOLANG_VERSION=${GOLANG_VERSION} . + +build-images: ekms-container quantumlayer-container akms-simulator-container -compose-up: ekms-container quantumlayer-container +compose-up: build-images docker-compose up -d compose-down: diff --git a/akms-simulator/.dockerignore b/akms-simulator/.dockerignore new file mode 100644 index 00000000..a1383681 --- /dev/null +++ b/akms-simulator/.dockerignore @@ -0,0 +1,15 @@ +.git +.gitlab +.cobra.yaml +.dockerignore +.gitlab-ci.yaml +CONTRIBUTING.md +README.md +ci +doc +artifacts +build-tools +models +ekms +quantumlayer +config diff --git a/akms-simulator/Dockerfile b/akms-simulator/Dockerfile index 192d2f3b..0664fb97 100644 --- a/akms-simulator/Dockerfile +++ b/akms-simulator/Dockerfile @@ -1,14 +1,14 @@ ARG GOLANG_VERSION=1.21 +ARG BUILDARGS ARG GITLAB_PROXY FROM ${GITLAB_PROXY}golang:$GOLANG_VERSION-bookworm as builder WORKDIR /app/ COPY . . -RUN mkdir artifacts RUN --mount=type=cache,target=/root/go/pkg/mod \ --mount=type=cache,target=/root/.cache/go-build \ - go build -o artifacts/akms-simulator ./akms-simulator/akms-simulator.go + make build-akms-simulator FROM ${GITLAB_PROXY}debian:12-slim as debian RUN apt-get update && apt-get upgrade -y diff --git a/config/configure-3ekms.sh b/config/configure-3ekms.sh index 295eb4b2..e5ddd20f 100755 --- a/config/configure-3ekms.sh +++ b/config/configure-3ekms.sh @@ -1,13 +1,11 @@ #! /bin/bash -sleep 3 +sleep 2 gnmic -a "172.100.20.13:7030" -u admin -p admin --insecure -e JSON_IETF set --update-path 'key-routing-sessions/routing-sessions[path-id=f6a575e5-c7f9-4765-8890-134ae5b8f451]' --update-file ./config/ekms03.json -sleep 3 gnmic -a "172.100.20.11:7030" -u admin -p admin --insecure -e JSON_IETF set --update-path 'key-routing-sessions/routing-sessions[path-id=f6a575e5-c7f9-4765-8890-134ae5b8f451]' --update-file ./config/ekms02.json -sleep 3 gnmic -a "172.100.20.10:7030" -u admin -p admin --insecure -e JSON_IETF set --update-path 'key-routing-sessions/routing-sessions[path-id=f6a575e5-c7f9-4765-8890-134ae5b8f451]' --update-file ./config/ekms01.json -sleep 3 +sleep 2 curl -X POST -H "Content-Type: application/json" -d '{ "local_CKMS_ID": "172.100.20.13:50910", "request_ID": "request_ID-1234", diff --git a/config/ekms/example03.yaml b/config/ekms/example03.yaml index bd860fff..c721db7d 100644 --- a/config/ekms/example03.yaml +++ b/config/ekms/example03.yaml @@ -2,7 +2,7 @@ Id: '968fd594-b0e7-41f0-ba4b-de259047a933' Name: ekms03 InterComAddr: 172.100.20.13:50910 GRPCAddr: 172.100.20.13:50900 -AkmsURL: "http://172.100.20.22:4444/api/v1/keys/push_ksa_key" +AkmsURL: "http://172.100.20.23:4444/api/v1/keys/push_ksa_key" AkmsCkmsServerPort: "9696" Peers: # peer to ekms01 diff --git a/docker-compose.yml b/docker-compose.yml index 1a3b4094..b26066ca 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -65,14 +65,18 @@ services: ekms-net: ipv4_address: 172.100.20.17 - akms-receiver: - build: - context: . - dockerfile: akms-simulator/Dockerfile + akms-receiver01: + image: akms-simulator networks: ekms-net: ipv4_address: 172.100.20.22 + akms-receiver02: + image: akms-simulator + networks: + ekms-net: + ipv4_address: 172.100.20.23 + networks: ekms-net: -- GitLab