Condividi tramite


Flux Configurations - Create Or Update

Creare una nuova configurazione di Kubernetes Flux.

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

Parametri dell'URI

Nome In Necessario Tipo Descrizione
clusterName
path True

string

Nome del cluster kubernetes.

clusterResourceName
path True

string

Nome della risorsa del cluster Kubernetes, ovvero managedClusters, connectedClusters, provisionedClusters.

clusterRp
path True

string

Rp del cluster Kubernetes, ad esempio Microsoft.ContainerService, Microsoft.Kubernetes, Microsoft.HybridContainerService.

fluxConfigurationName
path True

string

Nome della configurazione di Flux.

resourceGroupName
path True

string

Nome del gruppo di risorse. Per il nome non viene fatta distinzione tra maiuscole e minuscole.

subscriptionId
path True

string

ID della sottoscrizione di destinazione.

api-version
query True

string

Versione dell'API da usare per questa operazione.

Corpo della richiesta

Nome Tipo Descrizione
properties.azureBlob

AzureBlobDefinition

Parametri da riconciliare con il tipo di origine AzureBlob.

properties.bucket

BucketDefinition

Parametri da riconciliare con il tipo di origine bucket.

properties.configurationProtectedSettings

object

Coppie chiave-valore delle impostazioni di configurazione protette per la configurazione

properties.gitRepository

GitRepositoryDefinition

Parametri da riconciliare con il tipo di origine GitRepository.

properties.kustomizations

<string,  KustomizationDefinition>

Matrice di kustomization usate per riconciliare l'artefatto estratto dal tipo di origine nel cluster.

properties.namespace

string

Spazio dei nomi in cui è installata questa configurazione. Massimo 253 caratteri alfanumerici minuscoli, trattino e punto.

properties.reconciliationWaitDuration

string

Durata massima di attesa per la riconciliazione della configurazione del flusso. Ad esempio PT1H, PT5M, P1D

properties.scope

ScopeType

Ambito in cui verrà installato l'operatore.

properties.sourceKind

SourceKindType

Tipo di origine da cui eseguire il pull dei dati di configurazione.

properties.suspend

boolean

Se questa configurazione deve sospendere la riconciliazione delle relative kustomizzazioni e origini.

properties.waitForReconciliation

boolean

Indica se la distribuzione della configurazione del flusso deve attendere che il cluster riconcilia le kustomization.

Risposte

Nome Tipo Descrizione
200 OK

FluxConfiguration

Richiesta ricevuta correttamente per una risorsa esistente.

201 Created

FluxConfiguration

Richiesta ricevuta correttamente.

Other Status Codes

ErrorResponse

Risposta di errore che descrive il motivo per cui l'operazione non è riuscita.

Sicurezza

azure_auth

Flusso OAuth2 di Azure Active Directory

Tipo: oauth2
Flow: implicit
URL di autorizzazione: https://login.microsoftonline.com/common/oauth2/authorize

Ambiti

Nome Descrizione
user_impersonation rappresentare l'account utente

Esempio

Create Flux Configuration
Create Flux Configuration with Bucket Source Kind

Create Flux Configuration

Esempio di richiesta

PUT https://management.azure.com/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig?api-version=2023-05-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"
  }
}

Risposta di esempio

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=2023-05-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

Esempio di richiesta

PUT https://management.azure.com/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig?api-version=2023-05-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
      }
    }
  }
}

Risposta di esempio

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": ""
  }
}

Definizioni

Nome Descrizione
AzureBlobDefinition

Parametri da riconciliare con il tipo di origine AzureBlob.

BucketDefinition

Parametri da riconciliare con il tipo di origine bucket.

createdByType

Tipo di identità che ha creato la risorsa.

ErrorAdditionalInfo

Informazioni aggiuntive sull'errore di gestione delle risorse.

ErrorDetail

Dettagli dell'errore.

ErrorResponse

Risposta di errore

FluxComplianceState

Stato di conformità dell'oggetto applicato che indica se l'oggetto applicato è entrato in uno stato pronto nel cluster.

FluxConfiguration

Oggetto Flux Configuration restituito in Get & Put response.

GitRepositoryDefinition

Parametri da riconciliare con il tipo di origine GitRepository.

HelmReleasePropertiesDefinition

Proprietà per gli oggetti HelmRelease

KustomizationDefinition

Kustomization che definisce come riconciliare l'artefatto pull dal tipo di origine nel cluster.

ManagedIdentityDefinition

Parametri per l'autenticazione tramite un'identità gestita.

ObjectReferenceDefinition

Riferimento all'oggetto a un oggetto Kubernetes in un cluster

ObjectStatusConditionDefinition

Condizione di stato dell'oggetto Kubernetes

ObjectStatusDefinition

Stato degli oggetti distribuiti dai kustomization specificati dall'utente dal repository Git.

PostBuildDefinition

Le definizioni postBuild che definiscono le sostituzioni di variabili per questa kustomizzazione dopo la compilazione kustomize.

ProvisioningState

Stato della creazione di fluxConfiguration.

RepositoryRefDefinition

Riferimento di origine per l'oggetto GitRepository.

ScopeType

Ambito in cui verrà installato l'operatore.

ServicePrincipalDefinition

Parametri da autenticare tramite entità servizio.

SourceKindType

Tipo di origine da cui eseguire il pull dei dati di configurazione.

SubstituteFromDefinition

Matrice di ConfigMaps/Secrets da cui le variabili vengono sostituite per questa Kustomization.

systemData

Metadati relativi alla creazione e all'ultima modifica della risorsa.

AzureBlobDefinition

Parametri da riconciliare con il tipo di origine AzureBlob.

Nome Tipo Valore predefinito Descrizione
accountKey

string

Chiave dell'account (chiave condivisa) per accedere all'account di archiviazione

containerName

string

Nome del contenitore BLOB di Azure da sincronizzare dall'endpoint url per la configurazione del flusso.

localAuthRef

string

Nome di un segreto locale nel cluster Kubernetes da usare come segreto di autenticazione anziché i segreti di configurazione gestiti o forniti dall'utente.

managedIdentity

ManagedIdentityDefinition

Parametri da autenticare usando un'identità gestita.

sasToken

string

Token di accesso condiviso per accedere al contenitore di archiviazione

servicePrincipal

ServicePrincipalDefinition

Parametri da autenticare tramite entità servizio.

syncIntervalInSeconds

integer

600

Intervallo in cui riconciliare nuovamente l'origine BLOB di Azure del cluster con l'oggetto remoto.

timeoutInSeconds

integer

600

Tempo massimo per tentare di riconciliare l'origine BLOB di Azure del cluster con il remoto.

url

string

URL da sincronizzare per l'account di archiviazione BLOB di Azure.

BucketDefinition

Parametri da riconciliare con il tipo di origine bucket.

Nome Tipo Valore predefinito Descrizione
accessKey

string

Chiave di accesso in testo non crittografato usata per accedere in modo sicuro al bucket S3

bucketName

string

Nome del bucket da sincronizzare dall'endpoint url per la configurazione del flusso.

insecure

boolean

True

Specificare se usare la comunicazione non sicura quando si pulono i dati dal bucket S3.

localAuthRef

string

Nome di un segreto locale nel cluster Kubernetes da usare come segreto di autenticazione anziché i segreti di configurazione gestiti o forniti dall'utente.

syncIntervalInSeconds

integer

600

Intervallo in cui riconciliare nuovamente l'origine del bucket del cluster con il remoto.

timeoutInSeconds

integer

600

Tempo massimo per tentare di riconciliare l'origine del bucket del cluster con il remoto.

url

string

URL da sincronizzare per il bucket S3 della configurazione del flusso.

createdByType

Tipo di identità che ha creato la risorsa.

Nome Tipo Descrizione
Application

string

Key

string

ManagedIdentity

string

User

string

ErrorAdditionalInfo

Informazioni aggiuntive sull'errore di gestione delle risorse.

Nome Tipo Descrizione
info

object

Informazioni aggiuntive.

type

string

Tipo di informazioni aggiuntive.

ErrorDetail

Dettagli dell'errore.

Nome Tipo Descrizione
additionalInfo

ErrorAdditionalInfo[]

Informazioni aggiuntive sull'errore.

code

string

Codice di errore.

details

ErrorDetail[]

Dettagli dell'errore.

message

string

Messaggio di errore.

target

string

Destinazione dell'errore.

ErrorResponse

Risposta di errore

Nome Tipo Descrizione
error

ErrorDetail

Oggetto error.

FluxComplianceState

Stato di conformità dell'oggetto applicato che indica se l'oggetto applicato è entrato in uno stato pronto nel cluster.

Nome Tipo Descrizione
Compliant

string

Non-Compliant

string

Pending

string

Suspended

string

Unknown

string

FluxConfiguration

Oggetto Flux Configuration restituito in Get & Put response.

Nome Tipo Valore predefinito Descrizione
id

string

ID di risorsa completo per la risorsa. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

nome della risorsa.

properties.azureBlob

AzureBlobDefinition

Parametri da riconciliare con il tipo di origine AzureBlob.

properties.bucket

BucketDefinition

Parametri da riconciliare con il tipo di origine bucket.

properties.complianceState

FluxComplianceState

Unknown

Stato combinato delle risorse di Flux Kubernetes create da fluxConfiguration o create dagli oggetti gestiti.

properties.configurationProtectedSettings

object

Coppie chiave-valore delle impostazioni di configurazione protette per la configurazione

properties.errorMessage

string

Messaggio di errore restituito all'utente nel caso di errore di provisioning.

properties.gitRepository

GitRepositoryDefinition

Parametri da riconciliare con il tipo di origine GitRepository.

properties.kustomizations

<string,  KustomizationDefinition>

Matrice di kustomization usate per riconciliare l'artefatto estratto dal tipo di origine nel cluster.

properties.namespace

string

default

Spazio dei nomi a cui è installata questa configurazione. Massimo 253 caratteri alfanumerici minuscoli, trattino e punto solo.

properties.provisioningState

ProvisioningState

Stato della creazione del flussoConfiguration.

properties.reconciliationWaitDuration

string

Durata massima per attendere la riconciliazione della configurazione del flusso. Ad esempio PT1H, PT5M, P1D

properties.repositoryPublicKey

string

Chiave pubblica associata a questo fluxConfiguration (generata all'interno del cluster o fornita dall'utente).

properties.scope

ScopeType

cluster

Ambito in cui verrà installato l'operatore.

properties.sourceKind

SourceKindType

GitRepository

Tipo di origine da cui eseguire il pull dei dati di configurazione.

properties.sourceSyncedCommitId

string

Ramo e/o SHA del commit di origine sincronizzato con il cluster.

properties.sourceUpdatedAt

string

Datetime fluxConfiguration ha sincronizzato l'origine nel cluster.

properties.statusUpdatedAt

string

Datetime fluxConfiguration ha sincronizzato lo stato nel cluster con Azure.

properties.statuses

ObjectStatusDefinition[]

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

properties.suspend

boolean

False

Se questa configurazione deve sospendere la riconciliazione delle relative kustomizzazioni e origini.

properties.waitForReconciliation

boolean

Se la distribuzione della configurazione del flusso deve attendere che il cluster si riconcilia con le kustomization.

systemData

systemData

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

type

string

Tipo di risorsa. Ad esempio, "Microsoft.Compute/virtualMachines" o "Microsoft.Storage/storageAccounts"

GitRepositoryDefinition

Parametri da riconciliare con il tipo di origine GitRepository.

Nome Tipo Valore predefinito Descrizione
httpsCACert

string

Contenuto dell'autorità di certificazione HTTPS con codifica base64 usato per accedere ai repository Git privati git tramite HTTPS

httpsUser

string

Nome utente HTTPS non crittografato usato per accedere ai repository Git privati tramite HTTPS

localAuthRef

string

Nome di un segreto locale nel cluster Kubernetes da usare come segreto di autenticazione anziché i segreti di configurazione gestiti o forniti dall'utente.

repositoryRef

RepositoryRefDefinition

Riferimento di origine per l'oggetto GitRepository.

sshKnownHosts

string

Valore di known_hosts con codifica Base64 contenente chiavi SSH pubbliche necessarie per accedere ai repository Git privati tramite SSH

syncIntervalInSeconds

integer

600

Intervallo in cui riconciliare nuovamente l'origine del repository Git del cluster con il remoto.

timeoutInSeconds

integer

600

Tempo massimo per tentare di riconciliare l'origine del repository Git del cluster con il remoto.

url

string

URL da sincronizzare per il repository Git di configurazione del flusso.

HelmReleasePropertiesDefinition

Proprietà per gli oggetti HelmRelease

Nome Tipo Descrizione
failureCount

integer

Numero totale di volte in cui HelmRelease non è riuscito a installare o aggiornare

helmChartRef

ObjectReferenceDefinition

Riferimento all'oggetto HelmChart utilizzato come origine per questo HelmRelease

installFailureCount

integer

Numero di volte in cui HelmRelease non è riuscito a installare

lastRevisionApplied

integer

Numero di revisione dell'ultima modifica dell'oggetto rilasciato

upgradeFailureCount

integer

Numero di volte in cui HelmRelease non è riuscito a eseguire l'aggiornamento

KustomizationDefinition

Kustomization che definisce come riconciliare l'artefatto pull dal tipo di origine nel cluster.

Nome Tipo Valore predefinito Descrizione
dependsOn

string[]

Specifica altre kustomizzazioni a seconda di questa kustomizzazione. Questa kustomizzazione non si riconcilia fino a quando tutte le dipendenze non hanno completato la riconciliazione.

force

boolean

False

Abilitare/disabilitare nuovamente la creazione di risorse Kubernetes nel cluster quando l'applicazione di patch ha esito negativo a causa di una modifica del campo non modificabile.

name

string

Nome della Kustomization, corrispondente alla chiave nella mappa degli oggetti Kustomizations.

path

string

Percorso nel riferimento all'origine da riconciliare nel cluster.

postBuild

PostBuildDefinition

Usato per la sostituzione delle variabili per questa kustomizzazione dopo la compilazione kustomize.

prune

boolean

False

Abilitare/disabilitare le garbage collections degli oggetti Kubernetes creati da questa Kustomization.

retryIntervalInSeconds

integer

Intervallo in cui riconciliare nuovamente la Kustomizzazione nel cluster in caso di errore nella riconciliazione.

syncIntervalInSeconds

integer

600

Intervallo in cui riconciliare nuovamente la Kustomization nel cluster.

timeoutInSeconds

integer

600

Tempo massimo per tentare di riconciliare la Kustomization nel cluster.

wait

boolean

True

Abilitare/disabilitare il controllo di integrità per tutti gli oggetti Kubernetes creati da questa Kustomization.

ManagedIdentityDefinition

Parametri per l'autenticazione tramite un'identità gestita.

Nome Tipo Descrizione
clientId

string

ID client per l'autenticazione di un'identità gestita.

ObjectReferenceDefinition

Riferimento all'oggetto a un oggetto Kubernetes in un cluster

Nome Tipo Descrizione
name

string

Nome dell'oggetto

namespace

string

Spazio dei nomi dell'oggetto

ObjectStatusConditionDefinition

Condizione di stato dell'oggetto Kubernetes

Nome Tipo Descrizione
lastTransitionTime

string

Ora dell'ultima modifica di questa condizione di stato

message

string

Descrizione più dettagliata della condizione di stato dell'oggetto

reason

string

Motivo dello stato del tipo di condizione di stato specificato

status

string

Stato del tipo di condizione dell'oggetto Kubernetes

type

string

Tipo di condizione dello stato dell'oggetto per questo oggetto

ObjectStatusDefinition

Stato degli oggetti distribuiti dai kustomization specificati dall'utente dal repository Git.

Nome Tipo Valore predefinito Descrizione
appliedBy

ObjectReferenceDefinition

Riferimento all'oggetto Kustomization che ha applicato questo oggetto

complianceState

FluxComplianceState

Unknown

Stato di conformità dell'oggetto applicato che mostra se l'oggetto applicato è entrato in uno stato pronto nel cluster.

helmReleaseProperties

HelmReleasePropertiesDefinition

Proprietà aggiuntive fornite da oggetti del tipo HelmRelease

kind

string

Tipo dell'oggetto applicato

name

string

Nome dell'oggetto applicato

namespace

string

Spazio dei nomi dell'oggetto applicato

statusConditions

ObjectStatusConditionDefinition[]

Elenco delle condizioni di stato dell'oggetto Kubernetes presenti nel cluster

PostBuildDefinition

Le definizioni postBuild che definiscono le sostituzioni di variabili per questa kustomizzazione dopo la compilazione kustomize.

Nome Tipo Descrizione
substitute

object

Coppie chiave/valore che contengono le variabili da sostituire in questa kustomizzazione.

substituteFrom

SubstituteFromDefinition[]

Matrice di ConfigMaps/Secrets da cui le variabili vengono sostituite per questa Kustomization.

ProvisioningState

Stato della creazione di fluxConfiguration.

Nome Tipo Descrizione
Canceled

string

Creating

string

Deleting

string

Failed

string

Succeeded

string

Updating

string

RepositoryRefDefinition

Riferimento di origine per l'oggetto GitRepository.

Nome Tipo Descrizione
branch

string

Nome del ramo del repository Git da eseguire per il checkout.

commit

string

Commit SHA per il checkout. Questo valore deve essere combinato con il nome del ramo che deve essere valido. Questa ha la precedenza su semver.

semver

string

Intervallo semver usato per la corrispondenza con i tag del repository Git. Questa operazione ha la precedenza sul tag.

tag

string

Nome del tag del repository git da eseguire per il checkout. Questa operazione ha la precedenza sul ramo.

ScopeType

Ambito in cui verrà installato l'operatore.

Nome Tipo Descrizione
cluster

string

namespace

string

ServicePrincipalDefinition

Parametri da autenticare tramite entità servizio.

Nome Tipo Valore predefinito Descrizione
clientCertificate

string

Certificato con codifica Base64 usato per autenticare un'entità servizio

clientCertificatePassword

string

Password per il certificato usato per autenticare un'entità servizio

clientCertificateSendChain

boolean

False

Specifica se includere l'intestazione x5c nelle attestazioni client durante l'acquisizione di un token per abilitare l'autenticazione basata su nome soggetto/autorità di certificazione per il certificato client

clientId

string

ID client per l'autenticazione di un'entità servizio.

clientSecret

string

Segreto client per l'autenticazione di un'entità servizio

tenantId

string

ID tenant per l'autenticazione di un'entità servizio

SourceKindType

Tipo di origine da cui eseguire il pull dei dati di configurazione.

Nome Tipo Descrizione
AzureBlob

string

Bucket

string

GitRepository

string

SubstituteFromDefinition

Matrice di ConfigMaps/Secrets da cui le variabili vengono sostituite per questa Kustomization.

Nome Tipo Valore predefinito Descrizione
kind

string

Definire se si tratta di ConfigMap o Secret che contiene le variabili da usare in sostituzione.

name

string

Nome dell'oggetto ConfigMap/Secret che contiene le variabili da usare in sostituzione.

optional

boolean

False

Impostare su True per continuare senza ConfigMap/Secret, se non è presente.

systemData

Metadati relativi alla creazione e all'ultima modifica della risorsa.

Nome Tipo Descrizione
createdAt

string

Timestamp della creazione di risorse (UTC).

createdBy

string

Identità che ha creato la risorsa.

createdByType

createdByType

Tipo di identità che ha creato la risorsa.

lastModifiedAt

string

Timestamp dell'ultima modifica della risorsa (UTC)

lastModifiedBy

string

Identità che ha modificato l'ultima risorsa.

lastModifiedByType

createdByType

Tipo di identità che ha modificato l'ultima risorsa.