Skip to content

Commit

Permalink
Input review comments
Browse files Browse the repository at this point in the history
  • Loading branch information
ritawatson committed Oct 17, 2023
1 parent da6eb3b commit 0f63dcc
Show file tree
Hide file tree
Showing 9 changed files with 43 additions and 36 deletions.
16 changes: 3 additions & 13 deletions docs/docs-content/profiles/app-profiles/app-profiles.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,24 +7,14 @@ tags: ["profiles", "app profiles"]
---


App profiles are templates you create with preconfigured services that are required for Palette [Virtual Cluster](../../devx/palette-virtual-clusters/palette-virtual-clusters.md) deployment. App profiles provide a way to drive consistency across virtual clusters deployed in the Palette Dev Engine (PDE) environment. For more information about PDE, check out the [Palette Dev Engine](../../devx/devx.md) documentation.
App profiles are templates you create with preconfigured services that are required for Palette [Virtual Cluster](../../devx/palette-virtual-clusters/palette-virtual-clusters.md) deployment. App profiles provide a way to drive consistency across virtual clusters deployed in the Palette Dev Engine (PDE) environment.

You create app profiles in PDE *App Mode*, which is optimized for a streamlined developer experience that leverages Spectro Cloud's managed Kubernetes cluster. Access *App Mode* from the **User Menu**. For more information about PDE and *App Mode*, check out the [Palette Dev Engine](../../devx/devx.md) documentation.

You create app profiles to meet specific types of workloads on your virtual clusters. You can use containers, Helm charts, custom manifest, and out-of-the-box services such as databases, message queue systems, and object storage. Check out the Palette Dev Engine [Services](../../devx/services/services.md) documentation to learn more about the available services.

You can also review all the Palette Dev Engine services that offer an out-of-the-box experience by reviewing the [Service Listings](../../devx/services/service-listings/service-listings.mdx).

:::caution

When adding a manifest-type layer to an app profile, make sure to specify a namespace. Otherwise the manifest deployment will get deployed to the `Default` namespace.

```yaml
namespace: yourNameHere
```
:::
<!-- You create app profiles using services that are required for Palette [Virtual Clusters](../../devx/palette-virtual-clusters/palette-virtual-clusters.md) deployed in Palette Dev Engine (PDE) in *App Mode*. Use app profiles to ensure consistency across virtual clusters. For more information about PDE, check out the [Palette Dev Engine](../../devx/devx.md) reference. -->
<!-- App profile layers can be services, Helm Charts, or custom manifests. Palette provides several out-of-the-box services. Check out the Palette Dev Engine [Services](../../devx/services/services.md) documentation to learn more about available services. -->

## Resources

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,11 @@ Palette App Mode supports the use of containers, a standard unit of software tha

1. Log in to [Palette](https://console.spectrocloud.com).

2. Select **App Profiles** in the left **Main Menu** and click on the **New App Profile** button.
2. From the **User Menu**, select **Switch to App Mode**.

3. Provide the following basic information for your app profile and click **Next**.
3. Select **App Profiles** in the left **Main Menu** and click on the **New App Profile** button.

4. Provide the following basic information for your app profile and click **Next**.

| **Parameter** | **Description** |
|-----------------------------|--------------|
Expand All @@ -32,9 +34,9 @@ Palette App Mode supports the use of containers, a standard unit of software tha

To learn how to create multiple profile versions that use the same name, check out [Version an App Profile](../modify-app-profiles/version-app-profile.md).

4. Select **Container Deployment** to start configuring your app profile.
5. Select **Container Deployment** to start configuring your app profile.

5. Provide the following configuration information for the container.
6. Provide the following configuration information for the container.

**General Settings**

Expand Down Expand Up @@ -75,9 +77,9 @@ Palette App Mode supports the use of containers, a standard unit of software tha
| **Mount Path** | A path to access the volume. |


6. The command and arguments you provide for **Runtime Settings** will override the default command and arguments that the container image provides.
7. The command and arguments you provide for **Runtime Settings** will override the default command and arguments that the container image provides.

7. When you have provided the required configuration information for the container, click **Review**. Your app profile is now created and can be deployed.
8. When you have provided the required configuration information for the container, click **Review**. Your app profile is now created and can be deployed.

## Validate

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Below are cluster profile types you can create:

- *Infrastructure* profiles provide the essential components for workload cluster deployments within a [tenant](../../glossary-all.md#tenant): Operating System (OS), Kubernetes, Network, and Storage. Collectively, these layers form the infrastructure for your cluster. For more information, review the [Create an Infrastructure Profile](../cluster-profiles/create-cluster-profiles/create-infrastructure-profile.md) guide.

- *Add-on* profiles are exclusively composed of add-on layers. They do not contain infrastructure components and are instead designed for reusability across multiple clusters and multiple projects within a tenant. Since they provide the flexibility to configure clusters based on specific requirements, *add-on* profiles can be added to *infrastructure* profiles to create what we call a *full profile*. For an overview of how to build add-on profiles using various types of layers, review the [Create an Add-on Profile](../cluster-profiles/create-cluster-profiles/create-addon-profile/create-addon-profile.md) guide.
- *Add-on* profiles are exclusively composed of add-on layers. They usually do not contain infrastructure components and are instead designed for reusability across multiple clusters and multiple projects within a tenant. Since they provide the flexibility to configure clusters based on specific requirements, *add-on* profiles can be added to *infrastructure* profiles to create what we call a *full profile*. For an overview of how to build add-on profiles using various types of layers, review the [Create an Add-on Profile](../cluster-profiles/create-cluster-profiles/create-addon-profile/create-addon-profile.md) guide.

- *Full profiles* combine infrastructure packs with add-on layers. By adding layers, you can enhance cluster functionality. For example, you might add system apps, authentication, monitoring, ingress, load balancers, and more to your cluster. Refer to the [Create a Full Profile](../cluster-profiles/create-cluster-profiles/create-full-profile.md) guide for more details.

Expand All @@ -28,15 +28,15 @@ Each cluster profile layer provides a specific functionality. Profile layers can
| **Layer** | **Description** |
|-----------|---------------------------|
| **Packs** | A pack is a collection of files and configurations that can be deployed to a cluster to add functionality or customize the cluster's behavior. We maintain a public pack registry that makes packs available to all tenants. Check out the [Packs List](../../integrations/integrations.mdx) reference to learn more about individual packs. |
| **Helm Charts** | Helm charts are a collection of Kubernetes resource files capable of deploying various services. We provide both a public and a private Helm registry. Additionally, your organization can add any public or private Helm registries to Palette to leverage charts from those registries. You can then attach customized charts to packs. |
| **Helm Charts** | Helm charts are a collection of Kubernetes resource files capable of deploying various services. We provide both a public and a private Helm registry. Additionally, your organization can add any public or private Helm registries to Palette to leverage charts from those registries. You can then attach customized charts to profiles. |
| **Manifests** | You can construct profile layers using manifests to provision Kubernetes resources that are unavailable in Palette or Helm Charts. Manifests also provide a pass-through mechanism to orchestrate Kubernetes resources in a cluster. For example, specific integrations may require the creation of secrets or Custom Resource Definitions (CRDs) to complete the installation. You can provision these additional resources by attaching a manifest file to a layer in a cluster profile. |


Use these guidelines to configure layers and customize certain aspects of a pack's functionality:

- **Pack version**: You can choose a specific pack version, such as `1.27.5`, or a major/minor train, such as `1.x` or `1.1.x`. A major/minor train provides dynamic version association. The latest release from that train is linked to the pack. When a pack is updated, its latest version gets linked to the pack, ensuring clusters always use the latest released pack versions without the need to manually update cluster profiles.

- **Configuration parameters**: Packs provided out-of-the-box have configuration parameters that are set to values based on common best practices. You can override these parameters as needed in the configuration file.
- **Configuration parameters**: Packs provide default configuration parameters that are set to values based on common best practices. You can override these parameters as needed in the configuration file.

- **Presets**: Some layers offer preset options that allow you to enable or configure a feature within that layer. When presets are available, they display in a slide panel in the YAML editor.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,18 @@ tags: ["profiles", "cluster profiles"]

Create cluster profiles by configuring layers that contain configuration information. You can create as many profiles as needed for your workload cluster deployments, and you can create multiple versions of a cluster profile using the same profile name but with a different pack configuration. For guidance on creating profile versions, review [Version a Cluster Profile](../modify-cluster-profiles/version-cluster-profile.md).


## Cluster Profile Scope

Cluster profiles can apply to a [tenant](../../../glossary-all.md#tenant) or a project. The scope you are in when you create the profile determines the profile's scope. A profile created in tenant scope applies to the tenant. A profile created in project scope applies to the project.

## Cluster Profile Types

Palette provides three types of cluster profiles:

- *Infrastructure* - Operating System (OS), Kubernetes, Network, and Storage.
- *Infrastructure* - Contains the Operating System (OS), Kubernetes, Network, and Storage.

- *Add-on* - service mesh, monitoring, and more.
- *Add-on* - Choose from various applications such as service mesh, monitoring, and more.

- *Full* - contains both infrastructure and add-on layers.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Create a full profile by first adding infrastructure layers composed of an Opera

| **Layer** | **Description** |
|-----------|-----------------|
| **Operating System**| Select an OS to use with your Kubernetes clusters. Use the **Bring Your Own OS (BYOOS)** if you want to upload your own OS images.|
| **Operating System**| Select an OS to use with your Kubernetes clusters. Use the **Bring Your Own OS (BYOOS)** to use a different or custom OS. Refer to the [Bring Your Own OS (BYOOS)](../../../byoos/byoos.md) section to learn more.|
|**Kubernetes**| The Kubernetes pack to use with the cluster. Palette eXtended Kubernetes (PXK) allows you to manage OpenID Connect (OIDC) Identity Provider (IDP). This is particularly useful if your environment does not have an IDP configured - you can use Palette as an IDP without having to configure a third-party IDP. Refer to [Configure OIDC Identity Provider](../../../integrations/kubernetes.md#configure-custom-oidc) for more information. |
| **Network**| Select a network pack to use with your clusters. |
| **Storage**| Select a storage pack to use with your clusters. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,13 @@ tags: ["profiles", "cluster profiles"]



Palette allows you to deploy the same pack to multiple layers, which can be required in certain scenarios where an integration needs to be installed more than once with different configurations. For example, you may have two or more applications in the profile that need to use the Postgres database. In this case, you will need to launch the Postgres database twice with different configurations.
Palette allows you to deploy the same pack to multiple layers, which can be required in certain scenarios where an integration needs to be installed more than once with different configurations. For example, you may need to deploy two instances of the same microservice or application but with different configurations. In this case, you will need to launch the Postgres application twice with different configurations.

::: caution

Depending on the application, you might have to place the duplicate pack in a different namespace, as resource conflicts could arise from the original pack having Kubernetes resources named identical to the one the second pack would create.

:::

In order to allow packs to be added multiple times in a profile, add the `spectrocloud.com/display-name: <custom_name>` key to the pack values in the YAML editor. The key `<custom_name>` is a name unique across a cluster profile and the cluster.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ tags: ["profiles", "cluster profiles"]
---


Use the following steps to delete a cluster profile.
Use the following steps to delete a cluster profile. Clusters that are using a deleted profile will continue to operate fine.

:::caution

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ Instead of rebuilding cluster profiles, you can export them in JSON format and t

- Your Palette account role must have the `clusterProfile.get` permission to export a cluster profile and `clusterProfile.create` to import a cluster profile. Refer to the [Cluster Profile permissions](../../user-management/palette-rbac/project-scope-roles-permissions.md#cluster-profile-admin).

- Macros used in the profile you want to export must be available in the target environment *before* you import the profile.
- [Macros](../../registries-and-packs/pack-constraints.md#pack-macros) used in the profile you want to export must be available in the target environment *before* you import the profile.

:::caution

If macros are not available in the target environment, create them there before importing the profile. For instructions on macro creation, review [Macro Support](../../clusters/cluster-management/macros.md#create-your-macro).
If custom macros are not available in the target environment, create them there before importing the profile. For instructions on macro creation, review [Macro Support](../../clusters/cluster-management/macros.md#create-your-macro).

:::

Expand All @@ -35,10 +35,12 @@ Use these steps to export the profile as a `.json` file.

3. Click **Export Profile** at the bottom of the details panel. Palette downloads the profile as a `.json` file.

4. Verify that any macros used in the exported profile exist in the target environment before you import the profile. If they do not, create the macros in the target environment. For guidance, review [Create Your Macro](../../clusters/cluster-management/macros.md#create-your-macro).
4. Verify that any custom macros used in the exported profile exist in the target environment before you import the profile. If they do not, create the macros in the target environment. For guidance, review [Create Your Macro](../../clusters/cluster-management/macros.md#create-your-macro).

:::caution
During profile export, Palette masks sensitive pack values, which you must update after profile import.

During profile export, Palette masks fields that are marked as sensitive. You must update the value of these sensitive fields after profile import with the proper new value.

:::


Expand All @@ -62,7 +64,7 @@ Use these steps to import the profile to one or more projects or tenants.

![Screenshot of the slide panel with uploaded JSON.](/profiles_cluster-profiles_json-to-import.png)

7. Update any pack YAML files that contain sensitive values, such as credentials or certificates, which Palette masks during file export.
7. Update any pack YAML files that contain sensitive values, such as credentials or certificates.

8. Click the **Validate** button. Palette checks for duplicate profile names and versions in the target environment and displays an error message if it finds them.

Expand All @@ -78,7 +80,7 @@ Use these steps to import the profile to one or more projects or tenants.

11. Click the **Confirm** button to complete the import.

12. Update any sensitive pack values and credentials in the imported profile, which Palette masks during profile export.
12. Update any sensitive pack values and credentials in the imported profile.

You have successfully imported the profile and updated any sensitive pack values. You can now use the profile for standard cluster operations, such as deployments and updates in the new environment.

Expand Down
6 changes: 3 additions & 3 deletions docs/docs-content/profiles/profiles.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
---
sidebar_label: "Profiles"
title: "Profiles"
description: "Learn how Palette uses cluster profiles to provide both consistency and flexibility across Kubernetes clusters."
description: "Learn how Palette uses profiles to provide consistency and flexibility across Kubernetes clusters."
hide_table_of_contents: false
sidebar_custom_props:
icon: "bundles"
tags: ["profiles", "cluster profiles", "app profiles", "system profiles"]
---

Profiles are composed of packs, Helm charts, and manifests and are used to ensure consistency across workload cluster deployments and Palette virtual clusters. Simultaneously, they offer the flexibility to tailor deployments to your specific needs.
Profiles are composed of packs, Helm charts, and manifests. Profiles are used to ensure consistency across workload cluster deployments and Palette Virtual Clusters. Simultaneously, they offer the flexibility to tailor deployments to your specific needs.

Palette uses the following profile types:

**Cluster profiles** - You create cluster profiles to meet specific types of workloads on your Palette cluster deployments. Cluster profiles span multiple clusters and projects within a [tenant](../glossary-all.md#tenant). For more information about cluster profiles, review [Cluster Profiles](./cluster-profiles/cluster-profiles.md) documentation.
**Cluster profiles** - You create cluster profiles to meet specific types of workloads on your Palette cluster deployments. Cluster profiles can span multiple clusters and projects within a [tenant](../glossary-all.md#tenant) or belong to a specific project. For more information about cluster profiles, review [Cluster Profiles](./cluster-profiles/cluster-profiles.md) documentation.

**App profiles** - You create app profiles to meet specific types of workloads on your Palette Virtual Clusters deployed using Palette Dev Engine (PDE). For information about PDE, check out the [Palette Dev Engine](../devx/devx.md) reference. For more information about app profiles, review [App Profiles](./app-profiles/app-profiles.md) documentation.

Expand Down

0 comments on commit 0f63dcc

Please sign in to comment.