doc: README.md, CHAT_SUMMARY + REGISTRY_OVERVIEW → HISTORY
This commit is contained in:
@@ -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 (до правок) |
|
||||
Reference in New Issue
Block a user