Поделиться через


Microsoft.KubernetesConfiguration fluxConfigurations

Определение ресурсов Bicep

Тип ресурса fluxConfigurations можно развернуть с помощью операций, предназначенных для следующих целей:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.KubernetesConfiguration/fluxConfigurations, добавьте следующий Bicep в шаблон.

resource symbolicname 'Microsoft.KubernetesConfiguration/fluxConfigurations@2025-04-01' = {
  scope: resourceSymbolicName or scope
  name: 'string'
  properties: {
    azureBlob: {
      accountKey: 'string'
      containerName: 'string'
      localAuthRef: 'string'
      managedIdentity: {
        clientId: 'string'
      }
      sasToken: 'string'
      servicePrincipal: {
        clientCertificate: 'string'
        clientCertificatePassword: 'string'
        clientCertificateSendChain: bool
        clientId: 'string'
        clientSecret: 'string'
        tenantId: 'string'
      }
      syncIntervalInSeconds: int
      timeoutInSeconds: int
      url: 'string'
    }
    bucket: {
      accessKey: 'string'
      bucketName: 'string'
      insecure: bool
      localAuthRef: 'string'
      syncIntervalInSeconds: int
      timeoutInSeconds: int
      url: 'string'
    }
    configurationProtectedSettings: {
      {customized property}: 'string'
    }
    gitRepository: {
      httpsCACert: 'string'
      httpsUser: 'string'
      localAuthRef: 'string'
      provider: 'string'
      repositoryRef: {
        branch: 'string'
        commit: 'string'
        semver: 'string'
        tag: 'string'
      }
      sshKnownHosts: 'string'
      syncIntervalInSeconds: int
      timeoutInSeconds: int
      url: 'string'
    }
    kustomizations: {
      {customized property}: {
        dependsOn: [
          'string'
        ]
        force: bool
        path: 'string'
        postBuild: {
          substitute: {
            {customized property}: 'string'
          }
          substituteFrom: [
            {
              kind: 'string'
              name: 'string'
              optional: bool
            }
          ]
        }
        prune: bool
        retryIntervalInSeconds: int
        syncIntervalInSeconds: int
        timeoutInSeconds: int
        wait: bool
      }
    }
    namespace: 'string'
    ociRepository: {
      insecure: bool
      layerSelector: {
        mediaType: 'string'
        operation: 'string'
      }
      localAuthRef: 'string'
      repositoryRef: {
        digest: 'string'
        semver: 'string'
        tag: 'string'
      }
      serviceAccountName: 'string'
      syncIntervalInSeconds: int
      timeoutInSeconds: int
      tlsConfig: {
        caCertificate: 'string'
        clientCertificate: 'string'
        privateKey: 'string'
      }
      url: 'string'
      useWorkloadIdentity: bool
      verify: {
        matchOidcIdentity: [
          {
            issuer: 'string'
            subject: 'string'
          }
        ]
        provider: 'string'
        verificationConfig: {
          {customized property}: 'string'
        }
      }
    }
    reconciliationWaitDuration: 'string'
    scope: 'string'
    sourceKind: 'string'
    suspend: bool
    waitForReconciliation: bool
  }
}

Значения свойств

Microsoft.KubernetesConfiguration/fluxConfigurations

Имя Описание Ценность
имя имя ресурса. строка (обязательно)
свойства Свойства для создания ресурса конфигурации Flux FluxConfigurationProperties (Свойства FluxConfiguration)
охват Используется при создании ресурса в области, отличной от области развертывания. Задайте для этого свойства символьное имя ресурса, чтобы применить ресурс расширения.

AzureBlobDefinition

Имя Описание Ценность
accountKey Ключ учетной записи (общий ключ) для доступа к учетной записи хранения струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
имяКонтейнера Имя контейнера BLOB-объектов Azure для синхронизации из конечной точки URL-адреса для конфигурации потока. струна
localAuthRef Имя локального секрета в кластере Kubernetes для использования в качестве секрета проверки подлинности, а не секретов управляемой или пользовательской конфигурации. струна
управляемая идентичность Параметры для проверки подлинности с помощью управляемого удостоверения. ManagedIdentityDefinition (УправляемоеОпределение Идентичности)
токен SAS Маркер общего доступа для доступа к контейнеру хранилища струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
servicePrincipal Параметры для проверки подлинности с помощью субъекта-службы. ServicePrincipalDefinition
syncIntervalInSeconds Интервал, с помощью которого необходимо повторно примирить источник BLOB-объектов кластера Azure с удаленным. инт
timeoutInSeconds Максимальное время для попытки примирить источник BLOB-объектов кластера Azure с удаленным. инт
URL-адрес URL-адрес для синхронизации учетной записи хранения BLOB-объектов Azure flux. струна

Определение ведра

Имя Описание Ценность
ключ доступа Ключ доступа с открытым текстом, используемый для безопасного доступа к контейнеру S3 струна
Имя_корзины Имя контейнера для синхронизации из конечной точки URL-адреса для конфигурации flux. струна
небезопасный Укажите, следует ли использовать небезопасное взаимодействие при пульсе данных из контейнера S3. булевая переменная (bool)
localAuthRef Имя локального секрета в кластере Kubernetes для использования в качестве секрета проверки подлинности, а не секретов управляемой или пользовательской конфигурации. струна
syncIntervalInSeconds Интервал, с которым необходимо повторно примирить источник контейнера кластера с удаленным. инт
timeoutInSeconds Максимальное время при попытке примирить источник контейнера кластера с удаленным. инт
URL-адрес URL-адрес для синхронизации контейнера конфигурации flux S3. струна

FluxConfigurationProperties (Свойства FluxConfiguration)

Имя Описание Ценность
azureBlob Параметры для согласования с типом типа источника AzureBlob. AzureBlobDefinition
ведро Параметры для согласования с типом типа источника контейнера. Определение ведра
configurationProtectedSettings Пары "Ключ-значение" защищенных параметров конфигурации для конфигурации FluxConfigurationPropertiesConfigurationProtectedSettings
gitРепозиторий Параметры для согласования с типом типа источника GitRepository. Определение GitRepository
кустомизации Массив kustomizations, используемый для согласования артефакта, извлеченного исходным типом в кластере. FluxConfigurationPropertiesKustomizations
пространство имен Пространство имен, в которое устанавливается эта конфигурация. Не более 253 буквенно-цифровых символов, дефиса и периода. струна
ociРепозиторий Параметры для согласования с типом типа источника OCIRepository. OCIRepositoryDefinition
reconciliationWaitDuration Максимальная длительность ожидания сверки конфигурации flux. Например, PT1H, PT5M, P1D струна
охват Область, в которой будет установлен оператор. "кластер"
Пространство имен
исходный вид Тип источника для извлечения данных конфигурации. AzureBlob
"Контейнер"
«Репозиторий Git»
"OCIRepository"
приостанавливать Должна ли эта конфигурация приостановить сверку своих kustomizations и источников. булевая переменная (bool)
waitForReconciliation Следует ли выполнять развертывание конфигурации flux, чтобы кластер примирился с kustomizations. булевая переменная (bool)

FluxConfigurationPropertiesConfigurationProtectedSettings

Имя Описание Ценность

FluxConfigurationPropertiesKustomizations

Имя Описание Ценность

Определение GitRepository

Имя Описание Ценность
httpsCACert Содержимое центра сертификации HTTPS в кодировке Base64, используемое для доступа к частным репозиториям Git через HTTPS струна
httpsПользователь Имя пользователя HTTPS с открытым текстом, используемое для доступа к частным репозиториям Git по протоколу HTTPS струна
localAuthRef Имя локального секрета в кластере Kubernetes для использования в качестве секрета проверки подлинности, а не секретов управляемой или пользовательской конфигурации. струна
поставщик Имя поставщика, используемого для проверки подлинности. Azure
«Общий»
GitHub
репозиторийRef Исходная ссылка для объекта GitRepository. РепозиторийRefDefinition
sshKnownHosts В кодировке Base64 known_hosts значение, содержащее открытые ключи SSH, необходимые для доступа к частным репозиториям Git через SSH струна
syncIntervalInSeconds Интервал, с помощью которого необходимо повторно примирить источник репозитория кластера с удаленным. инт
timeoutInSeconds Максимальное время для попытки примирить источник репозитория Git кластера с удаленным. инт
URL-адрес URL-адрес для синхронизации репозитория Git конфигурации flux. струна

КустомизацияОпределение

Имя Описание Ценность
Свойство dependsOn Указывает другие kustomizations, от которые зависит эта kustomization. Эта kustomization не будет примириться до тех пор, пока все зависимости не завершили их выверку. строка[]
сила Включение и отключение повторного создания ресурсов Kubernetes в кластере при сбое исправления из-за неизменяемого изменения поля. булевая переменная (bool)
путь Путь в исходной ссылке для согласования в кластере. струна
postBuild Используется для подстановки переменных для этой Kustomization после сборки kustomize. PostBuildDefinition (Определение сборки)
чернослив Включение и отключение сборок мусора объектов Kubernetes, созданных этим kustomization. булевая переменная (bool)
повторная попыткаIntervalInSeconds Интервал, с которым необходимо повторно примирить Kustomization в кластере в случае сбоя при сверке. инт
syncIntervalInSeconds Интервал, с помощью которого необходимо повторно выполнить согласование Kustomization в кластере. инт
timeoutInSeconds Максимальное время для согласования Kustomization в кластере. инт
подождите Включение и отключение проверки работоспособности для всех объектов Kubernetes, созданных этим kustomization. булевая переменная (bool)

Определение LayerSelectorDefinition

Имя Описание Ценность
тип медиа Будет использоваться первый слой, соответствующий указанному типу носителя. струна
Операция Операция, выполняемая на выбранном слое. Значение по умолчанию — "extract", но его можно задать как "copy". "copy"
"extract"

ManagedIdentityDefinition (УправляемоеОпределение Идентичности)

Имя Описание Ценность
clientId Идентификатор клиента для проверки подлинности управляемого удостоверения. струна

MatchOidcIdentityDefinition (Определение идентичности)

Имя Описание Ценность
Издатель Шаблон regex, соответствующий для проверки издателя OIDC. струна
субъект Шаблон регулярных выражений, соответствующий для проверки субъекта удостоверения. струна

OCIRepositoryDefinition

Имя Описание Ценность
небезопасный Укажите, разрешено ли подключение к реестру контейнеров HTTP, отличного от TLS. булевая переменная (bool)
layerSelector Слой, извлекаемый из артефакта OCI. Определение LayerSelectorDefinition
localAuthRef Имя локального секрета в кластере Kubernetes для использования в качестве секрета проверки подлинности, а не секретов управляемой или пользовательской конфигурации. струна
репозиторийRef Исходная ссылка для объекта OCIRepository. OCIRepositoryRefDefinition
serviceAccountName Имя учетной записи службы для проверки подлинности в репозитории OCI. струна
syncIntervalInSeconds Интервал повторного согласования источника репозитория OCI кластера с удаленным. инт
timeoutInSeconds Максимальное время для попытки примирить источник репозитория OCI кластера с удаленным. инт
tlsConfig Параметры для проверки подлинности с помощью конфигурации TLS для репозитория OCI. Определение tlsConfigDefinition
URL-адрес URL-адрес для синхронизации репозитория OCI конфигурации flux. струна
useWorkloadIdentity Указывает, следует ли использовать удостоверение рабочей нагрузки для проверки подлинности в репозитории OCI. булевая переменная (bool)
проверять Проверка подлинности артефакта OCI. VerifyDefinition

OCIRepositoryRefDefinition

Имя Описание Ценность
дайджест Дайджест изображения для извлечения из репозитория OCI значение должно быть в формате sha256:. Это имеет приоритет над semver. струна
Семвер Диапазон semver, используемый для сопоставления с тегами репозитория OCI. Это имеет приоритет над тегом. струна
тег Имя тега образа репозитория OCI для извлечения. По умолчанию используется значение "latest". струна

PostBuildDefinition (Определение сборки)

Имя Описание Ценность
заменитель Пары "ключ-значение", включающее переменные, которые должны быть заменены в этой kustomization. PostBuildDefinitionSubstitute
заменитьFrom Массив ConfigMaps/Secret, из которого переменные заменяются этой Kustomization. ЗаменитьFromDefinition[]

PostBuildDefinitionSubstitute

Имя Описание Ценность

РепозиторийRefDefinition

Имя Описание Ценность
ветвь Имя ветви репозитория Git для получения. струна
совершать Фиксация SHA для получения. Это значение должно сочетаться с допустимым именем ветви. Это имеет приоритет над semver. струна
Семвер Диапазон semver, используемый для сопоставления с тегами репозитория Git. Это имеет приоритет над тегом. струна
тег Имя тега репозитория Git для получения. Это имеет приоритет над ветвью. струна

ServicePrincipalDefinition

Имя Описание Ценность
клиентский сертификат Сертификат в кодировке Base64, используемый для проверки подлинности субъекта-службы струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
clientCertificatePassword Пароль сертификата, используемого для проверки подлинности субъекта-службы струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
clientCertificateSendChain Указывает, следует ли включать заголовок x5c в утверждения клиента при получении маркера для включения проверки подлинности субъекта или издателя для сертификата клиента. булевая переменная (bool)
clientId Идентификатор клиента для проверки подлинности субъекта-службы. струна
клиентский секрет Секрет клиента для проверки подлинности субъекта-службы струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
идентификатор арендатора Идентификатор клиента для проверки подлинности субъекта-службы струна

ЗаменаFromDefinition

Имя Описание Ценность
добрый Определите, является ли он ConfigMap или Секретом, который содержит переменные, которые будут использоваться в подстановке. струна
имя Имя ConfigMap/Secret, в котором хранятся переменные, используемые в подстановке. струна
необязательно Установите значение True, чтобы продолжить без ConfigMap/Secret, если он отсутствует. булевая переменная (bool)

Определение tlsConfigDefinition

Имя Описание Ценность
caСертификат Сертификат ЦС в кодировке Base64, используемый для проверки сервера. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
клиентский сертификат Сертификат в кодировке Base64, используемый для проверки подлинности клиента с помощью репозитория OCI. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
закрытый ключ Закрытый ключ в кодировке Base64, используемый для проверки подлинности клиента с помощью репозитория OCI. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.

VerifyDefinition

Имя Описание Ценность
matchOidcIdentity Массив, определяющий критерии сопоставления удостоверения при проверке артефакта OCI. MatchOidcIdentityDefinition[]
поставщик Имя поставщика проверки. струна
authenticationConfig Объект, содержащий доверенные открытые ключи доверенных авторов. VerifyDefinitionVerificationConfig

VerifyDefinitionVerificationConfig

Имя Описание Ценность

Примеры использования

Примеры Bicep

Простой пример развертывания Kubernetes Flux Configuration.

param resourceName string = 'acctest0001'
param location string = 'westeurope'

resource extension 'Microsoft.KubernetesConfiguration/extensions@2022-11-01' = {
  scope: managedCluster
  name: resourceName
  properties: {
    autoUpgradeMinorVersion: true
    extensionType: 'microsoft.flux'
  }
}

resource fluxConfiguration 'Microsoft.KubernetesConfiguration/fluxConfigurations@2022-03-01' = {
  scope: managedCluster
  name: resourceName
  properties: {
    gitRepository: {
      repositoryRef: {
        branch: 'branch'
      }
      syncIntervalInSeconds: 120
      timeoutInSeconds: 120
      url: 'https://github.com/Azure/arc-k8s-demo'
    }
    kustomizations: {
      applications: {
        dependsOn: [
          'shared'
        ]
        force: false
        path: 'cluster-config/applications'
        prune: false
        retryIntervalInSeconds: 60
        syncIntervalInSeconds: 60
        timeoutInSeconds: 600
      }
      shared: {
        force: false
        path: 'cluster-config/shared'
        prune: false
        retryIntervalInSeconds: 60
        syncIntervalInSeconds: 60
        timeoutInSeconds: 600
      }
    }
    namespace: 'flux-system'
    scope: 'cluster'
    sourceKind: 'GitRepository'
    suspend: false
  }
  dependsOn: [
    extension
  ]
}

resource managedCluster 'Microsoft.ContainerService/managedClusters@2023-04-02-preview' = {
  name: resourceName
  location: location
  properties: {
    agentPoolProfiles: [
      {
        count: 1
        mode: 'System'
        name: 'default'
        vmSize: 'Standard_DS2_v2'
      }
    ]
    dnsPrefix: 'acctest0001'
  }
}

Проверенные модули Azure

Следующие проверенные модули Azure можно использовать для развертывания этого типа ресурсов.

Модуль Описание
конфигурации Flux конфигурации Kubernetes Модуль ресурсов AVM для конфигурации Flux конфигурации Kubernetes

Определение ресурса шаблона ARM

Тип ресурса fluxConfigurations можно развернуть с помощью операций, предназначенных для следующих целей:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.KubernetesConfiguration/fluxConfigurations, добавьте следующий код JSON в шаблон.

{
  "type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
  "apiVersion": "2025-04-01",
  "name": "string",
  "properties": {
    "azureBlob": {
      "accountKey": "string",
      "containerName": "string",
      "localAuthRef": "string",
      "managedIdentity": {
        "clientId": "string"
      },
      "sasToken": "string",
      "servicePrincipal": {
        "clientCertificate": "string",
        "clientCertificatePassword": "string",
        "clientCertificateSendChain": "bool",
        "clientId": "string",
        "clientSecret": "string",
        "tenantId": "string"
      },
      "syncIntervalInSeconds": "int",
      "timeoutInSeconds": "int",
      "url": "string"
    },
    "bucket": {
      "accessKey": "string",
      "bucketName": "string",
      "insecure": "bool",
      "localAuthRef": "string",
      "syncIntervalInSeconds": "int",
      "timeoutInSeconds": "int",
      "url": "string"
    },
    "configurationProtectedSettings": {
      "{customized property}": "string"
    },
    "gitRepository": {
      "httpsCACert": "string",
      "httpsUser": "string",
      "localAuthRef": "string",
      "provider": "string",
      "repositoryRef": {
        "branch": "string",
        "commit": "string",
        "semver": "string",
        "tag": "string"
      },
      "sshKnownHosts": "string",
      "syncIntervalInSeconds": "int",
      "timeoutInSeconds": "int",
      "url": "string"
    },
    "kustomizations": {
      "{customized property}": {
        "dependsOn": [ "string" ],
        "force": "bool",
        "path": "string",
        "postBuild": {
          "substitute": {
            "{customized property}": "string"
          },
          "substituteFrom": [
            {
              "kind": "string",
              "name": "string",
              "optional": "bool"
            }
          ]
        },
        "prune": "bool",
        "retryIntervalInSeconds": "int",
        "syncIntervalInSeconds": "int",
        "timeoutInSeconds": "int",
        "wait": "bool"
      }
    },
    "namespace": "string",
    "ociRepository": {
      "insecure": "bool",
      "layerSelector": {
        "mediaType": "string",
        "operation": "string"
      },
      "localAuthRef": "string",
      "repositoryRef": {
        "digest": "string",
        "semver": "string",
        "tag": "string"
      },
      "serviceAccountName": "string",
      "syncIntervalInSeconds": "int",
      "timeoutInSeconds": "int",
      "tlsConfig": {
        "caCertificate": "string",
        "clientCertificate": "string",
        "privateKey": "string"
      },
      "url": "string",
      "useWorkloadIdentity": "bool",
      "verify": {
        "matchOidcIdentity": [
          {
            "issuer": "string",
            "subject": "string"
          }
        ],
        "provider": "string",
        "verificationConfig": {
          "{customized property}": "string"
        }
      }
    },
    "reconciliationWaitDuration": "string",
    "scope": "string",
    "sourceKind": "string",
    "suspend": "bool",
    "waitForReconciliation": "bool"
  }
}

Значения свойств

Microsoft.KubernetesConfiguration/fluxConfigurations

Имя Описание Ценность
apiVersion Версия API '2025-04-01'
имя имя ресурса. строка (обязательно)
свойства Свойства для создания ресурса конфигурации Flux FluxConfigurationProperties (Свойства FluxConfiguration)
тип Тип ресурса "Microsoft.KubernetesConfiguration/fluxConfigurations"

AzureBlobDefinition

Имя Описание Ценность
accountKey Ключ учетной записи (общий ключ) для доступа к учетной записи хранения струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
имяКонтейнера Имя контейнера BLOB-объектов Azure для синхронизации из конечной точки URL-адреса для конфигурации потока. струна
localAuthRef Имя локального секрета в кластере Kubernetes для использования в качестве секрета проверки подлинности, а не секретов управляемой или пользовательской конфигурации. струна
управляемая идентичность Параметры для проверки подлинности с помощью управляемого удостоверения. ManagedIdentityDefinition (УправляемоеОпределение Идентичности)
токен SAS Маркер общего доступа для доступа к контейнеру хранилища струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
servicePrincipal Параметры для проверки подлинности с помощью субъекта-службы. ServicePrincipalDefinition
syncIntervalInSeconds Интервал, с помощью которого необходимо повторно примирить источник BLOB-объектов кластера Azure с удаленным. инт
timeoutInSeconds Максимальное время для попытки примирить источник BLOB-объектов кластера Azure с удаленным. инт
URL-адрес URL-адрес для синхронизации учетной записи хранения BLOB-объектов Azure flux. струна

Определение ведра

Имя Описание Ценность
ключ доступа Ключ доступа с открытым текстом, используемый для безопасного доступа к контейнеру S3 струна
Имя_корзины Имя контейнера для синхронизации из конечной точки URL-адреса для конфигурации flux. струна
небезопасный Укажите, следует ли использовать небезопасное взаимодействие при пульсе данных из контейнера S3. булевая переменная (bool)
localAuthRef Имя локального секрета в кластере Kubernetes для использования в качестве секрета проверки подлинности, а не секретов управляемой или пользовательской конфигурации. струна
syncIntervalInSeconds Интервал, с которым необходимо повторно примирить источник контейнера кластера с удаленным. инт
timeoutInSeconds Максимальное время при попытке примирить источник контейнера кластера с удаленным. инт
URL-адрес URL-адрес для синхронизации контейнера конфигурации flux S3. струна

FluxConfigurationProperties (Свойства FluxConfiguration)

Имя Описание Ценность
azureBlob Параметры для согласования с типом типа источника AzureBlob. AzureBlobDefinition
ведро Параметры для согласования с типом типа источника контейнера. Определение ведра
configurationProtectedSettings Пары "Ключ-значение" защищенных параметров конфигурации для конфигурации FluxConfigurationPropertiesConfigurationProtectedSettings
gitРепозиторий Параметры для согласования с типом типа источника GitRepository. Определение GitRepository
кустомизации Массив kustomizations, используемый для согласования артефакта, извлеченного исходным типом в кластере. FluxConfigurationPropertiesKustomizations
пространство имен Пространство имен, в которое устанавливается эта конфигурация. Не более 253 буквенно-цифровых символов, дефиса и периода. струна
ociРепозиторий Параметры для согласования с типом типа источника OCIRepository. OCIRepositoryDefinition
reconciliationWaitDuration Максимальная длительность ожидания сверки конфигурации flux. Например, PT1H, PT5M, P1D струна
охват Область, в которой будет установлен оператор. "кластер"
Пространство имен
исходный вид Тип источника для извлечения данных конфигурации. AzureBlob
"Контейнер"
«Репозиторий Git»
"OCIRepository"
приостанавливать Должна ли эта конфигурация приостановить сверку своих kustomizations и источников. булевая переменная (bool)
waitForReconciliation Следует ли выполнять развертывание конфигурации flux, чтобы кластер примирился с kustomizations. булевая переменная (bool)

FluxConfigurationPropertiesConfigurationProtectedSettings

Имя Описание Ценность

FluxConfigurationPropertiesKustomizations

Имя Описание Ценность

Определение GitRepository

Имя Описание Ценность
httpsCACert Содержимое центра сертификации HTTPS в кодировке Base64, используемое для доступа к частным репозиториям Git через HTTPS струна
httpsПользователь Имя пользователя HTTPS с открытым текстом, используемое для доступа к частным репозиториям Git по протоколу HTTPS струна
localAuthRef Имя локального секрета в кластере Kubernetes для использования в качестве секрета проверки подлинности, а не секретов управляемой или пользовательской конфигурации. струна
поставщик Имя поставщика, используемого для проверки подлинности. Azure
«Общий»
GitHub
репозиторийRef Исходная ссылка для объекта GitRepository. РепозиторийRefDefinition
sshKnownHosts В кодировке Base64 known_hosts значение, содержащее открытые ключи SSH, необходимые для доступа к частным репозиториям Git через SSH струна
syncIntervalInSeconds Интервал, с помощью которого необходимо повторно примирить источник репозитория кластера с удаленным. инт
timeoutInSeconds Максимальное время для попытки примирить источник репозитория Git кластера с удаленным. инт
URL-адрес URL-адрес для синхронизации репозитория Git конфигурации flux. струна

КустомизацияОпределение

Имя Описание Ценность
Свойство dependsOn Указывает другие kustomizations, от которые зависит эта kustomization. Эта kustomization не будет примириться до тех пор, пока все зависимости не завершили их выверку. строка[]
сила Включение и отключение повторного создания ресурсов Kubernetes в кластере при сбое исправления из-за неизменяемого изменения поля. булевая переменная (bool)
путь Путь в исходной ссылке для согласования в кластере. струна
postBuild Используется для подстановки переменных для этой Kustomization после сборки kustomize. PostBuildDefinition (Определение сборки)
чернослив Включение и отключение сборок мусора объектов Kubernetes, созданных этим kustomization. булевая переменная (bool)
повторная попыткаIntervalInSeconds Интервал, с которым необходимо повторно примирить Kustomization в кластере в случае сбоя при сверке. инт
syncIntervalInSeconds Интервал, с помощью которого необходимо повторно выполнить согласование Kustomization в кластере. инт
timeoutInSeconds Максимальное время для согласования Kustomization в кластере. инт
подождите Включение и отключение проверки работоспособности для всех объектов Kubernetes, созданных этим kustomization. булевая переменная (bool)

Определение LayerSelectorDefinition

Имя Описание Ценность
тип медиа Будет использоваться первый слой, соответствующий указанному типу носителя. струна
Операция Операция, выполняемая на выбранном слое. Значение по умолчанию — "extract", но его можно задать как "copy". "copy"
"extract"

ManagedIdentityDefinition (УправляемоеОпределение Идентичности)

Имя Описание Ценность
clientId Идентификатор клиента для проверки подлинности управляемого удостоверения. струна

MatchOidcIdentityDefinition (Определение идентичности)

Имя Описание Ценность
Издатель Шаблон regex, соответствующий для проверки издателя OIDC. струна
субъект Шаблон регулярных выражений, соответствующий для проверки субъекта удостоверения. струна

OCIRepositoryDefinition

Имя Описание Ценность
небезопасный Укажите, разрешено ли подключение к реестру контейнеров HTTP, отличного от TLS. булевая переменная (bool)
layerSelector Слой, извлекаемый из артефакта OCI. Определение LayerSelectorDefinition
localAuthRef Имя локального секрета в кластере Kubernetes для использования в качестве секрета проверки подлинности, а не секретов управляемой или пользовательской конфигурации. струна
репозиторийRef Исходная ссылка для объекта OCIRepository. OCIRepositoryRefDefinition
serviceAccountName Имя учетной записи службы для проверки подлинности в репозитории OCI. струна
syncIntervalInSeconds Интервал повторного согласования источника репозитория OCI кластера с удаленным. инт
timeoutInSeconds Максимальное время для попытки примирить источник репозитория OCI кластера с удаленным. инт
tlsConfig Параметры для проверки подлинности с помощью конфигурации TLS для репозитория OCI. Определение tlsConfigDefinition
URL-адрес URL-адрес для синхронизации репозитория OCI конфигурации flux. струна
useWorkloadIdentity Указывает, следует ли использовать удостоверение рабочей нагрузки для проверки подлинности в репозитории OCI. булевая переменная (bool)
проверять Проверка подлинности артефакта OCI. VerifyDefinition

OCIRepositoryRefDefinition

Имя Описание Ценность
дайджест Дайджест изображения для извлечения из репозитория OCI значение должно быть в формате sha256:. Это имеет приоритет над semver. струна
Семвер Диапазон semver, используемый для сопоставления с тегами репозитория OCI. Это имеет приоритет над тегом. струна
тег Имя тега образа репозитория OCI для извлечения. По умолчанию используется значение "latest". струна

PostBuildDefinition (Определение сборки)

Имя Описание Ценность
заменитель Пары "ключ-значение", включающее переменные, которые должны быть заменены в этой kustomization. PostBuildDefinitionSubstitute
заменитьFrom Массив ConfigMaps/Secret, из которого переменные заменяются этой Kustomization. ЗаменитьFromDefinition[]

PostBuildDefinitionSubstitute

Имя Описание Ценность

РепозиторийRefDefinition

Имя Описание Ценность
ветвь Имя ветви репозитория Git для получения. струна
совершать Фиксация SHA для получения. Это значение должно сочетаться с допустимым именем ветви. Это имеет приоритет над semver. струна
Семвер Диапазон semver, используемый для сопоставления с тегами репозитория Git. Это имеет приоритет над тегом. струна
тег Имя тега репозитория Git для получения. Это имеет приоритет над ветвью. струна

ServicePrincipalDefinition

Имя Описание Ценность
клиентский сертификат Сертификат в кодировке Base64, используемый для проверки подлинности субъекта-службы струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
clientCertificatePassword Пароль сертификата, используемого для проверки подлинности субъекта-службы струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
clientCertificateSendChain Указывает, следует ли включать заголовок x5c в утверждения клиента при получении маркера для включения проверки подлинности субъекта или издателя для сертификата клиента. булевая переменная (bool)
clientId Идентификатор клиента для проверки подлинности субъекта-службы. струна
клиентский секрет Секрет клиента для проверки подлинности субъекта-службы струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
идентификатор арендатора Идентификатор клиента для проверки подлинности субъекта-службы струна

ЗаменаFromDefinition

Имя Описание Ценность
добрый Определите, является ли он ConfigMap или Секретом, который содержит переменные, которые будут использоваться в подстановке. струна
имя Имя ConfigMap/Secret, в котором хранятся переменные, используемые в подстановке. струна
необязательно Установите значение True, чтобы продолжить без ConfigMap/Secret, если он отсутствует. булевая переменная (bool)

Определение tlsConfigDefinition

Имя Описание Ценность
caСертификат Сертификат ЦС в кодировке Base64, используемый для проверки сервера. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
клиентский сертификат Сертификат в кодировке Base64, используемый для проверки подлинности клиента с помощью репозитория OCI. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
закрытый ключ Закрытый ключ в кодировке Base64, используемый для проверки подлинности клиента с помощью репозитория OCI. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.

VerifyDefinition

Имя Описание Ценность
matchOidcIdentity Массив, определяющий критерии сопоставления удостоверения при проверке артефакта OCI. MatchOidcIdentityDefinition[]
поставщик Имя поставщика проверки. струна
authenticationConfig Объект, содержащий доверенные открытые ключи доверенных авторов. VerifyDefinitionVerificationConfig

VerifyDefinitionVerificationConfig

Имя Описание Ценность

Примеры использования

Определение ресурса Terraform (поставщик AzAPI)

Тип ресурса fluxConfigurations можно развернуть с помощью операций, предназначенных для следующих целей:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.KubernetesConfiguration/fluxConfigurations, добавьте следующий объект Terraform в шаблон.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.KubernetesConfiguration/fluxConfigurations@2025-04-01"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      azureBlob = {
        accountKey = "string"
        containerName = "string"
        localAuthRef = "string"
        managedIdentity = {
          clientId = "string"
        }
        sasToken = "string"
        servicePrincipal = {
          clientCertificate = "string"
          clientCertificatePassword = "string"
          clientCertificateSendChain = bool
          clientId = "string"
          clientSecret = "string"
          tenantId = "string"
        }
        syncIntervalInSeconds = int
        timeoutInSeconds = int
        url = "string"
      }
      bucket = {
        accessKey = "string"
        bucketName = "string"
        insecure = bool
        localAuthRef = "string"
        syncIntervalInSeconds = int
        timeoutInSeconds = int
        url = "string"
      }
      configurationProtectedSettings = {
        {customized property} = "string"
      }
      gitRepository = {
        httpsCACert = "string"
        httpsUser = "string"
        localAuthRef = "string"
        provider = "string"
        repositoryRef = {
          branch = "string"
          commit = "string"
          semver = "string"
          tag = "string"
        }
        sshKnownHosts = "string"
        syncIntervalInSeconds = int
        timeoutInSeconds = int
        url = "string"
      }
      kustomizations = {
        {customized property} = {
          dependsOn = [
            "string"
          ]
          force = bool
          path = "string"
          postBuild = {
            substitute = {
              {customized property} = "string"
            }
            substituteFrom = [
              {
                kind = "string"
                name = "string"
                optional = bool
              }
            ]
          }
          prune = bool
          retryIntervalInSeconds = int
          syncIntervalInSeconds = int
          timeoutInSeconds = int
          wait = bool
        }
      }
      namespace = "string"
      ociRepository = {
        insecure = bool
        layerSelector = {
          mediaType = "string"
          operation = "string"
        }
        localAuthRef = "string"
        repositoryRef = {
          digest = "string"
          semver = "string"
          tag = "string"
        }
        serviceAccountName = "string"
        syncIntervalInSeconds = int
        timeoutInSeconds = int
        tlsConfig = {
          caCertificate = "string"
          clientCertificate = "string"
          privateKey = "string"
        }
        url = "string"
        useWorkloadIdentity = bool
        verify = {
          matchOidcIdentity = [
            {
              issuer = "string"
              subject = "string"
            }
          ]
          provider = "string"
          verificationConfig = {
            {customized property} = "string"
          }
        }
      }
      reconciliationWaitDuration = "string"
      scope = "string"
      sourceKind = "string"
      suspend = bool
      waitForReconciliation = bool
    }
  }
}

Значения свойств

Microsoft.KubernetesConfiguration/fluxConfigurations

Имя Описание Ценность
имя имя ресурса. строка (обязательно)
идентификатор_родителя Идентификатор ресурса для применения этого ресурса расширения. строка (обязательно)
свойства Свойства для создания ресурса конфигурации Flux FluxConfigurationProperties (Свойства FluxConfiguration)
тип Тип ресурса "Microsoft.KubernetesConfiguration/fluxConfigurations@2025-04-01"

AzureBlobDefinition

Имя Описание Ценность
accountKey Ключ учетной записи (общий ключ) для доступа к учетной записи хранения струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
имяКонтейнера Имя контейнера BLOB-объектов Azure для синхронизации из конечной точки URL-адреса для конфигурации потока. струна
localAuthRef Имя локального секрета в кластере Kubernetes для использования в качестве секрета проверки подлинности, а не секретов управляемой или пользовательской конфигурации. струна
управляемая идентичность Параметры для проверки подлинности с помощью управляемого удостоверения. ManagedIdentityDefinition (УправляемоеОпределение Идентичности)
токен SAS Маркер общего доступа для доступа к контейнеру хранилища струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
servicePrincipal Параметры для проверки подлинности с помощью субъекта-службы. ServicePrincipalDefinition
syncIntervalInSeconds Интервал, с помощью которого необходимо повторно примирить источник BLOB-объектов кластера Azure с удаленным. инт
timeoutInSeconds Максимальное время для попытки примирить источник BLOB-объектов кластера Azure с удаленным. инт
URL-адрес URL-адрес для синхронизации учетной записи хранения BLOB-объектов Azure flux. струна

Определение ведра

Имя Описание Ценность
ключ доступа Ключ доступа с открытым текстом, используемый для безопасного доступа к контейнеру S3 струна
Имя_корзины Имя контейнера для синхронизации из конечной точки URL-адреса для конфигурации flux. струна
небезопасный Укажите, следует ли использовать небезопасное взаимодействие при пульсе данных из контейнера S3. булевая переменная (bool)
localAuthRef Имя локального секрета в кластере Kubernetes для использования в качестве секрета проверки подлинности, а не секретов управляемой или пользовательской конфигурации. струна
syncIntervalInSeconds Интервал, с которым необходимо повторно примирить источник контейнера кластера с удаленным. инт
timeoutInSeconds Максимальное время при попытке примирить источник контейнера кластера с удаленным. инт
URL-адрес URL-адрес для синхронизации контейнера конфигурации flux S3. струна

FluxConfigurationProperties (Свойства FluxConfiguration)

Имя Описание Ценность
azureBlob Параметры для согласования с типом типа источника AzureBlob. AzureBlobDefinition
ведро Параметры для согласования с типом типа источника контейнера. Определение ведра
configurationProtectedSettings Пары "Ключ-значение" защищенных параметров конфигурации для конфигурации FluxConfigurationPropertiesConfigurationProtectedSettings
gitРепозиторий Параметры для согласования с типом типа источника GitRepository. Определение GitRepository
кустомизации Массив kustomizations, используемый для согласования артефакта, извлеченного исходным типом в кластере. FluxConfigurationPropertiesKustomizations
пространство имен Пространство имен, в которое устанавливается эта конфигурация. Не более 253 буквенно-цифровых символов, дефиса и периода. струна
ociРепозиторий Параметры для согласования с типом типа источника OCIRepository. OCIRepositoryDefinition
reconciliationWaitDuration Максимальная длительность ожидания сверки конфигурации flux. Например, PT1H, PT5M, P1D струна
охват Область, в которой будет установлен оператор. "кластер"
Пространство имен
исходный вид Тип источника для извлечения данных конфигурации. AzureBlob
"Контейнер"
«Репозиторий Git»
"OCIRepository"
приостанавливать Должна ли эта конфигурация приостановить сверку своих kustomizations и источников. булевая переменная (bool)
waitForReconciliation Следует ли выполнять развертывание конфигурации flux, чтобы кластер примирился с kustomizations. булевая переменная (bool)

FluxConfigurationPropertiesConfigurationProtectedSettings

Имя Описание Ценность

FluxConfigurationPropertiesKustomizations

Имя Описание Ценность

Определение GitRepository

Имя Описание Ценность
httpsCACert Содержимое центра сертификации HTTPS в кодировке Base64, используемое для доступа к частным репозиториям Git через HTTPS струна
httpsПользователь Имя пользователя HTTPS с открытым текстом, используемое для доступа к частным репозиториям Git по протоколу HTTPS струна
localAuthRef Имя локального секрета в кластере Kubernetes для использования в качестве секрета проверки подлинности, а не секретов управляемой или пользовательской конфигурации. струна
поставщик Имя поставщика, используемого для проверки подлинности. Azure
«Общий»
GitHub
репозиторийRef Исходная ссылка для объекта GitRepository. РепозиторийRefDefinition
sshKnownHosts В кодировке Base64 known_hosts значение, содержащее открытые ключи SSH, необходимые для доступа к частным репозиториям Git через SSH струна
syncIntervalInSeconds Интервал, с помощью которого необходимо повторно примирить источник репозитория кластера с удаленным. инт
timeoutInSeconds Максимальное время для попытки примирить источник репозитория Git кластера с удаленным. инт
URL-адрес URL-адрес для синхронизации репозитория Git конфигурации flux. струна

КустомизацияОпределение

Имя Описание Ценность
Свойство dependsOn Указывает другие kustomizations, от которые зависит эта kustomization. Эта kustomization не будет примириться до тех пор, пока все зависимости не завершили их выверку. строка[]
сила Включение и отключение повторного создания ресурсов Kubernetes в кластере при сбое исправления из-за неизменяемого изменения поля. булевая переменная (bool)
путь Путь в исходной ссылке для согласования в кластере. струна
postBuild Используется для подстановки переменных для этой Kustomization после сборки kustomize. PostBuildDefinition (Определение сборки)
чернослив Включение и отключение сборок мусора объектов Kubernetes, созданных этим kustomization. булевая переменная (bool)
повторная попыткаIntervalInSeconds Интервал, с которым необходимо повторно примирить Kustomization в кластере в случае сбоя при сверке. инт
syncIntervalInSeconds Интервал, с помощью которого необходимо повторно выполнить согласование Kustomization в кластере. инт
timeoutInSeconds Максимальное время для согласования Kustomization в кластере. инт
подождите Включение и отключение проверки работоспособности для всех объектов Kubernetes, созданных этим kustomization. булевая переменная (bool)

Определение LayerSelectorDefinition

Имя Описание Ценность
тип медиа Будет использоваться первый слой, соответствующий указанному типу носителя. струна
Операция Операция, выполняемая на выбранном слое. Значение по умолчанию — "extract", но его можно задать как "copy". "copy"
"extract"

ManagedIdentityDefinition (УправляемоеОпределение Идентичности)

Имя Описание Ценность
clientId Идентификатор клиента для проверки подлинности управляемого удостоверения. струна

MatchOidcIdentityDefinition (Определение идентичности)

Имя Описание Ценность
Издатель Шаблон regex, соответствующий для проверки издателя OIDC. струна
субъект Шаблон регулярных выражений, соответствующий для проверки субъекта удостоверения. струна

OCIRepositoryDefinition

Имя Описание Ценность
небезопасный Укажите, разрешено ли подключение к реестру контейнеров HTTP, отличного от TLS. булевая переменная (bool)
layerSelector Слой, извлекаемый из артефакта OCI. Определение LayerSelectorDefinition
localAuthRef Имя локального секрета в кластере Kubernetes для использования в качестве секрета проверки подлинности, а не секретов управляемой или пользовательской конфигурации. струна
репозиторийRef Исходная ссылка для объекта OCIRepository. OCIRepositoryRefDefinition
serviceAccountName Имя учетной записи службы для проверки подлинности в репозитории OCI. струна
syncIntervalInSeconds Интервал повторного согласования источника репозитория OCI кластера с удаленным. инт
timeoutInSeconds Максимальное время для попытки примирить источник репозитория OCI кластера с удаленным. инт
tlsConfig Параметры для проверки подлинности с помощью конфигурации TLS для репозитория OCI. Определение tlsConfigDefinition
URL-адрес URL-адрес для синхронизации репозитория OCI конфигурации flux. струна
useWorkloadIdentity Указывает, следует ли использовать удостоверение рабочей нагрузки для проверки подлинности в репозитории OCI. булевая переменная (bool)
проверять Проверка подлинности артефакта OCI. VerifyDefinition

OCIRepositoryRefDefinition

Имя Описание Ценность
дайджест Дайджест изображения для извлечения из репозитория OCI значение должно быть в формате sha256:. Это имеет приоритет над semver. струна
Семвер Диапазон semver, используемый для сопоставления с тегами репозитория OCI. Это имеет приоритет над тегом. струна
тег Имя тега образа репозитория OCI для извлечения. По умолчанию используется значение "latest". струна

PostBuildDefinition (Определение сборки)

Имя Описание Ценность
заменитель Пары "ключ-значение", включающее переменные, которые должны быть заменены в этой kustomization. PostBuildDefinitionSubstitute
заменитьFrom Массив ConfigMaps/Secret, из которого переменные заменяются этой Kustomization. ЗаменитьFromDefinition[]

PostBuildDefinitionSubstitute

Имя Описание Ценность

РепозиторийRefDefinition

Имя Описание Ценность
ветвь Имя ветви репозитория Git для получения. струна
совершать Фиксация SHA для получения. Это значение должно сочетаться с допустимым именем ветви. Это имеет приоритет над semver. струна
Семвер Диапазон semver, используемый для сопоставления с тегами репозитория Git. Это имеет приоритет над тегом. струна
тег Имя тега репозитория Git для получения. Это имеет приоритет над ветвью. струна

ServicePrincipalDefinition

Имя Описание Ценность
клиентский сертификат Сертификат в кодировке Base64, используемый для проверки подлинности субъекта-службы струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
clientCertificatePassword Пароль сертификата, используемого для проверки подлинности субъекта-службы струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
clientCertificateSendChain Указывает, следует ли включать заголовок x5c в утверждения клиента при получении маркера для включения проверки подлинности субъекта или издателя для сертификата клиента. булевая переменная (bool)
clientId Идентификатор клиента для проверки подлинности субъекта-службы. струна
клиентский секрет Секрет клиента для проверки подлинности субъекта-службы струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
идентификатор арендатора Идентификатор клиента для проверки подлинности субъекта-службы струна

ЗаменаFromDefinition

Имя Описание Ценность
добрый Определите, является ли он ConfigMap или Секретом, который содержит переменные, которые будут использоваться в подстановке. струна
имя Имя ConfigMap/Secret, в котором хранятся переменные, используемые в подстановке. струна
необязательно Установите значение True, чтобы продолжить без ConfigMap/Secret, если он отсутствует. булевая переменная (bool)

Определение tlsConfigDefinition

Имя Описание Ценность
caСертификат Сертификат ЦС в кодировке Base64, используемый для проверки сервера. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
клиентский сертификат Сертификат в кодировке Base64, используемый для проверки подлинности клиента с помощью репозитория OCI. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.
закрытый ключ Закрытый ключ в кодировке Base64, используемый для проверки подлинности клиента с помощью репозитория OCI. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.

VerifyDefinition

Имя Описание Ценность
matchOidcIdentity Массив, определяющий критерии сопоставления удостоверения при проверке артефакта OCI. MatchOidcIdentityDefinition[]
поставщик Имя поставщика проверки. струна
authenticationConfig Объект, содержащий доверенные открытые ключи доверенных авторов. VerifyDefinitionVerificationConfig

VerifyDefinitionVerificationConfig

Имя Описание Ценность

Примеры использования

Примеры Terraform

Простой пример развертывания Kubernetes Flux Configuration.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "managedCluster" {
  type      = "Microsoft.ContainerService/managedClusters@2023-04-02-preview"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  identity {
    type         = "SystemAssigned"
    identity_ids = []
  }
  body = {
    properties = {
      agentPoolProfiles = [
        {
          count  = 1
          mode   = "System"
          name   = "default"
          vmSize = "Standard_DS2_v2"
        },
      ]
      dnsPrefix = var.resource_name
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "extension" {
  type      = "Microsoft.KubernetesConfiguration/extensions@2022-11-01"
  parent_id = azapi_resource.managedCluster.id
  name      = var.resource_name
  body = {
    properties = {
      autoUpgradeMinorVersion = true
      extensionType           = "microsoft.flux"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "fluxConfiguration" {
  type      = "Microsoft.KubernetesConfiguration/fluxConfigurations@2022-03-01"
  name      = var.resource_name
  parent_id = azapi_resource.managedCluster.id

  body = {
    properties = {
      scope      = "cluster"
      namespace  = "flux-system"
      sourceKind = "GitRepository"
      suspend    = false
      gitRepository = {
        url                   = "https://github.com/Azure/arc-k8s-demo"
        timeoutInSeconds      = 120
        syncIntervalInSeconds = 120
        repositoryRef = {
          branch = "branch"
        }
      }
      kustomizations = {
        shared = {
          path                   = "cluster-config/shared"
          timeoutInSeconds       = 600
          syncIntervalInSeconds  = 60
          retryIntervalInSeconds = 60
          prune                  = false
          force                  = false
        }
        applications = {
          path                   = "cluster-config/applications"
          dependsOn              = ["shared"]
          timeoutInSeconds       = 600
          syncIntervalInSeconds  = 60
          retryIntervalInSeconds = 60
          prune                  = false
          force                  = false
        }
      }
    }
  }

  depends_on = [
    azapi_resource.extension
  ]
}