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 |
---|---|---|---|---|
cluster
|
path | True |
string |
The name of the kubernetes cluster. |
cluster
|
path | True |
string |
The Kubernetes cluster resource name - i.e. managedClusters, connectedClusters, provisionedClusters. |
cluster
|
path | True |
string |
The Kubernetes cluster RP - i.e. Microsoft.ContainerService, Microsoft.Kubernetes, Microsoft.HybridContainerService. |
resource
|
path | True |
string |
The name of the resource group. The name is case insensitive. |
subscription
|
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 |
OK |
|
Other Status Codes |
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 |
---|---|
Azure |
Parameters to reconcile to the AzureBlob source kind type. |
Bucket |
Parameters to reconcile to the Bucket source kind type. |
created |
The type of identity that created the resource. |
Error |
The resource management error additional info. |
Error |
The error detail. |
Error |
Error response |
Flux |
Compliance state of the applied object showing whether the applied object has come into a ready state on the cluster. |
Flux |
The Flux Configuration object returned in Get & Put response. |
Flux |
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. |
Git |
Parameters to reconcile to the GitRepository source kind type. |
Helm |
Properties for HelmRelease objects |
Kustomization |
The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. |
Managed |
Parameters to authenticate using a Managed Identity. |
Object |
Object reference to a Kubernetes object on a cluster |
Object |
Status condition of Kubernetes object |
Object |
Statuses of objects deployed by the user-specified kustomizations from the git repository. |
Post |
The postBuild definitions defining variable substitutions for this Kustomization after kustomize build. |
Provisioning |
Status of the creation of the fluxConfiguration. |
Repository |
The source reference for the GitRepository object. |
Scope |
Scope at which the operator will be installed. |
Service |
Parameters to authenticate using Service Principal. |
Source |
Source Kind to pull the configuration data from. |
Substitute |
Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. |
system |
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 |
Parameters to authenticate using a Managed Identity. |
||
sasToken |
string |
The Shared Access token to access the storage container |
|
servicePrincipal |
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 |
The error additional info. |
|
code |
string |
The error code. |
details |
The error details. |
|
message |
string |
The error message. |
target |
string |
The error target. |
ErrorResponse
Error response
Name | Type | Description |
---|---|---|
error |
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 |
Parameters to reconcile to the AzureBlob source kind type. |
||
properties.bucket |
Parameters to reconcile to the Bucket source kind type. |
||
properties.complianceState | 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 |
Parameters to reconcile to the GitRepository source kind type. |
||
properties.kustomizations |
<string,
Kustomization |
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 |
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 | cluster |
Scope at which the operator will be installed. |
|
properties.sourceKind | 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 |
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 |
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 |
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 |
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 |
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 |
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 |
Object reference to the Kustomization that applied this object |
||
complianceState | Unknown |
Compliance state of the applied object showing whether the applied object has come into a ready state on the cluster. |
|
helmReleaseProperties |
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 |
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 |
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 |
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 |
The type of identity that last modified the resource. |