Skip to content

Resource nubes_flask · v2.0.0 · Service ID: 89 · Service Name: Web-сервер с фреймворком Flask

Manual · Create params · Modify params · Output params · Operations · Example

Минимальный пример (только обязательные параметры)

terraform {
  required_providers {
    nubes = {
      source  = "tf-registry.containerk8s.services.ngcloud.ru/nubes-dev/nubes"
      version = "2.0.0"
    }
  }
}

provider "nubes" {
  api_token    = "***"
  api_endpoint = "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc"
}
resource "nubes_flask" "baza" {
  resource_name = "my-flask"

  startup_configuration {
    resource_realm = "TODO" # Кластер Kubernetes, на котором будет развернут экземпляр
  }
  cluster_configuration {
    cpu = 200 # Указывается в Milicores `1000` Mili == `1` Ядро
    memory = 256 # Указывается в Megabytes
    replicas = 1
  }
  access_configuration {
    domain = "flask-rqboyaux" # Если указан FQDN в формате: `myapp.example.com`, предварительно будет проверяться DNS-запись (А-запись **должна смотреть на IP Ingress кластера ресурсной платформы**) Если указан в формате `myapp`, DNS-запись будет автоматически создана в служебной DNS-зоне
  }
  app_configuration {
    version = 3.12
    git_path = "https://github.com/Foxyhhd/Baldurs-Gate-test.git" # Путь до репозитория приложения Обязательно должен быть передан как URL: `https://....` Должен быть сетевой доступ до URL для скачивания исходников
    health_path = "TODO" # Путь до healtcheck для запуска пода в Kubernetes, который отдаст 200 код Пустое значение означает, что будет проверяться исключительно доступность приложения по порту
  }
}
Полный пример (все параметры, включая значения по умолчанию)
terraform {
  required_providers {
    nubes = {
      source  = "tf-registry.containerk8s.services.ngcloud.ru/nubes-dev/nubes"
      version = "2.0.0"
    }
  }
}

# Токен доступа api_token к Nubes API — замените на реальный.
provider "nubes" {
  api_token    = "token_***"
  api_endpoint = "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc"
}
resource "nubes_flask" "baza" {
  resource_name = "TODO"

  startup_configuration {
    resource_realm = "TODO" # Кластер Kubernetes, на котором будет развернут экземпляр
  }
  cluster_configuration {
    cpu = 200 # Указывается в Milicores `1000` Mili == `1` Ядро
    memory = 256 # Указывается в Megabytes
    replicas = 1
  }
  access_configuration {
    domain = "flask-rqboyaux" # Если указан FQDN в формате: `myapp.example.com`, предварительно будет проверяться DNS-запись (А-запись **должна смотреть на IP Ingress кластера ресурсной платформы**) Если указан в формате `myapp`, DNS-запись будет автоматически создана в служебной DNS-зоне
  }
  app_configuration {
    version = 3.12
    git_path = "https://github.com/Foxyhhd/Baldurs-Gate-test.git" # Путь до репозитория приложения Обязательно должен быть передан как URL: `https://....` Должен быть сетевой доступ до URL для скачивания исходников
    health_path = "TODO" # Путь до healtcheck для запуска пода в Kubernetes, который отдаст 200 код Пустое значение означает, что будет проверяться исключительно доступность приложения по порту
  }

  # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте
  json_env = {}
}

Использование выходных данных

# Выходные параметры можно использовать как
nubes_flask.baza.state_params["имя_ключа"]
nubes_flask.baza.state_out["имя_ключа"]
nubes_flask.baza.state_params_flat["имя_ключа"]
nubes_flask.baza.state_out_flat["имя_ключа"]
nubes_flask.baza.vault_secrets["имя_ключа"]
nubes_flask.baza.vault_url
nubes_flask.baza.vault_user_path
nubes_flask.baza.vault_fields