fix: terra.k8c.ru → registry.kube5s.ru everywhere
This commit is contained in:
@@ -9,7 +9,7 @@ on:
|
|||||||
env:
|
env:
|
||||||
NAMESPACE: nubes
|
NAMESPACE: nubes
|
||||||
NAME: nubes
|
NAME: nubes
|
||||||
DEFAULT_HOST: terra.k8c.ru
|
DEFAULT_HOST: registry.kube5s.ru
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
publish:
|
publish:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
terraform {
|
terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
nubes = {
|
nubes = {
|
||||||
source = "terra.k8c.ru/nubes/nubes"
|
source = "registry.kube5s.ru/nubes/nubes"
|
||||||
version = "2.1.26"
|
version = "2.1.26"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
terraform {
|
terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
nubes = {
|
nubes = {
|
||||||
source = "terra.k8c.ru/nubes/nubes"
|
source = "registry.kube5s.ru/nubes/nubes"
|
||||||
version = "2.1.12"
|
version = "2.1.12"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
terraform {
|
terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
nubes = {
|
nubes = {
|
||||||
source = "terra.k8c.ru/nubes/nubes"
|
source = "registry.kube5s.ru/nubes/nubes"
|
||||||
version = "2.1.10"
|
version = "2.1.10"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ S3 environment:
|
|||||||
- `S3_SECRET_KEY`
|
- `S3_SECRET_KEY`
|
||||||
|
|
||||||
Provider naming defaults:
|
Provider naming defaults:
|
||||||
- `REGISTRY_HOSTNAME`: `terra.k8c.ru`
|
- `REGISTRY_HOSTNAME`: `registry.kube5s.ru`
|
||||||
- `NAMESPACE`: `nubes`
|
- `NAMESPACE`: `nubes`
|
||||||
- `NAME`: `nubes`
|
- `NAME`: `nubes`
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
terraform {
|
terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
nubes = {
|
nubes = {
|
||||||
source = "terra.k8c.ru/nubes-test/nubes"
|
source = "registry.kube5s.ru/nubes-test/nubes"
|
||||||
version = "5.0.61"
|
version = "5.0.61"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
terraform {
|
terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
nubes = {
|
nubes = {
|
||||||
source = "terra.k8c.ru/nubes-test/nubes"
|
source = "registry.kube5s.ru/nubes-test/nubes"
|
||||||
version = "5.0.61"
|
version = "5.0.61"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
provider_installation {
|
provider_installation {
|
||||||
dev_overrides {
|
dev_overrides {
|
||||||
"terra.k8c.ru/nubes/nubes" = "../../universal_rebuild/bin"
|
"registry.kube5s.ru/nubes/nubes" = "../../universal_rebuild/bin"
|
||||||
}
|
}
|
||||||
direct {}
|
direct {}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ terraform destroy
|
|||||||
|
|
||||||
## Провайдер
|
## Провайдер
|
||||||
|
|
||||||
- **Источник**: `terra.k8c.ru/nubes-test/nubes`
|
- **Источник**: `registry.kube5s.ru/nubes-test/nubes`
|
||||||
- **Версия**: `5.0.57`
|
- **Версия**: `5.0.57`
|
||||||
- **API**: `https://lk-api-gateway-test.ngcloud.ru/api/v1/svc`
|
- **API**: `https://lk-api-gateway-test.ngcloud.ru/api/v1/svc`
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
terraform {
|
terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
nubes = {
|
nubes = {
|
||||||
source = "terra.k8c.ru/nubes-test/nubes"
|
source = "registry.kube5s.ru/nubes-test/nubes"
|
||||||
version = "5.0.64"
|
version = "5.0.64"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
nubes = {
|
nubes = {
|
||||||
source = "registry.kube5s.ru/nubes-test/nubes"
|
source = "registry.kube5s.ru/nubes-test/nubes"
|
||||||
version = "5.1.2"
|
version = "5.1.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,6 @@ terraform destroy
|
|||||||
|
|
||||||
## Провайдер
|
## Провайдер
|
||||||
|
|
||||||
- **Источник**: `terra.k8c.ru/nubes-test/nubes`
|
- **Источник**: `registry.kube5s.ru/nubes-test/nubes`
|
||||||
- **Версия**: `5.0.75`
|
- **Версия**: `5.0.75`
|
||||||
- **Registry**: `https://terra.k8c.ru`
|
- **Registry**: `https://registry.kube5s.ru`
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
terraform {
|
terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
nubes = {
|
nubes = {
|
||||||
source = "terra.k8c.ru/nubes-test/nubes"
|
source = "registry.kube5s.ru/nubes-test/nubes"
|
||||||
version = "5.0.64"
|
version = "5.0.64"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
terraform {
|
terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
nubes = {
|
nubes = {
|
||||||
source = "terra.k8c.ru/nubes-test/nubes"
|
source = "registry.kube5s.ru/nubes-test/nubes"
|
||||||
version = "5.0.68"
|
version = "5.0.68"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ if [[ -z "$VERSION" ]]; then
|
|||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
REGISTRY_HOST="${REGISTRY_HOST:-terra.k8c.ru}"
|
REGISTRY_HOST="${REGISTRY_HOST:-registry.kube5s.ru}"
|
||||||
NAMESPACE="${NAMESPACE:-nubes}"
|
NAMESPACE="${NAMESPACE:-nubes}"
|
||||||
PROVIDER_NAME="${PROVIDER_NAME:-nubes}"
|
PROVIDER_NAME="${PROVIDER_NAME:-nubes}"
|
||||||
export REGISTRY_HOST NAMESPACE PROVIDER_NAME VERSION
|
export REGISTRY_HOST NAMESPACE PROVIDER_NAME VERSION
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ BUILD_DIR="${BUILD_DIR:-${ROOT_DIR}/artifacts/provider_build}"
|
|||||||
GPG_KEY_FILE="${GPG_KEY_FILE:-${ROOT_DIR}/secrets/private_key.asc}"
|
GPG_KEY_FILE="${GPG_KEY_FILE:-${ROOT_DIR}/secrets/private_key.asc}"
|
||||||
|
|
||||||
VERSION="${1:-2.0.2}"
|
VERSION="${1:-2.0.2}"
|
||||||
REGISTRY_HOSTNAME="${REGISTRY_HOSTNAME:-terra.k8c.ru}"
|
REGISTRY_HOSTNAME="${REGISTRY_HOSTNAME:-registry.kube5s.ru}"
|
||||||
NAMESPACE="${NAMESPACE:-nubes}"
|
NAMESPACE="${NAMESPACE:-nubes}"
|
||||||
PROVIDER_NAME="${PROVIDER_NAME:-nubes}"
|
PROVIDER_NAME="${PROVIDER_NAME:-nubes}"
|
||||||
S3_BUCKET="${S3_BUCKET:-terraform-registry}"
|
S3_BUCKET="${S3_BUCKET:-terraform-registry}"
|
||||||
|
|||||||
@@ -847,7 +847,7 @@ $ ls -lh terraform-provider-nubes
|
|||||||
### 14.1 Проблемы "Последней мили"
|
### 14.1 Проблемы "Последней мили"
|
||||||
После настройки SSL и Ingress возникли сложности с установкой провайдера командой `terraform init`:
|
После настройки SSL и Ingress возникли сложности с установкой провайдера командой `terraform init`:
|
||||||
1. **Checksum Mismatch**: Пересборка кода провайдера меняла хэш бинарника, требуя обновления файла `SHA256SUMS`.
|
1. **Checksum Mismatch**: Пересборка кода провайдера меняла хэш бинарника, требуя обновления файла `SHA256SUMS`.
|
||||||
2. **S3 Signature Mismatch**: Registry Server выдавал клиенту (Terraform) прямые Presigned URL на S3. Terraform пытался скачать файл, обращаясь к `terra.k8c.ru`, но подпись была сгенерирована для внутреннего хоста. Это приводило к ошибкам 403 Forbidden.
|
2. **S3 Signature Mismatch**: Registry Server выдавал клиенту (Terraform) прямые Presigned URL на S3. Terraform пытался скачать файл, обращаясь к `registry.kube5s.ru`, но подпись была сгенерирована для внутреннего хоста. Это приводило к ошибкам 403 Forbidden.
|
||||||
3. **GPG Verification Failure**: Terraform (современные версии) требует обязательной подписи бинарных файлов GPG ключом. Без этого установка прерывалась с ошибкой `authentication signature from unknown issuer`.
|
3. **GPG Verification Failure**: Terraform (современные версии) требует обязательной подписи бинарных файлов GPG ключом. Без этого установка прерывалась с ошибкой `authentication signature from unknown issuer`.
|
||||||
|
|
||||||
### 14.2 Комплексное решение
|
### 14.2 Комплексное решение
|
||||||
@@ -866,9 +866,9 @@ Terraform Registry Protocol требует передачи публичных
|
|||||||
3. **Критический шаг**: Публичный ключ GPG (ASCII Armor) был "зашит" прямо в исходный код Registry Server (`main.go`). Теперь сервер при отдаче ссылки на скачивание также отдает ключ, которым клиент может проверить подпись.
|
3. **Критический шаг**: Публичный ключ GPG (ASCII Armor) был "зашит" прямо в исходный код Registry Server (`main.go`). Теперь сервер при отдаче ссылки на скачивание также отдает ключ, которым клиент может проверить подпись.
|
||||||
|
|
||||||
### 14.3 Итог
|
### 14.3 Итог
|
||||||
Провайдер `terra.k8c.ru/nubes/nubes` версии `1.0.0` успешно инициализируется!
|
Провайдер `registry.kube5s.ru/nubes/nubes` версии `1.0.0` успешно инициализируется!
|
||||||
```
|
```
|
||||||
Installed terra.k8c.ru/nubes/nubes v1.0.0 (self-signed, key ID FFE0F4D723F14BCA)
|
Installed registry.kube5s.ru/nubes/nubes v1.0.0 (self-signed, key ID FFE0F4D723F14BCA)
|
||||||
Terraform has been successfully initialized!
|
Terraform has been successfully initialized!
|
||||||
```
|
```
|
||||||
Это полностью закрывает вопрос доставки провайдера (Provider Delivery) и позволяет переходить к полноценному использованию.
|
Это полностью закрывает вопрос доставки провайдера (Provider Delivery) и позволяет переходить к полноценному использованию.
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
## 1. Проблема (Контекст)
|
## 1. Проблема (Контекст)
|
||||||
При попытке выполнить `terraform init` клиент получал ошибку проверки сигнатуры.
|
При попытке выполнить `terraform init` клиент получал ошибку проверки сигнатуры.
|
||||||
**Диагностика показала:**
|
**Диагностика показала:**
|
||||||
* Terraform Registry Server (на `terra.k8c.ru`) в своем коде (`main.go`) отдавал клиентам публичный GPG ключ с ID `3534B7A1E185F2C1`.
|
* Terraform Registry Server (на `registry.kube5s.ru`) в своем коде (`main.go`) отдавал клиентам публичный GPG ключ с ID `3534B7A1E185F2C1`.
|
||||||
* Приватный ключ для этого ID отсутствовал в окружении, поэтому новые сборки провайдера невозможно было подписать так, чтобы они прошли проверку этим ключом.
|
* Приватный ключ для этого ID отсутствовал в окружении, поэтому новые сборки провайдера невозможно было подписать так, чтобы они прошли проверку этим ключом.
|
||||||
* Реестр был "рассинхронизирован" с артефактами.
|
* Реестр был "рассинхронизирован" с артефактами.
|
||||||
|
|
||||||
@@ -63,7 +63,7 @@ gpg --batch --generate-key gpg-gen-key.conf
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Шаг 4: Публикация в S3
|
### Шаг 4: Публикация в S3
|
||||||
Загружены три обязательных файла в структуру директорий реестра (`terra.k8c.ru/nubes/nubes/1.0.0/`):
|
Загружены три обязательных файла в структуру директорий реестра (`registry.kube5s.ru/nubes/nubes/1.0.0/`):
|
||||||
1. Сам архив: `terraform-provider-nubes_1.0.0_linux_amd64.zip`
|
1. Сам архив: `terraform-provider-nubes_1.0.0_linux_amd64.zip`
|
||||||
2. Файл сумм: `terraform-provider-nubes_1.0.0_SHA256SUMS`
|
2. Файл сумм: `terraform-provider-nubes_1.0.0_SHA256SUMS`
|
||||||
3. Подпись сумм: `terraform-provider-nubes_1.0.0_SHA256SUMS.sig`
|
3. Подпись сумм: `terraform-provider-nubes_1.0.0_SHA256SUMS.sig`
|
||||||
@@ -77,13 +77,13 @@ gpg --batch --generate-key gpg-gen-key.conf
|
|||||||
|
|
||||||
```hcl
|
```hcl
|
||||||
provider "nubes" {
|
provider "nubes" {
|
||||||
source = "terra.k8c.ru/nubes/nubes"
|
source = "registry.kube5s.ru/nubes/nubes"
|
||||||
version = "1.0.0"
|
version = "1.0.0"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Лог `terraform init`:
|
Лог `terraform init`:
|
||||||
> Installed terra.k8c.ru/nubes/nubes v1.0.0 (self-signed, key ID BC2B32E138B12582)
|
> Installed registry.kube5s.ru/nubes/nubes v1.0.0 (self-signed, key ID BC2B32E138B12582)
|
||||||
|
|
||||||
### Функциональное тестирование
|
### Функциональное тестирование
|
||||||
Был проведен полный цикл создания ресурсов через скачанный провайдер:
|
Был проведен полный цикл создания ресурсов через скачанный провайдер:
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
- Published provider 2.0.6 to registry S3 via devops/03_build_and_upload_provider.sh.
|
- Published provider 2.0.6 to registry S3 via devops/03_build_and_upload_provider.sh.
|
||||||
|
|
||||||
## Terraform test_dummy
|
## Terraform test_dummy
|
||||||
- terraform init -upgrade pulled terra.k8c.ru/nubes/nubes v2.0.6.
|
- terraform init -upgrade pulled registry.kube5s.ru/nubes/nubes v2.0.6.
|
||||||
- terraform plan: 2 changes (nubes_postgres.db2, nubes_lucee.app1) with Vault TLS handshake timeouts.
|
- terraform plan: 2 changes (nubes_postgres.db2, nubes_lucee.app1) with Vault TLS handshake timeouts.
|
||||||
- terraform apply failed: API error 408 during modify (failed to set param 267).
|
- terraform apply failed: API error 408 during modify (failed to set param 267).
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
terraform {
|
terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
nubes = {
|
nubes = {
|
||||||
source = "terra.k8c.ru/nubes/nubes"
|
source = "registry.kube5s.ru/nubes/nubes"
|
||||||
version = "2.1.23" # Поставьте нужную вам версию провайдера
|
version = "2.1.23" # Поставьте нужную вам версию провайдера
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -249,7 +249,7 @@ resource "nubes_nodejs" "app3" {
|
|||||||
Ниже полный пример `resources.tf` для RabbitMQ + Lucee UI + NodeJS воркера.
|
Ниже полный пример `resources.tf` для RabbitMQ + Lucee UI + NodeJS воркера.
|
||||||
|
|
||||||
Комментарий: UI Lucee отправляет CRUD‑запросы в RabbitMQ, а применение изменений в Postgres выполняет отдельный воркер на NodeJS.
|
Комментарий: UI Lucee отправляет CRUD‑запросы в RabbitMQ, а применение изменений в Postgres выполняет отдельный воркер на NodeJS.
|
||||||
Сервис Postgres должен быть запущен заранее. В данном примере используется Postgres из раздела https://terra.k8c.ru/docs/nubes/nubes/2.1.7/30_registry/guides/getting-started/#lucee-postgress
|
Сервис Postgres должен быть запущен заранее. В данном примере используется Postgres из раздела https://registry.kube5s.ru/docs/nubes/nubes/2.1.7/30_registry/guides/getting-started/#lucee-postgress
|
||||||
|
|
||||||
```hcl title="resources.tf"
|
```hcl title="resources.tf"
|
||||||
# RabbitMQ кластер для демо.
|
# RabbitMQ кластер для демо.
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
### 3.1. Переменные Окружения (ENV)
|
### 3.1. Переменные Окружения (ENV)
|
||||||
* **`REGISTRY_HOSTNAME`**: Ключевая переменная.
|
* **`REGISTRY_HOSTNAME`**: Ключевая переменная.
|
||||||
* Где задается: `Deployment` (operator & registry-server).
|
* Где задается: `Deployment` (operator & registry-server).
|
||||||
* Значение по умолчанию: `terra.k8c.ru`.
|
* Значение по умолчанию: `registry.kube5s.ru`.
|
||||||
* Влияние:
|
* Влияние:
|
||||||
* **Operator**: Передает это значение в Job.
|
* **Operator**: Передает это значение в Job.
|
||||||
* **Job**: Использует как часть пути в S3 (`bucket/HOSTNAME/...`).
|
* **Job**: Использует как часть пути в S3 (`bucket/HOSTNAME/...`).
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
### 3.2. Структура S3
|
### 3.2. Структура S3
|
||||||
Бакет: `terraform-providers`
|
Бакет: `terraform-providers`
|
||||||
Схема пути: `{hostname}/{namespace}/{provider_name}/{version}/{file}`
|
Схема пути: `{hostname}/{namespace}/{provider_name}/{version}/{file}`
|
||||||
Пример: `terra.k8c.ru/hashicorp/scaffolding/0.0.1/terraform-provider-scaffolding_0.0.1_linux_amd64.zip`
|
Пример: `registry.kube5s.ru/hashicorp/scaffolding/0.0.1/terraform-provider-scaffolding_0.0.1_linux_amd64.zip`
|
||||||
|
|
||||||
### 3.3. RBAC (Security)
|
### 3.3. RBAC (Security)
|
||||||
* Оператор работает от имени SA `terraform-operator`.
|
* Оператор работает от имени SA `terraform-operator`.
|
||||||
|
|||||||
@@ -79,11 +79,11 @@
|
|||||||
- `S3` (Storage)
|
- `S3` (Storage)
|
||||||
- `terraform-operator` (Controller)
|
- `terraform-operator` (Controller)
|
||||||
- `registry-server` (API)
|
- `registry-server` (API)
|
||||||
- Настроен Ingress на домен `terra.k8c.ru`.
|
- Настроен Ingress на домен `registry.kube5s.ru`.
|
||||||
- Проведен успешный тестовый прогон:
|
- Проведен успешный тестовый прогон:
|
||||||
- CR `scaffolding-v0-0-1` создан.
|
- CR `scaffolding-v0-0-1` создан.
|
||||||
- Job `build-scaffolding-v0-0-1` успешно отработал.
|
- Job `build-scaffolding-v0-0-1` успешно отработал.
|
||||||
- Артефакты появились в S3 по корректному пути: `/data/terraform-providers/terra.k8c.ru/hashicorp/scaffolding/0.0.1/`.
|
- Артефакты появились в S3 по корректному пути: `/data/terraform-providers/registry.kube5s.ru/hashicorp/scaffolding/0.0.1/`.
|
||||||
|
|
||||||
## 5. Как использовать
|
## 5. Как использовать
|
||||||
|
|
||||||
@@ -93,7 +93,7 @@
|
|||||||
terraform {
|
terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
scaffolding = {
|
scaffolding = {
|
||||||
source = "terra.k8c.ru/hashicorp/scaffolding"
|
source = "registry.kube5s.ru/hashicorp/scaffolding"
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,4 +65,4 @@ gpgKey := GPGPublicKey{
|
|||||||
|
|
||||||
## Результат
|
## Результат
|
||||||
Команда `terraform init` успешно прошла проверку подписи и установила провайдер:
|
Команда `terraform init` успешно прошла проверку подписи и установила провайдер:
|
||||||
> Installed terra.k8c.ru/nubes/nubes v1.0.0 (self-signed, key ID FFE0F4D723F14BCA)
|
> Installed registry.kube5s.ru/nubes/nubes v1.0.0 (self-signed, key ID FFE0F4D723F14BCA)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# 03. Миграция на terra.k8c.ru и Hot-Patch Registry Server
|
# 03. Миграция на registry.kube5s.ru и Hot-Patch Registry Server
|
||||||
|
|
||||||
**Дата**: 23 января 2026
|
**Дата**: 23 января 2026
|
||||||
**Статус**: Успешно
|
**Статус**: Успешно
|
||||||
**Задача**: Перевести Terraform Registry с домена `terrareg.kube5s.ru` на `terra.k8c.ru` и заставить работать `terraform init` в новом кластере без доступа к Docker Registry.
|
**Задача**: Перевести Terraform Registry с домена `terrareg.kube5s.ru` на `registry.kube5s.ru` и заставить работать `terraform init` в новом кластере без доступа к Docker Registry.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
### Этап 1: Обновление манифестов
|
### Этап 1: Обновление манифестов
|
||||||
С помощью `sed` и ручных правок заменены все вхождения домена.
|
С помощью `sed` и ручных правок заменены все вхождения домена.
|
||||||
- Обновлены Ingress, Deployment (env vars), Build Script.
|
- Обновлены Ingress, Deployment (env vars), Build Script.
|
||||||
- Ingress настроен на `terra.k8c.ru` с использованием `cert-manager` (LetsEncrypt).
|
- Ingress настроен на `registry.kube5s.ru` с использованием `cert-manager` (LetsEncrypt).
|
||||||
|
|
||||||
### Этап 2: Проблема "Unknown Issuer"
|
### Этап 2: Проблема "Unknown Issuer"
|
||||||
При попытке `terraform init` возникла ошибка:
|
При попытке `terraform init` возникла ошибка:
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
| Ошибка | Причина | Решение |
|
| Ошибка | Причина | Решение |
|
||||||
| :--- | :--- | :--- |
|
| :--- | :--- | :--- |
|
||||||
| `CrashLoopBackOff` | Бинарник в образе всё еще ожидал старые ENV | Массовая замена через `sed` и `replace_string`, пересборка образа. |
|
| `CrashLoopBackOff` | Бинарник в образе всё еще ожидал старые ENV | Массовая замена через `sed` и `replace_string`, пересборка образа. |
|
||||||
| 404 на страницах документации | `docs.go` искал файлы по ключу `terra.k8c.ru/docs/...` | Исправлен `docsObjectKey`: теперь префикс `docs/` фиксирован. |
|
| 404 на страницах документации | `docs.go` искал файлы по ключу `registry.kube5s.ru/docs/...` | Исправлен `docsObjectKey`: теперь префикс `docs/` фиксирован. |
|
||||||
| Громкие предупреждения MkDocs | Ссылки на несуществующие файлы в `nav` | Очистка `mkdocs.yml` от лишних ссылок и стабов. |
|
| Громкие предупреждения MkDocs | Ссылки на несуществующие файлы в `nav` | Очистка `mkdocs.yml` от лишних ссылок и стабов. |
|
||||||
|
|
||||||
## 5. Итог
|
## 5. Итог
|
||||||
|
|||||||
@@ -57,8 +57,8 @@ Date: 2026-02-27
|
|||||||
- Bump version to 5.0.1
|
- Bump version to 5.0.1
|
||||||
|
|
||||||
## Build and Publish Results
|
## Build and Publish Results
|
||||||
- Provider build/upload (5.0.1): success for linux/windows/darwin; GPG signed; uploaded to S3 path terra.k8c.ru/nubes/nubes/5.0.1/.
|
- Provider build/upload (5.0.1): success for linux/windows/darwin; GPG signed; uploaded to S3 path registry.kube5s.ru/nubes/nubes/5.0.1/.
|
||||||
- Docs publish (5.0.1): success; mkdocs warnings about pages not in nav (expected). Published to https://terra.k8c.ru/docs/nubes/nubes/5.0.1/.
|
- Docs publish (5.0.1): success; mkdocs warnings about pages not in nav (expected). Published to https://registry.kube5s.ru/docs/nubes/nubes/5.0.1/.
|
||||||
|
|
||||||
## Notes and Observations
|
## Notes and Observations
|
||||||
- Initial build attempt for 2.1.12 failed due to missing resources_yaml package embed; resolved by adding resources_yaml/embed.go.
|
- Initial build attempt for 2.1.12 failed due to missing resources_yaml package embed; resolved by adding resources_yaml/embed.go.
|
||||||
|
|||||||
@@ -85,7 +85,7 @@
|
|||||||
│ 4. Подписывает GPG (secrets/private_key.asc) │
|
│ 4. Подписывает GPG (secrets/private_key.asc) │
|
||||||
│ 5. Загружает в S3 (s3.msk-1.ngcloud.ru) │
|
│ 5. Загружает в S3 (s3.msk-1.ngcloud.ru) │
|
||||||
│ Путь: {hostname}/{namespace}/{name}/{version}/ │
|
│ Путь: {hostname}/{namespace}/{name}/{version}/ │
|
||||||
│ Пример: terra.k8c.ru/nubes/nubes/5.0.51/ │
|
│ Пример: registry.kube5s.ru/nubes/nubes/5.0.51/ │
|
||||||
└─────────────────────────────────────────────────────────────────────┘
|
└─────────────────────────────────────────────────────────────────────┘
|
||||||
│
|
│
|
||||||
▼
|
▼
|
||||||
@@ -121,7 +121,7 @@ devops/profiles/
|
|||||||
### Universal Rebuild (`universal_rebuild/`)
|
### Universal Rebuild (`universal_rebuild/`)
|
||||||
- **50+ ресурсов**, **полностью сгенерированы**
|
- **50+ ресурсов**, **полностью сгенерированы**
|
||||||
- 3 слоя: `internal/core/` (универсальный клиент) → `internal/resources_core/` (CRUD-логика) → `internal/resources_gen/` (сгенерированные ресурсы)
|
- 3 слоя: `internal/core/` (универсальный клиент) → `internal/resources_core/` (CRUD-логика) → `internal/resources_gen/` (сгенерированные ресурсы)
|
||||||
- Registry: `terra.k8c.ru/nubes/nubes`
|
- Registry: `registry.kube5s.ru/nubes/nubes`
|
||||||
- Версия: 5.0.51
|
- Версия: 5.0.51
|
||||||
|
|
||||||
### Почему два?
|
### Почему два?
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
## Контекст
|
## Контекст
|
||||||
- Репозиторий: /home/naeel/terra
|
- Репозиторий: /home/naeel/terra
|
||||||
- Генератор провайдера: /home/naeel/terra/nubes_provider_gen
|
- Генератор провайдера: /home/naeel/terra/nubes_provider_gen
|
||||||
- Адрес провайдера (актуально): terra.k8c.ru/nubes/nubes
|
- Адрес провайдера (актуально): registry.kube5s.ru/nubes/nubes
|
||||||
- Registry S3 bucket: terraform-registry (endpoint s3.msk-1.ngcloud.ru)
|
- Registry S3 bucket: terraform-registry (endpoint s3.msk-1.ngcloud.ru)
|
||||||
- Dev override: /home/naeel/terra/test_persistent/dev_override.tfrc
|
- Dev override: /home/naeel/terra/test_persistent/dev_override.tfrc
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
- /home/naeel/terra/test_persistent/main.tf
|
- /home/naeel/terra/test_persistent/main.tf
|
||||||
- Добавлен ресурс nubes_vm.test_vm (использует vapp_uid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, образ Ubuntu_22-20G).
|
- Добавлен ресурс nubes_vm.test_vm (использует vapp_uid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, образ Ubuntu_22-20G).
|
||||||
3) **Провайдер v2.0.0 собран и загружен в registry**:
|
3) **Провайдер v2.0.0 собран и загружен в registry**:
|
||||||
- Артефакты в S3 по пути: s3://terraform-registry/terra.k8c.ru/nubes/nubes/2.0.0/
|
- Артефакты в S3 по пути: s3://terraform-registry/registry.kube5s.ru/nubes/nubes/2.0.0/
|
||||||
- Файлы: terraform-provider-nubes_2.0.0_linux_amd64.zip, _SHA256SUMS, _SHA256SUMS.sig
|
- Файлы: terraform-provider-nubes_2.0.0_linux_amd64.zip, _SHA256SUMS, _SHA256SUMS.sig
|
||||||
4) **GPG ключ в наличии**:
|
4) **GPG ключ в наличии**:
|
||||||
- Key ID: FFE0F4D723F14BCA
|
- Key ID: FFE0F4D723F14BCA
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
- vapp_uid найден в debug_vm/terraform.tfvars
|
- vapp_uid найден в debug_vm/terraform.tfvars
|
||||||
|
|
||||||
## Текущие проблемы
|
## Текущие проблемы
|
||||||
- Terraform init без dev_override лезет в terra.k8c.ru и может падать.
|
- Terraform init без dev_override лезет в registry.kube5s.ru и может падать.
|
||||||
- Для apply нужны актуальные токены (401 были частые).
|
- Для apply нужны актуальные токены (401 были частые).
|
||||||
|
|
||||||
## План действий (VM)
|
## План действий (VM)
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
| Компонент | Каталог | Версия | Registry Address | Статус |
|
| Компонент | Каталог | Версия | Registry Address | Статус |
|
||||||
|-----------|---------|--------|------------------|--------|
|
|-----------|---------|--------|------------------|--------|
|
||||||
| **Legacy Provider** | `/internal/`, `/main.go` | dev | `registry.terraform.io/nubes/nubes` | Ручной код, 13 ресурсов |
|
| **Legacy Provider** | `/internal/`, `/main.go` | dev | `registry.terraform.io/nubes/nubes` | Ручной код, 13 ресурсов |
|
||||||
| **Universal Provider** | `/universal_rebuild/` | 5.0.18 | `terra.k8c.ru/nubes/nubes` | Генерируемый, ~50 ресурсов |
|
| **Universal Provider** | `/universal_rebuild/` | 5.0.18 | `registry.kube5s.ru/nubes/nubes` | Генерируемый, ~50 ресурсов |
|
||||||
|
|
||||||
### Архитектурные слои
|
### Архитектурные слои
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
## Контекст
|
## Контекст
|
||||||
|
|
||||||
Terraform-провайдер Nubes Cloud сейчас работает на self-managed K8s (terra.k8c.ru).
|
Terraform-провайдер Nubes Cloud сейчас работает на self-managed K8s (registry.kube5s.ru).
|
||||||
Цель: подготовить инфраструктуру к передаче в Nubes Managed Kubernetes под управление их DevOps.
|
Цель: подготовить инфраструктуру к передаче в Nubes Managed Kubernetes под управление их DevOps.
|
||||||
|
|
||||||
Nubes (nubes.ru) — российский cloud-провайдер, собственный DC Tier III (Москва), имеет Managed K8s, Harbor, S3.
|
Nubes (nubes.ru) — российский cloud-провайдер, собственный DC Tier III (Москва), имеет Managed K8s, Harbor, S3.
|
||||||
@@ -71,7 +71,7 @@ charts/
|
|||||||
**Требования к `values.yaml`:**
|
**Требования к `values.yaml`:**
|
||||||
```yaml
|
```yaml
|
||||||
global:
|
global:
|
||||||
registryHostname: "terra.k8c.ru" # Переопределяется при миграции
|
registryHostname: "registry.kube5s.ru" # Переопределяется при миграции
|
||||||
namespace: "terraform-registry"
|
namespace: "terraform-registry"
|
||||||
|
|
||||||
registry:
|
registry:
|
||||||
@@ -111,7 +111,7 @@ operator:
|
|||||||
ingress:
|
ingress:
|
||||||
enabled: true
|
enabled: true
|
||||||
className: "nginx"
|
className: "nginx"
|
||||||
host: "terra.k8c.ru" # Переопределяется
|
host: "registry.kube5s.ru" # Переопределяется
|
||||||
tls:
|
tls:
|
||||||
enabled: true
|
enabled: true
|
||||||
issuer: "letsencrypt-prod" # НЕ ТРОГАТЬ LetsEncrypt issuer!
|
issuer: "letsencrypt-prod" # НЕ ТРОГАТЬ LetsEncrypt issuer!
|
||||||
@@ -139,7 +139,7 @@ networkPolicy:
|
|||||||
**Требования к `values-dev.yaml`:**
|
**Требования к `values-dev.yaml`:**
|
||||||
```yaml
|
```yaml
|
||||||
global:
|
global:
|
||||||
registryHostname: "terra.k8c.ru"
|
registryHostname: "registry.kube5s.ru"
|
||||||
registry:
|
registry:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
pdb:
|
pdb:
|
||||||
@@ -499,20 +499,20 @@ spec:
|
|||||||
**Это НЕ код — это инструкция для DevOps. Записать в `docs/ops/DOMAIN_MIGRATION.md`:**
|
**Это НЕ код — это инструкция для DevOps. Записать в `docs/ops/DOMAIN_MIGRATION.md`:**
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
# Миграция домена terra.k8c.ru → registry.nubes.ru
|
# Миграция домена registry.kube5s.ru → registry.nubes.ru
|
||||||
|
|
||||||
## Фаза 1: Dual-domain (параллельная работа)
|
## Фаза 1: Dual-domain (параллельная работа)
|
||||||
1. Настроить Ingress с двумя hosts: terra.k8c.ru + registry.nubes.ru
|
1. Настроить Ingress с двумя hosts: registry.kube5s.ru + registry.nubes.ru
|
||||||
2. Оба домена указывают на один Registry Server
|
2. Оба домена указывают на один Registry Server
|
||||||
3. Обновить provider main.go: Address → registry.nubes.ru
|
3. Обновить provider main.go: Address → registry.nubes.ru
|
||||||
4. Старый адрес terra.k8c.ru продолжает работать
|
4. Старый адрес registry.kube5s.ru продолжает работать
|
||||||
|
|
||||||
## Фаза 2: Миграция клиентов
|
## Фаза 2: Миграция клиентов
|
||||||
1. Документировать новый registry address для пользователей
|
1. Документировать новый registry address для пользователей
|
||||||
2. .terraformrc mirror config для переходного периода:
|
2. .terraformrc mirror config для переходного периода:
|
||||||
provider_installation {
|
provider_installation {
|
||||||
direct {
|
direct {
|
||||||
exclude = ["terra.k8c.ru/*/*"]
|
exclude = ["registry.kube5s.ru/*/*"]
|
||||||
}
|
}
|
||||||
network_mirror {
|
network_mirror {
|
||||||
url = "https://registry.nubes.ru/v1/providers/"
|
url = "https://registry.nubes.ru/v1/providers/"
|
||||||
@@ -520,11 +520,11 @@ spec:
|
|||||||
}
|
}
|
||||||
|
|
||||||
## Фаза 3: Редирект
|
## Фаза 3: Редирект
|
||||||
1. terra.k8c.ru Ingress → 301 redirect на registry.nubes.ru
|
1. registry.kube5s.ru Ingress → 301 redirect на registry.nubes.ru
|
||||||
2. Мониторинг: отслеживать запросы на старый домен
|
2. Мониторинг: отслеживать запросы на старый домен
|
||||||
|
|
||||||
## Фаза 4: Деком (через 6+ месяцев)
|
## Фаза 4: Деком (через 6+ месяцев)
|
||||||
1. Убрать terra.k8c.ru из Ingress
|
1. Убрать registry.kube5s.ru из Ingress
|
||||||
2. DNS → удалить A/CNAME запись
|
2. DNS → удалить A/CNAME запись
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
# Сборка и публикация — инструкция
|
||||||
|
|
||||||
|
> TEST стенд. ВМ: `naeel@5.172.178.213`
|
||||||
|
|
||||||
|
## 1. Сгенерировать YAML из API
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /home/naeel/tf_provider
|
||||||
|
./TOOLS/scripts/01_generate_yamls.sh --profile TOOLS/config/test
|
||||||
|
```
|
||||||
|
|
||||||
|
## 2. Сгенерировать Go-код и документацию
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /home/naeel/tf_provider
|
||||||
|
./TOOLS/scripts/02_generate_resources_and_docs_v2.sh --profile TOOLS/config/test
|
||||||
|
```
|
||||||
|
|
||||||
|
## 3. Собрать провайдер и залить в S3
|
||||||
|
|
||||||
|
ТОЛЬКО на ВМ:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /home/naeel/tf_provider
|
||||||
|
./TOOLS/scripts/03_build_and_upload_provider.sh --profile TOOLS/config/test
|
||||||
|
```
|
||||||
|
|
||||||
|
## 4. Собрать документацию и залить в S3
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /home/naeel/tf_provider
|
||||||
|
./TOOLS/scripts/04_build_and_publish_docs.sh --profile TOOLS/config/test
|
||||||
|
```
|
||||||
|
|
||||||
|
## После сборки
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Коммит и пуш ИЗМЕНЕНИЙ В КОДЕ (не generated)
|
||||||
|
cd /home/naeel/tf_provider
|
||||||
|
git add -A
|
||||||
|
git commit -m "описание"
|
||||||
|
git push
|
||||||
|
|
||||||
|
# Синкнуть сгенерированное на ВМ (если п.3 не на ВМ)
|
||||||
|
rsync -avz -e "ssh ..." generated/test/ naeel@5.172.178.213:/home/naeel/tf_provider/generated/test/
|
||||||
|
```
|
||||||
|
|
||||||
|
## Версия
|
||||||
|
|
||||||
|
Версия в `TOOLS/config/test/profile.env` → `VERSION="X.Y.Z"`
|
||||||
|
Повышать при ЛЮБОМ изменении кода провайдера.
|
||||||
@@ -82,13 +82,13 @@ export S3_SECRET_KEY=...
|
|||||||
|
|
||||||
Пример:
|
Пример:
|
||||||
```bash
|
```bash
|
||||||
./scripts/publish-docs.sh site terra.k8c.ru nubes nubes 2.0.2
|
./scripts/publish-docs.sh site registry.kube5s.ru nubes nubes 2.0.2
|
||||||
```
|
```
|
||||||
|
|
||||||
Что делает:
|
Что делает:
|
||||||
- Копирует `site/` → `s3://terraform-registry/docs/nubes/nubes/2.0.2/`
|
- Копирует `site/` → `s3://terraform-registry/docs/nubes/nubes/2.0.2/`
|
||||||
- Выставляет public policy
|
- Выставляет public policy
|
||||||
- Итоговый URL: `https://terra.k8c.ru/docs/nubes/nubes/2.0.2/`
|
- Итоговый URL: `https://registry.kube5s.ru/docs/nubes/nubes/2.0.2/`
|
||||||
|
|
||||||
**S3 credentials** (любой из способов):
|
**S3 credentials** (любой из способов):
|
||||||
- Переменные окружения: `S3_ENDPOINT`, `S3_ACCESS_KEY`, `S3_SECRET_KEY`
|
- Переменные окружения: `S3_ENDPOINT`, `S3_ACCESS_KEY`, `S3_SECRET_KEY`
|
||||||
@@ -128,7 +128,7 @@ export S3_SECRET_KEY=...
|
|||||||
- `S3_ENDPOINT`
|
- `S3_ENDPOINT`
|
||||||
- `S3_ACCESS_KEY`
|
- `S3_ACCESS_KEY`
|
||||||
- `S3_SECRET_KEY`
|
- `S3_SECRET_KEY`
|
||||||
- `REGISTRY_HOSTNAME` (опционально, по умолчанию `terra.k8c.ru`)
|
- `REGISTRY_HOSTNAME` (опционально, по умолчанию `registry.kube5s.ru`)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -265,4 +265,4 @@ Referer должен совпадать со стендом (test/dev/prod). Н
|
|||||||
Кратко: реализована для ресурса Tubulus через ModifyPlan + askGemini, с защитой от двойного вызова AI.
|
Кратко: реализована для ресурса Tubulus через ModifyPlan + askGemini, с защитой от двойного вызова AI.
|
||||||
|
|
||||||
### 4.7 Прямая ссылка
|
### 4.7 Прямая ссылка
|
||||||
https://terra.k8c.ru/docs/nubes/nubes/2.0.0/howitwasdone/
|
https://registry.kube5s.ru/docs/nubes/nubes/2.0.0/howitwasdone/
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
# Миграция домена terra.k8c.ru → registry.nubes.ru
|
# Миграция домена registry.kube5s.ru → registry.nubes.ru
|
||||||
|
|
||||||
## Фаза 1: Dual-domain (параллельная работа)
|
## Фаза 1: Dual-domain (параллельная работа)
|
||||||
1. Настроить Ingress с двумя hosts: `terra.k8c.ru` + `registry.nubes.ru`
|
1. Настроить Ingress с двумя hosts: `registry.kube5s.ru` + `registry.nubes.ru`
|
||||||
2. Оба домена указывают на один Registry Server
|
2. Оба домена указывают на один Registry Server
|
||||||
3. Обновить provider `main.go`: Address → `registry.nubes.ru`
|
3. Обновить provider `main.go`: Address → `registry.nubes.ru`
|
||||||
4. Старый адрес `terra.k8c.ru` продолжает работать
|
4. Старый адрес `registry.kube5s.ru` продолжает работать
|
||||||
|
|
||||||
## Фаза 2: Миграция клиентов
|
## Фаза 2: Миграция клиентов
|
||||||
1. Документировать новый registry address для пользователей
|
1. Документировать новый registry address для пользователей
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
```hcl
|
```hcl
|
||||||
provider_installation {
|
provider_installation {
|
||||||
direct {
|
direct {
|
||||||
exclude = ["terra.k8c.ru/*/*"]
|
exclude = ["registry.kube5s.ru/*/*"]
|
||||||
}
|
}
|
||||||
network_mirror {
|
network_mirror {
|
||||||
url = "https://registry.nubes.ru/v1/providers/"
|
url = "https://registry.nubes.ru/v1/providers/"
|
||||||
@@ -21,9 +21,9 @@ provider_installation {
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Фаза 3: Редирект
|
## Фаза 3: Редирект
|
||||||
1. `terra.k8c.ru` Ingress → 301 redirect на `registry.nubes.ru`
|
1. `registry.kube5s.ru` Ingress → 301 redirect на `registry.nubes.ru`
|
||||||
2. Мониторинг: отслеживать запросы на старый домен
|
2. Мониторинг: отслеживать запросы на старый домен
|
||||||
|
|
||||||
## Фаза 4: Деком (через 6+ месяцев)
|
## Фаза 4: Деком (через 6+ месяцев)
|
||||||
1. Убрать `terra.k8c.ru` из Ingress
|
1. Убрать `registry.kube5s.ru` из Ingress
|
||||||
2. DNS → удалить A/CNAME запись
|
2. DNS → удалить A/CNAME запись
|
||||||
|
|||||||
+1
-1
@@ -29,7 +29,7 @@ NUBES_API_ENDPOINT="https://deck-api-test.ngcloud.ru" go run tools/service_spec_
|
|||||||
|
|
||||||
### 2. НЕ публиковать Universal в PROD-реестр без явной команды
|
### 2. НЕ публиковать Universal в PROD-реестр без явной команды
|
||||||
|
|
||||||
PROD реестр (`terra.k8c.ru`) содержит версии для клиентов.
|
PROD реестр (`registry.kube5s.ru`) содержит версии для клиентов.
|
||||||
Universal (5.x) публикуется только после тестирования на TEST стенде.
|
Universal (5.x) публикуется только после тестирования на TEST стенде.
|
||||||
|
|
||||||
### 3. НЕ использовать PROD токен для генерации/тестирования
|
### 3. НЕ использовать PROD токен для генерации/тестирования
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
site_name: Провайдер Terraform Nubes
|
site_name: Провайдер Terraform Nubes
|
||||||
site_url: https://terra.k8c.ru/docs/nubes/nubes/2.0.1/
|
site_url: https://registry.kube5s.ru/docs/nubes/nubes/2.0.1/
|
||||||
|
|
||||||
exclude_docs: |
|
exclude_docs: |
|
||||||
README.md
|
README.md
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ PROFILE_DIR=""
|
|||||||
SITE_DIR="${ROOT_DIR}/site"
|
SITE_DIR="${ROOT_DIR}/site"
|
||||||
PAGE_REL=""
|
PAGE_REL=""
|
||||||
VERSION=""
|
VERSION=""
|
||||||
REGISTRY_HOST="${REGISTRY_HOST:-terra.k8c.ru}"
|
REGISTRY_HOST="${REGISTRY_HOST:-registry.kube5s.ru}"
|
||||||
NAMESPACE="${NAMESPACE:-nubes}"
|
NAMESPACE="${NAMESPACE:-nubes}"
|
||||||
PROVIDER_NAME="${PROVIDER_NAME:-nubes}"
|
PROVIDER_NAME="${PROVIDER_NAME:-nubes}"
|
||||||
S3CFG_REGISTRY="${S3CFG_REGISTRY:-${ROOT_DIR}/secrets/.s3cfg_registry}"
|
S3CFG_REGISTRY="${S3CFG_REGISTRY:-${ROOT_DIR}/secrets/.s3cfg_registry}"
|
||||||
|
|||||||
Reference in New Issue
Block a user