Облачная платформаEvolution

cloudru_evolution_artifact_registry_registry (Resource)


Example Usage

resource "cloudru_evolution_artifact_registry_registry" "resource_registry" {
name = "my-registry"
# Варианты значений параметра registry_type:
# DEBIAN, RPM, GENERIC, PYPI, NPM
registry_type = "DOCKER"
retention_policy_is_enabled = true
retention_policy = {
only_untagged = false
action = "DELETE"
constraint = "OLDER_THAN"
value = 30
unit = "d"
on = "LAST_PULLED_AT"
}
is_public = true
# Варианты значений параметра quarantine_mode:
# LOW, MEDIUM, HIGH, CRITICAL
quarantine_mode = "DISABLED"
# Варианты значений параметра tariff:
# PREMIUM
tariff = "PREMIUM"
# Варианты значений параметра registry_mode:
# REGISTRY_MODE_LOCAL, REGISTRY_MODE_REMOTE
registry_mode = "REGISTRY_MODE_LOCAL"
upstream = {
url = "https://ghcr.io/"
login_id = "0000-0000-0000-0000-0000"
password_id = "0000-0000-0000-0000-0000"
metadata_ttl = 4800
artifact_ttl = 10000
mirror = false
soft_delete = false
}
project_id = "0000-0000-0000-0000-0000"
// Позволяет переопределить дефолтный таймаут провайдера для определенного метода. Если нужно указать бесконечный таймаут, то нужно указать например 0s, тогда таймаута не будет.
timeouts {
create = "60m"
update = "30m"
delete = "20m"
}
// Игнорировать изменения таймаутов: это предотвращает лишние обновления ресурса при смене значений таймаутов в конфигурации
// Но следует учитывать, что метод delete в ресурсе читает значение таймаута из стейта и, если его нужно изменить, то этот блок стоит закомментировать
lifecycle {
ignore_changes = [timeouts]
}
}

Schema

Required

  • name (String) Название реестра.

  • project_id (String) Идентификатор проекта (UUID).

Optional

  • is_public (Boolean) Флаг публичности реестра.

  • quarantine_mode (String) Настройки карантина артефактов реестра.

  • registry_mode (String) Режим реестра.

  • registry_type (String) Тип реестра.

  • retention_policy (Attributes) Настройки политики удаления артефактов для реестра. (see below for nested schema)

  • retention_policy_is_enabled (Boolean) Флаг включения политики удаления артефактов для реестра.

  • tariff (String) Тип тарифа для реестра.

  • timeouts (Block, Optional) (see below for nested schema)

  • upstream (Attributes) Параметры настройки кэширующих реестров. (see below for nested schema)

Read-Only

  • created_at (String) Время создания реестра.

  • id (String) Идентификатор реестра (UUID).

  • status (String) Статус реестра.

  • updated_at (String) Время последнего обновления реестра.

Nested Schema for retention_policy

Optional:

  • action (String) Действие для политики удалений.

  • constraint (String) Временные ограничения.

  • on (String) Тип поля, на которое завязывается политика удалений.

  • only_untagged (Boolean) Флаг для учитывания только образов без тэга.

  • unit (String) Тип ограничения времени.

  • value (Number) Значение времени.

Nested Schema for timeouts

Optional:

  • create (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as «30s» or «2h45m». Valid time units are «s» (seconds), «m» (minutes), «h» (hours).

  • delete (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as «30s» or «2h45m». Valid time units are «s» (seconds), «m» (minutes), «h» (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.

  • update (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as «30s» or «2h45m». Valid time units are «s» (seconds), «m» (minutes), «h» (hours).

Nested Schema for upstream

Optional:

  • artifact_ttl (Number) Время хранения артефактов, сек.

  • login_id (String) UUID логина для доступа к кэшируемому адресу из SCM.

  • metadata_ttl (Number) Время хранения метаданных артефактов, сек.

  • mirror (Boolean) Флаг режима зеркалирования.

  • password_id (String) UUID пароля для доступа к кэшируемому адресу из SCM.

  • soft_delete (Boolean) Флаг «мягкого» удаления артефактов.

  • url (String) Адрес, откуда будут браться артефакты.