fix(docs): per-stand getting-started injection (source namespace, version, api_endpoint) after copy into docs_dir; placeholders {{NAMESPACE}}
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user