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="${NUBES_API_ENDPOINT:-https://lk-api-gateway.ngcloud.ru/api/v1/svc}"
|
||||||
DOCS_API_ENDPOINT="$(normalize_api_endpoint "$DOCS_API_ENDPOINT")"
|
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() {
|
load_s3cfg_registry() {
|
||||||
local cfg="$1"
|
local cfg="$1"
|
||||||
if [[ ! -f "$cfg" ]]; then
|
if [[ ! -f "$cfg" ]]; then
|
||||||
@@ -159,7 +131,7 @@ load_s3cfg_registry() {
|
|||||||
TMP_CFG="${ROOT_DIR}/.mkdocs.tmp.yml"
|
TMP_CFG="${ROOT_DIR}/.mkdocs.tmp.yml"
|
||||||
export ROOT_DIR
|
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 [[ -n "${MKDOCS_DOCS_DIR:-}" ]]; then
|
||||||
if [[ -d "${ROOT_DIR}/docs/30_registry" ]]; then
|
if [[ -d "${ROOT_DIR}/docs/30_registry" ]]; then
|
||||||
mkdir -p "${MKDOCS_DOCS_DIR}/30_registry"
|
mkdir -p "${MKDOCS_DOCS_DIR}/30_registry"
|
||||||
@@ -171,6 +143,39 @@ if [[ -n "${MKDOCS_DOCS_DIR:-}" ]]; then
|
|||||||
fi
|
fi
|
||||||
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'
|
python3 - <<'PY'
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
|||||||
@@ -24,8 +24,8 @@
|
|||||||
terraform {
|
terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
nubes = {
|
nubes = {
|
||||||
source = "tf-registry.containerk8s.services.ngcloud.ru/nubes/nubes"
|
source = "tf-registry.containerk8s.services.ngcloud.ru/{{NAMESPACE}}/nubes"
|
||||||
version = "3.0.0" # Версия по стенду: prod=1.x, dev=2.x, test=3.x
|
version = "0.0.0" # автозамена на версию стенда при сборке (prod=1.x, dev=2.x, test=3.x)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user