fix(docs): per-stand getting-started injection (source namespace, version, api_endpoint) after copy into docs_dir; placeholders {{NAMESPACE}}

This commit is contained in:
“Naeel”
2026-09-03 09:19:56 +03:00
parent 9090488731
commit 02b7d7b701
2 changed files with 36 additions and 31 deletions
+34 -29
View File
@@ -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 -> .../<ns>/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
+2 -2
View File
@@ -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)
}
}
}