Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
140 changes: 121 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -721,7 +721,10 @@ Partials may be organised in any further subfolders as required. For example, yo
`_partials/public-cloud/_palette_setup.mdx`.

In order to aid with organisation and categorization, partials must have a `partial_category` and `partial_name` defined
in their frontmatter:
in their frontmatter. Individual values assigned for `partial_category` and `partial_name` do not have to be unique, but
the _combination_ of the two must be unique to identify the correct partial. For example, you can have multiple partials
with a `partial_category` of `public-cloud` and multiple partials with a `partial_name` of `palette-setup`, but only
_one_ can have _both_ a `partial_category` of `public-cloud` _and_ a `partial_name` of `palette-setup`.

```mdx
---
Expand All @@ -732,13 +735,13 @@ partial_name: palette-setup
This is how you set up Palette in {props.cloud}.
```

Partials are customized using properties which can be read using the `{props.field}` syntax.
Partials are customized by defining properties, which can be accessed with the `{props.propertyName}` syntax.

Once your partial has been created, run the `make generate-partials` command to make your partial available for use.
This command will also be invoked during the `make start` and `make build` commands.

Finally, you can reference your partial in any `*.md` file by using the `PartialsComponent`, together with the specified
category and name of the partial:
category and name of the partial. Note that the properties `category` and `name` are _always_ required.

```md
<PartialsComponent
Expand All @@ -750,55 +753,154 @@ category and name of the partial:

The snippet above will work with the example partial we have in our repository, so you can use it for testing.

Note that the `message` field corresponds to the `{props.message}` reference in the `_partials/_partial_example.mdx`
file.
Note that the `message` field would correspond to the `{props.message}` reference in the
`_partials/_partial_example.mdx` file. When defining a value in a partial with `{props.propertyName}` syntax,
`propertyName` can be substituted for any field _except_ `category` and `name`, both of which are required and reserved
properties.

Any properties passed to the `PartialsComponent` (such as those defined in [VersionedLink](#links) and
[PaletteVertexUrlMapper](#palettevertex-urls) within `.mdx` files) will be forwarded to the loaded partial as
`{props.propertyName}`. This enables partials to receive dynamic values such as `install` (for installation-specific
content), `edition`, `version`, and other custom properties.

```md
<PartialsComponent
category="self-hosted"
name="install-next-steps"
install="vmware"
edition="Palette"
/>
```

## Palette/VerteX URLs
### Internal Links

A special component has been created to handle the generation of URLs for Palette and VerteX. The component is called
[PaletteVertexUrlMapper](./src/components/PaletteVertexUrlMapper/PaletteVertexUrlMapper.tsx). This component is intended
for usage withing partials. You can use the component to change the base path of the URL to either Palette or VerteX.
The component will automatically prefix the path to the URL. The component has the following props:
Due to the complexities of Docusaurus plugin rendering, links do not support versioning in `*.mdx` files. If you want to
add an internal link you will have to use the `VersionedLink` component inside the `*.mdx` file.

- `edition` - The edition of the URL. This can be either `Palette` or `Vertex`. Internally, the component will use this
value to determine the base URL.
```mdx
---
partial_category: public-cloud
partial_name: palette-setup
---

This is how you set up Palette in {props.cloud}.

This is an <VersionedLink text="Internal Link" url="/getting-started/additional-capabilities"/>.
```

The path of the link should be the path of the destination file from the root directory, without any back operators
`..`. External links can be referenced as usual.

### Palette/VerteX URLs

The component [PaletteVertexUrlMapper](./src/components/PaletteVertexUrlMapper/PaletteVertexUrlMapper.tsx) handles the
generation of URLs for Palette and VerteX documents within the `/self-hosted-setup` section. This component is used
within partials to change the base path of the URL to either `/self-hosted-setup/palette` or `/self-hosted-setup/vertex`
and, if applicable, point to a particular installation method. The component has the following props:

- `edition` - The edition of the URL. This can be either `palette` or `vertex`. The component uses this value to
determine the base URL. Values are _not_ case sensitive.
- `text` - The text to display for the link.
- `url` - The path to append to the base URL.
- To redirect to the base `/self-hosted-setup/palette` or `/self-hosted-setup/vertex` URL, use `url=""`.
- When referencing a heading or anchor within a file, append `/#anchor-here` to the end of the file path. For example,
use `url="/system-management/account-management/#system-administrators`. Note that adding `/` after the anchor
allows the link to work but does not route to the correct header.

Below is an example of how to use the component:
Below is an example of how to use the component within a partial:

```mdx
- System administrator permissions, either a Root Administrator or Operations Administrator. Refer to the
<PaletteVertexUrlMapper
edition={props.edition}
text="System Administrators"
text="Account Management"
url="/system-management/account-management"
/>
page to learn more about system administrator roles.
```

When referencing the `PartialsComponent` in the `.md` file, the `edition` determines if the link maps to a Palette or
VerteX page. In the below example, because the `edition` is defined as `palette`, the resulting link is
`/self-hosted-setup/palette/system-management/account-management`. If the `edition` used was `vertex`, the resulting
link would be `/self-hosted-setup/vertex/system-management/account-management`.

```md
<PartialsComponent>
category="self-hosted"
name="customize-interface"
edition="palette"
/>
```

#### Different Palette/VerteX URLs

In cases where Palette and Vertex pages have different URLs beyond the base path, the component will accept the
following props:

- `edition` - The edition of the URL. This can be either `Palette` or `Vertex`. Internally, the component will use this
value to determine the base URL.
- `edition` - The edition of the URL. This can be either `palette` or `vertex`. The component uses this value to
determine whether to route the link to the defined `palettePath` or `vertexPath`.
- `text` - The text to display for the link.
- `palettePath` - The Palette path to append to the base URL.
- `vertexPath` - The VerteX path to append to the base URL.
- `palettePath` - The full self-hosted Palette path. Using `palettePath` prevents the base URL `/self-hosted-setup/`
from being appended; therefore, you must use the full path.
- When referencing a heading or anchor within a file, append `/#anchor-here` to the end of the file path.
- `vertexPath` - The full self-hosted Palette VerteX path. Using `vertexPath` prevents the base URL
`/self-hosted-setup/` from being appended; therefore, you must use the full path.
- When referencing a heading or anchor within a file, append `/#anchor-here` to the end of the file path.

Below is an example of how to use the component when the URLs are different:

```mdx
- System administrator permissions, either a Root Administrator or Operations Administrator. Refer to the
<PaletteVertexUrlMapper
edition={props.edition}
text="System Administrators"
text="Account Management"
palettePath="/system-management/account-management"
vertexPath="/system-management-vertex/account-management"
/>
page to learn more about system administrator roles.
```

When referencing the `PartialsComponent` in the `.md` file, the resulting links would be
`/self-hosted-setup/palette/system-management/account-management` and
`/self-hosted-setup/vertex/system-management-vertex/account-management` (based on the `edition` used).

#### Installation-Specific URLs

The `PaletteVertexUrlMapper` component also supports the optional `install` prop for handling installation-specific URLs
for self-hosted Palette and Palette VerteX.

- `install` - The installation method. Can be `kubernetes`, `vmware`, or `management-appliance`. When provided, the
component appends `/supported-environments/{install-method}` to the base URL path. Values are _not_ case sensitive.

When the `install` prop is provided, the URL is constructed as follows:

```
/self-hosted-setup/{edition}/supported-environments/{install-method}/{url}
```

Below is an example of how to use the component with the `install` prop within the partial `.mdx` file:

```md
- To activate your installation, refer to the <PaletteVertexUrlMapper
edition={props.edition}
install={props.install}
text="activation guide"
url="/activate"
/>.
```

When referencing the `PartialsComponent` in the `.md` file in the below example, the resulting link would be
`/self-hosted-setup/palette/supported-environments/vmware/activate`.

```md
<PartialsComponent
category="self-hosted"
name="install-next-steps"
install="vmware"
edition="Palette"
/>
```

## Security Bulletins

The security bulletins are auto-generated upon server start or the build process. The bulletins are generated by
Expand Down
8 changes: 6 additions & 2 deletions _partials/_azure-cloud-account-setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,13 @@ Use the following steps to add an Azure or Azure US Government account in Palett

:::warning

<!-- prettier-ignore-start --> Beginning with Palette version 4.6.36, a <VersionedLink text="Private Cloud Gateway (PCG)" url="/clusters/pcg"/> is required to add an [Azure US Government](https://azure.microsoft.com/en-us/explore/global-infrastructure/government) cloud account.
<!-- prettier-ignore-start -->

If you are using a <VersionedLink text="self-hosted Palette" url="/enterprise-version/enterprise-version"/> or <VersionedLink text="VerteX" url="/vertex/vertex"/> instance, a PCG is not required unless you configure both an Azure Public Cloud and Azure US Government account on the same installation. If you do not configure a PCG, you must install two instances of Palette or VerteX: one for Azure Public Cloud clusters and one for Azure US Government clusters. <!-- prettier-ignore-end -->
Beginning with Palette version 4.6.36, a <VersionedLink text="Private Cloud Gateway (PCG)" url="/clusters/pcg"/> is required to add an [Azure US Government](https://azure.microsoft.com/en-us/explore/global-infrastructure/government) cloud account.

If you are using a <VersionedLink text="self-hosted Palette" url="/self-hosted-setup/palette/" /> or <VersionedLink text="Palette VerteX" url="/self-hosted-setup/vertex/" /> instance, a PCG is not required unless you configure both an Azure Public Cloud and Azure US Government account on the same installation. If you do not configure a PCG, you must install two instances of Palette or VerteX: one for Azure Public Cloud clusters and one for Azure US Government clusters.

<!-- prettier-ignore-end -->

:::

Expand Down
2 changes: 1 addition & 1 deletion _partials/cluster-templates/_profile-vs-template.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ or a single <VersionedLink text="cluster template" url="/cluster-templates" />.

:::info

<VersionedLink text="Cluster templates" url="/cluster-templates" /> are a Tech Preview feature and can be used only if the **ClusterTemplates** <VersionedLink text="feature flag" url="/enterprise-version/system-management/feature-flags/" /> is enabled.
<VersionedLink text="Cluster templates" url="/cluster-templates" /> are a Tech Preview feature and can be used only if the **ClusterTemplates** <VersionedLink text="feature flag" url="/self-hosted-setup/palette/system-management/feature-flags/" /> is enabled.

:::

Expand Down
3 changes: 2 additions & 1 deletion _partials/self-hosted/_install-next-steps.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ Now that you have installed {props.version}, you can either
/> to host your users and set up your clusters, or you can
<PaletteVertexUrlMapper
edition={props.edition}
install={props.install}
text="activate your installation"
url="/activate-installation"
url="/activate"
/> .

Beginning with version 4.6.32, once you install {props.version}, you have 30 days to activate it; versions older than 4.6.32 do not need to be activated. During the 30-day trial period, you can use {props.version} without any restrictions. After 30 days, you can continue to use {props.version}, but you cannot deploy additional clusters or perform any day-2 operations on existing clusters until {props.version} is activated. Each installation of {props.version} must be activated separately. We recommend activating {props.version} as soon as possible to avoid any disruptions.
15 changes: 7 additions & 8 deletions _partials/self-hosted/_setup-steps.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ partial_name: setup-steps

## Prerequisites

- An RHEL airgap VM deployed in your VMware vSphere. The VM must be registered with
- An RHEL airgap VM deployed in VMware vSphere. The VM must be registered with
[Red Hat](https://access.redhat.com/solutions/253273) and have ports `80` and `443` available. This guide uses RHEL
version `9.4` as an example.

Expand All @@ -31,9 +31,9 @@ partial_name: setup-steps

:::

- Review the required vSphere <VersionedLink text="permissions" url="/enterprise-version/install-palette/install-on-vmware/vmware-system-requirements/" /> and ensure you have
- Review the required vSphere <PaletteVertexUrlMapper text="permissions" edition={props.edition} url="/supported-environments/vmware/setup/airgap/vmware-system-requirements/" /> and ensure you have
created the proper custom roles and zone tags. Zone tagging enables dynamic storage allocation across fault domains
when provisioning workloads that require persistent storage. Refer to <VersionedLink text="Zone Tagging" url="/enterprise-version/install-palette/install-on-vmware/vmware-system-requirements/" /> for information.
when provisioning workloads that require persistent storage. Refer to <PaletteVertexUrlMapper text="Zone Tagging" edition={props.edition} url="/supported-environments/vmware/setup/airgap/vmware-system-requirements/#zone-tagging" /> for information.

- The following artifacts must be available in the root home directory of the RHEL airgap VM. You can download the files
in a system with internet access and then transfer them to your airgap environment. Contact your {props.edition} support
Expand All @@ -54,8 +54,6 @@ partial_name: setup-steps
distribution OVA required for the {props.edition} nodes creation. Refer to the
<VersionedLink text="Kubernetes Requirements" url={props.requirementsURL} /> section to learn if the version of
{props.edition} you are installing requires a new OS and Kubernetes OVA.

{props.requirementsURL}

<Tabs>
<TabItem value="non-fips" label="Non-FIPS">
Expand All @@ -77,7 +75,8 @@ partial_name: setup-steps
Place the OVA in the **spectro-templates** folder. Append the `r_` prefix, and remove the `.ova` suffix when
assigning its name and target location. For example, the final output should look like `r_u-2204-0-k-1294-0`. This
naming convention is required for the installation process to identify the OVA. Refer to the
<VersionedLink text="Additional Packs" url="/enterprise-version/install-palette/airgap/supplemental-packs/" /> page for a list of additional OS and
<PaletteVertexUrlMapper text="Additional Packs" edition={props.edition} palettePath="/downloads/self-hosted-palette/additional-packs/"
vertexPath="/downloads/palette-vertex/additional-packs/" /> page for a list of additional OS and
Kubernetes OVAs.

You can terminate the deployment after the OVA is available in the `spectro-templates` folder. Refer to the
Expand Down Expand Up @@ -303,7 +302,7 @@ partial_name: setup-steps
systemctl restart httpd.service
```

20. Review the <PaletteVertexUrlMapper edition={props.edition} text="Additional Packs" palettePath="/install-palette/airgap/supplemental-packs/" vertexPath="/install-palette-vertex/airgap/supplemental-packs/" /> page and identify any additional packs you want
20. Review the <PaletteVertexUrlMapper edition={props.edition} text="Additional Packs" palettePath="/downloads/self-hosted-palette/additional-packs/" vertexPath="/downloads/palette-vertex/additional-packs/" /> page and identify any additional packs you want
to add to your registry. You can also add additional packs after the installation is complete.

You have now completed the preparation steps for an airgap installation. Check out the [Validate](#validate) section to
Expand Down Expand Up @@ -398,7 +397,7 @@ command below to start the installation.
palette ec install
```

Complete all the Palette CLI steps outlined in the <VersionedLink text="Install" url="/enterprise-version/install-palette/install-on-vmware/airgap-install/install/" /> guide from the RHEL VM.
Complete all the Palette CLI steps outlined in the <PaletteVertexUrlMapper edition={props.edition} text="Install" url="/supported-environments/vmware/install/airgap/" /> guide from the RHEL VM.

:::info

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
partial_category: self-hosted
partial_name: size-guidelines
partial_name: size-guidelines-helm-cli
---

This section lists resource requirements for {props.edition} for various capacity levels. In {props.edition}, the terms _small_,
Expand Down
41 changes: 41 additions & 0 deletions _partials/self-hosted/_size_guidelines-management-appliance.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
partial_category: self-hosted
partial_name: size-guidelines-management-appliance
---

This section lists resource requirements for {props.edition} for various capacity levels. In {props.edition}, the terms _small_,
_medium_, and _large_ are used to describe the instance size of worker pools that Palette is installed on. The following
table lists the resource requirements for each size.

<br />

:::warning

The recommended maximum number of deployed nodes and clusters in the environment should not be exceeded. We have tested
the performance of {props.edition} with the recommended maximum number of deployed nodes and clusters. Exceeding these limits
can negatively impact performance and result in instability. The active workload limit refers to the maximum number of
active nodes and pods at any given time.

:::

<br />

| **Size** | **Total Nodes** | **Node CPU** | **Node Memory** | **Node Storage (Total)** | **Total Deployed Workload Cluster Nodes** | **Deployed Clusters with 10 Nodes** |
| -------------------- | --------------- | ------------ | --------------- | ------------------------ | ----------------------------------------- | ----------------------------------- |
| Small | 3 | 8 | 16 GB | 750 GB | 1000 | 100 |
| Medium (Recommended) | 3 | 16 | 32 GB | 750 GB | 3000 | 300 |
| Large | 3 | 32 | 64 GB | 750 GB | 5000 | 500 |

:::info

The Spectro manifest requires approximately 10 GB of storage. {props.edition} deployed clusters use the manifest to identify what images to pull for each microservice that makes up {props.edition}.

:::

#### Instance Sizing

| **Configuration** | **Active Workload Limit** |
| -------------------- | ------------------------------------------------- |
| Small | Up to 1000 nodes each with 30 pods (30,000 pods) |
| Medium (Recommended) | Up to 3000 nodes each with 30 pods (90,000 pods) |
| Large | Up to 5000 nodes each with 30 pods (150,000 pods) |
Loading