diff --git a/scripts/publish-docs.sh b/scripts/publish-docs.sh new file mode 100755 index 0000000..366ff47 --- /dev/null +++ b/scripts/publish-docs.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Заливка собранного MkDocs-сайта (site/) в S3-реестр (bucket terraform-registry). + +# 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:-}} +ACCESS_KEY=${S3_ACCESS_KEY:-${MINIO_ACCESS_KEY:-}} +SECRET_KEY=${S3_SECRET_KEY:-${MINIO_SECRET_KEY:-}} + +if [ -z "$ENDPOINT" ] || [ -z "$ACCESS_KEY" ] || [ -z "$SECRET_KEY" ]; then + echo "Error: S3_ENDPOINT/S3_ACCESS_KEY/S3_SECRET_KEY must be set" + exit 2 +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}/" + +# mc создаёт промежуточные каталоги неявно при копировании +mc cp --recursive "$SITE_DIR/" "$TARGET" +# Публичная политика на бакет +mc policy set public "$TARGET" || true + +echo "Published docs to: https://${REGISTRY_HOST}/docs/${NAMESPACE}/${NAME}/${VERSION}/"