56 lines
2.2 KiB
Markdown
56 lines
2.2 KiB
Markdown
# Переменные инстанса и конфигурация
|
||
|
||
## Принцип
|
||
|
||
- **jsonEnv** — только секреты. Задаются при создании инстанса, НЕ меняются (modify не поддерживает).
|
||
- **Dockerfile ENV** — всё несекретное. Меняются через правку Dockerfile → rebuild → push → redeploy.
|
||
- **Go-код** — `os.Getenv()` с fallback'ами, без хардкода.
|
||
|
||
## jsonEnv (создание инстанса)
|
||
|
||
```json
|
||
{
|
||
"S3_ACCESS_KEY": "...",
|
||
"S3_SECRET_KEY": "..."
|
||
}
|
||
```
|
||
|
||
| Переменная | Назначение |
|
||
|---|---|
|
||
| `S3_ACCESS_KEY` | Доступ к S3 |
|
||
| `S3_SECRET_KEY` | Доступ к S3 |
|
||
|
||
## Dockerfile ENV (rebuild)
|
||
|
||
```dockerfile
|
||
ENV S3_ENDPOINT=s3.msk-1.ngcloud.ru \
|
||
S3_BUCKET=terraform-registry \
|
||
S3_PREFIX=go-registry.containerk8s.dev.nubes.ru \
|
||
REGISTRY_HOSTNAME=go-registry.containerk8s.dev.nubes.ru \
|
||
PORT=5000
|
||
```
|
||
|
||
| Переменная | Назначение | Пример |
|
||
|---|---|---|
|
||
| `S3_ENDPOINT` | Адрес S3 | `s3.msk-1.ngcloud.ru` |
|
||
| `S3_BUCKET` | Имя бакета | `terraform-registry` |
|
||
| `S3_PREFIX` | Префикс S3-ключей | `go-registry.containerk8s.dev.nubes.ru` |
|
||
| `REGISTRY_HOSTNAME` | Домен реестра (для download_url) | `go-registry.containerk8s.dev.nubes.ru` |
|
||
| `PORT` | Порт HTTP | `5000` |
|
||
|
||
## При создании нового инстанса (другой домен/стенд)
|
||
|
||
1. В Dockerfile поменять `S3_PREFIX`, `REGISTRY_HOSTNAME` под новый домен
|
||
2. Поменять `S3_ENDPOINT`, `S3_BUCKET` если S3 другой
|
||
3. `docker build && docker push`
|
||
4. Создать инстанс: `registryPath` → образ, `jsonEnv` → ключи S3
|
||
|
||
## Смена окружения
|
||
|
||
Не менять инстанс — создать новый с другими параметрами. Старый удалить.
|
||
|
||
| Окружение | Домен | S3_PREFIX |
|
||
|---|---|---|
|
||
| Тест | `go-registry.containerk8s.dev.nubes.ru` | `go-registry.containerk8s.dev.nubes.ru` |
|
||
| Прод | (будет отдельно) | (будет отдельно) |
|