Flux Configurations - Create Or Update
Create a new Kubernetes Flux Configuration.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}?api-version=2025-04-01
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
cluster
|
path | True |
string pattern: ^.* |
The name of the kubernetes cluster. |
cluster
|
path | True |
string pattern: ^[a-zA-Z]*$ |
The Kubernetes cluster resource name - i.e. managedClusters, connectedClusters, provisionedClusters, appliances. |
cluster
|
path | True |
string |
The Kubernetes cluster RP - i.e. Microsoft.ContainerService, Microsoft.Kubernetes, Microsoft.HybridContainerService. |
flux
|
path | True |
string |
Name of the Flux Configuration. |
resource
|
path | True |
string minLength: 1maxLength: 90 |
The name of the resource group. The name is case insensitive. |
subscription
|
path | True |
string minLength: 1 |
The ID of the target subscription. |
api-version
|
query | True |
string minLength: 1 |
The API version to use for this operation. |
Request Body
Name | Type | Description |
---|---|---|
properties.azureBlob |
Parameters to reconcile to the AzureBlob source kind type. |
|
properties.bucket |
Parameters to reconcile to the Bucket source kind type. |
|
properties.configurationProtectedSettings |
object |
Key-value pairs of protected configuration settings for the configuration |
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 |
The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only. |
properties.ociRepository |
Parameters to reconcile to the OCIRepository source kind type. |
|
properties.reconciliationWaitDuration |
string |
Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D |
properties.scope |
Scope at which the operator will be installed. |
|
properties.sourceKind |
Source Kind to pull the configuration data from. |
|
properties.suspend |
boolean |
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. |
Responses
Name | Type | Description |
---|---|---|
200 OK |
Request received successfully for an existing resource. |
|
201 Created |
Request received successfully. |
|
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
Create Flux Configuration |
Create Flux Configuration with Bucket Source Kind |
Create Flux Configuration with Git Repository Provider |
Create Flux Configuration with OCIRepository Source Kind |
Create Flux Configuration
Sample request
PUT https://management.azure.com/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig?api-version=2025-04-01
{
"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"
},
"httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl"
},
"kustomizations": {
"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": {
"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
}
]
}
}
},
"waitForReconciliation": true,
"reconciliationWaitDuration": "PT30M"
}
}
Sample response
Operation-Location: /subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}
x-ms-async-operation-timeout: PT48H
{
"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
},
"httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl"
},
"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,
"helmReleaseProperties": null,
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "GitOperationSucceed",
"status": "True",
"type": "Ready"
}
]
},
{
"name": "srs-fluxconfig-srs-kustomization1",
"kind": "Kustomization",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": {
"lastRevisionApplied": 1,
"helmChartRef": {
"name": "myname",
"namespace": "mynamespace"
},
"failureCount": null,
"upgradeFailureCount": null,
"installFailureCount": null
},
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "ReconciliationSucceeded",
"status": "True",
"type": "Ready"
}
]
},
{
"name": "srs-fluxconfig-srs-kustomization2",
"kind": "Kustomization",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": {
"lastRevisionApplied": 1,
"helmChartRef": {
"name": "myname",
"namespace": "mynamespace"
},
"failureCount": null,
"upgradeFailureCount": null,
"installFailureCount": null
},
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "ReconciliationSucceeded",
"status": "True",
"type": "Ready"
}
]
}
],
"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": ""
}
}
Operation-Location: /subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}
x-ms-async-operation-timeout: PT48H
Azure-AsyncOperation: http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/operationId?api-version=2025-04-01
{
"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
},
"httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl"
},
"kustomizations": {
"srs-kustomization1": {
"name": "srs-",
"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": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "GitOperationSucceed",
"status": "True",
"type": "Ready"
}
]
},
{
"name": "srs-fluxconfig-srs-kustomization1",
"kind": "Kustomization",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": {
"lastRevisionApplied": 1,
"helmChartRef": {
"name": "myname",
"namespace": "mynamespace"
},
"failureCount": null,
"upgradeFailureCount": null,
"installFailureCount": null
},
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "ReconciliationSucceeded",
"status": "True",
"type": "Ready"
}
]
},
{
"name": "srs-fluxconfig-srs-kustomization2",
"kind": "Kustomization",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": {
"lastRevisionApplied": 1,
"helmChartRef": {
"name": "myname",
"namespace": "mynamespace"
},
"failureCount": null,
"upgradeFailureCount": null,
"installFailureCount": null
},
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "ReconciliationSucceeded",
"status": "True",
"type": "Ready"
}
]
}
],
"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": ""
}
}
Create Flux Configuration with Bucket Source Kind
Sample request
PUT https://management.azure.com/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig?api-version=2025-04-01
{
"properties": {
"scope": "cluster",
"namespace": "srs-namespace",
"sourceKind": "Bucket",
"suspend": false,
"bucket": {
"url": "https://fluxminiotest.az.minio.io",
"bucketName": "flux",
"syncIntervalInSeconds": 1000,
"timeoutInSeconds": 1000,
"accessKey": "fluxminiotest"
},
"kustomizations": {
"srs-kustomization1": {
"path": "./test/path",
"dependsOn": [],
"timeoutInSeconds": 600,
"syncIntervalInSeconds": 600
},
"srs-kustomization2": {
"path": "./other/test/path",
"dependsOn": [
"srs-kustomization1"
],
"timeoutInSeconds": 600,
"syncIntervalInSeconds": 600,
"retryIntervalInSeconds": 600,
"prune": false
}
}
}
}
Sample response
Operation-Location: /subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}
x-ms-async-operation-timeout: PT48H
{
"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": "Bucket",
"suspend": false,
"gitRepository": null,
"bucket": {
"url": "https://fluxminiotest.az.minio.io",
"bucketName": "flux",
"syncIntervalInSeconds": 1000,
"timeoutInSeconds": 1000,
"accessKey": "fluxminiotest"
},
"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": "Bucket",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": null,
"statusConditions": [
{
"lastTransitionTime": "2022-05-04T07:17:30+00:00",
"message": "stored artifact for revision '55396be14f18fa2b977c1f22becef26a94d1d9a7ccb1e19d12f9cac52d757a84'",
"reason": "Succeeded",
"status": "True",
"type": "Ready"
}
]
},
{
"name": "srs-fluxconfig-srs-kustomization1",
"kind": "Kustomization",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": {
"lastRevisionApplied": 1,
"helmChartRef": {
"name": "myname",
"namespace": "mynamespace"
},
"failureCount": null,
"upgradeFailureCount": null,
"installFailureCount": null
},
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Applied revision: 0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "ReconciliationSucceeded",
"status": "True",
"type": "Ready"
}
]
},
{
"name": "srs-fluxconfig-srs-kustomization2",
"kind": "Kustomization",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": {
"lastRevisionApplied": 1,
"helmChartRef": {
"name": "myname",
"namespace": "mynamespace"
},
"failureCount": null,
"upgradeFailureCount": null,
"installFailureCount": null
},
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Applied revision: 0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "ReconciliationSucceeded",
"status": "True",
"type": "Ready"
}
]
}
],
"repositoryPublicKey": "",
"sourceSyncedCommitId": "0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
"sourceUpdatedAt": "2021-05-19T18:17:12Z",
"statusUpdatedAt": "2021-05-19T18:17:12Z",
"complianceState": "Compliant",
"provisioningState": "Succeeded",
"errorMessage": ""
}
}
Operation-Location: /subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}
x-ms-async-operation-timeout: PT48H
{
"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": "Bucket",
"suspend": false,
"gitRepository": null,
"bucket": {
"url": "https://fluxminiotest.az.minio.io",
"bucketName": "flux",
"syncIntervalInSeconds": 1000,
"timeoutInSeconds": 1000,
"accessKey": "fluxminiotest"
},
"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": "Bucket",
"complianceState": "Compliant",
"appliedBy": null,
"statusConditions": [
{
"lastTransitionTime": "2022-05-04T07:17:30+00:00",
"message": "stored artifact for revision '55396be14f18fa2b977c1f22becef26a94d1d9a7ccb1e19d12f9cac52d757a84'",
"reason": "Succeeded",
"status": "True",
"type": "Ready"
}
]
},
{
"name": "srs-fluxconfig-srs-kustomization1",
"kind": "Kustomization",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": {
"lastRevisionApplied": 1,
"helmChartRef": {
"name": "myname",
"namespace": "mynamespace"
},
"failureCount": null,
"upgradeFailureCount": null,
"installFailureCount": null
},
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Applied revision: 0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "ReconciliationSucceeded",
"status": "True",
"type": "Ready"
}
]
},
{
"name": "srs-fluxconfig-srs-kustomization2",
"kind": "Kustomization",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": {
"lastRevisionApplied": 1,
"helmChartRef": {
"name": "myname",
"namespace": "mynamespace"
},
"failureCount": null,
"upgradeFailureCount": null,
"installFailureCount": null
},
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Applied revision: 0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "ReconciliationSucceeded",
"status": "True",
"type": "Ready"
}
]
}
],
"repositoryPublicKey": "",
"sourceSyncedCommitId": "0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
"sourceUpdatedAt": "2021-05-19T18:17:12Z",
"statusUpdatedAt": "2021-05-19T18:17:12Z",
"complianceState": "Compliant",
"provisioningState": "Succeeded",
"errorMessage": ""
}
}
Create Flux Configuration with Git Repository Provider
Sample request
PUT https://management.azure.com/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig?api-version=2025-04-01
{
"properties": {
"scope": "cluster",
"namespace": "srs-namespace",
"sourceKind": "GitRepository",
"suspend": false,
"gitRepository": {
"url": "https://dev.azure.com/org/proj/_git/arc-k8s-demo",
"timeoutInSeconds": 600,
"syncIntervalInSeconds": 600,
"provider": "Azure",
"repositoryRef": {
"branch": "master"
},
"httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl"
},
"kustomizations": {
"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": {
"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
}
]
}
}
},
"waitForReconciliation": true,
"reconciliationWaitDuration": "PT30M"
}
}
Sample response
Operation-Location: /subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}
x-ms-async-operation-timeout: PT48H
{
"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
},
"httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl"
},
"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,
"helmReleaseProperties": null,
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "GitOperationSucceed",
"status": "True",
"type": "Ready"
}
]
},
{
"name": "srs-fluxconfig-srs-kustomization1",
"kind": "Kustomization",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": {
"lastRevisionApplied": 1,
"helmChartRef": {
"name": "myname",
"namespace": "mynamespace"
},
"failureCount": null,
"upgradeFailureCount": null,
"installFailureCount": null
},
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "ReconciliationSucceeded",
"status": "True",
"type": "Ready"
}
]
},
{
"name": "srs-fluxconfig-srs-kustomization2",
"kind": "Kustomization",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": {
"lastRevisionApplied": 1,
"helmChartRef": {
"name": "myname",
"namespace": "mynamespace"
},
"failureCount": null,
"upgradeFailureCount": null,
"installFailureCount": null
},
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "ReconciliationSucceeded",
"status": "True",
"type": "Ready"
}
]
}
],
"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": ""
}
}
Operation-Location: /subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}
x-ms-async-operation-timeout: PT48H
Azure-AsyncOperation: http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/operationId?api-version=2025-04-01
{
"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
},
"httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl"
},
"kustomizations": {
"srs-kustomization1": {
"name": "srs-",
"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": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "GitOperationSucceed",
"status": "True",
"type": "Ready"
}
]
},
{
"name": "srs-fluxconfig-srs-kustomization1",
"kind": "Kustomization",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": {
"lastRevisionApplied": 1,
"helmChartRef": {
"name": "myname",
"namespace": "mynamespace"
},
"failureCount": null,
"upgradeFailureCount": null,
"installFailureCount": null
},
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "ReconciliationSucceeded",
"status": "True",
"type": "Ready"
}
]
},
{
"name": "srs-fluxconfig-srs-kustomization2",
"kind": "Kustomization",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": {
"lastRevisionApplied": 1,
"helmChartRef": {
"name": "myname",
"namespace": "mynamespace"
},
"failureCount": null,
"upgradeFailureCount": null,
"installFailureCount": null
},
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "ReconciliationSucceeded",
"status": "True",
"type": "Ready"
}
]
}
],
"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": ""
}
}
Create Flux Configuration with OCIRepository Source Kind
Sample request
PUT https://management.azure.com/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig?api-version=2025-04-01
{
"properties": {
"scope": "cluster",
"namespace": "srs-namespace",
"sourceKind": "OCIRepository",
"suspend": false,
"ociRepository": {
"url": "oci://ghcr.io/stefanprodan/manifests/podinfo",
"syncIntervalInSeconds": 1000,
"timeoutInSeconds": 1000,
"serviceAccountName": "testserviceaccount"
},
"kustomizations": {
"srs-kustomization1": {
"path": "./test/path",
"dependsOn": [],
"timeoutInSeconds": 600,
"syncIntervalInSeconds": 600
},
"srs-kustomization2": {
"path": "./other/test/path",
"dependsOn": [
"srs-kustomization1"
],
"timeoutInSeconds": 600,
"syncIntervalInSeconds": 600,
"retryIntervalInSeconds": 600,
"prune": false
}
}
}
}
Sample response
Operation-Location: /subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}
x-ms-async-operation-timeout: PT48H
{
"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": "OCIRepository",
"suspend": false,
"gitRepository": null,
"bucket": null,
"azureBlob": null,
"ociRepository": {
"url": "oci://ghcr.io/stefanprodan/manifests/podinfo",
"syncIntervalInSeconds": 1000,
"timeoutInSeconds": 1000,
"serviceAccountName": "testserviceaccount"
},
"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": "OCIRepository",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": null,
"statusConditions": [
{
"lastTransitionTime": "2022-05-04T07:17:30+00:00",
"message": "stored artifact for revision '55396be14f18fa2b977c1f22becef26a94d1d9a7ccb1e19d12f9cac52d757a84'",
"reason": "Succeeded",
"status": "True",
"type": "Ready"
}
]
},
{
"name": "srs-fluxconfig-srs-kustomization1",
"kind": "Kustomization",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": {
"lastRevisionApplied": 1,
"helmChartRef": {
"name": "myname",
"namespace": "mynamespace"
},
"failureCount": null,
"upgradeFailureCount": null,
"installFailureCount": null
},
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Applied revision: 0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "ReconciliationSucceeded",
"status": "True",
"type": "Ready"
}
]
},
{
"name": "srs-fluxconfig-srs-kustomization2",
"kind": "Kustomization",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": {
"lastRevisionApplied": 1,
"helmChartRef": {
"name": "myname",
"namespace": "mynamespace"
},
"failureCount": null,
"upgradeFailureCount": null,
"installFailureCount": null
},
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Applied revision: 0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "ReconciliationSucceeded",
"status": "True",
"type": "Ready"
}
]
}
],
"repositoryPublicKey": "",
"sourceSyncedCommitId": "0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
"sourceUpdatedAt": "2021-05-19T18:17:12Z",
"statusUpdatedAt": "2021-05-19T18:17:12Z",
"complianceState": "Compliant",
"provisioningState": "Succeeded",
"errorMessage": ""
}
}
Operation-Location: /subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}
x-ms-async-operation-timeout: PT48H
{
"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": "OCIRepository",
"suspend": false,
"gitRepository": null,
"bucket": null,
"azureBlob": null,
"ociRepository": {
"url": "oci://ghcr.io/stefanprodan/manifests/podinfo",
"syncIntervalInSeconds": 1000,
"timeoutInSeconds": 1000,
"serviceAccountName": "testserviceaccount"
},
"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": "OCIRepository",
"complianceState": "Compliant",
"appliedBy": null,
"statusConditions": [
{
"lastTransitionTime": "2022-05-04T07:17:30+00:00",
"message": "stored artifact for revision '55396be14f18fa2b977c1f22becef26a94d1d9a7ccb1e19d12f9cac52d757a84'",
"reason": "Succeeded",
"status": "True",
"type": "Ready"
}
]
},
{
"name": "srs-fluxconfig-srs-kustomization1",
"kind": "Kustomization",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": {
"lastRevisionApplied": 1,
"helmChartRef": {
"name": "myname",
"namespace": "mynamespace"
},
"failureCount": null,
"upgradeFailureCount": null,
"installFailureCount": null
},
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Applied revision: 0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "ReconciliationSucceeded",
"status": "True",
"type": "Ready"
}
]
},
{
"name": "srs-fluxconfig-srs-kustomization2",
"kind": "Kustomization",
"complianceState": "Compliant",
"appliedBy": null,
"helmReleaseProperties": {
"lastRevisionApplied": 1,
"helmChartRef": {
"name": "myname",
"namespace": "mynamespace"
},
"failureCount": null,
"upgradeFailureCount": null,
"installFailureCount": null
},
"statusConditions": [
{
"lastTransitionTime": "2021-05-19T18:12:40Z",
"message": "'Applied revision: 0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
"reason": "ReconciliationSucceeded",
"status": "True",
"type": "Ready"
}
]
}
],
"repositoryPublicKey": "",
"sourceSyncedCommitId": "0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
"sourceUpdatedAt": "2021-05-19T18:17:12Z",
"statusUpdatedAt": "2021-05-19T18:17:12Z",
"complianceState": "Compliant",
"provisioningState": "Succeeded",
"errorMessage": ""
}
}
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. |
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. |
Layer |
Parameters to specify which layer to pull from the OCI artifact. By default, the first layer in the artifact is pulled. |
Managed |
Parameters to authenticate using a Managed Identity. |
Match |
MatchOIDCIdentity defines the criteria for matching the identity while verifying an OCI artifact. |
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. |
OCIRepository |
Parameters to reconcile to the OCIRepository source kind type. |
OCIRepository |
The source reference for the OCIRepository object. |
Operation |
The operation to be performed on the selected layer. The default value is 'extract', but it can be set to 'copy'. |
Post |
The postBuild definitions defining variable substitutions for this Kustomization after kustomize build. |
Provider |
Name of the provider used for authentication. |
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. |
Tls |
Parameters to authenticate using TLS config for OCI repository. |
Verify |
Parameters to verify the authenticity of an OCI Artifact. |
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 (int64) |
600 |
The interval at which to re-reconcile the cluster Azure Blob source with the remote. |
timeoutInSeconds |
integer (int64) |
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 (int64) |
600 |
The interval at which to re-reconcile the cluster bucket source with the remote. |
timeoutInSeconds |
integer (int64) |
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.
Value | Description |
---|---|
User | |
Application | |
ManagedIdentity | |
Key |
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.
Value | Description |
---|---|
Compliant | |
Non-Compliant | |
Pending | |
Suspended | |
Unknown |
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.ociRepository |
Parameters to reconcile to the OCIRepository source kind type. |
||
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 (date-time) |
Datetime the fluxConfiguration synced its source on the cluster. |
|
properties.statusUpdatedAt |
string (date-time) |
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" |
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. |
|
provider |
Name of the provider used for authentication. |
||
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 (int64) |
600 |
The interval at which to re-reconcile the cluster git repository source with the remote. |
timeoutInSeconds |
integer (int64) |
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 (int64) |
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 (int64) |
Number of times that the HelmRelease failed to install |
lastRevisionApplied |
integer (int64) |
The revision number of the last released object change |
upgradeFailureCount |
integer (int64) |
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 (int64) |
The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation. |
|
syncIntervalInSeconds |
integer (int64) |
600 |
The interval at which to re-reconcile the Kustomization on the cluster. |
timeoutInSeconds |
integer (int64) |
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. |
LayerSelectorDefinition
Parameters to specify which layer to pull from the OCI artifact. By default, the first layer in the artifact is pulled.
Name | Type | Description |
---|---|---|
mediaType |
string |
The first layer matching the specified media type will be used. |
operation |
The operation to be performed on the selected layer. The default value is 'extract', but it can be set to 'copy'. |
ManagedIdentityDefinition
Parameters to authenticate using a Managed Identity.
Name | Type | Description |
---|---|---|
clientId |
string |
The client Id for authenticating a Managed Identity. |
MatchOidcIdentityDefinition
MatchOIDCIdentity defines the criteria for matching the identity while verifying an OCI artifact.
Name | Type | Description |
---|---|---|
issuer |
string |
The regex pattern to match against to verify the OIDC issuer. |
subject |
string |
The regex pattern to match against to verify the identity subject. |
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 (date-time) |
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 |
OCIRepositoryDefinition
Parameters to reconcile to the OCIRepository source kind type.
Name | Type | Default value | Description |
---|---|---|---|
insecure |
boolean |
False |
Specify whether to allow connecting to a non-TLS HTTP container registry. |
layerSelector |
The layer to be pulled from the OCI artifact. |
||
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 OCIRepository object. |
||
serviceAccountName |
string |
The service account name to authenticate with the OCI repository. |
|
syncIntervalInSeconds |
integer (int64) |
600 |
The interval at which to re-reconcile the cluster OCI repository source with the remote. |
timeoutInSeconds |
integer (int64) |
600 |
The maximum time to attempt to reconcile the cluster OCI repository source with the remote. |
tlsConfig |
Parameters to authenticate using TLS config for OCI repository. |
||
url |
string (uri) |
The URL to sync for the flux configuration OCI repository. |
|
useWorkloadIdentity |
boolean |
False |
Specifies whether to use Workload Identity to authenticate with the OCI repository. |
verify |
Verification of the authenticity of an OCI Artifact. |
OCIRepositoryRefDefinition
The source reference for the OCIRepository object.
Name | Type | Description |
---|---|---|
digest |
string |
The image digest to pull from OCI repository, the value should be in the format ‘sha256:’. This takes precedence over semver. |
semver |
string |
The semver range used to match against OCI repository tags. This takes precedence over tag. |
tag |
string |
The OCI repository image tag name to pull. This defaults to 'latest'. |
OperationType
The operation to be performed on the selected layer. The default value is 'extract', but it can be set to 'copy'.
Value | Description |
---|---|
extract | |
copy |
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. |
ProviderType
Name of the provider used for authentication.
Value | Description |
---|---|
Azure |
Azure provider can be used to authenticate to Azure DevOps repositories using Managed Identity. |
GitHub |
GitHub provider can be used to authenticate |
Generic |
Generic is the default provider that indicates secret-based authentication mechanism. |
ProvisioningState
Status of the creation of the fluxConfiguration.
Value | Description |
---|---|
Succeeded | |
Failed | |
Canceled | |
Creating | |
Updating | |
Deleting |
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.
Value | Description |
---|---|
cluster | |
namespace |
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.
Value | Description |
---|---|
GitRepository | |
Bucket | |
AzureBlob | |
OCIRepository |
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 (date-time) |
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 (date-time) |
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. |
TlsConfigDefinition
Parameters to authenticate using TLS config for OCI repository.
Name | Type | Description |
---|---|---|
caCertificate |
string |
Base64-encoded CA certificate used to verify the server. |
clientCertificate |
string |
Base64-encoded certificate used to authenticate a client with the OCI repository. |
privateKey |
string |
Base64-encoded private key used to authenticate a client with the OCI repository. |
VerifyDefinition
Parameters to verify the authenticity of an OCI Artifact.
Name | Type | Description |
---|---|---|
matchOidcIdentity |
Array defining the criteria for matching the identity while verifying an OCI artifact. |
|
provider |
string |
Verification provider name. |
verificationConfig |
object |
An object containing trusted public keys of trusted authors. |