From 7df47cdc8ea8ebdbbc7ee2263a5046fab20f4677 Mon Sep 17 00:00:00 2001 From: Stephan D Date: Sun, 9 Nov 2025 00:44:21 +0100 Subject: [PATCH] fx build fix --- ci/prod/compose/fx_ingestor.dockerfile | 5 +++ ci/prod/compose/fx_oracle.dockerfile | 5 +++ ci/prod/scripts/deploy/fx.sh | 52 +++++++++++++++++++++++--- 3 files changed, 57 insertions(+), 5 deletions(-) diff --git a/ci/prod/compose/fx_ingestor.dockerfile b/ci/prod/compose/fx_ingestor.dockerfile index 314aeef..1c6f944 100644 --- a/ci/prod/compose/fx_ingestor.dockerfile +++ b/ci/prod/compose/fx_ingestor.dockerfile @@ -10,8 +10,13 @@ ARG BUILD_BRANCH=unknown ARG BUILD_DATE=unknown ARG BUILD_USER=ci ENV GO111MODULE=on +ENV PATH="/go/bin:${PATH}" WORKDIR /src COPY . . +RUN apk add --no-cache bash git build-base protoc protobuf-dev \ + && go install google.golang.org/protobuf/cmd/protoc-gen-go@latest \ + && go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest \ + && bash ci/scripts/proto/generate.sh WORKDIR /src/api/fx/ingestor RUN --mount=type=cache,target=/root/.cache/go-build \ --mount=type=cache,target=/go/pkg/mod \ diff --git a/ci/prod/compose/fx_oracle.dockerfile b/ci/prod/compose/fx_oracle.dockerfile index f8ddb56..00f9d7b 100644 --- a/ci/prod/compose/fx_oracle.dockerfile +++ b/ci/prod/compose/fx_oracle.dockerfile @@ -10,8 +10,13 @@ ARG BUILD_BRANCH=unknown ARG BUILD_DATE=unknown ARG BUILD_USER=ci ENV GO111MODULE=on +ENV PATH="/go/bin:${PATH}" WORKDIR /src COPY . . +RUN apk add --no-cache bash git build-base protoc protobuf-dev \ + && go install google.golang.org/protobuf/cmd/protoc-gen-go@latest \ + && go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest \ + && bash ci/scripts/proto/generate.sh WORKDIR /src/api/fx/oracle RUN --mount=type=cache,target=/root/.cache/go-build \ --mount=type=cache,target=/go/pkg/mod \ diff --git a/ci/prod/scripts/deploy/fx.sh b/ci/prod/scripts/deploy/fx.sh index 848f0be..4394ab1 100644 --- a/ci/prod/scripts/deploy/fx.sh +++ b/ci/prod/scripts/deploy/fx.sh @@ -51,6 +51,26 @@ if [[ ! -s .env.version ]]; then exit 66 fi +b64enc() { + printf '%s' "$1" | base64 | tr -d '\n' +} + +FX_MONGO_USER_B64="$(b64enc "${FX_MONGO_USER}")" +FX_MONGO_PASSWORD_B64="$(b64enc "${FX_MONGO_PASSWORD}")" +FX_NATS_URL_B64="" +NATS_USER_B64="" +NATS_PASSWORD_B64="" + +if [[ -n "${FX_NATS_URL:-}" ]]; then + FX_NATS_URL_B64="$(b64enc "${FX_NATS_URL}")" +fi +if [[ -n "${NATS_USER:-}" ]]; then + NATS_USER_B64="$(b64enc "${NATS_USER}")" +fi +if [[ -n "${NATS_PASSWORD:-}" ]]; then + NATS_PASSWORD_B64="$(b64enc "${NATS_PASSWORD}")" +fi + SSH_OPTS=( -i /root/.ssh/id_rsa -o StrictHostKeyChecking=no @@ -78,11 +98,11 @@ ssh "${SSH_OPTS[@]}" "$REMOTE_TARGET" \ COMPOSE_FILE="$COMPOSE_FILE" \ COMPOSE_PROJECT="$COMPOSE_PROJECT" \ SERVICES_LINE="$SERVICES_LINE" \ - FX_MONGO_USER="$FX_MONGO_USER" \ - FX_MONGO_PASSWORD="$FX_MONGO_PASSWORD" \ - FX_NATS_URL="${FX_NATS_URL:-}" \ - NATS_USER="${NATS_USER:-}" \ - NATS_PASSWORD="${NATS_PASSWORD:-}" \ + FX_MONGO_USER_B64="$FX_MONGO_USER_B64" \ + FX_MONGO_PASSWORD_B64="$FX_MONGO_PASSWORD_B64" \ + FX_NATS_URL_B64="$FX_NATS_URL_B64" \ + NATS_USER_B64="$NATS_USER_B64" \ + NATS_PASSWORD_B64="$NATS_PASSWORD_B64" \ bash -s <<'EOSSH' set -euo pipefail cd "${REMOTE_DIR}/compose" @@ -90,6 +110,28 @@ set -a . ../env/.env.runtime . ../env/.env.version set +a + +if base64 -d >/dev/null 2>&1 <<<'AA=='; then + BASE64_DECODE_FLAG='-d' +else + BASE64_DECODE_FLAG='--decode' +fi + +decode_b64() { + val="$1" + if [[ -z "$val" ]]; then + printf '' + return + fi + printf '%s' "$val" | base64 "${BASE64_DECODE_FLAG}" +} + +FX_MONGO_USER="$(decode_b64 "$FX_MONGO_USER_B64")" +FX_MONGO_PASSWORD="$(decode_b64 "$FX_MONGO_PASSWORD_B64")" +FX_NATS_URL="$(decode_b64 "${FX_NATS_URL_B64:-}")" +NATS_USER="$(decode_b64 "${NATS_USER_B64:-}")" +NATS_PASSWORD="$(decode_b64 "${NATS_PASSWORD_B64:-}")" + export FX_MONGO_USER FX_MONGO_PASSWORD FX_NATS_URL NATS_USER NATS_PASSWORD COMPOSE_PROJECT_NAME="$COMPOSE_PROJECT" export COMPOSE_PROJECT_NAME