diff --git a/.gitea/workflows/publish-mock-lockdrop-watcher.yml b/.gitea/workflows/publish-mock-lockdrop-watcher.yml new file mode 100644 index 0000000..28fe7c4 --- /dev/null +++ b/.gitea/workflows/publish-mock-lockdrop-watcher.yml @@ -0,0 +1,29 @@ +name: Publish mock-lockdrop-watcher docker image on release + +on: + release: + types: [published] + +jobs: + build: + name: Run docker build and publish + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Run docker build + run: docker build -t cerc/mock-lockdrop-watcher -f mock-lockdrop-watcher/Dockerfile mock-lockdrop-watcher + - name: Get the version + id: vars + run: | + echo "sha=$(echo ${GITHUB_SHA:0:7})" >> $GITHUB_OUTPUT + echo "tag=$(echo ${GITHUB_REF#refs/tags/})" >> $GITHUB_OUTPUT + - name: Tag docker image with SHA + run: docker tag cerc/mock-lockdrop-watcher git.vdb.to/laconicnetwork/cerc/mock-lockdrop-watcher:${{steps.vars.outputs.sha}} + - name: Tag docker image with release tag + run: docker tag git.vdb.to/laconicnetwork/cerc/mock-lockdrop-watcher:${{steps.vars.outputs.sha}} git.vdb.to/laconicnetwork/cerc/mock-lockdrop-watcher:${{steps.vars.outputs.tag}} + - name: Docker Login + run: echo ${{ secrets.CICD_PUBLISH_TOKEN }} | docker login https://git.vdb.to -u laconiccicd --password-stdin + - name: Docker Push SHA + run: docker push git.vdb.to/laconicnetwork/cerc/mock-lockdrop-watcher:${{steps.vars.outputs.sha}} + - name: Docker Push TAGGED + run: docker push git.vdb.to/laconicnetwork/cerc/mock-lockdrop-watcher:${{steps.vars.outputs.tag}} diff --git a/stack/stack-orchestrator/compose/docker-compose-mock-lockdrop-watcher.yml b/stack/stack-orchestrator/compose/docker-compose-mock-lockdrop-watcher.yml new file mode 100644 index 0000000..be85da8 --- /dev/null +++ b/stack/stack-orchestrator/compose/docker-compose-mock-lockdrop-watcher.yml @@ -0,0 +1,23 @@ +services: + mock-lockdrop-watcher-server: + image: cerc/mock-lockdrop-watcher:local + restart: unless-stopped + environment: + PORT: ${PORT:-6000} + VERIFIED_PARTICIPANTS_PATH: /tmp/watcher-data/verified-participants.json + GENERATED_WATCHER_EVENTS_OUTPUT_PATH: /tmp/watcher-data/generated + working_dir: /app/ + command: "node --enable-source-maps dist/index.js" + volumes: + - watcher-data:/tmp/watcher-data + ports: + - "6000" + healthcheck: + test: ["CMD", "nc", "-vz", "127.0.0.1", "6000"] + interval: 20s + timeout: 5s + retries: 15 + start_period: 5s + +volumes: + watcher-data: diff --git a/stack/stack-orchestrator/container-build/cerc-mock-lockdrop-watcher/build.sh b/stack/stack-orchestrator/container-build/cerc-mock-lockdrop-watcher/build.sh new file mode 100755 index 0000000..f18278d --- /dev/null +++ b/stack/stack-orchestrator/container-build/cerc-mock-lockdrop-watcher/build.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +# Build cerc/mock-lockdrop-watcher + +source ${CERC_CONTAINER_BASE_DIR}/build-base.sh + +# See: https://stackoverflow.com/a/246128/1701505 +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +CERC_NPM_REGISTRY_URL="https://git.vdb.to/api/packages/cerc-io/npm/" + +docker build -t cerc/mock-lockdrop-watcher:local ${build_command_args} ${CERC_REPO_BASE_DIR}/mock-lockdrop-watcher diff --git a/stack/stack-orchestrator/stack/mock-lockdrop-watcher/README.md b/stack/stack-orchestrator/stack/mock-lockdrop-watcher/README.md new file mode 100644 index 0000000..45cd842 --- /dev/null +++ b/stack/stack-orchestrator/stack/mock-lockdrop-watcher/README.md @@ -0,0 +1 @@ +# mock-lockdrop-watcher diff --git a/stack/stack-orchestrator/stack/mock-lockdrop-watcher/stack.yml b/stack/stack-orchestrator/stack/mock-lockdrop-watcher/stack.yml new file mode 100644 index 0000000..bd0109d --- /dev/null +++ b/stack/stack-orchestrator/stack/mock-lockdrop-watcher/stack.yml @@ -0,0 +1,8 @@ +version: "1.0" +name: mock-lockdrop-watcher +description: "Mock lockdrop contract watcher" +repos: +containers: + - cerc/mock-lockdrop-watcher +pods: + - mock-lockdrop-watcher