doc: README.md, CHAT_SUMMARY + REGISTRY_OVERVIEW → HISTORY

This commit is contained in:
“Naeel”
2026-08-09 07:22:36 +04:00
parent f3df103bb3
commit 3aca89ea60
3 changed files with 86 additions and 0 deletions
+86
View File
@@ -0,0 +1,86 @@
# Terraform Provider Registry
Реестр Terraform-провайдеров по протоколу HashiCorp.
Деплой: Docker-контейнер в Nubes Cloud (`containerk8s`).
**URL:** `https://registry.containerk8s.dev.nubes.ru`
## Структура
```
├── server/ # Go-код HTTP-сервера
│ ├── main.go # Роуты, S3, структуры
│ ├── gpg_key.go # GPG-ключи (2 шт.)
│ ├── docs.go # Статика документации из S3
│ ├── build-provider.sh # Сборка и заливка провайдера
│ ├── go.mod / go.sum
│ └── gpg/
├── tests/
│ └── smoke.sh # 9 интеграционных тестов
├── secrets/ # Креды (в .gitignore)
├── HISTORY/ # Документация, планы, ревью
├── Dockerfile # Multi-stage сборка (ветка go-container)
└── .gitignore
```
## Эндпоинты
| Метод | URL | Ответ |
|---|---|---|
| GET | `/` | HTML с версией |
| GET | `/.well-known/terraform.json` | `{"providers.v1":"/v1/providers/"}` |
| GET | `/v1/providers/{ns}/{name}/versions` | JSON: список версий и платформ |
| GET | `/v1/providers/{ns}/{name}/{ver}/download/{os}/{arch}` | JSON: download_url, shasum, GPG |
| GET | `/v1/proxy?key=...` | Стриминг файла из S3 |
| GET | `/docs/{ns}/{name}/{ver}/...` | Статика документации из S3 |
| GET | `/healthz` | `ok` 200 |
| GET | `/readyz` | `ok` 200 (проверяет S3) |
## Сборка и деплой
```bash
# Сборка образа (на ВМ)
ssh naeel@5.172.178.213
cd ~/tf_registry && git checkout go-container
docker build -t gitea.services.ngcloud.ru/nail/tf_registry:latest .
docker push gitea.services.ngcloud.ru/nail/tf_registry:latest
# Редеплой — через UI modify или пересоздать инстанс
```
## Заливка провайдера
Подробно: `HISTORY/HOWTO-UPLOAD.md`
Кратко:
```bash
export REGISTRY_HOSTNAME=registry.containerk8s.dev.nubes.ru
export S3_ENDPOINT=http://ceph.tst.nubes.ru
export S3_ACCESS_KEY=... # super-креды
export S3_SECRET_KEY=...
bash server/build-provider.sh 5.1.17
```
## Тесты
```bash
bash tests/smoke.sh
```
## Конфигурация
| Где | Что |
|---|---|
| `jsonEnv` (UI) | Только `S3_ACCESS_KEY`, `S3_SECRET_KEY` (reader) |
| `Dockerfile ENV` | `S3_ENDPOINT`, `S3_BUCKET`, `S3_PREFIX`, `REGISTRY_HOSTNAME`, `PORT`, `S3_USE_SSL` |
Подробно: `HISTORY/env-config.md`
## Ветки
| Ветка | Назначение |
|---|---|
| `master` | Основная, чистый код |
| `go-container` | Сборка: Go + Dockerfile |
| `with-flask-legacy` | Архив Flask-версии |
| `golang` | Архив исходного Go (до правок) |