Resource nubes_harbor · v2.1.0 · Service ID: 82 · Service Name: Container Registry¶
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.1.0"
}
}
}
provider "nubes" {
api_token = "***"
api_endpoint = "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc"
}
resource "nubes_harbor" "baza" {
resource_name = "my-harbor"
resource_realm = "TODO" # Платформа для развертывания
}
Полный пример (все параметры, включая значения по умолчанию)
terraform {
required_providers {
nubes = {
source = "tf-registry.containerk8s.services.ngcloud.ru/nubes-dev/nubes"
version = "2.1.0"
}
}
}
# Токен доступа api_token к Nubes API — замените на реальный.
provider "nubes" {
api_token = "token_***"
api_endpoint = "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc"
}
resource "nubes_harbor" "baza" {
resource_name = "TODO"
resource_realm = "TODO" # Платформа для развертывания
# Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте
domain = "harbor-1" # Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealm
resource_cpu = 1000 # Квота ядра пода (Указывается в mili). 1000Mili = 1 Ядро
resource_memory = 1024 # Квота памяти пода (Указывается в Megabytes)
resource_instances = 1 # Количество узлов
pv_type = "s3" # Определяет тип хранилища, где будет храниться образ: local - на локальных дисках. Необходимо также будет настроить размер хранилища s3 - будет создан бакет в s3. Необходимо также будет выбрать instanceUid s3
resource_disk = 5 # Необходимо настраивать, когда выбран тип хранилища - **local**
auth_type = "local" # Определяет, какой тип авторизации будет использован после создания инстанса: - local - локальные пользователи - keycloak - авторизация через УЗ от личного кабинета
}
Использование выходных данных¶
# Выходные параметры можно использовать как
nubes_harbor.baza.state_params["имя_ключа"]
nubes_harbor.baza.state_out["имя_ключа"]
nubes_harbor.baza.state_params_flat["имя_ключа"]
nubes_harbor.baza.state_out_flat["имя_ключа"]
nubes_harbor.baza.vault_secrets["имя_ключа"]
nubes_harbor.baza.vault_url
nubes_harbor.baza.vault_user_path
nubes_harbor.baza.vault_fields
Реальные ключи из облака¶
# connectionUrl = nubes_harbor.baza.state_out_flat["connectionUrl"]
# monitoring = nubes_harbor.baza.state_out_flat["monitoring"]
# monitoring.allDashboards = nubes_harbor.baza.state_out_flat["monitoring.allDashboards"]
# monitoring.base = nubes_harbor.baza.state_out_flat["monitoring.base"]
# monitoring.base.url = nubes_harbor.baza.state_out_flat["monitoring.base.url"]
# monitoring.k8sregistry = nubes_harbor.baza.state_out_flat["monitoring.k8sregistry"]
# monitoring.k8sregistry.url = nubes_harbor.baza.state_out_flat["monitoring.k8sregistry.url"]
# monitoring.loki = nubes_harbor.baza.state_out_flat["monitoring.loki"]
# monitoring.loki.url = nubes_harbor.baza.state_out_flat["monitoring.loki.url"]
# adminPass = nubes_harbor.baza.vault_secrets["adminPass"]