Skip to content

Commit ba19ee3

Browse files
authored
WIP: Embedded Cluster v3 (#3877)
* WIP: Embedded Cluster v3 * add product-specific sidebars * add headings to each product sidebar * adjust sidebar styles for installer * fix sidebar link * merge latest vp sidebar changes from main * remove separate product sidebars and rename ec instance * fix script to generate llms txt file * adding in v3 docs * add cli docs and fix broken links in ec docs plugin * fix links in partials * add more v3 content * install docs edits * edits to upgrade and install steps * add beta labels * run vale linter agent and improve it * more edits from style linter * vale prose linting * adding migration doc * edits to migration topic * edit steps on adding nodes * copy edits and corrections * add redirects * make sure v2 partials are used in vendor docs * update the vale linter config and skill * convert to path-only redirects * corrections * more correctinos * more corrections * edits * fix broken links to new ec docs
1 parent e2bc5a6 commit ba19ee3

File tree

141 files changed

+3819
-732
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

141 files changed

+3819
-732
lines changed

.claude/skills/vale-prose-review/SKILL.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ Do not apply prose fixes to:
5656

5757
Vale sometimes flags these; ignore those warnings.
5858

59+
**Exception — markdown inside HTML tables:** When `Vale.Spelling` flags a word like `_Using` inside an HTML `<td>` or `<p>` element, the cause is markdown italic syntax (`_text_`) used inside raw HTML. Do NOT add `_Using` to an accept list. Instead, convert the markdown formatting to HTML (`_foo_``<em>foo</em>`). See `references/vale-rules.md` for details.
60+
5961
### Step 5: Verify
6062

6163
After making all changes, do a quick pass to confirm:
@@ -85,7 +87,7 @@ See `references/vale-rules.md` for full fix patterns, before/after examples, and
8587

8688
**`Replicated.PositionalLanguage`** — Replace "above/below" with "the following" or a section link; replace directional "right/left" with "the following" or a UI element name.
8789

88-
**`Replicated.Headings`** — Apply sentence case: lowercase all words except the first word and proper nouns (product names, trademarks).
90+
**`Replicated.Headings`** — Apply sentence case, with three exceptions: (1) **Skip entirely** when the heading IS a CLI command name or YAML field name (e.g., `# install (Beta)`, `## helmCharts`) — those follow the thing's own casing conventions. (2) **Parentheticals reset sentence case**`(Beta)` is correct, not `(beta)`. (3) **Kubernetes custom resource kind names stay capitalized**`Preflight`, `SupportBundle`, `Config`, `HelmChart` are proper names; check context to confirm the word refers to a `kind:` value before lowercasing. See `references/vale-rules.md` for full patterns.
8991

9092
**`Replicated.WordsToAvoid`** — Remove "easy/easily", "simple/simply", "just" (when minimizing). Rephrase or omit.
9193

@@ -94,3 +96,4 @@ See `references/vale-rules.md` for full fix patterns, before/after examples, and
9496
## Additional Resources
9597

9698
- **`references/vale-rules.md`** — Detailed fix patterns, edge cases, and examples for every common Replicated vale rule
99+
- **`README.md` (repo root)** — The Replicated Docs style guide lives in the "Style Guide" section of this file. Read it when deciding how to rewrite a flagged sentence, choose word alternatives, or apply formatting conventions. This is the authoritative source — do not rely on cached knowledge of its contents.

.claude/skills/vale-prose-review/references/vale-rules.md

Lines changed: 55 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,19 @@ Fix if the flagged word is a genuine misspelling. Vale flags these as errors, so
2828
- Flagged words inside inline code or code blocks
2929
- Acronyms in YAML frontmatter keys
3030

31+
### Markdown formatting inside HTML tables
32+
33+
When a file uses HTML `<table>`/`<td>`/`<p>` tags and the cell content contains markdown italic syntax (e.g., `_Using Embedded Cluster_`), vale treats the leading underscore as part of a word and flags `_Using` as a misspelling.
34+
35+
**Do NOT add these to an accept list.** The fix is to convert the markdown formatting inside the HTML element to its HTML equivalent:
36+
37+
| Before (markdown inside HTML) | After (HTML formatting) |
38+
|---|---|
39+
| `_Using Embedded Cluster_` | `<em>Using Embedded Cluster</em>` |
40+
| `**important**` | `<strong>important</strong>` |
41+
42+
Apply this fix to the specific cell content where the flag appears. Other cells in the same table that use plain text are fine as-is.
43+
3144
---
3245

3346
## Replicated.Passive (suggestion)
@@ -101,6 +114,43 @@ Avoid directional and spatial language that assumes a page layout. Users may be
101114

102115
Headings should use sentence case: capitalize only the first word and proper nouns.
103116

117+
### Skip this rule entirely for reference page headings
118+
119+
Do NOT apply sentence case to headings that are the exact name of a CLI command, YAML field, or other code identifier. These headings document the thing itself, so their capitalization is determined by the thing's own conventions, not sentence case.
120+
121+
**Skip examples (leave unchanged):**
122+
- `# install (Beta)` — CLI command name; do not capitalize "install"
123+
- `# create-join-bundle (Beta)` — CLI command name
124+
- `### helmCharts` — YAML field name; do not change to `### HelmCharts`
125+
- `#### roles.controller` — dotted YAML field path
126+
- `## metadata` — YAML field name
127+
- `## unsupportedOverrides` — YAML field name
128+
129+
### Parentheticals reset sentence case
130+
131+
A parenthetical like `(Beta)` or `(Preview)` opens a new "sentence" within the heading. Capitalize the first word inside the parenthetical.
132+
133+
- `(Beta)` is correct — **not** `(beta)`
134+
- `(Preview)` is correct — **not** `(preview)`
135+
- `(Deprecated)` is correct — **not** `(deprecated)`
136+
137+
### Kubernetes custom resource kinds — always capitalize
138+
139+
Custom resource kind names are proper names and must remain capitalized wherever they appear in headings, even mid-sentence. The key examples in Replicated docs:
140+
141+
- `Preflight`
142+
- `SupportBundle`
143+
- `Config`
144+
- `HelmChart`
145+
146+
**How to decide:** Look at the surrounding context. If the page or section is about a Kubernetes custom resource and the word refers to its `kind:` value, keep it capitalized. If the word is used in a different sense (for example, `config` as a generic noun, or `install` as a CLI command), lowercase it per the normal rules.
147+
148+
**Examples:**
149+
- `## About the Preflight custom resource``Preflight` is the kind name, keep capital P
150+
- `## Configure your HelmChart``HelmChart` is the kind name, keep capital H
151+
- `## Embedded Cluster Config``Config` is the kind name (`kind: Config`), keep capital C
152+
- `## Override the k0s config``config` here is a generic noun referring to a k0s configuration file, lowercase is correct
153+
104154
### What to capitalize (proper nouns and trademarks)
105155

106156
- Replicated product names: Embedded Cluster, KOTS, Vendor Portal, Enterprise Portal, Compatibility Matrix, Replicated SDK, Admin Console, Replicated CLI
@@ -109,17 +159,19 @@ Headings should use sentence case: capitalize only the first word and proper nou
109159

110160
### What to lowercase
111161

112-
- Descriptive words that aren't proper names: "matrix" (when not a product name), "lifecycle", "overview", "portal" (when standalone), "guide", "about"
113-
- Status/qualifier words in parentheses: "(beta)", "(preview)", "(deprecated)"
162+
- Descriptive words that aren't proper names: "config", "overview", "lifecycle", "portal" (when standalone), "guide", "about"
163+
- Capitalized common words mid-heading: "Matrix" → "matrix" (when not a product name), "Values" → "values", "Built-In" → "built-in"
114164

115165
### Examples
116166

117167
| Before | After |
118168
|---|---|
119169
| `### Compatibility Matrix` | `### Compatibility matrix` |
120-
| `### Enterprise Portal (Beta)` | `### Enterprise Portal (beta)` |
170+
| `### Enterprise Portal (Beta)` | `### Enterprise Portal (Beta)` ← keep capital B |
121171
| `## Commercial Software Distribution Lifecycle` | `## Commercial software distribution lifecycle` |
122172
| `### Vendor Portal Overview` | `### Vendor Portal overview` |
173+
| `# install (Beta)` | `# install (Beta)` ← CLI command, do not change |
174+
| `### helmCharts` | `### helmCharts` ← YAML field, do not change |
123175

124176
**Note:** Only headings are subject to this rule. Body text references to product names keep their standard capitalization.
125177

.vale.ini

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,16 @@ IgnoredScopes = code, tt, a, img
1414
mdx = md
1515

1616
[*.{md,mdx}]
17+
TokenIgnores = (\{#[^}]+\})
1718

1819
BasedOnStyles = Vale, Replicated
1920

2021
Vale.Terms = NO
2122

23+
# Don't lint .claude skill/memory files
24+
[.claude/**]
25+
BasedOnStyles =
26+
2227
# Don't lint CLI docs
2328
[docs/reference/kots-cli-*]
2429
BasedOnStyles =

docs/enterprise/updating-apps.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ The Admin Console only deploys new versions automatically if preflight checks pa
1616

1717
Automatic updates have the following limitations:
1818

19-
* Automatic updates are not supported for [Replicated Embedded Cluster](/vendor/embedded-overview) installations.
19+
* Automatic updates are not supported for [Replicated Embedded Cluster](/embedded-cluster/v3/embedded-overview) installations.
2020

2121
* Automatic updates are not supported for applications installed in air gap environments with no outbound internet access.
2222

docs/intro-replicated.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ The following diagram demonstrates the process of using the Replicated Platform
2929

3030
The diagram above shows an application that is packaged with the [**Replicated SDK**](/vendor/replicated-sdk-overview). The application is tested in clusters provisioned with the [**Replicated Compatibility Matrix (CMX)**](/vendor/testing-about), then added to a new release in the [**Vendor Portal**](/vendor/releases-about) using an automated CI/CD pipeline.
3131

32-
The application is then installed by a customer ("Big Bank") on a VM. To install, the customer downloads their license, which grants proxy access to the application images through the [**Replicated proxy registry**](/vendor/private-images-about). They also download the installation assets for the [**Replicated Embedded Cluster**](/vendor/embedded-overview) installer.
32+
The application is then installed by a customer ("Big Bank") on a VM. To install, the customer downloads their license, which grants proxy access to the application images through the [**Replicated proxy registry**](/vendor/private-images-about). They also download the installation assets for the [**Replicated Embedded Cluster**](/embedded-cluster/v3/embedded-overview) installer.
3333

3434
Embedded Cluster runs [**preflight checks**](/vendor/preflight-support-bundle-about) to verify that the environment meets the installation requirements, provisions a cluster on the VM, and installs [**Replicated KOTS**](intro-kots) in the cluster. KOTS provides an [**Admin Console**](intro-kots#kots-admin-console) where the customer enters application-specific configurations, runs application preflight checks, optionally joins nodes to the cluster, and then deploys the application. After installation, customers can manage both the application and the cluster from the Admin Console.
3535

@@ -45,7 +45,7 @@ Replicated Embedded Cluster is a Kubernetes installer based on the open source K
4545

4646
Additionally, each version of Embedded Cluster includes a specific version of [Replicated KOTS](#kots) that is installed in the cluster during installation. KOTS is used by Embedded Cluster to deploy the application and also provides the Admin Console UI where users can manage both the application and the cluster.
4747

48-
For more information, see [Embedded Cluster Overview](/vendor/embedded-overview).
48+
For more information, see [Embedded Cluster Overview](/embedded-cluster/v3/embedded-overview).
4949

5050
### KOTS (Admin Console) {#kots}
5151

@@ -169,9 +169,9 @@ Additionally, the Replicated proxy registry grants proxy access to private appli
169169

170170
Applications distributed with the Replicated Platform can support multiple different installation methods from the same application release, helping you to meet your customers where they are. For example:
171171

172-
* Customers who are not experienced with Kubernetes or who prefer to deploy to a dedicated cluster in their environment can install on a VM or bare metal server with the Replicated Embedded Cluster installer. For more information, see [Embedded Cluster Overview](/vendor/embedded-overview).
172+
* Customers who are not experienced with Kubernetes or who prefer to deploy to a dedicated cluster in their environment can install on a VM or bare metal server with the Replicated Embedded Cluster installer. For more information, see [Embedded Cluster Overview](/embedded-cluster/v3/embedded-overview).
173173
* Customers familiar with Kubernetes and Helm can install in their own existing cluster using the Helm CLI. For more information, see [Installing with Helm](/vendor/install-with-helm).
174-
* Customers installing into environments with limited or no outbound internet access (often referred to as air-gapped environments) can securely access and push images to their own internal registry, then install using Helm or a Replicated installer. For more information, see [Air Gap Installation with Embedded Cluster](/enterprise/installing-embedded-air-gap) and [Installing and Updating with Helm in Air Gap Environments](/vendor/helm-install-airgap).
174+
* Customers installing into environments with limited or no outbound internet access (often referred to as air-gapped environments) can securely access and push images to their own internal registry, then install using Helm or a Replicated installer. For more information, see [Air Gap Installation with Embedded Cluster](/embedded-cluster/v3/installing-embedded-air-gap) and [Installing and Updating with Helm in Air Gap Environments](/vendor/helm-install-airgap).
175175

176176
Additionally, to enhance the installation experience, the Enterprise Portal provides a customizable, web-based portal where your customers can view application install and update instructions, upload support bundles, view insights about their active and inactive instances, and more. For more information, see [About the Enteprise Portal](/vendor/enterprise-portal-about).
177177

docs/intro.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ import clsx from "clsx";
230230
<div className={clsx("row", "browse-docs-links")}>
231231
<div className={clsx("col", "col--4")}>
232232
<div className="browse-docs-link-container">
233-
<a href="/vendor/embedded-overview" className="browse-docs-link">
233+
<a href="/embedded-cluster/v3/embedded-overview" className="browse-docs-link">
234234
Overview
235235
</a>
236236
<p className="browse-docs-link-description">
@@ -241,7 +241,7 @@ import clsx from "clsx";
241241
</div>
242242
<div className={clsx("col", "col--4")}>
243243
<div className="browse-docs-link-container">
244-
<a href="/reference/embedded-config" className="browse-docs-link">
244+
<a href="/embedded-cluster/v3/embedded-config" className="browse-docs-link">
245245
Embedded Cluster Config
246246
</a>
247247
<p className="browse-docs-link-description">
@@ -252,7 +252,7 @@ import clsx from "clsx";
252252
<div className={clsx("col", "col--4")}>
253253
<div className="browse-docs-link-container">
254254
<a
255-
href="/enterprise/installing-embedded"
255+
href="/embedded-cluster/v3/installing-embedded"
256256
className="browse-docs-link"
257257
>
258258
Online Installation with Embedded Cluster
@@ -265,7 +265,7 @@ import clsx from "clsx";
265265
<div className={clsx("col", "col--4")}>
266266
<div className="browse-docs-link-container">
267267
<a
268-
href="/enterprise/installing-embedded-air-gap"
268+
href="/embedded-cluster/v3/installing-embedded-air-gap"
269269
className="browse-docs-link"
270270
>
271271
Air Gap Installation with Embedded Cluster
@@ -278,7 +278,7 @@ import clsx from "clsx";
278278
<div className={clsx("col", "col--4")}>
279279
<div className="browse-docs-link-container">
280280
<a
281-
href="/enterprise/updating-embedded"
281+
href="/embedded-cluster/v3/updating-embedded"
282282
className="browse-docs-link"
283283
>
284284
Perform Updates with Embedded Cluster

docs/partials/configValues/_config-values-procedure.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ During installation, KOTS automatically generates a ConfigValues file and saves
22

33
To get the ConfigValues file from an installed application instance:
44

5-
1. Install the target release in a development environment. You can either install the release with Replicated Embedded Cluster or install in an existing cluster with KOTS. For more information, see [Online Installation with Embedded Cluster](/enterprise/installing-embedded) or [Online Installation in Existing Clusters with KOTS](/enterprise/installing-existing-cluster).
5+
1. Install the target release in a development environment. You can either install the release with Replicated Embedded Cluster or install in an existing cluster with KOTS. For more information, see [Online Installation with Embedded Cluster](/embedded-cluster/v3/installing-embedded) or [Online Installation in Existing Clusters with KOTS](/enterprise/installing-existing-cluster).
66

77
1. Depending on the installer that you used, do one of the following to get the ConfigValues for the installed instance:
88

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
**Limitations:**
22

3-
* If any of your [Helm extensions](/reference/embedded-config#extensions) make requests to the internet, the given charts need to be manually configured so that those requests are made to the user-supplied proxy server instead. Typically, this requires updating the Helm values to set HTTP proxy, HTTPS proxy, and no proxy. Note that this limitation applies only to network requests made by your Helm extensions. The proxy settings supplied to the install command are used to pull the containers required to run your Helm extensions.
3+
* If any of your [Helm extensions](embedded-config#extensions) make requests to the internet, the given charts need to be manually configured so that those requests are made to the user-supplied proxy server instead. Typically, this requires updating the Helm values to set HTTP proxy, HTTPS proxy, and no proxy. Note that this limitation applies only to network requests made by your Helm extensions. The proxy settings supplied to the install command are used to pull the containers required to run your Helm extensions.
44

55
* Proxy settings cannot be changed after installation or during upgrade.

docs/partials/embedded-cluster/_shell-command.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
To access the cluster and use other included binaries:
22

3-
1. SSH onto a controller node.
3+
1. SSH into a controller node.
44

55
:::note
66
You cannot run the `shell` command on worker nodes.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
:::important
2-
Don't downgrade the Embedded Cluster version or the Kubernetes version. Also, only increase the Kubernetes version by one minor version at a time. For more information, see [Limitations](/vendor/embedded-overview#ec-limitations) in _Embedded Cluster Overview_.
2+
Don't downgrade the Embedded Cluster version or the Kubernetes version. Also, only increase the Kubernetes version by one minor version at a time. For more information, see [Limitations](/embedded-cluster/v3/embedded-overview#ec-limitations) in _Embedded Cluster Overview_.
33
:::

0 commit comments

Comments
 (0)