Skip to content

Make Config and ConfigValues content work for EC v3#4039

Merged
paigecalvert merged 6 commits into
mainfrom
deemphasize-kots-in-ref--material-2
May 7, 2026
Merged

Make Config and ConfigValues content work for EC v3#4039
paigecalvert merged 6 commits into
mainfrom
deemphasize-kots-in-ref--material-2

Conversation

@paigecalvert
Copy link
Copy Markdown
Contributor

No description provided.

@netlify
Copy link
Copy Markdown

netlify Bot commented May 7, 2026

Deploy Preview for replicated-docs ready!

Name Link
🔨 Latest commit 0ce9b1e
🔍 Latest deploy log https://app.netlify.com/projects/replicated-docs/deploys/69fcf77cc837200008d8e75d
😎 Deploy Preview https://deploy-preview-4039--replicated-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link
Copy Markdown

netlify Bot commented May 7, 2026

Deploy Preview for replicated-docs-upgrade ready!

Name Link
🔨 Latest commit 0ce9b1e
🔍 Latest deploy log https://app.netlify.com/projects/replicated-docs-upgrade/deploys/69fcf77cc837200008d8e762
😎 Deploy Preview https://deploy-preview-4039--replicated-docs-upgrade.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@replicated-ci replicated-ci added type::docs Improvements or additions to documentation type::feature labels May 7, 2026
# ConfigValues

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.
This topic describes the Replicated ConfigValues resource. ConfigValues is used to set application configuration values during automated or headless installations from the command line.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('is used').

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 [Online installation with Embedded Cluster](/embedded-cluster/v3/installing-embedded). For information about performing headless installations with KOTS in an existing cluster, see [Install with the KOTS CLI](/enterprise/installing-existing-cluster-automation).

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 or with the [`kots get config`](/reference/kots-cli-get-config) command. For more information, see [Download the ConfigValues for an Installation](#download) below.
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 UI.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.SentenceLength] Try to keep your sentence length to 26 words or fewer.

```

## Download the ConfigValues for an Installation {#download}
## (KOTS Existing Cluster Only) Download the ConfigValues for an installation {#download}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[Replicated.Headings] '(KOTS Existing Cluster Only) Download the ConfigValues for an installation ***********' should use sentence case.

# Config

The Config custom resource can be provided by a vendor to specify a Config page in the Replicated Admin Console for collecting customer supplied values and template function rendering.
The Replicated Config custom resource defines the application-specific configuration fields that you want to expose to your end customers. For example, if you let your customers bring their own external database for your application, you could expose config fields for the database host, port, and username, and password.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.SentenceLength] Try to keep your sentence length to 26 words or fewer.

## Example

For more information about the properties of groups and items, see [Group Properties](#group-properties) and [Item Properties](#item-properties) below.
The following example shows three groups defined in the Config custom resource manifest file, and how these groups are displayed on the config screen.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('are displayed').

> Introduced in KOTS v1.114.0

The `radio` item type includes one or more nested items that are displayed as radio buttons on the Admin Console config screen. Radio buttons are especially useful for displaying short lists of options. You can also use the [`dropdown`](#dropdown) item type for items with longer lists of options.
The `radio` item type includes one or more nested items that are displayed as radio buttons on the config screen. Radio buttons are especially useful for displaying short lists of options. You can also use the [`dropdown`](#dropdown) item type for items with longer lists of options.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('are displayed').

:::

`select_one` items must contain nested items. The nested items are displayed as radio buttons in the Admin Console.
`select_one` items must contain nested items. The nested items are displayed as radio buttons on the config screen.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('are displayed').

## Repeatable Examples

In these examples, the default service port of "80" is included with the release. Port 443 is added as an additional port on the Admin Console configuration page, which is stored in the ConfigValues file.
In these examples, the default service port of "80" is included with the release. Port 443 is added as an additional port on the config screen, which is stored in the ConfigValues file.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('is included').

## Repeatable Examples

In these examples, the default service port of "80" is included with the release. Port 443 is added as an additional port on the Admin Console configuration page, which is stored in the ConfigValues file.
In these examples, the default service port of "80" is included with the release. Port 443 is added as an additional port on the config screen, which is stored in the ConfigValues file.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('is added').

## Repeatable Examples

In these examples, the default service port of "80" is included with the release. Port 443 is added as an additional port on the Admin Console configuration page, which is stored in the ConfigValues file.
In these examples, the default service port of "80" is included with the release. Port 443 is added as an additional port on the config screen, which is stored in the ConfigValues file.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('is stored').

:::note
When you assign a template function that generates a value to a `value` property, you can use the `readonly` and `hidden` properties to define whether or not the generated value is ephemeral or persistent between changes to the configuration settings for the application. For more information, see [RandomString](template-functions-static-context#randomstring) in _Static Context_.
::: No newline at end of file
When you assign a template function that generates a value to a `value` property, you can use the `readonly` and `hidden` properties to define whether or not the generated value is ephemeral or persistent between changes to the configuration settings for the application. For more information, see [RandomString](template-functions-static-context#randomstring) in _Static Context_. No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.SentenceLength] Try to keep your sentence length to 26 words or fewer.

![Text area field on the configuration screen](/images/config-screen-textarea.png)
<img width="650px" alt="Text area field on the configuration screen" src="/images/config-screen-textarea.png"/>

## Item Properties
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[Replicated.Headings] 'Item Properties' should use sentence case.


### `affix`

Items can be affixed `left` or `right`. Affixing items allows them to appear on the config screen on the same line.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('be affixed').


### `default`

Defines the default value for the config item. If the user does not provide a value for the item, then the `default` value is applied.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('is applied').

If the `default` value is not associated with a `password` type config item, then it appears as placeholder text on the config screen.

A `validation` can be specified to validate the value of an item. `regex` is the supported validation type.
Any Go template functions that you use in the `default` property are reevaluated every time the user makes a change to their configuration settings for the application.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('are reevaluated').

#### Example

Validates and returns if `password` value is not matching the regex.
The `jwt_token` file content is only validated if the file is uploaded since it is optional.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('is uploaded').

```

## Repeatable Examples
### Repeatable Examples
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[Replicated.Headings] 'Repeatable Examples' should use sentence case.

In these examples, the default service port of "80" is included with the release. Port 443 is added as an additional port on the config screen, which is stored in the ConfigValues file.

### Repeatable Item Example for a yamlPath
#### Repeatable Item Example for a yamlPath
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[Replicated.Headings] 'Repeatable Item Example for a yamlPath' should use sentence case.

In these examples, the default service port of "80" is included with the release. Port 443 is added as an additional port on the config screen, which is stored in the ConfigValues file.

### Repeatable Item Example for a yamlPath
#### Repeatable Item Example for a yamlPath
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'yamlPath'?

```

### Repeatable Item Example for an Entire Document
#### Repeatable Item Example for an Entire Document
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[Replicated.Headings] 'Repeatable Item Example for an Entire Document' should use sentence case.

This lets you conditionally show or hide fields so your end customers only see the options that are relevant to them.

You can construct conditional statements in the `when` property using Replicated template functions. Replicated template functions are a set of custom template functions based on the Go text/template library. For more information, see [About Replicated Template Functions](/reference/template-functions-about). No newline at end of file
You can use Go template functions to create conditional statements. Replicated provides a set of Go template functions that you can use to evaluate conditions like the user's environment, their license entitlements, and their previous configuration choices. For more information, see [About Replicated Template Functions](/reference/template-functions-about).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.SentenceLength] Try to keep your sentence length to 26 words or fewer.

```
![Three groups of items on the config page](/images/config-screen-groups.png)
[View a larger version of this image](/images/config-screen-groups.png)
The following images show this Config custom resource is rendered in the Embedded Cluster v3 installation wizard:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('is rendered').

Descriptive help text for the group that displays on the Admin Console Config page. Supports markdown formatting.

To provide help text for individual items on the Config page, use the item `help_text` property. See [help_text](#help_text) below.
Descriptive help text for the group that displays on the config screen. Supports markdown formatting. To provide help text for individual items on the Config page, use the item `help_text` property. See [help_text](#help_text) below.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[Replicated.PositionalLanguage] Avoid spacial and directional language like 'below'. Instead, use 'on this page', 'the following', or link to the section.

For more information about working with Replicated template functions, see [About Replicated Template Functions](/reference/template-functions-about).

## Spec
## ConfigValues Spec
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[Replicated.Headings] 'ConfigValues Spec' should use sentence case.


:::note
In the ConfigValues resource that is automatically generated by the Admin Console as part of installation, the `value` property might also be set to one of the following:
For KOTS or Embedded Cluster v2 installations, the `value` property in the auto-generated ConfigValues might also be set to one of the following:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('be set').

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.

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 and added to a `value` property during installation:
During installation, the installer 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 and added to a `value` property during installation:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('are saved').

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.

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 and added to a `value` property during installation:
During installation, the installer 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 and added to a `value` property during installation:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[Replicated.PositionalLanguage] Avoid spacial and directional language like 'below'. Instead, use 'on this page', 'the following', or link to the section.

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.

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 and added to a `value` property during installation:
During installation, the installer 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 and added to a `value` property during installation:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('is encrypted').

@paigecalvert paigecalvert marked this pull request as ready for review May 7, 2026 20:28
@paigecalvert paigecalvert requested a review from a team as a code owner May 7, 2026 20:28

:::important
The `select_one` item type is deprecated and is replaced by [`radio`](#radio).
The `select_one` item type is deprecated. Use [`radio`](#radio) instead.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('is deprecated').


:::important
Do not store secrets or passwords in `text` items because they are not encrypted or masked and can be easily accessed. Instead, use [`password`](#password) items.
Do not store secrets or passwords in `text` items because they are not encrypted or masked and can be accessed. Instead, use [`password`](#password) items.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Replicated.Passive] In general, use active voice instead of passive voice ('be accessed').


### `help_text`

Displays a helpful message under the `title` for the config item on the config screen.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[Replicated.PositionalLanguage] Avoid spacial and directional language like 'under'. Instead, use 'on this page', 'the following', or link to the section.

#### Requirements

<WhenRequirements/>
- Do not apply `when` to items nested under a `radio`, `dropdown`, or `select_one` item. To conditionally show or hide `radio`, `dropdown`, or `select_one` items, apply the `when` property to the item itself.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[Replicated.PositionalLanguage] Avoid spacial and directional language like 'under'. Instead, use 'on this page', 'the following', or link to the section.

@paigecalvert paigecalvert merged commit 3ae48a7 into main May 7, 2026
5 checks passed
@paigecalvert paigecalvert deleted the deemphasize-kots-in-ref--material-2 branch May 7, 2026 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type::docs Improvements or additions to documentation type::feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants