IoT Demo: Terraform-конфиг для 6 сервисов Nubes Cloud

Producer -> RabbitMQ -> Consumer -> Redis+MongoDB -> Dashboard

Подробная инструкция в README.md:
- Что заменить в locals.tf (домены, git_path, ресурсы)
- Как заполнить terraform.tfvars
- Как форкнуть репо приложений
This commit is contained in:
2026-07-22 10:19:24 +04:00
parent f86b189183
commit 5511546534
8 changed files with 506 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
# =============================================================================
# Terraform-конфиг: IoT Demo на Nubes Cloud
# =============================================================================
# 6 сервисов: RabbitMQ, Redis, MongoDB, 3× Node.js
# Пайплайн: Producer → RabbitMQ → Consumer → Redis + MongoDB → Dashboard
#
# Требования:
# - Nubes Cloud CLI (провайдер registry.kube5s.ru)
# - API-токен из личного кабинета
# - Заполненный terraform.tfvars (см. terraform.tfvars.example)
#
# Быстрый старт:
# 1. Скопировать terraform.tfvars.example → terraform.tfvars
# 2. Заполнить api_token, realm, api_endpoint
# 3. Форкнуть репозитории приложений в свой Gitea (см. README.md)
# 4. Обновить git_path и git_revision в locals.tf
# 5. terraform init && terraform apply
# =============================================================================
terraform {
required_providers {
nubes = {
source = "registry.kube5s.ru/nubes-test/nubes" # реестр провайдера Nubes
version = "5.1.16" # версия провайдера
}
}
}
# API-токен для доступа к Nubes Cloud (из личного кабинета)
variable "api_token" {
type = string
sensitive = true # не показывать в логах/плане
}
# K8s-кластер (realm) для развёртывания (например: k8s-4-sandbox-nubes-ru)
variable "realm" {
type = string
}
# API-эндпоинт Nubes Cloud:
# Тестовый: https://lk-api-gateway-test.ngcloud.ru/api/v1/svc
# Боевой: https://lk-api-gateway.ngcloud.ru/api/v1/svc
variable "api_endpoint" {
type = string
default = "https://lk-api-gateway-test.ngcloud.ru/api/v1/svc"
}
# Конфигурация провайдера Nubes
provider "nubes" {
api_token = var.api_token
api_endpoint = var.api_endpoint
}