Resource nubes_nextcloud · Service ID: 50 · Service Name: Nextcloud¶
Manual · Create params · Modify params · Output params · Operations · Example
Copy-ready manifest (nextcloud_main.tf)¶
terraform {
required_providers {
nubes = {
source = "tf-registry.containerk8s.services.ngcloud.ru/nubes-test/nubes"
version = "5.0.8"
}
}
}
# Токен доступа api_token к Nubes API — замените на реальный.
provider "nubes" {
api_token = "token_***"
api_endpoint = "https://lk-api-gateway-test.ngcloud.ru/api/v1/svc"
}
resource "nubes_nextcloud" "baza" {
resource_name = "TODO"
startup_configuration {
redis_enabled = true # Инстанс обязан быть развёрнут на той же ресурсной платформе, где и будет располагаться Nextcloud
psql_uid = "TODO" # Необходимо выбирать, когда выбран параметр `Подключить PostgreSQL из Личного кабинета`
redis_uid = "TODO" # Необходимо выбирать, когда выбран параметр `Подключить Redis из Личного кабинета`
resource_realm = "TODO" # Кластер Kubernetes, на котором будет развернут экземпляр
psql_enabled = true # Инстанс обязан быть развёрнут на той же ресурсной платформе, где и будет располагаться Nextcloud
}
cluster_configuration {
memory = 1024 # Указывается в Megabytes
replicas = 1
disk = 10 # Указывается в GIGAbytes На данном диске хранятся данные Nextcloud
cpu = 1000 # Указывается в Milicores `1000` Mili == `1` Ядро
}
access_configuration {
domain = "nextcloud-ki91a4bv" # Если указан FQDN в формате: `myapp.example.com`, предварительно будет проверяться DNS-запись (А-запись **должна смотреть на IP Ingress кластера ресурсной платформы**) Если указан в формате `myapp`, DNS-запись будет автоматически создана в служебной DNS-зоне
}
app_configuration {
document_server = "collabora" # Выбор сервера документов (onlyoffice)/(collabora). onlyoffice пока не доступен Размер пода collabora: 1.8 ядра. 2Gi ОЗУ
log_level = "INFO" # Включает отображение логов самого nextcloud Логи уходят в /dev/stdout контейнера `NONE` отключает логирование
version = 33.0.4
}
}
Outputs usage¶
# Выходные параметры можно использовать как
nubes_nextcloud.baza.state_params["имя_ключа"]
nubes_nextcloud.baza.state_out["имя_ключа"]
nubes_nextcloud.baza.state_params_flat["имя_ключа"]
nubes_nextcloud.baza.state_out_flat["имя_ключа"]
nubes_nextcloud.baza.vault_secrets["имя_ключа"]
nubes_nextcloud.baza.vault_url
nubes_nextcloud.baza.vault_user_path
nubes_nextcloud.baza.vault_fields