Microsoft.KubernetesConfiguration fluxConfigurations

Bicep resource definition

The fluxConfigurations resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.KubernetesConfiguration/fluxConfigurations resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.KubernetesConfiguration/fluxConfigurations@2024-04-01-preview' = {
  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'
      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
  }
}

Property values

AzureBlobDefinition

Name Description Value
accountKey The account key (shared key) to access the storage account string

Constraints:
Sensitive value. Pass in as a secure parameter.
containerName The Azure Blob container name to sync from the url endpoint for the flux configuration. string
localAuthRef Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. string
managedIdentity Parameters to authenticate using a Managed Identity. ManagedIdentityDefinition
sasToken The Shared Access token to access the storage container string

Constraints:
Sensitive value. Pass in as a secure parameter.
servicePrincipal Parameters to authenticate using Service Principal. ServicePrincipalDefinition
syncIntervalInSeconds The interval at which to re-reconcile the cluster Azure Blob source with the remote. int
timeoutInSeconds The maximum time to attempt to reconcile the cluster Azure Blob source with the remote. int
url The URL to sync for the flux configuration Azure Blob storage account. string

BucketDefinition

Name Description Value
accessKey Plaintext access key used to securely access the S3 bucket string
bucketName The bucket name to sync from the url endpoint for the flux configuration. string
insecure Specify whether to use insecure communication when puling data from the S3 bucket. bool
localAuthRef Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. string
syncIntervalInSeconds The interval at which to re-reconcile the cluster bucket source with the remote. int
timeoutInSeconds The maximum time to attempt to reconcile the cluster bucket source with the remote. int
url The URL to sync for the flux configuration S3 bucket. string

FluxConfigurationProperties

Name Description Value
azureBlob Parameters to reconcile to the AzureBlob source kind type. AzureBlobDefinition
bucket Parameters to reconcile to the Bucket source kind type. BucketDefinition
configurationProtectedSettings Key-value pairs of protected configuration settings for the configuration FluxConfigurationPropertiesConfigurationProtectedSettings
gitRepository Parameters to reconcile to the GitRepository source kind type. GitRepositoryDefinition
kustomizations Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster. FluxConfigurationPropertiesKustomizations
namespace The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only. string
ociRepository Parameters to reconcile to the OCIRepository source kind type. OCIRepositoryDefinition
reconciliationWaitDuration Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D string
scope Scope at which the operator will be installed. 'cluster'
'namespace'
sourceKind Source Kind to pull the configuration data from. 'AzureBlob'
'Bucket'
'GitRepository'
'OCIRepository'
suspend Whether this configuration should suspend its reconciliation of its kustomizations and sources. bool
waitForReconciliation Whether flux configuration deployment should wait for cluster to reconcile the kustomizations. bool

FluxConfigurationPropertiesConfigurationProtectedSettings

Name Description Value

FluxConfigurationPropertiesKustomizations

Name Description Value

GitRepositoryDefinition

Name Description Value
httpsCACert Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS string
httpsUser Plaintext HTTPS username used to access private git repositories over HTTPS string
localAuthRef Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. string
repositoryRef The source reference for the GitRepository object. RepositoryRefDefinition
sshKnownHosts Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH string
syncIntervalInSeconds The interval at which to re-reconcile the cluster git repository source with the remote. int
timeoutInSeconds The maximum time to attempt to reconcile the cluster git repository source with the remote. int
url The URL to sync for the flux configuration git repository. string

KustomizationDefinition

Name Description Value
dependsOn Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation. string[]
force Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change. bool
path The path in the source reference to reconcile on the cluster. string
postBuild Used for variable substitution for this Kustomization after kustomize build. PostBuildDefinition
prune Enable/disable garbage collections of Kubernetes objects created by this Kustomization. bool
retryIntervalInSeconds The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation. int
syncIntervalInSeconds The interval at which to re-reconcile the Kustomization on the cluster. int
timeoutInSeconds The maximum time to attempt to reconcile the Kustomization on the cluster. int
wait Enable/disable health check for all Kubernetes objects created by this Kustomization. bool

LayerSelectorDefinition

Name Description Value
mediaType The first layer matching the specified media type will be used. string
operation The operation to be performed on the selected layer. The default value is 'extract', but it can be set to 'copy'. 'copy'
'extract'

ManagedIdentityDefinition

Name Description Value
clientId The client Id for authenticating a Managed Identity. string

MatchOidcIdentityDefinition

Name Description Value
issuer The regex pattern to match against to verify the OIDC issuer. string
subject The regex pattern to match against to verify the identity subject. string

Microsoft.KubernetesConfiguration/fluxConfigurations

Name Description Value
name The resource name string (required)
properties Properties to create a Flux Configuration resource FluxConfigurationProperties
scope Use when creating a resource at a scope that is different than the deployment scope. Set this property to the symbolic name of a resource to apply the extension resource.

OCIRepositoryDefinition

Name Description Value
insecure Specify whether to allow connecting to a non-TLS HTTP container registry. bool
layerSelector The layer to be pulled from the OCI artifact. LayerSelectorDefinition
localAuthRef Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. string
repositoryRef The source reference for the OCIRepository object. OCIRepositoryRefDefinition
serviceAccountName The service account name to authenticate with the OCI repository. string
syncIntervalInSeconds The interval at which to re-reconcile the cluster OCI repository source with the remote. int
timeoutInSeconds The maximum time to attempt to reconcile the cluster OCI repository source with the remote. int
tlsConfig Parameters to authenticate using TLS config for OCI repository. TlsConfigDefinition
url The URL to sync for the flux configuration OCI repository. string
useWorkloadIdentity Specifies whether to use Workload Identity to authenticate with the OCI repository. bool
verify Verification of the authenticity of an OCI Artifact. VerifyDefinition

OCIRepositoryRefDefinition

Name Description Value
digest The image digest to pull from OCI repository, the value should be in the format ‘sha256:’. This takes precedence over semver. string
semver The semver range used to match against OCI repository tags. This takes precedence over tag. string
tag The OCI repository image tag name to pull. This defaults to 'latest'. string

PostBuildDefinition

Name Description Value
substitute Key/value pairs holding the variables to be substituted in this Kustomization. PostBuildDefinitionSubstitute
substituteFrom Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. SubstituteFromDefinition[]

PostBuildDefinitionSubstitute

Name Description Value

RepositoryRefDefinition

Name Description Value
branch The git repository branch name to checkout. string
commit The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence over semver. string
semver The semver range used to match against git repository tags. This takes precedence over tag. string
tag The git repository tag name to checkout. This takes precedence over branch. string

ServicePrincipalDefinition

Name Description Value
clientCertificate Base64-encoded certificate used to authenticate a Service Principal string

Constraints:
Sensitive value. Pass in as a secure parameter.
clientCertificatePassword The password for the certificate used to authenticate a Service Principal string

Constraints:
Sensitive value. Pass in as a secure parameter.
clientCertificateSendChain Specifies whether to include x5c header in client claims when acquiring a token to enable subject name / issuer based authentication for the Client Certificate bool
clientId The client Id for authenticating a Service Principal. string
clientSecret The client secret for authenticating a Service Principal string

Constraints:
Sensitive value. Pass in as a secure parameter.
tenantId The tenant Id for authenticating a Service Principal string

SubstituteFromDefinition

Name Description Value
kind Define whether it is ConfigMap or Secret that holds the variables to be used in substitution. string
name Name of the ConfigMap/Secret that holds the variables to be used in substitution. string
optional Set to True to proceed without ConfigMap/Secret, if it is not present. bool

TlsConfigDefinition

Name Description Value
caCertificate Base64-encoded CA certificate used to verify the server. string

Constraints:
Sensitive value. Pass in as a secure parameter.
clientCertificate Base64-encoded certificate used to authenticate a client with the OCI repository. string

Constraints:
Sensitive value. Pass in as a secure parameter.
privateKey Base64-encoded private key used to authenticate a client with the OCI repository. string

Constraints:
Sensitive value. Pass in as a secure parameter.

VerifyDefinition

Name Description Value
matchOidcIdentity Array defining the criteria for matching the identity while verifying an OCI artifact. MatchOidcIdentityDefinition[]
provider Verification provider name. string
verificationConfig An object containing trusted public keys of trusted authors. VerifyDefinitionVerificationConfig

VerifyDefinitionVerificationConfig

Name Description Value

ARM template resource definition

The fluxConfigurations resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.KubernetesConfiguration/fluxConfigurations resource, add the following JSON to your template.

{
  "type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
  "apiVersion": "2024-04-01-preview",
  "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",
      "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"
  }
}

Property values

AzureBlobDefinition

Name Description Value
accountKey The account key (shared key) to access the storage account string

Constraints:
Sensitive value. Pass in as a secure parameter.
containerName The Azure Blob container name to sync from the url endpoint for the flux configuration. string
localAuthRef Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. string
managedIdentity Parameters to authenticate using a Managed Identity. ManagedIdentityDefinition
sasToken The Shared Access token to access the storage container string

Constraints:
Sensitive value. Pass in as a secure parameter.
servicePrincipal Parameters to authenticate using Service Principal. ServicePrincipalDefinition
syncIntervalInSeconds The interval at which to re-reconcile the cluster Azure Blob source with the remote. int
timeoutInSeconds The maximum time to attempt to reconcile the cluster Azure Blob source with the remote. int
url The URL to sync for the flux configuration Azure Blob storage account. string

BucketDefinition

Name Description Value
accessKey Plaintext access key used to securely access the S3 bucket string
bucketName The bucket name to sync from the url endpoint for the flux configuration. string
insecure Specify whether to use insecure communication when puling data from the S3 bucket. bool
localAuthRef Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. string
syncIntervalInSeconds The interval at which to re-reconcile the cluster bucket source with the remote. int
timeoutInSeconds The maximum time to attempt to reconcile the cluster bucket source with the remote. int
url The URL to sync for the flux configuration S3 bucket. string

FluxConfigurationProperties

Name Description Value
azureBlob Parameters to reconcile to the AzureBlob source kind type. AzureBlobDefinition
bucket Parameters to reconcile to the Bucket source kind type. BucketDefinition
configurationProtectedSettings Key-value pairs of protected configuration settings for the configuration FluxConfigurationPropertiesConfigurationProtectedSettings
gitRepository Parameters to reconcile to the GitRepository source kind type. GitRepositoryDefinition
kustomizations Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster. FluxConfigurationPropertiesKustomizations
namespace The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only. string
ociRepository Parameters to reconcile to the OCIRepository source kind type. OCIRepositoryDefinition
reconciliationWaitDuration Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D string
scope Scope at which the operator will be installed. 'cluster'
'namespace'
sourceKind Source Kind to pull the configuration data from. 'AzureBlob'
'Bucket'
'GitRepository'
'OCIRepository'
suspend Whether this configuration should suspend its reconciliation of its kustomizations and sources. bool
waitForReconciliation Whether flux configuration deployment should wait for cluster to reconcile the kustomizations. bool

FluxConfigurationPropertiesConfigurationProtectedSettings

Name Description Value

FluxConfigurationPropertiesKustomizations

Name Description Value

GitRepositoryDefinition

Name Description Value
httpsCACert Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS string
httpsUser Plaintext HTTPS username used to access private git repositories over HTTPS string
localAuthRef Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. string
repositoryRef The source reference for the GitRepository object. RepositoryRefDefinition
sshKnownHosts Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH string
syncIntervalInSeconds The interval at which to re-reconcile the cluster git repository source with the remote. int
timeoutInSeconds The maximum time to attempt to reconcile the cluster git repository source with the remote. int
url The URL to sync for the flux configuration git repository. string

KustomizationDefinition

Name Description Value
dependsOn Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation. string[]
force Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change. bool
path The path in the source reference to reconcile on the cluster. string
postBuild Used for variable substitution for this Kustomization after kustomize build. PostBuildDefinition
prune Enable/disable garbage collections of Kubernetes objects created by this Kustomization. bool
retryIntervalInSeconds The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation. int
syncIntervalInSeconds The interval at which to re-reconcile the Kustomization on the cluster. int
timeoutInSeconds The maximum time to attempt to reconcile the Kustomization on the cluster. int
wait Enable/disable health check for all Kubernetes objects created by this Kustomization. bool

LayerSelectorDefinition

Name Description Value
mediaType The first layer matching the specified media type will be used. string
operation The operation to be performed on the selected layer. The default value is 'extract', but it can be set to 'copy'. 'copy'
'extract'

ManagedIdentityDefinition

Name Description Value
clientId The client Id for authenticating a Managed Identity. string

MatchOidcIdentityDefinition

Name Description Value
issuer The regex pattern to match against to verify the OIDC issuer. string
subject The regex pattern to match against to verify the identity subject. string

Microsoft.KubernetesConfiguration/fluxConfigurations

Name Description Value
apiVersion The api version '2024-04-01-preview'
name The resource name string (required)
properties Properties to create a Flux Configuration resource FluxConfigurationProperties
type The resource type 'Microsoft.KubernetesConfiguration/fluxConfigurations'

OCIRepositoryDefinition

Name Description Value
insecure Specify whether to allow connecting to a non-TLS HTTP container registry. bool
layerSelector The layer to be pulled from the OCI artifact. LayerSelectorDefinition
localAuthRef Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. string
repositoryRef The source reference for the OCIRepository object. OCIRepositoryRefDefinition
serviceAccountName The service account name to authenticate with the OCI repository. string
syncIntervalInSeconds The interval at which to re-reconcile the cluster OCI repository source with the remote. int
timeoutInSeconds The maximum time to attempt to reconcile the cluster OCI repository source with the remote. int
tlsConfig Parameters to authenticate using TLS config for OCI repository. TlsConfigDefinition
url The URL to sync for the flux configuration OCI repository. string
useWorkloadIdentity Specifies whether to use Workload Identity to authenticate with the OCI repository. bool
verify Verification of the authenticity of an OCI Artifact. VerifyDefinition

OCIRepositoryRefDefinition

Name Description Value
digest The image digest to pull from OCI repository, the value should be in the format ‘sha256:’. This takes precedence over semver. string
semver The semver range used to match against OCI repository tags. This takes precedence over tag. string
tag The OCI repository image tag name to pull. This defaults to 'latest'. string

PostBuildDefinition

Name Description Value
substitute Key/value pairs holding the variables to be substituted in this Kustomization. PostBuildDefinitionSubstitute
substituteFrom Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. SubstituteFromDefinition[]

PostBuildDefinitionSubstitute

Name Description Value

RepositoryRefDefinition

Name Description Value
branch The git repository branch name to checkout. string
commit The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence over semver. string
semver The semver range used to match against git repository tags. This takes precedence over tag. string
tag The git repository tag name to checkout. This takes precedence over branch. string

ServicePrincipalDefinition

Name Description Value
clientCertificate Base64-encoded certificate used to authenticate a Service Principal string

Constraints:
Sensitive value. Pass in as a secure parameter.
clientCertificatePassword The password for the certificate used to authenticate a Service Principal string

Constraints:
Sensitive value. Pass in as a secure parameter.
clientCertificateSendChain Specifies whether to include x5c header in client claims when acquiring a token to enable subject name / issuer based authentication for the Client Certificate bool
clientId The client Id for authenticating a Service Principal. string
clientSecret The client secret for authenticating a Service Principal string

Constraints:
Sensitive value. Pass in as a secure parameter.
tenantId The tenant Id for authenticating a Service Principal string

SubstituteFromDefinition

Name Description Value
kind Define whether it is ConfigMap or Secret that holds the variables to be used in substitution. string
name Name of the ConfigMap/Secret that holds the variables to be used in substitution. string
optional Set to True to proceed without ConfigMap/Secret, if it is not present. bool

TlsConfigDefinition

Name Description Value
caCertificate Base64-encoded CA certificate used to verify the server. string

Constraints:
Sensitive value. Pass in as a secure parameter.
clientCertificate Base64-encoded certificate used to authenticate a client with the OCI repository. string

Constraints:
Sensitive value. Pass in as a secure parameter.
privateKey Base64-encoded private key used to authenticate a client with the OCI repository. string

Constraints:
Sensitive value. Pass in as a secure parameter.

VerifyDefinition

Name Description Value
matchOidcIdentity Array defining the criteria for matching the identity while verifying an OCI artifact. MatchOidcIdentityDefinition[]
provider Verification provider name. string
verificationConfig An object containing trusted public keys of trusted authors. VerifyDefinitionVerificationConfig

VerifyDefinitionVerificationConfig

Name Description Value

Terraform (AzAPI provider) resource definition

The fluxConfigurations resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.KubernetesConfiguration/fluxConfigurations resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.KubernetesConfiguration/fluxConfigurations@2024-04-01-preview"
  name = "string"
  parent_id = "string"
  body = jsonencode({
    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"
        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
    }
  })
}

Property values

AzureBlobDefinition

Name Description Value
accountKey The account key (shared key) to access the storage account string

Constraints:
Sensitive value. Pass in as a secure parameter.
containerName The Azure Blob container name to sync from the url endpoint for the flux configuration. string
localAuthRef Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. string
managedIdentity Parameters to authenticate using a Managed Identity. ManagedIdentityDefinition
sasToken The Shared Access token to access the storage container string

Constraints:
Sensitive value. Pass in as a secure parameter.
servicePrincipal Parameters to authenticate using Service Principal. ServicePrincipalDefinition
syncIntervalInSeconds The interval at which to re-reconcile the cluster Azure Blob source with the remote. int
timeoutInSeconds The maximum time to attempt to reconcile the cluster Azure Blob source with the remote. int
url The URL to sync for the flux configuration Azure Blob storage account. string

BucketDefinition

Name Description Value
accessKey Plaintext access key used to securely access the S3 bucket string
bucketName The bucket name to sync from the url endpoint for the flux configuration. string
insecure Specify whether to use insecure communication when puling data from the S3 bucket. bool
localAuthRef Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. string
syncIntervalInSeconds The interval at which to re-reconcile the cluster bucket source with the remote. int
timeoutInSeconds The maximum time to attempt to reconcile the cluster bucket source with the remote. int
url The URL to sync for the flux configuration S3 bucket. string

FluxConfigurationProperties

Name Description Value
azureBlob Parameters to reconcile to the AzureBlob source kind type. AzureBlobDefinition
bucket Parameters to reconcile to the Bucket source kind type. BucketDefinition
configurationProtectedSettings Key-value pairs of protected configuration settings for the configuration FluxConfigurationPropertiesConfigurationProtectedSettings
gitRepository Parameters to reconcile to the GitRepository source kind type. GitRepositoryDefinition
kustomizations Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster. FluxConfigurationPropertiesKustomizations
namespace The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only. string
ociRepository Parameters to reconcile to the OCIRepository source kind type. OCIRepositoryDefinition
reconciliationWaitDuration Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D string
scope Scope at which the operator will be installed. 'cluster'
'namespace'
sourceKind Source Kind to pull the configuration data from. 'AzureBlob'
'Bucket'
'GitRepository'
'OCIRepository'
suspend Whether this configuration should suspend its reconciliation of its kustomizations and sources. bool
waitForReconciliation Whether flux configuration deployment should wait for cluster to reconcile the kustomizations. bool

FluxConfigurationPropertiesConfigurationProtectedSettings

Name Description Value

FluxConfigurationPropertiesKustomizations

Name Description Value

GitRepositoryDefinition

Name Description Value
httpsCACert Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS string
httpsUser Plaintext HTTPS username used to access private git repositories over HTTPS string
localAuthRef Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. string
repositoryRef The source reference for the GitRepository object. RepositoryRefDefinition
sshKnownHosts Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH string
syncIntervalInSeconds The interval at which to re-reconcile the cluster git repository source with the remote. int
timeoutInSeconds The maximum time to attempt to reconcile the cluster git repository source with the remote. int
url The URL to sync for the flux configuration git repository. string

KustomizationDefinition

Name Description Value
dependsOn Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation. string[]
force Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change. bool
path The path in the source reference to reconcile on the cluster. string
postBuild Used for variable substitution for this Kustomization after kustomize build. PostBuildDefinition
prune Enable/disable garbage collections of Kubernetes objects created by this Kustomization. bool
retryIntervalInSeconds The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation. int
syncIntervalInSeconds The interval at which to re-reconcile the Kustomization on the cluster. int
timeoutInSeconds The maximum time to attempt to reconcile the Kustomization on the cluster. int
wait Enable/disable health check for all Kubernetes objects created by this Kustomization. bool

LayerSelectorDefinition

Name Description Value
mediaType The first layer matching the specified media type will be used. string
operation The operation to be performed on the selected layer. The default value is 'extract', but it can be set to 'copy'. 'copy'
'extract'

ManagedIdentityDefinition

Name Description Value
clientId The client Id for authenticating a Managed Identity. string

MatchOidcIdentityDefinition

Name Description Value
issuer The regex pattern to match against to verify the OIDC issuer. string
subject The regex pattern to match against to verify the identity subject. string

Microsoft.KubernetesConfiguration/fluxConfigurations

Name Description Value
name The resource name string (required)
parent_id The ID of the resource to apply this extension resource to. string (required)
properties Properties to create a Flux Configuration resource FluxConfigurationProperties
type The resource type "Microsoft.KubernetesConfiguration/fluxConfigurations@2024-04-01-preview"

OCIRepositoryDefinition

Name Description Value
insecure Specify whether to allow connecting to a non-TLS HTTP container registry. bool
layerSelector The layer to be pulled from the OCI artifact. LayerSelectorDefinition
localAuthRef Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. string
repositoryRef The source reference for the OCIRepository object. OCIRepositoryRefDefinition
serviceAccountName The service account name to authenticate with the OCI repository. string
syncIntervalInSeconds The interval at which to re-reconcile the cluster OCI repository source with the remote. int
timeoutInSeconds The maximum time to attempt to reconcile the cluster OCI repository source with the remote. int
tlsConfig Parameters to authenticate using TLS config for OCI repository. TlsConfigDefinition
url The URL to sync for the flux configuration OCI repository. string
useWorkloadIdentity Specifies whether to use Workload Identity to authenticate with the OCI repository. bool
verify Verification of the authenticity of an OCI Artifact. VerifyDefinition

OCIRepositoryRefDefinition

Name Description Value
digest The image digest to pull from OCI repository, the value should be in the format ‘sha256:’. This takes precedence over semver. string
semver The semver range used to match against OCI repository tags. This takes precedence over tag. string
tag The OCI repository image tag name to pull. This defaults to 'latest'. string

PostBuildDefinition

Name Description Value
substitute Key/value pairs holding the variables to be substituted in this Kustomization. PostBuildDefinitionSubstitute
substituteFrom Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. SubstituteFromDefinition[]

PostBuildDefinitionSubstitute

Name Description Value

RepositoryRefDefinition

Name Description Value
branch The git repository branch name to checkout. string
commit The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence over semver. string
semver The semver range used to match against git repository tags. This takes precedence over tag. string
tag The git repository tag name to checkout. This takes precedence over branch. string

ServicePrincipalDefinition

Name Description Value
clientCertificate Base64-encoded certificate used to authenticate a Service Principal string

Constraints:
Sensitive value. Pass in as a secure parameter.
clientCertificatePassword The password for the certificate used to authenticate a Service Principal string

Constraints:
Sensitive value. Pass in as a secure parameter.
clientCertificateSendChain Specifies whether to include x5c header in client claims when acquiring a token to enable subject name / issuer based authentication for the Client Certificate bool
clientId The client Id for authenticating a Service Principal. string
clientSecret The client secret for authenticating a Service Principal string

Constraints:
Sensitive value. Pass in as a secure parameter.
tenantId The tenant Id for authenticating a Service Principal string

SubstituteFromDefinition

Name Description Value
kind Define whether it is ConfigMap or Secret that holds the variables to be used in substitution. string
name Name of the ConfigMap/Secret that holds the variables to be used in substitution. string
optional Set to True to proceed without ConfigMap/Secret, if it is not present. bool

TlsConfigDefinition

Name Description Value
caCertificate Base64-encoded CA certificate used to verify the server. string

Constraints:
Sensitive value. Pass in as a secure parameter.
clientCertificate Base64-encoded certificate used to authenticate a client with the OCI repository. string

Constraints:
Sensitive value. Pass in as a secure parameter.
privateKey Base64-encoded private key used to authenticate a client with the OCI repository. string

Constraints:
Sensitive value. Pass in as a secure parameter.

VerifyDefinition

Name Description Value
matchOidcIdentity Array defining the criteria for matching the identity while verifying an OCI artifact. MatchOidcIdentityDefinition[]
provider Verification provider name. string
verificationConfig An object containing trusted public keys of trusted authors. VerifyDefinitionVerificationConfig

VerifyDefinitionVerificationConfig

Name Description Value