From 78be235ec58d8e8a70b3f8302adaf6f20c0141b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Sun, 9 Aug 2026 14:36:39 +0400 Subject: [PATCH] =?UTF-8?q?clean:=20=D1=83=D0=B4=D0=B0=D0=BB=D1=91=D0=BD?= =?UTF-8?q?=20=D1=83=D1=81=D1=82=D0=B0=D1=80=D0=B5=D0=B2=D1=88=D0=B8=D0=B9?= =?UTF-8?q?=20HOWTO-PUBLISH.md=20(=D0=B7=D0=B0=D0=BC=D0=B5=D0=BD=D1=91?= =?UTF-8?q?=D0=BD=20=D0=BD=D0=B0=20HOWTO-UPLOAD.md)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HISTORY/HOWTO-PUBLISH.md | 104 --------------------------------------- 1 file changed, 104 deletions(-) delete mode 100644 HISTORY/HOWTO-PUBLISH.md diff --git a/HISTORY/HOWTO-PUBLISH.md b/HISTORY/HOWTO-PUBLISH.md deleted file mode 100644 index 6703cda..0000000 --- a/HISTORY/HOWTO-PUBLISH.md +++ /dev/null @@ -1,104 +0,0 @@ -# Инструкция: как опубликовать провайдер в реестре - -Реестр: `https://go-registry.containerk8s.dev.nubes.ru` - -## 1. Структура S3 - -``` -{prefix}/{namespace}/{name}/{version}/ -├── terraform-provider-{name}_{version}_{os}_{arch}.zip ← бинарник -├── terraform-provider-{name}_{version}_SHA256SUMS ← контрольные суммы -└── terraform-provider-{name}_{version}_SHA256SUMS.sig ← GPG-подпись -``` - -Где: -- `{prefix}` — сейчас `registry.kube5s.ru` (будет сменён) -- `{namespace}` — `nubes-test`, `nubes-dev`, `nubes` (PROD) -- `{name}` — `nubes` -- `{os}_{arch}` — `linux_amd64`, `windows_amd64`, `darwin_amd64` - -Пример: -``` -registry.kube5s.ru/nubes-test/nubes/5.1.17/terraform-provider-nubes_5.1.17_linux_amd64.zip -``` - -## 2. Как загрузить в S3 - -### Нужны креды -``` -S3_ENDPOINT=s3.msk-1.ngcloud.ru -S3_ACCESS_KEY=... -S3_SECRET_KEY=... -S3_BUCKET=terraform-registry -``` - -### Утилита `mc` (MinIO Client) -```bash -mc alias set nubes-s3 https://s3.msk-1.ngcloud.ru $S3_ACCESS_KEY $S3_SECRET_KEY - -# Загрузка -mc cp ./terraform-provider-nubes_5.1.17_linux_amd64.zip \ - nubes-s3/terraform-registry/registry.kube5s.ru/nubes-test/nubes/5.1.17/ -mc cp ./SHA256SUMS nubes-s3/terraform-registry/registry.kube5s.ru/nubes-test/nubes/5.1.17/ -mc cp ./SHA256SUMS.sig nubes-s3/terraform-registry/registry.kube5s.ru/nubes-test/nubes/5.1.17/ -``` - -### Или `awscli` -```bash -aws s3 cp ... s3://terraform-registry/registry.kube5s.ru/nubes-test/nubes/5.1.17/ \ - --endpoint-url https://s3.msk-1.ngcloud.ru -``` - -## 3. GPG-подпись (обязательно) - -Terraform требует подпись SHA256SUMS. - -### Приватный ключ -Хранится в `secrets/private_key.asc`. Публичный ключ (KEY ID: `3EC4673EB798238A`) вшит в реестр. - -### Подписать -```bash -gpg --import secrets/private_key.asc -gpg --detach-sign --armor SHA256SUMS -# → SHA256SUMS.asc (переименовать в SHA256SUMS.sig) -``` - -## 4. Документация - -``` -docs/{namespace}/{name}/{version}/index.html -docs/{namespace}/{name}/{version}/...любые файлы... -``` - -Заливаешь в S3 — автоматом доступна по: -``` -https://go-registry.containerk8s.dev.nubes.ru/docs/{ns}/{name}/{ver}/ -``` - -## 5. Использование пользователем - -```hcl -terraform { - required_providers { - nubes = { - source = "go-registry.containerk8s.dev.nubes.ru/nubes-test/nubes" - version = "5.1.17" - } - } -} -``` - -Terraform сам найдёт реестр, скачает провайдер, проверит SHA256 и GPG-подпись. - -## 6. Скрипт автоматизации - -В репозитории `tf_registry` есть скрипт `server/build-provider.sh` — он делает всё сам: -- Компилирует провайдер под linux/windows/darwin × amd64 -- Упаковывает в zip -- Генерирует SHA256SUMS -- Подписывает GPG -- Заливает в S3 - -```bash -VERSION=5.1.17 NAMESPACE=nubes-test ./server/build-provider.sh -```