diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f0e054b0e691822c84a12af216e22db31e078977..91e71c6c36168dd7a71387e386639a06e7b426a7 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 fbb8641c0724fd33fecab879886821cbba4ec92e..82268ca53258635e20295a5bc1bd5f1bd33b7577 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 0000000000000000000000000000000000000000..a1383681a6b77e9cccd58ae31d597b17b9ec305c --- /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 192d2f3b6782b1475adfc29e0ac8cda5fc67840c..0664fb9718672ea99ffacc01214c48a0b388c8c1 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 295eb4b2aea7241b9f9ec5bae3c2f6ce0646a5ab..e5ddd20fe83808bc4883d471a702fcaee33d4623 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 bd860fff45805ed7ffb15e9d6459c65549f2ef1f..c721db7d11be2faac4de0952055473e429ab6eaa 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 1a3b409422520c3777316ecec7e9b1d6d6a2c158..b26066cab12502079581c4c9b0fcad61a32849b5 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: