From c3ea583f98d78aea7d5734e2f3fce092be123102 Mon Sep 17 00:00:00 2001 From: Agent Zero Date: Sun, 22 Mar 2026 14:19:06 +0000 Subject: [PATCH] Provision database config in deploy workflow --- .gitea/workflows/ci-cd.yaml | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/ci-cd.yaml b/.gitea/workflows/ci-cd.yaml index 2f050bb..9fd2b29 100644 --- a/.gitea/workflows/ci-cd.yaml +++ b/.gitea/workflows/ci-cd.yaml @@ -12,6 +12,12 @@ jobs: CARGO_TERM_COLOR: always VPS_HOST: ${{ secrets.VPS_HOST }} VPS_USER: ${{ secrets.VPS_USER }} + OPENBRAIN__DATABASE__HOST: ${{ secrets.OPENBRAIN__DATABASE__HOST }} + OPENBRAIN__DATABASE__PORT: ${{ secrets.OPENBRAIN__DATABASE__PORT }} + OPENBRAIN__DATABASE__NAME: ${{ secrets.OPENBRAIN__DATABASE__NAME }} + OPENBRAIN__DATABASE__USER: ${{ secrets.OPENBRAIN__DATABASE__USER }} + OPENBRAIN__DATABASE__PASSWORD: ${{ secrets.OPENBRAIN__DATABASE__PASSWORD }} + OPENBRAIN__DATABASE__POOL_SIZE: ${{ secrets.OPENBRAIN__DATABASE__POOL_SIZE }} DEPLOY_DIR: /opt/openbrain-mcp SERVICE_NAME: openbrain-mcp steps: @@ -98,7 +104,25 @@ jobs: : "${VPS_USER:=root}" SSH="ssh -i $HOME/.ssh/deploy_key -o IdentitiesOnly=yes" - $SSH "$VPS_USER@$VPS_HOST" "DEPLOY_DIR=$DEPLOY_DIR SERVICE_USER=openbrain SERVICE_GROUP=openbrain ORT_VERSION=1.24.3 bash -s" <<'EOS' + : "${OPENBRAIN__DATABASE__HOST:?Set repository secret OPENBRAIN__DATABASE__HOST}" + : "${OPENBRAIN__DATABASE__NAME:?Set repository secret OPENBRAIN__DATABASE__NAME}" + : "${OPENBRAIN__DATABASE__USER:?Set repository secret OPENBRAIN__DATABASE__USER}" + : "${OPENBRAIN__DATABASE__PASSWORD:?Set repository secret OPENBRAIN__DATABASE__PASSWORD}" + : "${OPENBRAIN__DATABASE__PORT:=5432}" + : "${OPENBRAIN__DATABASE__POOL_SIZE:=10}" + + $SSH "$VPS_USER@$VPS_HOST" "\ + DEPLOY_DIR=$DEPLOY_DIR \ + SERVICE_USER=openbrain \ + SERVICE_GROUP=openbrain \ + ORT_VERSION=1.24.3 \ + OPENBRAIN__DATABASE__HOST='$OPENBRAIN__DATABASE__HOST' \ + OPENBRAIN__DATABASE__PORT='$OPENBRAIN__DATABASE__PORT' \ + OPENBRAIN__DATABASE__NAME='$OPENBRAIN__DATABASE__NAME' \ + OPENBRAIN__DATABASE__USER='$OPENBRAIN__DATABASE__USER' \ + OPENBRAIN__DATABASE__PASSWORD='$OPENBRAIN__DATABASE__PASSWORD' \ + OPENBRAIN__DATABASE__POOL_SIZE='$OPENBRAIN__DATABASE__POOL_SIZE' \ + bash -s" <<'EOS' set -euo pipefail DEPLOY_DIR="${DEPLOY_DIR:-/opt/openbrain-mcp}" SERVICE_USER="${SERVICE_USER:-openbrain}" @@ -147,13 +171,21 @@ jobs: upsert_env() { local key="$1" local value="$2" + local escaped_value + escaped_value="$(printf '%s' "$value" | sed -e 's/[\\&|]/\\&/g')" if grep -qE "^${key}=" "$ENV_FILE"; then - sed -i "s|^${key}=.*|${key}=${value}|" "$ENV_FILE" + sed -i "s|^${key}=.*|${key}=${escaped_value}|" "$ENV_FILE" else printf '%s=%s\n' "$key" "$value" >> "$ENV_FILE" fi } + upsert_env "OPENBRAIN__DATABASE__HOST" "$OPENBRAIN__DATABASE__HOST" + upsert_env "OPENBRAIN__DATABASE__PORT" "$OPENBRAIN__DATABASE__PORT" + upsert_env "OPENBRAIN__DATABASE__NAME" "$OPENBRAIN__DATABASE__NAME" + upsert_env "OPENBRAIN__DATABASE__USER" "$OPENBRAIN__DATABASE__USER" + upsert_env "OPENBRAIN__DATABASE__PASSWORD" "$OPENBRAIN__DATABASE__PASSWORD" + upsert_env "OPENBRAIN__DATABASE__POOL_SIZE" "$OPENBRAIN__DATABASE__POOL_SIZE" upsert_env "OPENBRAIN__EMBEDDING__MODEL_PATH" "$DEPLOY_DIR/models/all-MiniLM-L6-v2" upsert_env "ORT_DYLIB_PATH" "$DEPLOY_DIR/lib/libonnxruntime.so" upsert_env "OPENBRAIN__SERVER__HOST" "0.0.0.0"