You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -13,12 +14,18 @@ With headless installation, you provide all the necessary installation assets, s
13
14
14
15
## Prerequisite
15
16
16
-
Create a ConfigValues YAML file to define the configuration values for the application release. The ConfigValues file allows you to pass the configuration values for an application from the command line with the install command, rather than through the Admin Console UI. For air-gapped environments, ensure that the ConfigValues file can be accessed from the installation environment.
17
+
Create a Replicated KOTS ConfigValues resource to define the configuration values for the application. The ConfigValues resource allows you to pass the configuration values for an application from the command line with the install command, rather than through the Admin Console UI. For air-gapped environments, ensure that the ConfigValues file can be accessed from the installation environment.
17
18
18
-
The KOTS ConfigValues file includes the fields that are defined in the KOTS Config custom resource for an application release, along with the user-supplied and default values for each field, as shown in the example below:
19
+
The ConfigValues resource includes the fields that are defined in the Replicated KOTS Config custom resource for the release, along with the user-supplied and default values for each field, as shown in the example below:
19
20
20
21
<ConfigValuesExample/>
21
22
23
+
#### ConfigValues Requirements
24
+
25
+
<ConfigValuesRequirements/>
26
+
27
+
For more information, see [ConfigValues](/reference/custom-resource-configvalues).
28
+
22
29
## Limtiation
23
30
24
31
Automating deployment with Embedded Cluster is supported only for the initial installation. Performing automated (headless) updates of existing installations with Embedded Cluster is not supported. For information about how to update an existing installation through the Admin Console UI, see [Perform Updates in Embedded Clusters](/enterprise/updating-embedded).
The ConfigValues resource passed to the install command must meet the following requirements:
2
-
* Must be valid YAML
3
-
* Must list all configuration items that are defined in the corresponding Config resource in the release
4
-
* For each item in the Config resource that has a default, the ConfigValues must also list the item's default. Default values are not automatically merged from the Config resource during installation.
5
-
* For any configuration items of type `password`, provide the password in plain text in a `valuePlainText` property rather than in the `value` property. For example, `valuePlainText: somesecretvalue`.
1
+
The ConfigValues resource must meet the following requirements:
2
+
* Must be valid YAML.
3
+
* Must list all configuration items that are defined in the corresponding Config resource in the release, except any items with the [`hidden`](/reference/custom-resource-config#hidden) or [`readonly`](/reference/custom-resource-config#readonly) properties set to true.
4
+
* For each configuration item in the Config resource that has a default value set, the ConfigValues must also list the default in the `default` property. Defaults are not automatically merged from the Config resource during installation.
5
+
* For any configuration items of type [`password`](/reference/custom-resource-config#password), set the password in plain text in a `valuePlainText` property rather than in the `value` property. For example, `valuePlainText: somesecretvalue`. Values set in `valuePlainText` are encrypted during installation.
6
+
* All values must be strings. For booleans or integers, use quotes (for example, `value: "1"`, `value: "0"`, or `value: "443"`).
This topic describes the Replicated KOTS ConfigValues custom resource. ConfigValues is used to provide application configuration values during automated or headless installations with the CLI.
6
+
This topic describes the Replicated KOTS ConfigValues resource. ConfigValues is used to set application configuration values during automated or headless installations from the command line.
7
+
8
+
For information about the Replicated KOTS Config custom resource, which is used to customize the application-specific configuration fields on the Admin Console config screen, see [Config](custom-resource-config).
6
9
7
10
## Overview
8
11
9
-
The ConfigValues resource lists the values and defaults set for each application configuration item defined in the Replicated KOTS Config custom resource in the release. For more information about the Config custom resource, see [Config](custom-resource-config).
12
+
The ConfigValues resource lists the values and defaults for each application configuration item defined in the Replicated KOTS [Config](custom-resource-config) resource in the release.
10
13
11
-
For each installation, the Admin Console automatically generates a ConfigValues resource and makes it available for download in the **View files** tab.
14
+
In automated or headless installations, end users provide a ConfigValues resource with the install command to set the application configuration values from the command line rather than through the Admin Console UI. For more information about performing headless installations with Replicated Embedded Cluster, see [Automate Embedded Cluster Installations](/enterprise/installing-embedded-automation). For information about performing headless installations with KOTS in an existing cluster, see [Install with the KOTS CLI](/enterprise/installing-existing-cluster-automation).
12
15
13
-
In automated or headless installs from the command line, end users must pass a ConfigValues resource to the install command to provide application configuration values to the Admin Console. For more information about performing headless installations, see [Automate Embedded Cluster Installations](/enterprise/installing-embedded-automation) and [Automate Existing Cluster Installations with the KOTS CLI](/enterprise/installing-existing-cluster-automation).
16
+
Additionally, for each installation, the Admin Console automatically generates a ConfigValues resource and makes it available for download in the Admin Console**View files** tab.
14
17
15
-
The following image shows how application configuration items defined a Config resource are represented in a ConfigValues resource:
18
+
The following image shows how application configuration items defined a Config resource map to a ConfigValues resource:
16
19
17
20

18
21
@@ -22,33 +25,84 @@ As shown in the image above, the ConfigValues resource `values` key lists each i
22
25
23
26
## Example
24
27
25
-
The following shows an example of a ConfigValues resource that can be provided during automated or headless installation from the command line:
26
-
27
28
<ConfigValuesExample/>
28
29
30
+
## Requirements
31
+
32
+
<ConfigValuesRequirements/>
33
+
29
34
## Spec
30
35
31
36
### values.[item_name].default
32
37
33
-
The `default` value that was defined for the item in the Config custom resource in the release.
34
-
35
-
When creating a ConfigValues to perform a headless installation from the command line, the `default` value must match the default that was defined in the Config custom resource.
38
+
The item's default value, as defined in the [Config](custom-resource-config) custom resource in the release.
39
+
40
+
#### Example
41
+
42
+
```yaml
43
+
apiVersion: kots.io/v1beta1
44
+
kind: ConfigValues
45
+
spec:
46
+
values:
47
+
certificate_source:
48
+
default: generate_internal
49
+
deploy_postgres:
50
+
default: "1"
51
+
value: "0"
52
+
service_type:
53
+
default: cluster_ip
54
+
value: node_port
55
+
node_port_port:
56
+
default: "443"
57
+
value: "3000"
58
+
```
36
59
37
60
### values.[item_name].value
38
61
39
-
The value for the item. This is either a user-supplied value or a value rendered by a Replicated template function used in the Config custom resource.
40
-
41
-
For user-supplied values, the value must meet the following requirements:
42
-
* The value must For example, if the item includes a `validation` field with regex, then the value supplied must match the regex pattern.
43
-
* For `select_one` items, the value must match the name of one of the options defined in the Config custom resource
44
-
* All required config items must have a default or a value supplied
62
+
The user-supplied value for the application configuration item.
63
+
64
+
:::note
65
+
In the ConfigValues resource that is automatically generated by the Admin Console as part of installation, the `value` property might also be set to a value rendered by a Replicated template function. For example, a [`hidden`](/reference/custom-resource-config#hidden) item defined in the Config resource might use the Replicated RandomString template function to set the value with `value: repl{{ RandomString 40}}`.
66
+
:::
67
+
68
+
#### Example
69
+
70
+
```yaml
71
+
apiVersion: kots.io/v1beta1
72
+
kind: ConfigValues
73
+
spec:
74
+
values:
75
+
slack_clientid:
76
+
value: T057KR02S
77
+
slackernews_domain:
78
+
value: hello.ingress.replicatedcluster.com
79
+
service_type:
80
+
value: node_port
81
+
node_port_port:
82
+
value: "443"
83
+
```
45
84
46
85
### values.[item_name].valuePlainText
47
86
48
-
When creating a ConfigValues to provide during a headless install from the command line, users must include the `valuePlainText`field to provide values for `password` config items.
87
+
A plain text value. For any configuration items of type [`password`](/reference/custom-resource-config#password), the password must be provided in plain text in a `valuePlainText` property rather than in the `value` property.
49
88
50
-
The following shows an example of how a `valuesPlainText` field in a user-supplied ConfigValues is rendered in a post-installation ConfigValues generated by the Admin Console:
89
+
During installation, the Admin Console encrypts the values set in `valuePlainText`. In the ConfigValues resource that is automatically generated as part of installation, these encrypted values are saved in `value` properties. The image below shows how a `valuePlainText` value is encrypted during installation:
51
90
52
91

53
92
54
-
[View a larger version of this image](/images/configvalues-plaintext.png)
93
+
[View a larger version of this image](/images/configvalues-plaintext.png)
0 commit comments