From dc469c6dce0ab2bda90a0b4a10508c8c538f1b49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Wed, 2 Sep 2026 18:36:55 +0300 Subject: [PATCH] feat: publish docs without version (mc mirror overwrite) + site_url per stand --- TOOLS/scripts/04_build_and_publish_docs.sh | 12 ++++++++++-- scripts/publish-docs.sh | 12 ++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/TOOLS/scripts/04_build_and_publish_docs.sh b/TOOLS/scripts/04_build_and_publish_docs.sh index 2c12b56..213c751 100755 --- a/TOOLS/scripts/04_build_and_publish_docs.sh +++ b/TOOLS/scripts/04_build_and_publish_docs.sh @@ -64,7 +64,7 @@ if [[ -z "$VERSION" ]]; then exit 2 fi -REGISTRY_HOST="${REGISTRY_HOST:-tf-registry.containerk8s.services.ngcloud.ru}" +REGISTRY_HOST="${REGISTRY_HOST:-tf-docs.nodejsk8s.dev.nubes.ru}" NAMESPACE="${NAMESPACE:-nubes}" PROVIDER_NAME="${PROVIDER_NAME:-nubes}" export REGISTRY_HOST NAMESPACE PROVIDER_NAME VERSION @@ -187,13 +187,21 @@ cfg_path = root_dir / "mkdocs.yml" text = cfg_path.read_text(encoding="utf-8") text = re.sub( r"^site_url:\s*.*$", - f"site_url: https://{registry_host}/docs/{namespace}/{name}/{version}/", + f"site_url: https://{registry_host}/{namespace}/", text, flags=re.M, ) docs_dir = os.environ.get("MKDOCS_DOCS_DIR", "").strip() if docs_dir: + # Относительный docs_dir: работает и на хосте (сборка из ROOT_DIR), и в docker (/docs). + if os.path.isabs(docs_dir): + try: + rel = os.path.relpath(docs_dir, os.environ.get("ROOT_DIR", os.path.sep)) + if not rel.startswith(".."): + docs_dir = rel + except ValueError: + pass if re.search(r"^docs_dir:\s*.*$", text, flags=re.M): text = re.sub(r"^docs_dir:\s*.*$", f"docs_dir: {docs_dir}", text, flags=re.M) else: diff --git a/scripts/publish-docs.sh b/scripts/publish-docs.sh index 366ff47..68f540f 100755 --- a/scripts/publish-docs.sh +++ b/scripts/publish-docs.sh @@ -2,13 +2,13 @@ set -euo pipefail # Заливка собранного MkDocs-сайта (site/) в S3-реестр (bucket terraform-registry). +# Без версии: docs/// — перезаписывается (mc mirror). -# Usage: publish-docs.sh +# Usage: publish-docs.sh SITE_DIR=${1:-site} REGISTRY_HOST=${2:-tf-registry.containerk8s.services.ngcloud.ru} NAMESPACE=${3:-nubes} NAME=${4:-nubes} -VERSION=${5:-dev} # Support both S3_* (New Standard) and MINIO_* (Legacy) variables ENDPOINT=${S3_ENDPOINT:-${MINIO_ENDPOINT:-}} @@ -22,11 +22,11 @@ fi MC_ALIAS=registry mc alias set $MC_ALIAS "$ENDPOINT" "$ACCESS_KEY" "$SECRET_KEY" --api S3v4 -TARGET="${MC_ALIAS}/terraform-registry/docs/${NAMESPACE}/${NAME}/${VERSION}/" +TARGET="${MC_ALIAS}/terraform-registry/docs/${NAMESPACE}/${NAME}/" -# mc создаёт промежуточные каталоги неявно при копировании -mc cp --recursive "$SITE_DIR/" "$TARGET" +# Перезапись + удаление лишнего (без версии) +mc mirror --overwrite --remove "$SITE_DIR/" "$TARGET" # Публичная политика на бакет mc policy set public "$TARGET" || true -echo "Published docs to: https://${REGISTRY_HOST}/docs/${NAMESPACE}/${NAME}/${VERSION}/" +echo "Published docs to: https://${REGISTRY_HOST}/${NAMESPACE}/"