diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-02-01/examples/CreateFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-02-01/examples/CreateFluxConfiguration.json index f4e9e345ef1f..4b092a9aabe5 100644 --- a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-02-01/examples/CreateFluxConfiguration.json +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-02-01/examples/CreateFluxConfiguration.json @@ -27,7 +27,21 @@ "path": "./test/path", "dependsOn": [], "timeoutInSeconds": 600, - "syncIntervalInSeconds": 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", @@ -37,7 +51,22 @@ "timeoutInSeconds": 600, "syncIntervalInSeconds": 600, "retryIntervalInSeconds": 600, - "prune": false + "prune": false, + "wait": false, + "postBuild": { + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-values", + "optional": true + }, + { + "kind": "Secret", + "name": "secret-name", + "optional": false + } + ] + } } }, "waitForReconciliation": true, @@ -87,7 +116,21 @@ "path": "./test/path", "dependsOn": [], "timeoutInSeconds": 600, - "syncIntervalInSeconds": 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", @@ -98,7 +141,22 @@ "timeoutInSeconds": 600, "syncIntervalInSeconds": 600, "retryIntervalInSeconds": 600, - "prune": false + "prune": false, + "wait": false, + "postBuild": { + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-values", + "optional": true + }, + { + "kind": "Secret", + "name": "secret-name", + "optional": false + } + ] + } } }, "statuses": [ @@ -221,7 +279,21 @@ "path": "./test/path", "dependsOn": [], "timeoutInSeconds": 600, - "syncIntervalInSeconds": 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", @@ -232,7 +304,22 @@ "timeoutInSeconds": 600, "syncIntervalInSeconds": 600, "retryIntervalInSeconds": 600, - "prune": false + "prune": false, + "wait": false, + "postBuild": { + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-values", + "optional": true + }, + { + "kind": "Secret", + "name": "secret-name", + "optional": false + } + ] + } } }, "statuses": [ diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-02-01/examples/GetFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-02-01/examples/GetFluxConfiguration.json index cbb56df428db..8a5f97cf8678 100644 --- a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-02-01/examples/GetFluxConfiguration.json +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-02-01/examples/GetFluxConfiguration.json @@ -46,7 +46,21 @@ "path": "./test/path", "dependsOn": [], "timeoutInSeconds": 600, - "syncIntervalInSeconds": 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", @@ -57,7 +71,22 @@ "timeoutInSeconds": 600, "syncIntervalInSeconds": 600, "retryIntervalInSeconds": 600, - "prune": false + "prune": false, + "wait": false, + "postBuild": { + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-values", + "optional": true + }, + { + "kind": "Secret", + "name": "secret-name", + "optional": false + } + ] + } } }, "statuses": [ diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-02-01/examples/ListFluxConfigurations.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-02-01/examples/ListFluxConfigurations.json index d19902faa5b5..649ed932cff6 100644 --- a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-02-01/examples/ListFluxConfigurations.json +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-02-01/examples/ListFluxConfigurations.json @@ -45,7 +45,21 @@ "path": "./test/path", "dependsOn": [], "timeoutInSeconds": 600, - "syncIntervalInSeconds": 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", @@ -56,7 +70,22 @@ "timeoutInSeconds": 600, "syncIntervalInSeconds": 600, "retryIntervalInSeconds": 600, - "prune": false + "prune": false, + "wait": false, + "postBuild": { + "substituteFrom": [ + { + "kind": "ConfigMap", + "name": "cluster-values", + "optional": true + }, + { + "kind": "Secret", + "name": "secret-name", + "optional": false + } + ] + } } }, "statuses": [ diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-02-01/fluxconfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-02-01/fluxconfiguration.json index 97661ebad699..9bcbf9e02b26 100644 --- a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-02-01/fluxconfiguration.json +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-02-01/fluxconfiguration.json @@ -858,6 +858,50 @@ } } }, + "PostBuildDefinition": { + "description": "The postBuild definitions defining variable substitutions for this Kustomization after kustomize build.", + "type": "object", + "x-nullable": true, + "properties": { + "substitute": { + "description": "Key/value pairs holding the variables to be substituted in this Kustomization.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "substituteFrom": { + "description": "Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/SubstituteFromDefinition" + }, + "x-nullable": true + } + } + }, + "SubstituteFromDefinition": { + "description": "Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.", + "type": "object", + "x-nullable": true, + "properties": { + "kind": { + "description": "Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.", + "type": "string" + }, + "name": { + "description": "Name of the ConfigMap/Secret that holds the variables to be used in substitution.", + "type": "string" + }, + "optional": { + "description": "Set to True to proceed without Configmap/Secret, if it is not present.", + "type": "boolean", + "default": false + } + } + }, "KustomizationDefinition": { "description": "The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.", "type": "object", @@ -911,6 +955,20 @@ "description": "Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change.", "type": "boolean", "default": false + }, + "wait": { + "description": "Enable/disable health check for all Kubernetes objects created by this Kustomization.", + "type": "boolean", + "default": true + }, + "postBuild":{ + "description": "Used for variable substitution for this Kustomization after kustomize build.", + "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/PostBuildDefinition" + }, + "x-nullable": true } } },