From 02b7d7b70144c392c5a7171b848fddca5aad01a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Thu, 3 Sep 2026 09:19:56 +0300 Subject: [PATCH] fix(docs): per-stand getting-started injection (source namespace, version, api_endpoint) after copy into docs_dir; placeholders {{NAMESPACE}} --- TOOLS/scripts/04_build_and_publish_docs.sh | 63 ++++++++++++---------- docs/30_registry/guides/getting-started.md | 4 +- 2 files changed, 36 insertions(+), 31 deletions(-) diff --git a/TOOLS/scripts/04_build_and_publish_docs.sh b/TOOLS/scripts/04_build_and_publish_docs.sh index 50842b4..1ae6a1c 100755 --- a/TOOLS/scripts/04_build_and_publish_docs.sh +++ b/TOOLS/scripts/04_build_and_publish_docs.sh @@ -89,34 +89,6 @@ fi DOCS_API_ENDPOINT="${NUBES_API_ENDPOINT:-https://lk-api-gateway.ngcloud.ru/api/v1/svc}" DOCS_API_ENDPOINT="$(normalize_api_endpoint "$DOCS_API_ENDPOINT")" -if [[ -n "${MKDOCS_DOCS_DIR:-}" ]]; then - export DOCS_GUIDE_VERSION="$VERSION" - export DOCS_GUIDE_API_ENDPOINT="$DOCS_API_ENDPOINT" - export DOCS_GUIDE_FILE="${MKDOCS_DOCS_DIR}/guides/getting-started.md" - python3 - <<'PY' -import os -import re -from pathlib import Path - -guide_path = Path(os.environ["DOCS_GUIDE_FILE"]) -if guide_path.exists(): - text = guide_path.read_text(encoding="utf-8") - text = re.sub( - r'(version\s*=\s*")([0-9.]+)("\s*#\s*Поставьте нужную вам версию провайдера)', - lambda m: f'{m.group(1)}{os.environ["DOCS_GUIDE_VERSION"]}{m.group(3)}', - text, - count=1, - ) - text = re.sub( - r'(api_endpoint\s*=\s*")([^"]+)(")', - lambda m: f'{m.group(1)}{os.environ["DOCS_GUIDE_API_ENDPOINT"]}{m.group(3)}', - text, - count=1, - ) - guide_path.write_text(text, encoding="utf-8") -PY -fi - load_s3cfg_registry() { local cfg="$1" if [[ ! -f "$cfg" ]]; then @@ -159,7 +131,7 @@ load_s3cfg_registry() { TMP_CFG="${ROOT_DIR}/.mkdocs.tmp.yml" export ROOT_DIR -# Copy 30_registry assets and curated content into docs dir +# Copy 30_registry assets and curated content into docs dir (ДО подстановки версии) if [[ -n "${MKDOCS_DOCS_DIR:-}" ]]; then if [[ -d "${ROOT_DIR}/docs/30_registry" ]]; then mkdir -p "${MKDOCS_DOCS_DIR}/30_registry" @@ -171,6 +143,39 @@ if [[ -n "${MKDOCS_DOCS_DIR:-}" ]]; then fi fi +# Per-стенд подстановка в getting-started (после копирования 30_registry в docs_dir) +if [[ -n "${MKDOCS_DOCS_DIR:-}" ]]; then + export DOCS_GUIDE_VERSION="$VERSION" + export DOCS_GUIDE_API_ENDPOINT="$DOCS_API_ENDPOINT" + export DOCS_GUIDE_NAMESPACE="$NAMESPACE" + export DOCS_GUIDE_FILE="${MKDOCS_DOCS_DIR}/30_registry/guides/getting-started.md" + python3 - <<'PY' +import os +import re +from pathlib import Path + +guide_path = Path(os.environ["DOCS_GUIDE_FILE"]) +if guide_path.exists(): + text = guide_path.read_text(encoding="utf-8") + # source namespace: .../{{NAMESPACE}}/nubes -> ...//nubes + text = text.replace("{{NAMESPACE}}", os.environ["DOCS_GUIDE_NAMESPACE"]) + # version (первое вхождение version = "x.y.z" — блок required_providers) + text = re.sub( + r'(version\s*=\s*")([0-9.]+)(")', + lambda m: f'{m.group(1)}{os.environ["DOCS_GUIDE_VERSION"]}{m.group(3)}', + text, + count=1, + ) + text = re.sub( + r'(api_endpoint\s*=\s*")([^"]+)(")', + lambda m: f'{m.group(1)}{os.environ["DOCS_GUIDE_API_ENDPOINT"]}{m.group(3)}', + text, + count=1, + ) + guide_path.write_text(text, encoding="utf-8") +PY +fi + python3 - <<'PY' import os import re diff --git a/docs/30_registry/guides/getting-started.md b/docs/30_registry/guides/getting-started.md index b2199b4..1f0ef15 100644 --- a/docs/30_registry/guides/getting-started.md +++ b/docs/30_registry/guides/getting-started.md @@ -24,8 +24,8 @@ terraform { required_providers { nubes = { - source = "tf-registry.containerk8s.services.ngcloud.ru/nubes/nubes" - version = "3.0.0" # Версия по стенду: prod=1.x, dev=2.x, test=3.x + source = "tf-registry.containerk8s.services.ngcloud.ru/{{NAMESPACE}}/nubes" + version = "0.0.0" # автозамена на версию стенда при сборке (prod=1.x, dev=2.x, test=3.x) } } }