Переменные инстанса и конфигурация
Принцип
- jsonEnv — только секреты. Задаются при создании инстанса, НЕ меняются (modify не поддерживает).
- Dockerfile ENV — всё несекретное. Меняются через правку Dockerfile → rebuild → push → redeploy.
- Go-код —
os.Getenv() с fallback'ами, без хардкода.
jsonEnv (создание инстанса)
| Переменная |
Назначение |
S3_ACCESS_KEY |
Доступ к S3 |
S3_SECRET_KEY |
Доступ к S3 |
Dockerfile ENV (rebuild)
| Переменная |
Назначение |
Пример |
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 |
При создании нового инстанса (другой домен/стенд)
- В Dockerfile поменять
S3_PREFIX, REGISTRY_HOSTNAME под новый домен
- Поменять
S3_ENDPOINT, S3_BUCKET если S3 другой
docker build && docker push
- Создать инстанс:
registryPath → образ, jsonEnv → ключи S3
Смена окружения
Не менять инстанс — создать новый с другими параметрами. Старый удалить.
| Окружение |
Домен |
S3_PREFIX |
| Тест |
go-registry.containerk8s.dev.nubes.ru |
go-registry.containerk8s.dev.nubes.ru |
| Прод |
(будет отдельно) |
(будет отдельно) |