diff --git a/.github/workflows/network-docker.yml b/.github/workflows/network-docker.yml index 41980b2..0d972e1 100644 --- a/.github/workflows/network-docker.yml +++ b/.github/workflows/network-docker.yml @@ -52,32 +52,6 @@ jobs: cache-from: type=gha cache-to: type=gha,mode=max - - name: Build logs collector - uses: docker/build-push-action@v5 - with: - context: . - target: logs-collector - load: true - tags: subsquid/logs-collector:test - cache-from: type=gha - cache-to: type=gha,mode=max - - - name: Get logs collector version - run: echo "LOGS_COLLECTOR_VERSION=$(docker run --rm subsquid/logs-collector:test logs-collector --version | cut -d ' ' -f2)" >> $GITHUB_ENV - - - name: Build & publish logs collector - uses: docker/build-push-action@v5 - with: - context: . - platforms: linux/amd64,linux/arm/v7,linux/arm64/v8,linux/386 - target: logs-collector - push: true - tags: | - subsquid/logs-collector:${{ env.LOGS_COLLECTOR_VERSION }} - subsquid/logs-collector:${{ inputs.tag }} - cache-from: type=gha - cache-to: type=gha,mode=max - - name: Build pings collector uses: docker/build-push-action@v5 with: diff --git a/Dockerfile b/Dockerfile index b0ed043..7f79616 100644 --- a/Dockerfile +++ b/Dockerfile @@ -71,18 +71,6 @@ COPY crates/network-scheduler/healthcheck.sh . RUN chmod +x ./healthcheck.sh HEALTHCHECK --interval=5s CMD ./healthcheck.sh -FROM --platform=$BUILDPLATFORM network-base AS logs-collector - -COPY --from=network-builder /app/target/release/logs-collector /usr/local/bin/logs-collector - -ENV P2P_LISTEN_ADDRS="/ip4/0.0.0.0/udp/12345/quic-v1" - -CMD ["logs-collector"] - -COPY crates/logs-collector/healthcheck.sh . -RUN chmod +x ./healthcheck.sh -HEALTHCHECK --interval=5s CMD ./healthcheck.sh - FROM --platform=$BUILDPLATFORM network-base AS pings-collector COPY --from=network-builder /app/target/release/pings-collector /usr/local/bin/pings-collector diff --git a/crates/logs-collector/healthcheck.sh b/crates/logs-collector/healthcheck.sh new file mode 100755 index 0000000..41ac2ca --- /dev/null +++ b/crates/logs-collector/healthcheck.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +P2P_LISTEN_ADDRS=$(echo "$P2P_LISTEN_ADDRS" | tr -d '[:space:]') + +# Split the string on commas +IFS="," read -r -a ADDRS <<< "$P2P_LISTEN_ADDRS" + +# Test all listen ports +for ADDR in "${ADDRS[@]}"; do + PORT=$(sed -E 's/.*\/(tcp|udp)\/([0-9]+).*/\2/' <<< "$ADDR") + if ! netstat -lntu | grep "$PORT" > /dev/null + then + exit 1 + fi +done