diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index fe5a438..d11622f 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -31,7 +31,7 @@ on: # unit/integration jobs inherit it. The deploy job overrides it per contour with # vars.TEST_DICT_VERSION (the seed for a fresh volume), see deploy/README.md. env: - DICT_VERSION: v1.2.1 + DICT_VERSION: v1.3.0 jobs: # changes detects which areas a PR/push touched, so the test jobs can skip when diff --git a/backend/Dockerfile b/backend/Dockerfile index a95c7e8..bc7bb97 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -12,7 +12,7 @@ # --- dictionary artifact ----------------------------------------------------- FROM alpine:3.20 AS dawg -ARG DICT_VERSION=v1.2.1 +ARG DICT_VERSION=v1.3.0 RUN apk add --no-cache curl tar RUN mkdir -p /dawg \ && curl -fsSL -o /tmp/dawg.tar.gz \ @@ -42,7 +42,7 @@ FROM gcr.io/distroless/static-debian12:nonroot # Re-declare the build arg in this stage so it labels the seed dictionary. One # DICT_VERSION drives both the artifact the dawg stage downloads and the version # label the binary pins, so the resident version equals the release tag. -ARG DICT_VERSION=v1.2.1 +ARG DICT_VERSION=v1.3.0 COPY --from=build /out/backend /usr/local/bin/backend # Own the seed dictionary as the nonroot runtime user (UID 65532): a named volume # mounted at /opt/dawg inherits this ownership on first use, so the admin console diff --git a/backend/README.md b/backend/README.md index a833500..5a6230b 100644 --- a/backend/README.md +++ b/backend/README.md @@ -228,7 +228,7 @@ internal/banview/ # gateway active-ban mirror: the console's Active IP bans p ```sh docker run -d --name scrabble-pg -e POSTGRES_PASSWORD=dev -p 5432:5432 postgres:17-alpine # DAWGs: extract the dictionary release artifact (or point at a local scrabble-solver/dawg): -mkdir -p /tmp/dawg && curl -fsSL https://gitea.iliadenisov.ru/developer/scrabble-dictionary/releases/download/v1.2.1/scrabble-dawg-v1.2.1.tar.gz | tar xz -C /tmp/dawg +mkdir -p /tmp/dawg && curl -fsSL https://gitea.iliadenisov.ru/developer/scrabble-dictionary/releases/download/v1.3.0/scrabble-dawg-v1.3.0.tar.gz | tar xz -C /tmp/dawg BACKEND_POSTGRES_DSN='postgres://postgres:dev@localhost:5432/postgres?search_path=backend&sslmode=disable' \ BACKEND_DICT_DIR=/tmp/dawg \ GOPRIVATE='gitea.iliadenisov.ru/*' \ diff --git a/deploy/.env.example b/deploy/.env.example index 584b9af..027b307 100644 --- a/deploy/.env.example +++ b/deploy/.env.example @@ -16,7 +16,7 @@ POSTGRES_PASSWORD=change-me # required # the active version lives in the DB. On a live volume a changed value is ignored (the # recorded .seed_version marker wins — the seed-drift guard); change a running # contour's dictionary through /_gm/dictionary (ARCHITECTURE.md §5). -DICT_VERSION=v1.2.1 +DICT_VERSION=v1.3.0 # --- Logging ---------------------------------------------------------------- LOG_LEVEL=info diff --git a/deploy/README.md b/deploy/README.md index 7007af3..24cc2cf 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -80,7 +80,7 @@ without it Docker's resolver handles `otelcol`, `gateway` and `api.telegram.org` | --- | --- | --- | --- | | `POSTGRES_DB` | variable | `scrabble` | Database name. | | `POSTGRES_USER` | variable | `scrabble` | Database user. | -| `DICT_VERSION` | variable | `v1.2.1` | `scrabble-dictionary` release tag baked into the backend image as the **seed for a fresh volume** (build-arg). A live contour changes dictionary through the admin console, not this; on a seeded volume a changed value is ignored (the recorded `.seed_version` marker wins — the seed-drift guard, ARCHITECTURE.md §5). Set per contour as `TEST_`/`PROD_DICT_VERSION`. | +| `DICT_VERSION` | variable | `v1.3.0` | `scrabble-dictionary` release tag baked into the backend image as the **seed for a fresh volume** (build-arg). A live contour changes dictionary through the admin console, not this; on a seeded volume a changed value is ignored (the recorded `.seed_version` marker wins — the seed-drift guard, ARCHITECTURE.md §5). Set per contour as `TEST_`/`PROD_DICT_VERSION`. | | `LOG_LEVEL` | variable | `info` | Shared log level for backend / gateway / validator / bot (`debug\|info\|warn\|error`). | | `CADDY_SITE_ADDRESS` | variable | `:80` | Caddy site address. Test: `:80` (host caddy terminates TLS). Prod: a domain, so caddy does its own ACME. | | `GM_BASICAUTH_USER` | variable | `gm` | Username for the `/_gm` Basic-Auth. | diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml index 12f7cb4..143eade 100644 --- a/deploy/docker-compose.yml +++ b/deploy/docker-compose.yml @@ -70,7 +70,7 @@ services: args: # Seed dictionary for a FRESH volume; the per-contour value comes from the # deploy env (Gitea TEST_/PROD_DICT_VERSION). See the volume note below. - DICT_VERSION: ${DICT_VERSION:-v1.2.1} + DICT_VERSION: ${DICT_VERSION:-v1.3.0} # Build version stamped into the binary (git tag; see pkg/version). VERSION: ${APP_VERSION:-dev} restart: unless-stopped diff --git a/loadtest/Dockerfile b/loadtest/Dockerfile index 410bd34..1103051 100644 --- a/loadtest/Dockerfile +++ b/loadtest/Dockerfile @@ -12,7 +12,7 @@ # --- dictionary artifact ----------------------------------------------------- FROM alpine:3.20 AS dawg -ARG DICT_VERSION=v1.2.1 +ARG DICT_VERSION=v1.3.0 RUN apk add --no-cache curl tar RUN mkdir -p /dawg \ && curl -fsSL -o /tmp/dawg.tar.gz \