refactor: restructure project — separate tools, config, generated, provider

TOOLS/        — generators + scripts + config + ARCHITECTURE.md
  ├── yaml-generator/    (code)
  ├── resource-generator/ (code)
  ├── docs-generator/    (code)
  ├── scripts/           (← devops/*.sh)
  ├── config/            (← devops/profiles/ + devops/config/)
  │   ├── test/          profile.env, services_list.txt, operation_timeouts.json
  │   ├── prod/
  │   └── dev/
  └── ARCHITECTURE.md    (← devops/ARCHITECTURE.md)

generated/    — pipeline output only (gitignored)
  ├── test/resources_yaml/, go/, docs/, provider_build/
  ├── prod/
  └── dev/

provider/     — code only, no generated files
  resources_yaml/        — DELETED (generated)
  internal/resources_gen/ — DELETED (generated)

devops/       — removed (replaced by TOOLS/scripts + TOOLS/config + generated/)

Generators now fail if NUBES_*_DIR not set (no defaults to provider/).
Provider requires pipeline to populate resources_gen/ before build.
This commit is contained in:
“Naeel”
2026-07-06 09:06:09 +04:00
parent c34db5e5e3
commit dd56bcda83
1285 changed files with 84004 additions and 1910 deletions
+17
View File
@@ -0,0 +1,17 @@
{
"default_timeout": "10m",
"idle_timeout": "10m",
"operations": {
"create": "10m",
"modify": "7m",
"resume": "7m",
"suspend": "7m",
"create_user": "7m",
"delete_user": "6m",
"create_database": "7m",
"delete_database": "6m"
},
"overrides": {
"services.90.create": "7m"
}
}
+20
View File
@@ -0,0 +1,20 @@
# Stand profile: DEV
NUBES_API_ENDPOINT="https://deck-api-dev.ngcloud.ru/api/v1"
TOKEN_FILE="secrets/dev.token"
# Release versions
RELEASE_VERSION="3.0.1"
PROVIDER_VERSION="3.0.1"
DOCS_VERSION="3.0.1"
# Registry/S3 settings
REGISTRY_HOST="terra.k8c.ru"
REGISTRY_HOSTNAME="terra.k8c.ru"
NAMESPACE="nubes-dev"
PROVIDER_NAME="nubes"
S3_BUCKET="terraform-registry"
S3CFG_REGISTRY="secrets/.s3cfg_registry"
# Signing keys
GPG_PRIVATE_KEY_PATH="secrets/private_key.asc"
GPG_PUBLIC_KEY_PATH="secrets/public_key.asc"
+49
View File
@@ -0,0 +1,49 @@
# service_id service_name # RU description
# DEV stand — generated from dev API 2026-03-26
# do not delete lines; to exclude a service, comment it with #
1 dummy # Болванка
2 template # Темплейт k8s
12 s3 # S3 Object Storage
13 s3bucket # S3 бакет
19 vcOrg # Организация в Cloud Director
# 20 vcOrgSaas # DEPRECATED — Организация без Keycloak (isProductionReady=false)
21 vc_vdc # Виртуальный датацентр (vDC)
22 vc_nsxt # Сетевой шлюз периметра (Edge)
# 23 vc_vm # DEPRECATED — VM в Cloud Director старый формат (isProductionReady=false)
# 24 vcNat # DEPRECATED — Правила маршрутизации VM (isProductionReady=false)
25 vcexternalip # Публичные IP адреса
26 vapp # Виртуальный каталог ВМ (vApp)
# 27 vc_vm_v2 # VM в Cloud Director v2 (isProductionReady=false)
28 vc_vm_v3 # Виртуальная машина
29 vcVdcGroup # Группа датацентров
# 32 vmpostgre # vc_vm_postgresql_std (isProductionReady=false)
50 nextcloud # Nextcloud
81 superset # Apache Superset
82 harbor # Container Registry
88 k8sZitiController # k8sZitiController
89 flask # Web-сервер с фреймворком Flask
90 postgres # PostgreSQL
91 redis # Redis
92 mongodb # MongoDB
93 rabbitmq # RabbitMQ
94 lucee # Lucee
95 nodejs # NodeJS
96 pgadmin # pgAdmin
97 nodered # NodeRed
98 http # Простой HTTP контейнер
99 gitea # Gitea
# 100 openwhisk # Serverless Openwhisk (isProductionReady=false)
109 zonesV2 # Управление днс-зонами и записями
110 dnszone # DNS зона
111 dnsrecord # DNS запись
# 112 tenant # Тенант в Grafana (isProductionReady=false)
# 113 vcComplex # Быстрый старт (isProductionReady=false)
115 mariadb # Mariadb
116 kafka # ApacheKafka
119 Akhq # Akhq
120 clickhouse # ClickHouse
149 valoTenant # VALO Cloud
150 k8sSthutrvalCluster # Kubernetes кластер Штурвал
151 k8sOpenbao # Vault
# 152 template # Темплейт k8s-2-clone (isProductionReady=false)
153 nifi # Nifi
+17
View File
@@ -0,0 +1,17 @@
{
"default_timeout": "10m",
"idle_timeout": "10m",
"operations": {
"create": "10m",
"modify": "7m",
"resume": "7m",
"suspend": "7m",
"create_user": "7m",
"delete_user": "6m",
"create_database": "7m",
"delete_database": "6m"
},
"overrides": {
"services.90.create": "7m"
}
}
+20
View File
@@ -0,0 +1,20 @@
# Stand profile: PROD
NUBES_API_ENDPOINT="https://deck-api.ngcloud.ru/api/v1"
TOKEN_FILE="secrets/prod.token"
# Release versions
RELEASE_VERSION="2.1.23"
PROVIDER_VERSION="2.1.23"
DOCS_VERSION="2.1.23"
# Registry/S3 settings
REGISTRY_HOST="terra.k8c.ru"
REGISTRY_HOSTNAME="terra.k8c.ru"
NAMESPACE="nubes-prod"
PROVIDER_NAME="nubes"
S3_BUCKET="terraform-registry"
S3CFG_REGISTRY="secrets/.s3cfg_registry"
# Signing keys
GPG_PRIVATE_KEY_PATH="secrets/private_key.asc"
GPG_PUBLIC_KEY_PATH="secrets/public_key.asc"
+46
View File
@@ -0,0 +1,46 @@
# service_id service_name # RU description
# do not delete lines; to exclude a service, comment it with #
1 dummy # Болванка для тестов
2 template # Болванка для тестирования
12 s3 # Масштабируемое хранилище данных
13 s3bucket # Бакет в сервисе S3
19 vcOrg # Организация в Cloud Director
20 vcOrgSaas # Без интеграции Keycloak
21 vc_vdc # Выделение вычислительных ресурсов
22 vc_nsxt # Обеспечение сетевой доступности в тенанте
23 vc_vm # Виртуальная машина без каких-либо особенностей. <br/>Данная услуга запускает vc_ip для выдачи белого адреса и подключения к ВМ
# 24 DEPRECATED Правила маршрутизации для VM (vc_nat) # excluded from active generation
25 vcexternalip # Резервирование IP адреса
26 vapp # Группировка виртуальных машин
27 vc_vm_v2 # Виртуальная машина с возможностью настройки Cloud Init<br/>Можно развернуть в услуге несколько ВМ<br/>В зависимости от настроек можно выдавать на ВМ vip + dns
28 vc_vm_v3 # Создание виртуальной машины
29 vcVdcGroup # Обеспечение сетевой доступности между датацентрами
32 vmpostgre # Сервис настройки PostgreSQL для виртуальной машины.<br/>Требует наличия ВМ
50 nextcloud # Платформа совместной работы
81 superset # Сервер отчетов
82 harbor # Реестр для хранения образов контейнеров
88 k8sZitiController # Контроллер управления Client to service & service to service Zero trust network<br/>
89 flask # Flask
90 postgres # Управляемая база данных PostgreSQL
91 redis # Управляемая база данных Redis
92 mongodb # Управляемая база данных MongoDB
93 rabbitmq # Сервер очередей
94 lucee # Cервер приложений
95 nodejs # Cервер приложений
96 pgadmin # Административный интерфейс для PostgreSQL
97 nodered # Low-code платформа для IoT
98 http # Простой HTTP контейнер
99 gitea # Сервис контроля версий
100 openwhisk # Добавление и удаления пользователя (учетной записи, тенанта) для работы с Openwhisk
110 dnszone # Хостинг DNS зоны
111 dnsrecord # DNS запись в созданной зоне
112 tenant # Организация доступов к мониторингу
113 vcComplex # Создание готовой иерархии ресурсов
114 GiteaComplex # Комплексная услуга из [&quot;gittea&quot;, &quot;postgres&quot;]
115 mariadb # Управляемая база данных MySQL
116 kafka # Сервис создания кластера Apache Kafka
117 nifi # ETL-система
119 Akhq # Web интерфейс Akhq для работы с Apache Kafka
120 clickhouse # Управляемая база данных ClickHouse
149 valoTenant # Корпоративная система обмена и синхронизации файлов
150 k8sSthutrvalCluster # Платформа управления K8s<br/>
+17
View File
@@ -0,0 +1,17 @@
{
"default_timeout": "10m",
"idle_timeout": "10m",
"operations": {
"create": "10m",
"modify": "7m",
"resume": "7m",
"suspend": "7m",
"create_user": "7m",
"delete_user": "6m",
"create_database": "7m",
"delete_database": "6m"
},
"overrides": {
"services.90.create": "7m"
}
}
+23
View File
@@ -0,0 +1,23 @@
# Stand profile: TEST
NUBES_API_ENDPOINT="https://lk-api-gateway-test.ngcloud.ru/api/v1/svc"
TOKEN_FILE="secrets/test.token"
# Release versions
RELEASE_VERSION="5.0.60"
PROVIDER_VERSION="5.0.60"
DOCS_VERSION="5.0.60"
# Docs generation — ONLY from docs_gen/<stand>/ (never from docs/)
DOCS_GEN_DIR="provider/docs_gen/test"
# Registry/S3 settings
REGISTRY_HOST="terra.k8c.ru"
REGISTRY_HOSTNAME="terra.k8c.ru"
NAMESPACE="nubes-test"
PROVIDER_NAME="nubes"
S3_BUCKET="terraform-registry"
S3CFG_REGISTRY="secrets/.s3cfg_registry"
# Signing keys
GPG_PRIVATE_KEY_PATH="secrets/private_key.asc"
GPG_PUBLIC_KEY_PATH="secrets/public_key.asc"
+46
View File
@@ -0,0 +1,46 @@
# service_id service_name # RU description
# do not delete lines; to exclude a service, comment it with #
1 dummy # Болванка для тестов
2 template # Болванка для тестирования
12 s3 # Масштабируемое хранилище данных
13 s3bucket # Бакет в сервисе S3
19 vcOrg # Организация в Cloud Director
20 vcOrgSaas # Без интеграции Keycloak
21 vc_vdc # Выделение вычислительных ресурсов
22 vc_nsxt # Обеспечение сетевой доступности в тенанте
23 vc_vm # Виртуальная машина без каких-либо особенностей. <br/>Данная услуга запускает vc_ip для выдачи белого адреса и подключения к ВМ
# 24 DEPRECATED Правила маршрутизации для VM (vc_nat) # excluded from active generation
25 vcexternalip # Резервирование IP адреса
26 vapp # Группировка виртуальных машин
27 vc_vm_v2 # Виртуальная машина с возможностью настройки Cloud Init<br/>Можно развернуть в услуге несколько ВМ<br/>В зависимости от настроек можно выдавать на ВМ vip + dns
28 vc_vm_v3 # Создание виртуальной машины
29 vcVdcGroup # Обеспечение сетевой доступности между датацентрами
32 vmpostgre # Сервис настройки PostgreSQL для виртуальной машины.<br/>Требует наличия ВМ
50 nextcloud # Платформа совместной работы
81 superset # Сервер отчетов
82 harbor # Реестр для хранения образов контейнеров
88 k8sZitiController # Контроллер управления Client to service & service to service Zero trust network<br/>
89 flask # Flask
90 postgres # Управляемая база данных PostgreSQL
91 redis # Управляемая база данных Redis
92 mongodb # Управляемая база данных MongoDB
93 rabbitmq # Сервер очередей
94 lucee # Cервер приложений
95 nodejs # Cервер приложений
96 pgadmin # Административный интерфейс для PostgreSQL
97 nodered # Low-code платформа для IoT
98 http # Простой HTTP контейнер
99 gitea # Сервис контроля версий
100 openwhisk # Добавление и удаления пользователя (учетной записи, тенанта) для работы с Openwhisk
110 dnszone # Хостинг DNS зоны
111 dnsrecord # DNS запись в созданной зоне
112 tenant # Организация доступов к мониторингу
113 vcComplex # Создание готовой иерархии ресурсов
114 GiteaComplex # Комплексная услуга из [&quot;gittea&quot;, &quot;postgres&quot;]
115 mariadb # Управляемая база данных MySQL
116 kafka # Сервис создания кластера Apache Kafka
117 nifi # ETL-система
119 Akhq # Web интерфейс Akhq для работы с Apache Kafka
120 clickhouse # Управляемая база данных ClickHouse
149 valoTenant # Корпоративная система обмена и синхронизации файлов
150 k8sSthutrvalCluster # Платформа управления K8s<br/>