Flux Configurations - List

List all Flux Configurations.

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations?api-version=2023-05-01

URI Parameters

Name In Required Type Description
clusterName
path True

string

The name of the kubernetes cluster.

clusterResourceName
path True

string

The Kubernetes cluster resource name - i.e. managedClusters, connectedClusters, provisionedClusters.

clusterRp
path True

string

The Kubernetes cluster RP - i.e. Microsoft.ContainerService, Microsoft.Kubernetes, Microsoft.HybridContainerService.

resourceGroupName
path True

string

The name of the resource group. The name is case insensitive.

subscriptionId
path True

string

The ID of the target subscription.

api-version
query True

string

The API version to use for this operation.

Responses

Name Type Description
200 OK

FluxConfigurationsList

OK

Other Status Codes

ErrorResponse

Error response describing why the operation failed.

Security

azure_auth

Azure Active Directory OAuth2 Flow

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
user_impersonation impersonate your user account

Examples

List Flux Configuration

Sample request

GET https://management.azure.com/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations?api-version=2023-05-01

Sample response

{
  "value": [
    {
      "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig",
      "type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
      "name": "srs-fluxconfig",
      "systemData": {
        "createdBy": "string",
        "createdByType": "Application",
        "createdAt": "2021-05-19T05:10:57.027Z",
        "lastModifiedBy": "string",
        "lastModifiedByType": "Application",
        "lastModifiedAt": "2020-05-19T05:10:57.027Z"
      },
      "properties": {
        "scope": "cluster",
        "namespace": "srs-namespace",
        "sourceKind": "GitRepository",
        "suspend": false,
        "gitRepository": {
          "url": "https://github.com/Azure/arc-k8s-demo",
          "timeoutInSeconds": 600,
          "syncIntervalInSeconds": 600,
          "repositoryRef": {
            "branch": "master",
            "tag": null,
            "semver": null,
            "commit": null
          }
        },
        "kustomizations": {
          "srs-kustomization1": {
            "name": "srs-kustomization1",
            "path": "./test/path",
            "dependsOn": [],
            "timeoutInSeconds": 600,
            "syncIntervalInSeconds": 600,
            "wait": true,
            "postBuild": {
              "substitute": {
                "cluster_env": "prod",
                "replica_count": "2"
              },
              "substituteFrom": [
                {
                  "kind": "ConfigMap",
                  "name": "cluster-test",
                  "optional": true
                }
              ]
            }
          },
          "srs-kustomization2": {
            "name": "srs-kustomization2",
            "path": "./other/test/path",
            "dependsOn": [
              "srs-kustomization1"
            ],
            "timeoutInSeconds": 600,
            "syncIntervalInSeconds": 600,
            "retryIntervalInSeconds": 600,
            "prune": false,
            "wait": false,
            "postBuild": {
              "substituteFrom": [
                {
                  "kind": "ConfigMap",
                  "name": "cluster-values",
                  "optional": true
                },
                {
                  "kind": "Secret",
                  "name": "secret-name",
                  "optional": false
                }
              ]
            }
          }
        },
        "statuses": [
          {
            "name": "srs-fluxconfig",
            "kind": "GitRepository",
            "complianceState": "Compliant",
            "appliedBy": null,
            "statusConditions": null,
            "helmReleaseProperties": null
          },
          {
            "name": "srs-fluxconfig-srs-kustomization1",
            "kind": "Kustomization",
            "complianceState": "Compliant",
            "appliedBy": null,
            "statusConditions": null,
            "helmReleaseProperties": null
          },
          {
            "name": "srs-fluxconfig-srs-kustomization2",
            "kind": "Kustomization",
            "complianceState": "Compliant",
            "appliedBy": null,
            "statusConditions": null,
            "helmReleaseProperties": null
          }
        ],
        "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF",
        "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
        "sourceUpdatedAt": "2021-05-19T18:17:12Z",
        "statusUpdatedAt": "2021-05-19T18:17:12Z",
        "complianceState": "Compliant",
        "provisioningState": "Succeeded",
        "errorMessage": ""
      }
    },
    {
      "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig",
      "type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
      "name": "srs-fluxconfig",
      "systemData": {
        "createdBy": "string",
        "createdByType": "Application",
        "createdAt": "2021-05-19T05:10:57.027Z",
        "lastModifiedBy": "string",
        "lastModifiedByType": "Application",
        "lastModifiedAt": "2020-05-19T05:10:57.027Z"
      },
      "properties": {
        "scope": "cluster",
        "namespace": "srs-namespace",
        "sourceKind": "GitRepository",
        "suspend": false,
        "gitRepository": {
          "url": "https://github.com/Azure/arc-k8s-demo",
          "timeoutInSeconds": 600,
          "syncIntervalInSeconds": 600,
          "repositoryRef": {
            "branch": "master",
            "tag": null,
            "semver": null,
            "commit": null
          }
        },
        "kustomizations": {
          "srs-kustomization1": {
            "name": "srs-kustomization1",
            "path": "./test/path",
            "dependsOn": [],
            "timeoutInSeconds": 600,
            "syncIntervalInSeconds": 600
          },
          "srs-kustomization2": {
            "name": "srs-kustomization2",
            "path": "./other/test/path",
            "dependsOn": [
              "srs-kustomization1"
            ],
            "timeoutInSeconds": 600,
            "syncIntervalInSeconds": 600,
            "retryIntervalInSeconds": 600,
            "prune": false
          }
        },
        "statuses": [
          {
            "name": "srs-fluxconfig",
            "kind": "GitRepository",
            "complianceState": "Compliant",
            "appliedBy": null,
            "statusConditions": null,
            "helmReleaseProperties": null
          },
          {
            "name": "srs-fluxconfig-srs-kustomization1",
            "kind": "Kustomization",
            "complianceState": "Compliant",
            "appliedBy": null,
            "statusConditions": null,
            "helmReleaseProperties": null
          },
          {
            "name": "srs-fluxconfig-srs-kustomization2",
            "kind": "Kustomization",
            "complianceState": "Compliant",
            "appliedBy": null,
            "statusConditions": null,
            "helmReleaseProperties": null
          }
        ],
        "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF",
        "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
        "sourceUpdatedAt": "2021-05-19T18:17:12Z",
        "statusUpdatedAt": "2021-05-19T18:17:12Z",
        "complianceState": "Compliant",
        "provisioningState": "Succeeded",
        "errorMessage": ""
      }
    }
  ],
  "nextLink": null
}

Definitions

Name Description
AzureBlobDefinition

Parameters to reconcile to the AzureBlob source kind type.

BucketDefinition

Parameters to reconcile to the Bucket source kind type.

createdByType

The type of identity that created the resource.

ErrorAdditionalInfo

The resource management error additional info.

ErrorDetail

The error detail.

ErrorResponse

Error response

FluxComplianceState

Compliance state of the applied object showing whether the applied object has come into a ready state on the cluster.

FluxConfiguration

The Flux Configuration object returned in Get & Put response.

FluxConfigurationsList

Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results.

GitRepositoryDefinition

Parameters to reconcile to the GitRepository source kind type.

HelmReleasePropertiesDefinition

Properties for HelmRelease objects

KustomizationDefinition

The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.

ManagedIdentityDefinition

Parameters to authenticate using a Managed Identity.

ObjectReferenceDefinition

Object reference to a Kubernetes object on a cluster

ObjectStatusConditionDefinition

Status condition of Kubernetes object

ObjectStatusDefinition

Statuses of objects deployed by the user-specified kustomizations from the git repository.

PostBuildDefinition

The postBuild definitions defining variable substitutions for this Kustomization after kustomize build.

ProvisioningState

Status of the creation of the fluxConfiguration.

RepositoryRefDefinition

The source reference for the GitRepository object.

ScopeType

Scope at which the operator will be installed.

ServicePrincipalDefinition

Parameters to authenticate using Service Principal.

SourceKindType

Source Kind to pull the configuration data from.

SubstituteFromDefinition

Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.

systemData

Metadata pertaining to creation and last modification of the resource.

AzureBlobDefinition

Parameters to reconcile to the AzureBlob source kind type.

Name Type Default value Description
accountKey

string

The account key (shared key) to access the storage account

containerName

string

The Azure Blob container name to sync from the url endpoint for the flux configuration.

localAuthRef

string

Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.

managedIdentity

ManagedIdentityDefinition

Parameters to authenticate using a Managed Identity.

sasToken

string

The Shared Access token to access the storage container

servicePrincipal

ServicePrincipalDefinition

Parameters to authenticate using Service Principal.

syncIntervalInSeconds

integer

600

The interval at which to re-reconcile the cluster Azure Blob source with the remote.

timeoutInSeconds

integer

600

The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.

url

string

The URL to sync for the flux configuration Azure Blob storage account.

BucketDefinition

Parameters to reconcile to the Bucket source kind type.

Name Type Default value Description
accessKey

string

Plaintext access key used to securely access the S3 bucket

bucketName

string

The bucket name to sync from the url endpoint for the flux configuration.

insecure

boolean

True

Specify whether to use insecure communication when puling data from the S3 bucket.

localAuthRef

string

Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.

syncIntervalInSeconds

integer

600

The interval at which to re-reconcile the cluster bucket source with the remote.

timeoutInSeconds

integer

600

The maximum time to attempt to reconcile the cluster bucket source with the remote.

url

string

The URL to sync for the flux configuration S3 bucket.

createdByType

The type of identity that created the resource.

Name Type Description
Application

string

Key

string

ManagedIdentity

string

User

string

ErrorAdditionalInfo

The resource management error additional info.

Name Type Description
info

object

The additional info.

type

string

The additional info type.

ErrorDetail

The error detail.

Name Type Description
additionalInfo

ErrorAdditionalInfo[]

The error additional info.

code

string

The error code.

details

ErrorDetail[]

The error details.

message

string

The error message.

target

string

The error target.

ErrorResponse

Error response

Name Type Description
error

ErrorDetail

The error object.

FluxComplianceState

Compliance state of the applied object showing whether the applied object has come into a ready state on the cluster.

Name Type Description
Compliant

string

Non-Compliant

string

Pending

string

Suspended

string

Unknown

string

FluxConfiguration

The Flux Configuration object returned in Get & Put response.

Name Type Default value Description
id

string

Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

The name of the resource

properties.azureBlob

AzureBlobDefinition

Parameters to reconcile to the AzureBlob source kind type.

properties.bucket

BucketDefinition

Parameters to reconcile to the Bucket source kind type.

properties.complianceState

FluxComplianceState

Unknown

Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects.

properties.configurationProtectedSettings

object

Key-value pairs of protected configuration settings for the configuration

properties.errorMessage

string

Error message returned to the user in the case of provisioning failure.

properties.gitRepository

GitRepositoryDefinition

Parameters to reconcile to the GitRepository source kind type.

properties.kustomizations

<string,  KustomizationDefinition>

Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.

properties.namespace

string

default

The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only.

properties.provisioningState

ProvisioningState

Status of the creation of the fluxConfiguration.

properties.reconciliationWaitDuration

string

Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D

properties.repositoryPublicKey

string

Public Key associated with this fluxConfiguration (either generated within the cluster or provided by the user).

properties.scope

ScopeType

cluster

Scope at which the operator will be installed.

properties.sourceKind

SourceKindType

GitRepository

Source Kind to pull the configuration data from.

properties.sourceSyncedCommitId

string

Branch and/or SHA of the source commit synced with the cluster.

properties.sourceUpdatedAt

string

Datetime the fluxConfiguration synced its source on the cluster.

properties.statusUpdatedAt

string

Datetime the fluxConfiguration synced its status on the cluster with Azure.

properties.statuses

ObjectStatusDefinition[]

Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects provisioned by the fluxConfiguration.

properties.suspend

boolean

False

Whether this configuration should suspend its reconciliation of its kustomizations and sources.

properties.waitForReconciliation

boolean

Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.

systemData

systemData

Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources

type

string

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

FluxConfigurationsList

Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results.

Name Type Description
nextLink

string

URL to get the next set of configuration objects, if any.

value

FluxConfiguration[]

List of Flux Configurations within a Kubernetes cluster.

GitRepositoryDefinition

Parameters to reconcile to the GitRepository source kind type.

Name Type Default value Description
httpsCACert

string

Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS

httpsUser

string

Plaintext HTTPS username used to access private git repositories over HTTPS

localAuthRef

string

Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.

repositoryRef

RepositoryRefDefinition

The source reference for the GitRepository object.

sshKnownHosts

string

Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH

syncIntervalInSeconds

integer

600

The interval at which to re-reconcile the cluster git repository source with the remote.

timeoutInSeconds

integer

600

The maximum time to attempt to reconcile the cluster git repository source with the remote.

url

string

The URL to sync for the flux configuration git repository.

HelmReleasePropertiesDefinition

Properties for HelmRelease objects

Name Type Description
failureCount

integer

Total number of times that the HelmRelease failed to install or upgrade

helmChartRef

ObjectReferenceDefinition

The reference to the HelmChart object used as the source to this HelmRelease

installFailureCount

integer

Number of times that the HelmRelease failed to install

lastRevisionApplied

integer

The revision number of the last released object change

upgradeFailureCount

integer

Number of times that the HelmRelease failed to upgrade

KustomizationDefinition

The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.

Name Type Default value Description
dependsOn

string[]

Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation.

force

boolean

False

Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change.

name

string

Name of the Kustomization, matching the key in the Kustomizations object map.

path

string

The path in the source reference to reconcile on the cluster.

postBuild

PostBuildDefinition

Used for variable substitution for this Kustomization after kustomize build.

prune

boolean

False

Enable/disable garbage collections of Kubernetes objects created by this Kustomization.

retryIntervalInSeconds

integer

The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation.

syncIntervalInSeconds

integer

600

The interval at which to re-reconcile the Kustomization on the cluster.

timeoutInSeconds

integer

600

The maximum time to attempt to reconcile the Kustomization on the cluster.

wait

boolean

True

Enable/disable health check for all Kubernetes objects created by this Kustomization.

ManagedIdentityDefinition

Parameters to authenticate using a Managed Identity.

Name Type Description
clientId

string

The client Id for authenticating a Managed Identity.

ObjectReferenceDefinition

Object reference to a Kubernetes object on a cluster

Name Type Description
name

string

Name of the object

namespace

string

Namespace of the object

ObjectStatusConditionDefinition

Status condition of Kubernetes object

Name Type Description
lastTransitionTime

string

Last time this status condition has changed

message

string

A more verbose description of the object status condition

reason

string

Reason for the specified status condition type status

status

string

Status of the Kubernetes object condition type

type

string

Object status condition type for this object

ObjectStatusDefinition

Statuses of objects deployed by the user-specified kustomizations from the git repository.

Name Type Default value Description
appliedBy

ObjectReferenceDefinition

Object reference to the Kustomization that applied this object

complianceState

FluxComplianceState

Unknown

Compliance state of the applied object showing whether the applied object has come into a ready state on the cluster.

helmReleaseProperties

HelmReleasePropertiesDefinition

Additional properties that are provided from objects of the HelmRelease kind

kind

string

Kind of the applied object

name

string

Name of the applied object

namespace

string

Namespace of the applied object

statusConditions

ObjectStatusConditionDefinition[]

List of Kubernetes object status conditions present on the cluster

PostBuildDefinition

The postBuild definitions defining variable substitutions for this Kustomization after kustomize build.

Name Type Description
substitute

object

Key/value pairs holding the variables to be substituted in this Kustomization.

substituteFrom

SubstituteFromDefinition[]

Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.

ProvisioningState

Status of the creation of the fluxConfiguration.

Name Type Description
Canceled

string

Creating

string

Deleting

string

Failed

string

Succeeded

string

Updating

string

RepositoryRefDefinition

The source reference for the GitRepository object.

Name Type Description
branch

string

The git repository branch name to checkout.

commit

string

The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence over semver.

semver

string

The semver range used to match against git repository tags. This takes precedence over tag.

tag

string

The git repository tag name to checkout. This takes precedence over branch.

ScopeType

Scope at which the operator will be installed.

Name Type Description
cluster

string

namespace

string

ServicePrincipalDefinition

Parameters to authenticate using Service Principal.

Name Type Default value Description
clientCertificate

string

Base64-encoded certificate used to authenticate a Service Principal

clientCertificatePassword

string

The password for the certificate used to authenticate a Service Principal

clientCertificateSendChain

boolean

False

Specifies whether to include x5c header in client claims when acquiring a token to enable subject name / issuer based authentication for the Client Certificate

clientId

string

The client Id for authenticating a Service Principal.

clientSecret

string

The client secret for authenticating a Service Principal

tenantId

string

The tenant Id for authenticating a Service Principal

SourceKindType

Source Kind to pull the configuration data from.

Name Type Description
AzureBlob

string

Bucket

string

GitRepository

string

SubstituteFromDefinition

Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.

Name Type Default value Description
kind

string

Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.

name

string

Name of the ConfigMap/Secret that holds the variables to be used in substitution.

optional

boolean

False

Set to True to proceed without ConfigMap/Secret, if it is not present.

systemData

Metadata pertaining to creation and last modification of the resource.

Name Type Description
createdAt

string

The timestamp of resource creation (UTC).

createdBy

string

The identity that created the resource.

createdByType

createdByType

The type of identity that created the resource.

lastModifiedAt

string

The timestamp of resource last modification (UTC)

lastModifiedBy

string

The identity that last modified the resource.

lastModifiedByType

createdByType

The type of identity that last modified the resource.