diff --git a/docs/docs-content/system-profile.md b/docs/deprecated/cluster-profiles/system-profile.md similarity index 100% rename from docs/docs-content/system-profile.md rename to docs/deprecated/cluster-profiles/system-profile.md diff --git a/docs/deprecated/enterprise-version/_category_.json b/docs/deprecated/enterprise-version/_category_.json deleted file mode 100644 index 75bb21d32a..0000000000 --- a/docs/deprecated/enterprise-version/_category_.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "position": 161 -} diff --git a/docs/deprecated/enterprise-version/enterprise-version.md b/docs/deprecated/enterprise-version/enterprise-version.md deleted file mode 100644 index 8bd9d11245..0000000000 --- a/docs/deprecated/enterprise-version/enterprise-version.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -sidebar_label: "Self-Hosted Installation" -title: "Self-Hosted Installation" -description: "Understanding, installing and operating Spectro Cloud's Enterprise Self-Hosted variant." -hide_table_of_contents: false -sidebar_custom_props: - icon: "cat" -tags: ["self-hosted", "enterprise"] ---- - - -Palette is available as a self-hosted platform offering. You can install the self-hosted version of Palette in your data centers or public cloud providers to manage Kubernetes clusters. - - -## VMware Quick Start - -A single-node Palette installation that is ideal for Proof of Concept (PoC) environments. Refer to the [Quick Start Installation](deploying-the-platform-installer.md) guide for more details. - -## VMware Enterprise - -A highly available multi-node Palette installation that is typically used for production purposes. Check out the [Enterprise Mode](deploying-an-enterprise-cluster.md) guide to get started. - -## Kubernetes Install Helm Chart - -Install Palette onto a Kubernetes cluster using a Helm Chart. Review the [Helm Chart Mode](deploying-palette-with-helm.md) guide to learn more. - - -## Airgap Install - -Palette can be installed in a VMware environment without internet access, known as an air gap installation, which requires advance download of the following: - - Platform manifests - - Required platform packages - - Container images for core components - - Third-party dependencies - - Palette packs - -## Download Palette Installer - -To request the Palette self-hosted installer image, contact our Support team by sending an email to support@spectrocloud.com. Kindly provide the following information in your email: - -- Your full name -- Organization name (if applicable) -- Email address -- Phone number (optional) -- A brief description of your intended use for the Palette Self-host installer image. - -Our dedicated support team will promptly get in touch with you to provide the necessary assistance and share the installer image. - -If you have any questions or concerns, please feel free to contact support@spectrocloud.com. - - -## Upgrade Notes - -Review the [Upgrade Notes](upgrade.md) before attempting to upgrade Palette. - - - -## Resources - - -* [System Requirements](on-prem-system-requirements.md) - - -* [Quick Start Mode](deploying-the-platform-installer.md) - - -* [Enterprise Mode](deploying-an-enterprise-cluster.md) - - -* [Helm Chart Mode](deploying-palette-with-helm.md) - - -* [System Console Dashboard](system-console-dashboard.md) - - -* [Creating a VMware Cloud Gateway](../clusters/data-center/vmware.md#install-pcg) - - -* [Create VMware Cloud Account](../clusters/data-center/vmware.md#create-vmware-cloud-gateway) - - -* [Deploy a VMware Cluster](../clusters/data-center/vmware#deploy-a-vmware-cluster) - - -* [PCG Troubleshooting](../troubleshooting/pcg.md) - - -* [Upgrade Notes](upgrade.md) - - - - diff --git a/docs/deprecated/enterprise-version/monitoring.md b/docs/deprecated/enterprise-version/monitoring.md deleted file mode 100644 index 55020a9dc0..0000000000 --- a/docs/deprecated/enterprise-version/monitoring.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -sidebar_label: "Cluster Monitoring Metrics" -title: "Enterprise Cluster Monitoring Metrics" -description: "Enterprise Cluster Monitoring Metrics for Palette's Enterprise (on-premises) variant." -icon: "" -hide_table_of_contents: false -sidebar_position: 60 -tags: ["self-hosted", "enterprise", "monitoring"] ---- - -## Pods Monitoring Metrics -### Namespaces to Monitor Pods - -|**Namespaces** |**Interpretation**| -|-----------|--------------| -|**ui-system** |Palette Management UI| -|**cp-system** |System Management UI| -|**nats-system**| Message System| -|**ingress-nginx**| Ingress services| -|**hubble-system**|Core backend services| -|**jet-system**|Pivot Tenant Clusters| - -### Exceptions - -The below pods are dynamically created from jobs and can be excluded from monitoring. - - -|**Pods Prefix** |**Namespace**| -|-----------|--------------| -|ingress-nginx-admission-patch- |ingress-nginx| -|ingress-nginx-admission-create- |ingress-nginx| -|packsync- |hubble-system| -|cleanup- |hubble-system| - - - -## CPU and Memory Monitoring Metrics - -### Default Specifications -* CPU: 4 vCPU -* RAM: 8 GB RAM -* CP Nodes: 3 - -### Thresholds -* CPU warn [per node ] > 70% -* CPU alert [per node] > 80% -* Memory Warn [per node] > 80% -* Memory Alert [per node] > 90% - -### Node Monitoring Metrics - #### Number of Nodes: 3 - #### Node Alerts -* Node up -* Node down -* Node unreachable - diff --git a/docs/deprecated/enterprise-version/reverse-proxy.md b/docs/deprecated/enterprise-version/reverse-proxy.md deleted file mode 100644 index 438fc5311e..0000000000 --- a/docs/deprecated/enterprise-version/reverse-proxy.md +++ /dev/null @@ -1,252 +0,0 @@ ---- -sidebar_label: "Configure Reverse Proxy" -title: "Configure Reverse Proxy" -description: "Learn how to configure a reverse proxy for Palette." -icon: "" -hide_table_of_contents: false -sidebar_position: 80 ---- - -You can configure a reverse proxy for Palette. The reverse proxy can be used by host clusters deployed in a private network. Host clusters deployed in a private network are not accessible from the public internet or by users in different networks. You can use a reverse proxy to access the cluster's Kubernetes API server from a different network. - -When you configure reverse proxy server for Palette, clusters that use the [Spectro Proxy pack](../integrations/frp.md) will use the reverse proxy server address in the kubeconfig file. Clusters not using the Spectro Proxy pack will use the default cluster address in the kubeconfig file. - - -Use the following steps to configure a reverse proxy server for Palette. - -## Prerequisites - - -- [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) is installed and available. - - -- [Helm](https://helm.sh/docs/intro/install/) is installed and available. - - -- Access to the kubeconfig file of the Palette Kubernetes cluster. You can download the kubeconfig file from the Palette system console. Navigate to **Enterprise System Migration**, select the Palette cluster, and click the **Download Kubeconfig** button for the cluster. - - -- A domain name that you can use for the reverse proxy server. You will also need access to the DNS records for the domain so that you can create a CNAME DNS record for the reverse proxy server load balancer. - - -- Ensure you have an SSL certificate that matches the domain name you will assign to Spectro Proxy. You will need this to enable HTTPS encryption for the Spectro Proxy. Contact your network administrator or security team to obtain the SSL certificate. You need the following files: - - x509 SSL certificate file in base64 format - - - x509 SSL certificate key file in base64 format - - - x509 SSL certificate authority file in base64 format - - -- The Spectro Proxy server must have internet access and network connectivity to the private network where the Kubernetes clusters are deployed. - - -## Enablement - -1. Open a terminal session and navigate to the directory where you stored the **values.yaml** for the Palette installation. - - -2. Use a text editor and open the **values.yaml** file. Locate the `frps` section and update the following values in the **values.yaml** file. Refer to the [Spectro Proxy Helm Configuration](helm-chart-install-reference.md#spectro-proxy) to learn more about the configuration options. - - | **Parameter** | **Description** | **Type** | - | --- | --- | ---| - | `enabled`| Set to `true` to enable the Spectro Proxy server. | boolean | - | `frps.frpHostURL`| The domain name you will use for the Spectro Proxy server. For example, `frps.example.com`. | - | `server.crt`| The x509 SSL certificate file in base64 format. | - | `server.key`| The x509 SSL certificate key file in base64 format. | - | `ca.crt`| The x509 SSL certificate authority file in base64 format. | - -
- - The following is an example of the `frps` section in the **values.yaml** file. The SSL certificate files are truncated for brevity. - -
- - ```yaml - frps: - frps: - enabled: true - frpHostURL: "frps.palette.example.com" - server: - crt: "LS0tLS1CRU...........tCg==" - key: "LS0tLS1CRU...........tCg==" - ca: - crt : "LS0tLS1CRU...........tCg==" - ``` - - -3. Issue the `helm upgrade` command to update the Palette Kubernetes configuration. The command below assumes you are in the folder that contains the **values.yaml** file and the Palette Helm chart. Change the directory path if needed. - -
- - ```bash - helm upgrade --values values.yaml hubble spectro-mgmt-plane-0.0.0.tgz --install - ``` - - -4. After the new configurations are accepted, use the following command to get the IP address of the Spectro Proxy server's load balancer. - -
- - ```bash - kubectl get svc --namespace proxy-system spectro-proxy-svc - ``` -5. Update the DNS records for the domain name you used for the Spectro Proxy server. Create a CNAME record that points to the IP address of the Spectro Proxy server's load balancer. - - -6. Log in to the Palette System API by using the `/v1/auth/syslogin` endpoint. Use the `curl` command below and replace the URL with the custom domain URL you assigned to Palette, or use the IP address. Ensure you replace the credentials below with your system console credentials. - -
- - ```bash - curl --insecure --location 'https://palette.example.com/v1/auth/syslogin' \ - --header 'Content-Type: application/json' \ - --data '{ - "password": "**********", - "username": "**********" - }' - ``` - Output - ```json hideClipboard - { - "Authorization": "**********.", - "IsPasswordReset": true - } - ``` - -7. Using the output you received, copy the authorization value to your clipboard and assign it to a shell variable. Replace the authorization value below with the value from the output. - -
- - ```shell hideClipboard - TOKEN=********** - ``` - -8. Next, prepare a payload for the`/v1/system/config/` endpoint. This endpoint is used to configure Palette to use a reverse proxy. The payload requires the following parameters: - -
- - | **Parameter** | **Description** | **Type** | - | --- | --- | --- | - | `caCert`| The x509 SSL certificate authority file in base64 format. | string | - | `clientCert`| The x509 SSL certificate file in base64 format. | string | - | `clientKey`| The x509 SSL certificate key file in base64 format. | string | - | `port` | The port number for the reverse proxy server. We recommend using port `443`. | integer | - | `protocol` | The protocol to use for the reverse proxy server. We recommend using `https`. | string | - | `server`| The domain name you will use for the Spectro Proxy server. For example, `frps.example.com`. Do not include the HTTP schema in the value. | string | - - The following is an example payload. The SSL certificate files are truncated for brevity. - -
- - ```json hideClipboard - { - "caCert": "-----BEGIN CERTIFICATE-----\n.............\n-----END CERTIFICATE-----", - "clientCert": "-----BEGIN CERTIFICATE-----\n..........\n-----END CERTIFICATE-----", - "clientKey": "-----BEGIN RSA PRIVATE KEY-----\n........\n-----END RSA PRIVATE KEY-----", - "port": 443, - "protocol": "https", - "server": "frps.palette.example.com.com" - } - ``` - -
- - :::info - - You can save the payload to a file and use the `cat` command to read the file contents into the `curl` command. For example, if you save the payload to a file named `payload.json`, you can use the following command to read the file contents into the `curl` command. You can also save the payload as a shell variable and use the variable in the `curl` command. - - ::: - - -
- -9. Issue a PUT request using the following `curl` command. Replace the URL with the custom domain URL you assigned to Palette or use the IP address. You can use the `TOKEN` variable you created earlier for the authorization header. Ensure you replace the payload below with the payload you created in the previous step. - -
- - ```bash - curl --insecure --silent --include --output /dev/null -w "%{http_code}" --location --request PUT 'https://palette.example.com/v1/system/config/reverseproxy' \ - --header "Authorization: $TOKEN" \ - --header 'Content-Type: application/json' \ - --data ' { - "caCert": "-----BEGIN CERTIFICATE-----\n................\n-----END CERTIFICATE-----\n", - "clientCert": "-----BEGIN CERTIFICATE-----\n.............\n-----END CERTIFICATE-----", - "clientKey": "-----BEGIN RSA PRIVATE KEY-----\n............\n-----END RSA PRIVATE KEY-----\n", - "port": 443, - "protocol": "https", - "server": "frps.palette.example.com.com" - }' - ``` - - A successful response returns a `204` status code. - - Output - ```shell hideClipboard - 204 - ``` - -You now have a Spectro Proxy server that you can use to access Palette clusters deployed in a different network. Make sure you add the [Spectro Proxy pack](../integrations/frp.md) to the clusters you want to access using the Spectro Proxy server. - - -## Validate - -Use the following command to validate that the Spectro Proxy server is active. - -
- - - -1. Open a terminal session. - - -2. Log in to the Palette System API by using the `/v1/auth/syslogin` endpoint. Use the `curl` command below and replace the URL with the custom domain URL you assigned to Palette or use the IP address. Ensure you replace the credentials below with your system console credentials. - -
- - ```bash - curl --insecure --location 'https://palette.example.com/v1/auth/syslogin' \ - --header 'Content-Type: application/json' \ - --data '{ - "password": "**********", - "username": "**********" - }' - ``` - Output - ```json hideClipboard - { - "Authorization": "**********.", - "IsPasswordReset": true - } - ``` - -3. Using the output you received, copy the authorization value to your clipboard and assign it to a shell variable. Replace the authorization value below with the value from the output. - -
- - ```shell hideClipboard - TOKEN=********** - ``` - -4. Query the system API endpoint `/v1/system/config/reverseproxy` to verify the current reverse proxy settings applied to Palette. Use the `curl` command below and replace the URL with the custom domain URL you assigned to Palette, or use the IP address. You can use the `TOKEN` variable you created earlier for the authorization header. - -
- - ```bash - curl --location --request GET 'https://palette.example.com/v1/system/config/reverseproxy' \ - --header "Authorization: $TOKEN" - ``` - - If the proxy server is configured correctly, you will receive an output similar to the following that contains your settings. The SSL certificate outputs are truncated for brevity. - -
- - ```json hideClipboard - { - "caCert": "-----BEGIN CERTIFICATE-----\n...............\n-----END CERTIFICATE-----\n", - "clientCert": "-----BEGIN CERTIFICATE-----\n...........\n-----END CERTIFICATE-----", - "clientKey": "-----BEGIN RSA PRIVATE KEY-----\n........\n-----END RSA PRIVATE KEY-----\n", - "port": 443, - "protocol": "https", - "server": "frps.palette.example.com" - } - ``` \ No newline at end of file diff --git a/docs/deprecated/enterprise-version/ssl-certificate-management.md b/docs/deprecated/enterprise-version/ssl-certificate-management.md deleted file mode 100644 index d4d48c6a74..0000000000 --- a/docs/deprecated/enterprise-version/ssl-certificate-management.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -sidebar_label: "SSL Certificate Management" -title: "SSL Certificate Management" -description: "Upload and manage SSL certificates in Palette." -icon: "" -hide_table_of_contents: false -sidebar_position: 90 ---- - - -When you install Palette, a self-signed certificate is generated and used by default. You can upload your own SSL certificate to replace the default certificate. - -Palette uses SSL certificates to secure external communication. Palette's internal communication is default secured by default and uses HTTPS. External communication with Palette, such as the system console, gRPC endpoint, and API endpoint, requires you to upload an SSL certificate to enable HTTPS. - - -:::info - -Enabling HTTPS is a non-disruptive operation. You can enable HTTPS at any time without affecting the system's functionality. - -::: - - -## Upload an SSL Certificate - -You can upload an SSL certificate in Palette by using the following steps. - - -### Prerequisites - -- Access to the Palette system console. - - -- You need to have an x509 certificate and a key file in PEM format. The certificate file must contain the full certificate chain. Reach out to your network administrator or security team if you do not have these files. - - -- Ensure the certificate is created for the custom domain name you specified for your Palette installation. If you did not specify a custom domain name, the certificate must be created for the Palette system console's IP address. You can also specify a load balancer's IP address if you are using a load balancer to access Palette. - - -### Enablement - -1. Log in to the Palette system console. - - -2. Navigate to the left **Main Menu** and select **Administration**. - - -3. Select the tab titled **Certificates**. - - -4. Copy and paste the certificate into the **Certificate** field. - - -5. Copy and paste the certificate key into the **Key** field. - - -6. Copy and paste the certificate authority into the **Certificate authority** field. - - -
- - ![A view of the certificate upload screen](/enterprise-version_ssl-certificate-upload.png) - -
- -7. Save your changes. - -If the certificate is invalid, you will receive an error message. Once the certificate is uploaded successfully, Palette will refresh its listening ports and start using the new certificate. - - -### Validate - -You can validate that your certificate is uploaded correctly by using the following steps. - - -1. Log out of the Palette system console. If you are already logged in, log out and close your browser session. Browsers cache connections and may not use the newly enabled HTTPS connection. Closing your existing browser session avoids issues related to your browser caching an HTTP connection. - - -2. Log back into the Palette system console. Ensure the connection is secure by checking the URL. The URL should start with `https://`. - - -Palette is now using your uploaded certificate to create a secure HTTPS connection with external clients. Users can now securely access the system console, gRPC endpoint, and API endpoint. \ No newline at end of file diff --git a/docs/deprecated/enterprise-version/system-console-dashboard.md b/docs/deprecated/enterprise-version/system-console-dashboard.md deleted file mode 100644 index a283317407..0000000000 --- a/docs/deprecated/enterprise-version/system-console-dashboard.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -sidebar_label: "System Console Dashboard" -title: "System Console Dashboard" -description: "Understanding the super-admin settings in Palette's Enterprise (on-premise) variant." -icon: "" -hide_table_of_contents: false -sidebar_position: 50 -tags: ["self-hosted", "enterprise"] ---- - - -The self-hosted system console enables an initial setup and onboarding, administration, as well as upgrade management of the Palette Platform. The on-prem system console is available in a "quick start" mode and an "enterprise" mode. - -Platform administrators can use this console to perform the following operations: - -| Setting | Function | -| --- | --- | -| Tenant Management | Create and activate tenants | -| Update Management | Upgrade Spectro Cloud platform to newer versions | -| Administration | Configure platform settings like SMTP, Certificates, etc. | -| Migrate quick start mode cluster to enterprise | Available in quick start mode to install an enterprise cluster | - -## Tenant Management - -Create new tenants and their initial tenant admin accounts. Optionally, activate new tenants to enable tenant administrators to log in and access the tenant management console. - -## Update Management - -Apply Palette platform upgrades. Upgrades to the Palette platform are published to the Palette repository and a notification is displayed on the console when new versions are available. Platform administrators can apply platform upgrades directly from the on-prem system console. - -## Administration - -### SMTP - -Configure SMTP settings to enable the Palette platform to send out email notifications. Email Notifications are sent out to new users when they are onboarded to the platform to activate their accounts. - -### Certificates - -Provide the desired SSL/TLS server certificates to support external access to valid HTTPs. - -## Cluster Management - -Enterprise clusters are created and deployed from this section. The layers and/or pack integrations constituting a cluster can also be configured and updated. diff --git a/docs/deprecated/enterprise-version/upgrade.md b/docs/deprecated/enterprise-version/upgrade.md deleted file mode 100644 index a13a1bc889..0000000000 --- a/docs/deprecated/enterprise-version/upgrade.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -sidebar_label: "Upgrade Notes" -title: "Upgrade Notes" -description: "Spectro Cloud upgrade notes for specific Palette versions." -icon: "" -hide_table_of_contents: false -sidebar_position: 100 ---- - -This page is a reference resource to help you better prepare for a Palette upgrade. Review each version's upgrade notes for more information about required actions and other important messages to be aware of. If you have questions or concerns, reach out to our support team by opening up a ticket through our [support page](http://support.spectrocloud.io/). - -## Palette 4.0 - -Palette 4.0 includes the following major enhancements that require user intervention to facilitate the upgrade process. - -- **Enhanced security for Palette microservices** - To enhance security, all microservices within Palette now use `insecure-skip-tls-verify` set to `false`. When upgrading to Palette 4.0, you must provide a valid SSL certificate in the system console. - - If you already have an SSL certificate, key, and Certificate Authority (CA) certificate, you can use them when upgrading to Palette 4.0.0. To learn how to upload SSL certificates to Palette, refer to [SSL Certificate Management](ssl-certificate-management.md). - - -- **Self-hosted Palette Kubernetes Upgrade** - If you installed Palette using the Helm Chart method, the Kubernetes version used for Palette is upgraded from version 1.24 to 1.25. You will need to copy the new Kubernetes YAML to the Kubernetes layer in the Enterprise cluster profile. If you have customized your Kubernetes configuration, you will need to manually adjust custom values and include any additional configuration in the upgraded YAML that we provide. Refer to [Upgrade Kubernetes](upgrade.md#upgrade-kubernetes). - -### Upgrade from Palette 3.x to 4.0 - -From the Palette system console, click the **Update version** button. Palette will be temporarily unavailable while system services update. - -![Screenshot of the "Update version" button in the system consoles.](/enterprise-version_sys-console-update-palette-version.png) - -#### Upgrade Kubernetes - -Follow the steps below to upgrade Kubernetes. - -
- -1. To obtain the upgraded Kubernetes YAML file for Palette 4.0, contact our support team by sending an email to support@spectrocloud.com. - - -2. In the system console, click on **Enterprise Cluster Migration**. - - -3. Click on the **Profiles** tab, and select the Kubernetes layer. The Kubernetes YAML is displayed in the editor at right. - - -4. If the existing Kubernetes YAML has been customized or includes additional configuration, we suggest you create a backup of it by copying it to another location. - - -5. Copy the Kubernetes YAML you received from our support team and paste it into the editor. - -
- - ![Screenshot of the Kubernetes YAML editor.](/enterprise-version_upgrade_ec-cluster-profile.png) - - -6. If you have made any additional configuration changes or additions, add your customizations to the new YAML. - - -7. Save your changes. - -The Enterprise cluster initiates the Kubernetes upgrade process and leads to the reconciliation of all three nodes. - - -## Palette 3.4 - -Prior versions of Palette installed internal Palette components' ingress resources in the default namespace. The new version of the Helm Chart ensures all Palette required ingress resources are installed in the correct namespace. Self-hosted Palette instances deployed to Kubernetes and upgrading from Palette versions 3.3.X or older must complete the following action. - - -1. Connect to the cluster using the cluster's kubeconfig file. - - - -2. Identify all Ingress resources that belong to *Hubble* - an internal Palette component. - - ```shell - kubectl get ingress --namespace default - ``` - -3. Remove each Ingress resource listed in the output that starts with the name Hubble. Use the following command to delete an Ingress resource. Replace `REPLACE_ME` with the name of the Ingress resource you are removing. - - ```shell - kubectl delete ingress --namespace default - ``` \ No newline at end of file diff --git a/docs/docs-content/byoos/_category_.json b/docs/docs-content/byoos/_category_.json new file mode 100644 index 0000000000..bbb1353e75 --- /dev/null +++ b/docs/docs-content/byoos/_category_.json @@ -0,0 +1,3 @@ +{ + "position" : 65 +} diff --git a/docs/docs-content/byoos/byoos.md b/docs/docs-content/byoos/byoos.md new file mode 100644 index 0000000000..3c22fa45f8 --- /dev/null +++ b/docs/docs-content/byoos/byoos.md @@ -0,0 +1,25 @@ +--- +sidebar_label: "Bring Your Own OS (BYOOS)" +title: "Bring Your Own OS (BYOOS)" +description: "Learn how to add your own OS images to a Palette cluster profile." +hide_table_of_contents: false +sidebar_position: 0 +sidebar_custom_props: + icon: "person-walking-luggage" +tags: ["operating system", "byoos", "profiles", "cluster profiles"] +--- + + + +Palette allows the flexibility to bring your own Operating System (OS) to use with your Kubernetes clusters. Use the **Bring Your Own OS (BYOOS)** pack to upload your own OS images, configure drivers, and customize the OS to meet your specific requirements. This feature is especially useful for organizations with strict requirements around security, compliance, or specific hardware configurations. + +The ability to bring your own OS to Palette gives you more control over dependencies in your environment and ensures compatibility with your existing applications. The OS you bring can be commercial or an open-source distribution. + + +## Resources + +- [Create Images with Image Builder](../byoos/image-builder.md) + +- [BYOOS Pack](../integrations/byoos.md) + +
\ No newline at end of file diff --git a/docs/docs-content/cluster-profiles/byoos/image-builder.md b/docs/docs-content/byoos/image-builder.md similarity index 62% rename from docs/docs-content/cluster-profiles/byoos/image-builder.md rename to docs/docs-content/byoos/image-builder.md index 0d0c39ae5d..94c6c52978 100644 --- a/docs/docs-content/cluster-profiles/byoos/image-builder.md +++ b/docs/docs-content/byoos/image-builder.md @@ -1,14 +1,15 @@ --- sidebar_label: "Create Images with Image Builder" title: "Create Images with Image Builder" -description: "Learn how to use the Image Builder project to create images for Palette" +description: "Learn how to use the Image Builder project to create images for Palette." icon: "" hide_table_of_contents: false sidebar_position: 0 +tags: ["operating system", "byoos", "profiles", "cluster profiles"] --- -You can create and deploy custom images to most infrastructure providers using various tools. Many infrastructure providers have tools that you can use to create custom images for the platform, such as [AWS EC2 Image Builder](https://aws.amazon.com/image-builder/) for AWS or [Azure VM Image Builder](https://azure.microsoft.com/en-us/products/image-builder) for Azure. You can also use platform agnostic tools, such as [HashiCorp Packer](https://developer.hashicorp.com/packer), or something more tailored to Kubernetes, such as the [Kubernetes Image Builder](https://image-builder.sigs.k8s.io/introduction.html) (KBI) project. +You can create and deploy custom images to most infrastructure providers using various tools. Many infrastructure providers have tools that you can use to create custom images for the platform, such as [AWS EC2 Image Builder](https://aws.amazon.com/image-builder/) for AWS or [Azure VM Image Builder](https://azure.microsoft.com/en-us/products/image-builder) for Azure. You can also use platform agnostic tools, such as [HashiCorp Packer](https://developer.hashicorp.com/packer), or something more tailored to Kubernetes, such as the [Kubernetes Image Builder](https://image-builder.sigs.k8s.io/introduction.html) (KIB) project. ## Kubernetes Image Builder @@ -19,7 +20,7 @@ You can use the custom images created by KIB with Palette, assuming the infrastr ![A diagram displaying the steps for creating a custom image](/cluster-profiles_byoos_image-builder_workflow-diagram.png)
-1. You will download the KIB project and configure the image builder's **packer.json** file. +1. Download the KIB project and configure the image builder's **packer.json** file. 2. Use the `make` command to create a custom image containing a specific Operating System (OS) version and flavor. @@ -28,13 +29,13 @@ You can use the custom images created by KIB with Palette, assuming the infrastr 3. The custom image is created and distributed to the target regions you specified in the **packer.json** file. -4. Create a cluster profile pointing to your custom image. +4. Create a cluster profile that points to your custom image. -5. Deploy a host cluster using your cluster profile containing the custom image. +5. Deploy a host cluster using your cluster profile that contains the custom image. -This guide will teach you how to use the Kubernetes Image Builder to create images for your infrastructure provider so that you can use the custom image in a cluster profile. +This guide will teach you how to use KIB to create images for your infrastructure provider so that you can use the custom images in a Palette cluster profile. ### Prerequisites @@ -63,23 +64,27 @@ To use a commercial OS, you must provide the license before starting the image c ### Create an Image -The following steps will guide you through creating your image. You will create a custom Red Hat Enterprise Linux (RHEL) for Amazon Web Services (AWS). RHEL is a commercial product, so you will need license subscription credentials, but you can use the same steps for a non-RHEL image. The critical point to take away in this guide is using KIB to create the image. - -
+The following steps guide you through creating your image. You will create a custom Red Hat Enterprise Linux (RHEL) image for Amazon Web Services (AWS). RHEL is a commercial product, so you will need license subscription credentials, but you can use the same steps for a non-RHEL image. The critical point to take away in this guide is using KIB to create the image. 1. Clone the KIB repository. -
+ + ```shell - git@github.com:snehala27/image-builder.git + git clone https://github.com/kubernetes-sigs/image-builder.git ``` - ::info + + - A modified KIB repository is used to address GitHub issue [#1141](https://github.com/kubernetes-sigs/image-builder/issues/1132). This guide will be updated to point back to the community repository once the [pull request](https://github.com/kubernetes-sigs/image-builder/pull/1141) addressing the issue is accepted and merged into the code base. + ```shell + git clone git@github.com:kubernetes-sigs/image-builder.git + ``` + + + - ::: 2. Switch the directory into the image builder folder. @@ -89,20 +94,11 @@ The following steps will guide you through creating your image. You will create cd image-builder/images/capi ``` -3. Check out the following git branch. - -
- - ```shell - git fetch && git checkout rhelIssueAWSCLI - ``` +3. Open up the image builder [documentation site](https://image-builder.sigs.k8s.io/introduction.html) in your web browser, and review the steps to build an image for your specific infrastructure provider. -4. Open up the image builder [documentation site](https://image-builder.sigs.k8s.io/introduction.html) in your web browser and review the steps for the infrastructure provider you want to build an image for. - - -5. If you are using a commercial OS such as RHEL, set the required environment variables per the KIB documentation. For RHEL, the following environment variables are required. Replace the placeholder values with your actual credentials. +4. If you are using a commercial OS such as RHEL, set the required environment variables per the KIB documentation. For RHEL, the following environment variables are required. Replace the placeholder values with your actual credentials.
@@ -119,11 +115,9 @@ The following steps will guide you through creating your image. You will create export PACKER_FLAGS=-on-error=ask ``` -6. Navigate to the **packer** folder and open up the folder for the target infrastructure provider. Review the file **packer.json**. Make any configuration changes you desire, such as the Kubernetes version, cloud credentials, network settings, instance size, image regions etc. You must make changes in the file's `variables` section. Only a condensed version of the 'variables' object below is used for illustrative purposes to enhance the reader's experience. +5. Navigate to the **packer** folder and open the folder for the target infrastructure provider. Review the **packer.json** file. Make the desired configuration changes, such as the Kubernetes version, cloud credentials, network settings, instance size, image regions, and more. You must make changes in the file's `variables` section. The following example shows a condensed version of the `variables` object. -
- - ```json + ```json hideClipboard "variables": { ... "ami_groups": "", @@ -145,21 +139,19 @@ The following steps will guide you through creating your image. You will create }, ``` -
- :::info - The file **packer.json** contains many user variables use can use to customize the image. We recommend you review the KIB [documentation](https://image-builder.sigs.k8s.io/capi/capi.html) for your provider as it explains each variable. + The file **packer.json** contains many variables you can use to customize the image. We recommend you review the KIB [documentation](https://image-builder.sigs.k8s.io/capi/capi.html) for your provider as it explains each variable. ::: -7. Set the credentials for your infrastructure provider. Each infrastructure provider supports different methods for providing credentials to Packer. You can review each infrastructure provider's authentication section by visiting the [Packer plugins site](https://developer.hashicorp.com/packer/plugins) and selecting your provider on the left **Main Menu**. +6. Set the credentials for your infrastructure provider. Each infrastructure provider supports different methods for providing credentials to Packer. You can review each infrastructure provider's authentication section by visiting the [Packer plugins site](https://developer.hashicorp.com/packer/plugins) and selecting your provider on the left **Main Menu**. -8. Next, find the `make` command for your provider. You can use the following command to get a list of all available RHEL options. Replace the `grep` filter with the provider you are creating an image for. +7. Next, find the `make` command for your provider. You can use the following command to get a list of available RHEL options. Replace the `grep` filter with your target provider.
@@ -168,7 +160,7 @@ The following steps will guide you through creating your image. You will create ``` Output: - ```shell + ```shell hideClipboard build-ami-rhel-8 Builds RHEL-8 AMI build-azure-sig-rhel-8 Builds RHEL 8 Azure managed image in Shared Image Gallery build-azure-vhd-rhel-8 Builds RHEL 8 VHD image for Azure @@ -177,7 +169,7 @@ The following steps will guide you through creating your image. You will create ... ``` -9. Issue the `make` command that aligns with your target provider. In this example, `build-ami-rhel-8 ` is the correct command for an RHEL AWS AMI creation. +8. Issue the `make` command that aligns with your target provider. In this example, `build-ami-rhel-8 ` is the correct command for an RHEL AWS AMI creation.
@@ -186,7 +178,7 @@ The following steps will guide you through creating your image. You will create ``` Output: - ```shell + ```shell hideClipboard amazon-ebs.{{user `build_name`}}: output will be in this color. ==> amazon-ebs.{{user `build_name`}}: Prevalidating any provided VPC information @@ -200,11 +192,11 @@ The following steps will guide you through creating your image. You will create .... ``` -10. Once the build process is complete, note the image ID. +9. When the build process completes, note the image ID.
- ```shell + ```shell hideClipboard Build 'amazon-ebs.{{user `build_name`}}' finished after 22 minutes 29 seconds. ==> Wait completed after 22 minutes 29 seconds @@ -218,37 +210,30 @@ The following steps will guide you through creating your image. You will create ``` -11. Login to [Palette](https://console.spectrocloud.com). +10. Log in to [Palette](https://console.spectrocloud.com). +11. Navigate to the left **Main Menu** and select **Profiles**. -12. Navigate to the left **Main Menu** and select **Profiles**. +12. Click on the **Add Cluster Profile** button. -13. Click on the **Add Cluster Profile** to create a new cluster profile that uses your new custom image. +13. Fill out the input fields for **Name**, **Description**, **Type** and **Tags**. Select **Full** as the profile type, and click **Next**. +14. Select your infrastructure provider. This example uses **AWS**. -14. Fill out the inputs fields for **Name**, **Description**, **Type** and **Tags**. Select the type **Full** and click on **Next**. +15. Select the **BYOOS** pack. Use the following information to find the BYOOS pack. + * Pack Type: OS + * Registry: Public Repo + * Pack Name: Bring Your Own OS (BYOOS) + * Pack Version: 1.0.x or higher -15. Select your infrastructure provider. In this example, **AWS** is selected. +16. Update the pack YAML to point to your custom image. You can use the tag values that Packer assigns to the image to help you identify the correct value to provide. In the example output below, the tag values `distribution_version` and `distribution` are used to determine the correct values for the YAML. - - -16. Select the **BYOOS** pack. Use the following information to find the BYOOS pack. - -* Pack Type: OS -* Registry: Public Repo -* Pack Name: Bring Your Own OS (BYO-OS) -* Pack Version: 1.0.x or higher - -17. Update the pack YAML to point to your custom image. You can use the tag values Packer assigns to the image to help you identify the correct value to provide the pack YAML. In the example output below, the tag values `distribution_version` and `distribution` are used to determine the correct values for the YAML. - -
- - ``` + ```shell hideClipboard ==> amazon-ebs.{{user `build_name`}}: Creating AMI tags amazon-ebs.{{user `build_name`}}: Adding tag: "build_date": "2023-05-10T17:19:37Z" amazon-ebs.{{user `build_name`}}: Adding tag: "build_timestamp": "1683739177" @@ -264,50 +249,41 @@ The following steps will guide you through creating your image. You will create In this example, the YAML is updated to point to the RHEL image created earlier. Use the table below to learn more about each variable. -
- - | Parameter | Description | Type | + | **Parameter** | **Description** | **Type** | |---|----|----| | `osImageOverride` | The ID of the image to use as the base OS layer. This is the image ID as assigned in the infrastructure environment it belongs to. Example: `ami-0f4804aff4cf9c5a2`. | string| | `osName` | The name of the OS distribution. Example: `rhel`. | string | | `osVersion`| The version of the OS distribution. Example: `8` | string| -
- ```yaml pack: - osImageOverride: "ami-0f4804aff4cf9c5a2" - osName: "rhel" - osVersion: "8" + osImageOverride: "ami-0f4804aff4cf9c5a2" + osName: "rhel" + osVersion: "8" ``` - ![View of the cluster profile wizard](/clusters_byoos_image-builder_cluster-profile-byoos-yaml.png) -18. Click on **Next layer** to add the Kubernetes layer. +17. Click on **Next layer** to add the Kubernetes layer. -19. Select the desired Kubernetes distribution and version. Click on the **** button to reveal the YAML editor. +18. Select the desired Kubernetes distribution and version. Click on the **** button to display the YAML editor. -20. Complete the remainder of the cluster profile creation wizard by selecting the next cluster profile layers. +19. Complete the remainder of the cluster profile creation wizard by selecting the next cluster profile layers. You now have a cluster profile that uses the custom image you created using the [Kubernetes Image Builder](https://image-builder.sigs.k8s.io/introduction.html) project. -
- :::caution - When deploying a host cluster, choosing the appropriate cloud provider and region where the image was distributed is critical to successfully launching a cluster using a custom image in the cluster profile. Failure to do so may result in Palette's inability to launch a cluster. - ::: ### Validate -Use the following steps to validate your custom image. +Use the following steps to validate your custom image is working correctly. -1. You can validate that the custom image is working correctly by deploying a compute instance in the respective infrastructure provider you created the image in using the custom image. Review the compute instance logs to learn more about the problems if you encounter any issues. +1. Deploy a compute instance in the respective infrastructure provider using your custom image. Review the compute instance logs to learn more about any issues you may encounter. -2. Next, deploy a host cluster that uses the cluster profile you created containing the custom image. Verify the cluster is deployed correctly and without any issues. If you encounter any problems, review the event logs of the cluster to gain more details about the issue. Check out the [Deploy a Cluster](../../clusters/public-cloud/deploy-k8s-cluster.md) tutorial for additional guidance on deploying a host cluster. \ No newline at end of file +2. Next, deploy a host cluster using the cluster profile you created that contains the custom image. Verify the cluster is deployed correctly and without any issues. If you encounter any problems, review the cluster's event log to gain more details about the issue. Check out the [Deploy a Cluster](/clusters/public-cloud/deploy-k8s-cluster/) tutorial for additional guidance on deploying a host cluster. \ No newline at end of file diff --git a/docs/docs-content/cluster-profiles/_category_.json b/docs/docs-content/cluster-profiles/_category_.json deleted file mode 100644 index e7e7c54966..0000000000 --- a/docs/docs-content/cluster-profiles/_category_.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "position": 40 -} diff --git a/docs/docs-content/cluster-profiles/byoos/_category.json b/docs/docs-content/cluster-profiles/byoos/_category.json deleted file mode 100644 index ae9ddb024d..0000000000 --- a/docs/docs-content/cluster-profiles/byoos/_category.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "position": 50 -} diff --git a/docs/docs-content/cluster-profiles/byoos/byoos.md b/docs/docs-content/cluster-profiles/byoos/byoos.md deleted file mode 100644 index 26dee6e42e..0000000000 --- a/docs/docs-content/cluster-profiles/byoos/byoos.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -sidebar_label: "Bring Your Own OS (BYOOS)" -title: "Bring Your Own OS (BYOOS)" -description: "Learn how to use your own OS images with a cluster profile" -icon: "" -hide_table_of_contents: false - ---- - - -With Palette, you can bring your own operating system and use it with your Kubernetes clusters using the [Bring Your Own Operating System (BYOOS)](../../glossary-all.md#bringyourownoperatingsystem(byoos)) feature. The BYOOS pack allows you to upload your own OS images, configure the necessary drivers, and customize the OS to meet your specific requirements. - - - -Bringing your own operating system provides several benefits, including the ability to control your own dependencies, improve performance, and ensure compatibility with your existing applications. With BYOOS, you can choose the OS that best fits your needs, whether it's a commercial or open-source distribution, and integrate it with your Kubernetes clusters. - - - -The BYOOS feature is especially useful for enterprises and organizations that have strict requirements around security, compliance, or specific hardware configurations. With the ability to bring your own OS, you can ensure that your Kubernetes clusters meet these requirements, without compromising on performance or functionality. - - - -BYOOS in Palette gives you greater flexibility, control, and customization options when managing your Kubernetes clusters. You can tailor your OS to your specific needs, ensuring your clusters perform optimally and meet your organization's unique requirements. - - - -To learn more about BYOOS, use the following resources to learn more. - -## Resources - -- [Create Images with Image Builder](image-builder.md) - - -- [BYOOS Pack](../../integrations/byoos.md) - -
\ No newline at end of file diff --git a/docs/docs-content/cluster-profiles/cluster-profile-import-export.md b/docs/docs-content/cluster-profiles/cluster-profile-import-export.md deleted file mode 100644 index 524c6f42d9..0000000000 --- a/docs/docs-content/cluster-profiles/cluster-profile-import-export.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -sidebar_label: "Import Export Cluster Profiles" -title: "Import Export Cluster Profiles" -description: "The method for importing and exporting Cluster Profile on Spectro Cloud" -icon: "" -hide_table_of_contents: false -sidebar_position: 30 ---- - - -Palette enables cluster profiles to be exported and then imported across multiple environments, projects and tenants. This smoothens the reuse and sharing of huge profiles with large number of add-ons and integrations. - -## Prerequisites - -* [Export](#export-cluster-profile) the cluster profile file in JSON format from Palette. - - -* The packs in the exported profile should be available in the target environment during import. - - -* The `macros` used in the exported profile should be available in the target environment during import. If not [create the macros](../clusters/cluster-management/macros.md#create-your-macro) at the target environment. - -## Use Cases - - -The Export/Import Cluster Profile use cases: - -
- -* Export / Import use case is most suitable for different environments like stage & dev saas setups. - -## Export Cluster Profile - -To Import Palette cluster profiles the existing profile needs to be first exported as json file from Palette. To export follow the steps as below: - -
- -* As a `Tenant` or `Project` administrator login to Palette. - - -* Select the `Profiles` option from the left ribbon menu. - - -* Select `Cluster Profiles` option from the top menu. - - -* From the listed cluster profiles, select the profile to be exported. - - -* From the profile details page, click `Export profile`. - - -* The profile will be downloaded as json file to the system. - - -* Save the downloaded file for import. - -:::info -While exporting the profile, the sensitive pack values will be masked and must be updated during import. -::: - -## Import Cluster Profile - - -To import a cluster profile: - -
- -1. As a `Tenant` or `Project` administrator login to the Palette console. - - -2. Select the `Profiles` option from the left ribbon menu. - - -3. Select `Cluster Profiles` option from the top menu. - - -4. To import an existing cluster profile, click on `Import Cluster Profile`. - - -5. In the import cluster profile wizard, - * Click the `Upload file` button to upload the already exported profile JSON file. - * Validate the file contents to avoid duplicate profile names and versions. In the case of a profile already existing with the same name and version combination, an error message is displayed. Customize the name or version number to avoid conflicts and ambiguities. - * Once the file contents are validated, a wizard to `Select Repositories` is open, If there are multiple repositories with the imported profile packs at the destination. Select the repository from which the packs need to be fetched from the UI drop down and confirm. - * Once all the information is provided, confirm the profile creation process to have the profile created and listed. This profile can be used in the same way as any cluster profile for every cluster operations such as deployments, updates and so on. - -:::info - -If there is only a single repository where the imported packs are present within the destination, the `Select Repositories` option will not appear. - -::: - diff --git a/docs/docs-content/cluster-profiles/cluster-profiles.md b/docs/docs-content/cluster-profiles/cluster-profiles.md deleted file mode 100644 index 8acc8882b6..0000000000 --- a/docs/docs-content/cluster-profiles/cluster-profiles.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -sidebar_label: "Cluster Profiles" -title: "Understanding Cluster Profiles" -description: "Understanding the Cluster Profiles Concept and how they make Spectro Cloud powerful" -hide_table_of_contents: false -sidebar_custom_props: - icon: "bundles" ---- - - - -# Overview - - -[Cluster Profiles](../glossary-all.md#cluster-profile) are like templates that are created with preconfigured layers/components that are required for -workload cluster deployments. Cluster Profiles provide a way for driving consistency across workload cluster -deployments. You can create as many profiles as required. - -A Cluster Profile can contain an environment-specific configuration and can be created to meet specific types of Workload Cluster deployment needs. As an example, you may create a Development Cluster Profile with a very basic configuration or a Production Cluster Profile with additional security, monitoring, and logging layers. - -You may also build Special Purpose Profiles to deploy Workload Clusters for use cases such as AI/ML or High Performance Computing (HPC). Cluster Profiles can be created to be of the type Core Infra, Add-on, or Full. - -![Cluster Profile Types](/cluster_profiles.png) - -Cluster creation requires an Infrastructure or Full Cluster Profile to be selected, and optionally, one or more Add-on profile(s). The same Add-on Layer category may exist in more than one of the Add-on profiles. The Profile would then read, for example: OS, Kubernetes, Networking, Storage, Monitoring, Ingress. - -## Layers - -Cluster Profile Layers are built using content packages which contain integration-specific templates, charts, and manifest. These content packages can either be of two types: - - * **Palette Packs** - These content packages are built using Spectro Cloud's proprietary content format. Spectro Cloud maintains a public registry of Palette Packs that are available to all Tenants. - - - * **Helm Charts** - These charts are a collection of Kubernetes resource files capable of deploying services ranging in varying complexities. Palette provides a few stable public Helm registries out of the box. Tenants can also add any public or private Helm registries to leverage charts from those registries. Palette promotes Container Storage Interface (CSI) and Container Network Interface (CNI) layers to be added as Helm Charts from customized Helm registries and linked to Spectro Registry packs. - -## Core Infrastructure Cluster Profile - -A **Core Infrastructure Cluster Profile** is constructed using the four Core Infrastructure layers: the OS, Kubernetes, the networking, and the storage layers. These profiles are environment specific and are constructed using cloud-specific layers. - -![Core Infra Profile - Azure](/cluster_profile_azure.png) - -## Add-On Cluster Profile - -An **Add-on Cluster Profile** consists of various integrations and can be constructed using layers such as: - -- System apps -- Authentication -- Security -- Monitoring -- Logging -- Ingress -- Load balancer -- Helm Charts - -![Add-On Profile](/addon_profile.png) - -## Full Cluster Profile - -A **Full Cluster Profile** consists of the Core Infrastructure layers and as many additional Add-on layers as required. The Core Infrastructure layers are cloud specific. - -![Full Cluster Profile](/full_profile.png) - -The next sections provide the details of creating and managing Cluster Profiles. - - -
diff --git a/docs/docs-content/cluster-profiles/create-add-on-profile.md b/docs/docs-content/cluster-profiles/create-add-on-profile.md deleted file mode 100644 index 25cb5fe950..0000000000 --- a/docs/docs-content/cluster-profiles/create-add-on-profile.md +++ /dev/null @@ -1,135 +0,0 @@ ---- -sidebar_label: "Create an Add-on Profile" -title: "Create an Add-on Profile" -description: "Learn how to create an add-on cluster profile." -icon: "" -hide_table_of_contents: false -sidebar_position: 10 ---- - - -Add-on cluster profiles offer a range of benefits for workload cluster deployments. These profiles provide enhanced functionality by allowing the addition of various layers such as system apps, authentication, security, monitoring, logging, ingress, and load balancers to the cluster. - -This capability allows you to customize and configure clusters based on specific requirements. Add-on cluster profiles follow a modular approach, making managing and maintaining cluster configurations more flexible. Add-on profiles also promote reusability, allowing profiles to be used across multiple environments, projects, and tenants. Additionally, add-on cluster profiles support integration-specific templates, charts, and manifests, providing flexibility and customization options for workload cluster deployments. - - -## Pack Labels and Annotations - -You can specify Namespace labels and annotations to Add-on packs, and packs that are for Container Storage Interfaces (CSI) and Container Network Interfaces (CNI) drivers. These labels and annotations are applied to the Namespace that the pack is deployed to, or to a specific Namespace if specified. You can apply labels and annotations to the pack's YAML file. - -The following parameters are available for specifying Namespace labels and annotations: - -| **Parameter** | **Description** | **Type** | -| --- | --- | --- | -| `namespace` | The Namespace that the pack is deployed to. If the Namespace does not exists, then Palette will create the Namespace. | string | -| `additionalNamespaces`| A list of additional Namespaces that Palette will create. | map | -| `namespaceLabels` | A list of key-value pairs for labels applied to the Namespace. | map | -| `namespaceAnnotations` | A list of key-value pairs for annotations applied to the Namespace. | map | - - - -The following example shows how to specify Namespace labels and annotations for an Add-on Pack, a CSI pack, and a CNI pack. In the example pack YAML configuration, the `wordpress` Namespace is created. An additional Namespace titled `wordpress-storage` is also created. In the parameters sections, `namespaceLabels` and `namespaceAnnotations`, each entry has a key and a value. The key is the name of the target Namespace, and the value is the value of the label or annotation. - - -
- -```yaml -pack: - namespace: "wordpress" - additionalNamespaces: - "wordpress-storage" - - namespaceLabels: - "monitoring": "org=spectro,team=dev" - "wordpress-storage": "user=demo-user" - "default": "user=demo-user" - - namespaceAnnotations: - "monitoring": "monitoring.io/enable=true" - "wordpress-storage": "storage.metrics.io/format=json" -``` - - - - -## Create an Add-on Profile - -Use the following steps to learn how to create an add-on cluster profile. - - -### Prerequisites - -* Your Palette account role must have the `clusterProfile.create` permission to create an Add-on cluster profile. Refer to the [Cluster Profile](../user-management/palette-rbac/project-scope-roles-permissions.md#clusterprofile) permissions documentation for more information about roles and permissions. - - -### Create Steps - - -1. Log in to [Palette](https://console.spectrocloud.com). - - -2. Navigate to the left **Main Menu** and select **Profiles**. - - -3. Click on **Add Cluster Profile**. - - -4. Fill out the following input values and ensure you select **Add-on** for the type. Click on **Next** to continue. - -
- - | Field | Description | - |----|----| - | **Name**| The name of the profile. | - |**Description**| Use the description to provide context about the profile. | - | **Version**| Assign a version to the profile. The default value is `1.0.0`. | - | **Type**| **Add-on** | - | **Tags**| Assign any desired profile tags you want. | - - -5. Select the type of layer to add to the cluster profile. - -
- - | Type | Description | - |---|---| - | **Pack** | 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.| - | **Helm**| You can specify a Helm chart as a layer in an add-on profile.| - | **Manifest**| A manifest is a Kubernetes configuration file that describes the desired state of a Kubernetes resource, such as deployment, service, or pod and is used to create or modify that resource in a cluster.| - - - - -6. Depending on your selected type, fill out the required input fields and click on **Confirm & Create**. - - -
- - ![A view of the manfiest create process and the YAML code in the text editior](/clusters_imported-clusters_attach-add-on-profile_manfest-view.png) - -
- -7. If you want to add additional layers, repeat steps five and six. Otherwise, click on **Next** to review the profile. - - -8. Click on **Finish Configuration** to create the cluster profile. - - - -You now have an add-on cluster profile. You can reuse the profile and apply it to several clusters. You can also update a cluster profile and decide what clusters to apply the new version to. Refer to the [Update Cluster Profile](../cluster-profiles/task-update-profile.md) guide for more information about update operations. - - -### Validate - -1. Log in to [Palette](https://console.spectrocloud.com). - - - -2. Navigate to left **Main Menu** and select **Profiles**. - - - -3. Select your cluster profile to review its layers or make changes. - - -
\ No newline at end of file diff --git a/docs/docs-content/cluster-profiles/examples.md b/docs/docs-content/cluster-profiles/examples.md deleted file mode 100644 index 331ee4d8ba..0000000000 --- a/docs/docs-content/cluster-profiles/examples.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -sidebar_label: "Cluster Profile Examples" -title: "Cluster Profile Examples" -description: "The method for creating a Cluster Profile for AWS on Spectro Cloud" -icon: "" -hide_table_of_contents: false -sidebar_position: 40 ---- - - -Cluster profiles can be built to launch clusters for specific use cases. Clusters launched for development purposes are typically minimal and do not require advanced integrations. Production clusters on the other hand tend to be more comprehensive with many more integrations. The following are examples of cluster profiles built for development and production purposes: - - - - - -## Development Cluster Profile - -![Development Profile](/development.png) - -* All layers are built with smart tags to enable automatic upgrades of clusters to the newest releases. -* Kubernetes dashboard is the only integration enabled. - - - - - -## Production Cluster Profile - -![Production Profile](/production.png) - -* All layers are pinned to specific versions -* Automatic upgrades are disabled -* Centralized logging enabled - Elastic Search, Fluentd, Kibana -* Centralized monitoring enabled - Prometheus, Grafana -* Runtime-security enabled - Sysdig Falco -* Service observability enabled - Istio -* Role-based access control enabled - Permissions Manager -* Load balancer to expose services externally - MetalLB - - - - diff --git a/docs/docs-content/cluster-profiles/task-define-profile.md b/docs/docs-content/cluster-profiles/task-define-profile.md deleted file mode 100644 index a90818f451..0000000000 --- a/docs/docs-content/cluster-profiles/task-define-profile.md +++ /dev/null @@ -1,128 +0,0 @@ ---- -sidebar_label: "Create a Cluster Profile" -title: "Create a Cluster Profile" -description: "Learn how to create a cluster profile in Palette." -icon: "" -hide_table_of_contents: false -sidebar_position: 0 ---- - - - - -## Basic Information and Core Layers - -Cluster profiles are created by configuring various layers of the Kubernetes infrastructure stack. To create a **New Cluster Profile**, follow these steps: - -1. Provide the **Basic Information** such as: - - |**Parameter** |**Description** | - |---------|---------| - |**Name** | Give a name for the new cluster. | - |**Version** | Include the [Cluster Profile Version](#clusterprofileversioning) number for the cluster under which the cluster profile needs to be created. See below for more information. | - |**Description** | Provide quick description of your cluster. This is optional. | - |**Profile Type (Full, Infrastructure, Add-on)**| Dictates the layers that can be configured in the cluster profile. If the cluster profile type is Infrastructure or Full, you are able to select a Cloud Type or Data Center environments. For more information on Add-on types go to step four. | - |**Tags** | Tags on a cluster profile are propagated to the VMs deployed on the cloud/data center environments when clusters are created from the cluster profile. This is optional. | - - -2. In the **Cloud Type** section, select the **Environment** you are working with. This list displays the environments supported in Palette. - - -3. Configure the **Profile Layers** of the infrastructure stack. The following layers are considered **Core Infrastructure** layers. Configuring these layers is mandatory for Full or Infrastructure cluster profiles. - - **Note**: These layers are not configurable for **Add-On** cluster profiles: - - - OS - - Kubernetes - - Network - - Storage - - Select the **Registry**, **Pack Name**, **Pack Version**, and **Pack Values** and click on **Next Layer** to go through each profile layer to completely build the core infrastructure. - - **Note**: Container Storage Interface (CSI) and Container Network Interface (CNI) layers can be added as Helm Charts from customized Helm registries and linked to Spectro Registry packs. - - -4. **Add-on Layers** are additional layers such as **Monitoring**, **Security**, **Load Balancers**, **Ingress**, **Logging**, **Monitoring**, **Security**, **Authentication**, **Service Mesh** etc. may be added and configured as desired. These layers may be configured for the profiles of the type **Full** or **Add-On**. These add-on layers can be added in one of the following ways: - - - - Add New Pack - Add a Palette Pack from a pack registry or a Helm Chart from a chart registry. The public Palette Pack registry and a few popular Helm chart repositories are already available out of the box. Additional pack registries or public/private chart registries can be added to Palette. - - - - - - Import from cluster - Charts can be discovered from an existing Kubernetes Cluster. One or more of these discovered charts can be added to the cluster profile. During discovery, charts discovered from a cluster may not be available in any of the chart repositories available with Palette. Users can provide the registry information on hosting these charts during the import process to complete addition of such charts. - - - - - Add Manifest - Layers can be constructed using raw manifests to provision Kubernetes resources that are not available via Palette or Charts. Pack Manifests provide a pass through mechanism wherein additional Kubernetes resources can be orchestrated on to a cluster along with rest of the stack. - - - - -
- Configure each layer as follows: - - - - - Versions- Choose the desired version. Choices include pinning to a specific version (e.g. 1.1.1) or picking a major or minor train such as 1.x or 1.1.x. Picking a major/minor train results in a dynamic version association. The latest release from that train is linked to the pack at any given point. Future release updates on the train will result in the pack being relinked to the newest version. This allows clusters to always be at the latest released version, without having to make subsequent updates to the profile. - - - - - Configuration Parameters - The configuration option and version selected might provide configuration parameters to provide granular control or fine-tune certain aspects of the functionality. For the packs provided out of the box, the configuration parameters are set to values based on common best practices. Users may override these parameters as desired. Additionally, for certain layers, Palette provides a bunch of presets to quickly enable or configure a feature within the add-on. These presets are a group of properties presets with defaults to provide a quick and easy way to modify a set of relevant properties. If available, users can also enable one or more presets as appropriate. - - - - - Manifest - Attach additional manifests to the layer if desired. Attached manifests provide a way for provisioning additional Kubernetes resources that support an integration or an add-on. Certain integrations offered through packs or charts, may require creation of resources like Secrets or CustomResourceDefinition (CRDs) in order to complete the installation end to end. This can be achieved by adding one or more Attach Manifests to the layer. - - - - - -
- ----- - -Palette allows users to deploy the same pack to multiple layers which can be required in certain scenarios, where an integration needs to be installed multiple times with different configuration. As an example, you may have two or more applications in the profile that need to use the Postgres database. You will be required to launch the Postgres database twice in this case with different configurations. - -In order to allow packs to be added multiple times in a profile, add the `spectrocloud.com/display-name: ` key to the pack values in the YAML editor. The key `` is a name unique across a cluster profile and the cluster. - - **Example:** - -
- - ```yaml hideClipboard - pack: - namespace: "external-dns" - spectrocloud.com/display-name: "dns-1" - ``` - - - If the same pack is needed at another layer, repeat the above block with the same namespace but a different name such as `dns-2`. Display names used for a pack across layers should be unique. - -
- -By default Palette uses Helm chart release name in the format packName-chartName. In cases where a lengthy release name causes some complicacy we can customize Helm chart `releaseNames` using the format below. - -
- -```yaml hideClipboard -pack: - namespace: kube-system - releaseNameOverride: - actual_chart_name1: custom_name1 - actual_chart_name2: custom_name2 -``` - - -
- - - - - diff --git a/docs/docs-content/cluster-profiles/task-update-profile.md b/docs/docs-content/cluster-profiles/task-update-profile.md deleted file mode 100644 index 3c25c6e775..0000000000 --- a/docs/docs-content/cluster-profiles/task-update-profile.md +++ /dev/null @@ -1,281 +0,0 @@ ---- -sidebar_label: 'Update Cluster Profiles' -title: 'Update Cluster Profiles' -description: 'Learn how to update cluster profiles in Palette.' -icon: '' -hide_table_of_contents: false -sidebar_position: 20 ---- - - -You update a cluster profile to change the configuration of one or more layers in the profile stack. You can also update basic profile information such as the name, description, and tags. - -## Update a Cluster Profile - -Use the following steps to learn how to update a cluster profile. - -
- -### Prerequisites - -- An existing cluster profile. - - -- Permission to update the profile. - - - -### Enablement - -The following steps will guide you in updating basic profile information. - - - -1. Log in to [Palette](https://console.spectrocloud.com) as a tenant admin. - - -2. From the left **Main Menu**, select **Profiles**. - - -3. Click the profile you want to update. Palette displays the profile stack. - - -4. Click the **Settings drop-down Menu** and choose **Edit Info**. - -
- - You can modify the name, version, description, and tags. Updated tags are not propagated to previously created clusters. However, tag changes will apply to new clusters you create that use the updated profile. - -
- - -5. Save your changes. - - -### Validate - -1. Log in to [Palette](https://console.spectrocloud.com) as a tenant admin. - - -2. From the left **Main Menu**, select **Profiles**. - - -3. Click the profile you updated. Palette displays the profile details and profile stack. - - -4. Check that profile details displays your changes. - - - -## Update a Pack Layer - -The following steps will guide you in making updates to a layer in the profile. - -### Enablement - -1. Log in to [Palette](https://console.spectrocloud.com) as a tenant admin. - - -2. From the left **Main Menu**, select **Profiles**. - - -3. Click the profile you want to update. Palette displays the profile details and profile stack - - -4. Click the layer to update. Palette displays the profile stack. To add a pack layer, select one of the following options: - -
- - - **Add New Pack** - - **Import from cluster** - - **Add Manifest** - - -5. You can do the following: - - - Choose a new pack to add, or import one from another cluster. - - - Edit pack settings in the YAML file. - - - Add, edit, or remove a manifest. - - - Remove non-core pack layers from the profile. Click the layer to display its details and click the **trash can** icon next to **Edit Pack**. - -
- - :::info - - Operating System (OS) Kubernetes, Networking, and Storage are considered core layers and cannot be removed. - - ::: - - - - Delete the profile by navigating to the **Settings drop-down Menu** and choosing **Delete**. - - - -6. Confirm your updates. - -Clusters that use the updated profile are notified of the changes. You can update clusters to use the latest profile definition at any time. - - -### Validate - -1. Log in to [Palette](https://console.spectrocloud.com) as a tenant admin. - - -2. From the left **Main Menu**, select **Profiles**. - - -3. If you deleted the profile, verify it is no longer displayed on the **Cluster Profiles** page. - - -4. If you made changes, click the profile you updated. Palette displays the profile details and profile stack. - - -5. Check that layers are added to or removed from the stack. - - -6. If you added, removed, or modified a manifest, click the layer in the stack that you updated and verify the manifest changes. - - - -## Update the Pack Version - -Packs typically contain changes between versions, such as the addition or removal of parameters and policies. The following steps guide you in updating configurations. - -
- -:::caution - -When updating to a new pack version, these rules apply: - -
- -- You should not copy the pack configuration from one version to another, as the newer version often contains an adjusted configuration that is tailored to that version. Instead, you should integrate your changes manually in the new version. - - -- Updating to a newer Kubernetes version must be done incrementally, one minor version at a time. - - -- Select a specific target version instead of a group that ends in ``.x`` -We do not recommend downgrading packs to the previous version. - -::: - -
- -### Enablement - -1. Log in to [Palette](https://console.spectrocloud.com) as a tenant admin. - - -2. From the left **Main Menu**, select **Profiles**. - - -3. Click the profile you want to update. Palette displays the profile stack. - - -4. Click on the pack layer to update. - - -5. In the **Edit Pack** page, select a specific target version, not a group that ends in ``.x``. Palette displays the difference between the current version at left and the new version at right. The target version is displayed in the header.

- - Differences between the displayed configurations are as follows: - -
- - - - **Red highlighting**: indicates text that is not present in the new configuration. - -
- - Red highlighting indicates lines you may have added in the current configuration. You can use the arrow icon that displays between the two configurations to transfer the lines to the new version. - -
- -
- - - These lines may also have been removed because they are no longer valid in the new configuration. If you need them, you should copy the lines to the new version. Similarly, you should copy any settings from the current configuration. - -
-
- - - **Green highlighting**: indicates additions in the new configuration that are not present in the current version. - -
- - #### Example of Difference Between Current and New Configurations - - - ![Screenshot that shows Palette's pack diff user interface with red highlight at left and green highlight at right](/integrations_pack_diffs.png) - -
- -
- - - **Contrasting shades** of red and green highlight in the same line indicates differences occur in only part of the line. - -
- - #### Example of Line Changes in Current and New Configurations - - ![Screenshot that shows Palette's pack diff user interface with contrasting shades of red and green highlight in the same line](/integrations_pack_line_diffs.png) - - -
- - -6. Check for red-highlighting in the configuration that is missing in the new configuration. - -
- - - If there are any lines you added, use the arrow to transfer the lines to the new version. - -
- - - If there are lines you did not add that are red highlighted, they have been removed in the new version, and you should **not** copy them over. - - -7. Check for changed settings in the new configuration and copy settings from the current configuration to the new version. - - -8. Review new sections in the new configuration. You should adopt them, as they are typically needed to support the new version. - - -9. Check for changes in the same line that have a different value. If it is not a customization you made, you should adopt the new value, as it is known to be compatible with the new version. - - -10. Confirm your updates. - - -## Validate - - - -1. Log in to [Palette](https://console.spectrocloud.com) as a tenant admin. - - -2. From the left **Main Menu**, select **Profiles**. - - -3. Click the profile you updated. Palette displays the profile stack. - - -4. Check that the updated layer displays the new pack version. - -
- - Palette indicates any misconfigurations with a dot displayed on the problematic layer in the stack and a message letting you know there is an issue. - - -5. Click on the pack layer and review its configuration. Apply fixes and confirm your updates. - - -6. Repeat the process until Palette indicates the configuration works. - - - -
- diff --git a/docs/docs-content/clusters/data-center/maas/create-manage-maas-clusters.md b/docs/docs-content/clusters/data-center/maas/create-manage-maas-clusters.md index fc9641db25..08526d1890 100644 --- a/docs/docs-content/clusters/data-center/maas/create-manage-maas-clusters.md +++ b/docs/docs-content/clusters/data-center/maas/create-manage-maas-clusters.md @@ -20,7 +20,7 @@ Palette supports creating and managing Kubernetes clusters deployed to a MAAS ac - A MAAS account registered in Palette. Refer to the [Register and Manage MAAS Cloud Accounts](register-manage-maas-cloud-accounts.md) if you need to register a MAAS account in Palette. -- A cluster profile for the MAAS environment. Review [Cluster Profiles](../../../cluster-profiles/cluster-profiles.md) for more information. +- A cluster profile for the MAAS environment. Review [Cluster Profiles](../../../profiles/cluster-profiles/cluster-profiles.md) for more information. - Verify that the required Operating System (OS) images you use in your cluster profiles are downloaded and available in your MAAS environment. Review the [How to use standard images](https://maas.io/docs/how-to-use-standard-images) for guidance on downloading OS images for MAAS. diff --git a/docs/docs-content/clusters/edge/edgeforge-workflow/build-content-bundle.md b/docs/docs-content/clusters/edge/edgeforge-workflow/build-content-bundle.md index c4504ae5f8..0038d5f368 100644 --- a/docs/docs-content/clusters/edge/edgeforge-workflow/build-content-bundle.md +++ b/docs/docs-content/clusters/edge/edgeforge-workflow/build-content-bundle.md @@ -8,7 +8,7 @@ tags: ["edge"] --- -Content bundles are archives of all the required container images required for a cluster profiles. The content bundle includes Helm charts, Packs, and manifest files needed to deploy your Edge host cluster. In addition to core container images, the content bundle can include artifacts from your applications that you wish to deploy to the Edge cluster. [Cluster Profiles](../../../cluster-profiles/cluster-profiles.md) are the primary source for building these content bundles. +Content bundles are archives of all the required container images required for a cluster profiles. The content bundle includes Helm charts, Packs, and manifest files needed to deploy your Edge host cluster. In addition to core container images, the content bundle can include artifacts from your applications that you wish to deploy to the Edge cluster. [Cluster Profiles](../../../profiles/cluster-profiles/cluster-profiles.md) are the primary source for building these content bundles. :::caution diff --git a/docs/docs-content/clusters/edge/site-deployment/model-profile.md b/docs/docs-content/clusters/edge/site-deployment/model-profile.md index 2bc6685e35..a85bff068c 100644 --- a/docs/docs-content/clusters/edge/site-deployment/model-profile.md +++ b/docs/docs-content/clusters/edge/site-deployment/model-profile.md @@ -8,7 +8,7 @@ tags: ["edge"] --- -[Cluster profiles](../../../cluster-profiles/cluster-profiles.md) contain the desired specifications the Kubernetes cluster Edge host makes up. The cluster profile defines the following components. +[Cluster profiles](../../../profiles/cluster-profiles/cluster-profiles.md) contain the desired specifications the Kubernetes cluster Edge host makes up. The cluster profile defines the following components. - Kubernetes flavor and version diff --git a/docs/docs-content/clusters/edge/site-deployment/site-deployment.md b/docs/docs-content/clusters/edge/site-deployment/site-deployment.md index a241b24f41..f012db3d7c 100644 --- a/docs/docs-content/clusters/edge/site-deployment/site-deployment.md +++ b/docs/docs-content/clusters/edge/site-deployment/site-deployment.md @@ -11,8 +11,8 @@ The Edge host deployment process consists of four phases described in the follow | Phase| Description| | ---| ---| -| Model Cluster Profile | The process of creating a [cluster profile](../../../cluster-profiles/cluster-profiles.md) for the host cluster that will be made up of Edge hosts. | -| Install Handoff | The Edge Installer is copied over from a portable storage device to the Edge host's hard disk. This step is typically performed in the preparation step. Refer to [Prepare Edge Hosts for Installation](../site-deployment/stage.md) to learn more.| +| Model Cluster Profile | The process of creating a [cluster profile](../../../profiles/cluster-profiles/cluster-profiles.md) for the host cluster that will be made up of Edge hosts. | +| Install Handoff | The Edge Installer is copied over from a portable storage device to the Edge host's hard disk. This step is typically performed in the preparation step. Refer to [Prepare Edge Hosts for Installation](/clusters/edge/site-deployment/stage) to learn more.| | Registration | The Edge host is registered with Palette. The Edge host will remain in this phase until the registration process is complete.| |Cluster Provisioning | The Edge host boots into the specified provider OS and proceeds with the cluster deployment.| diff --git a/docs/docs-content/clusters/imported-clusters/attach-add-on-profile.md b/docs/docs-content/clusters/imported-clusters/attach-add-on-profile.md index 890212445d..d17e9466bc 100644 --- a/docs/docs-content/clusters/imported-clusters/attach-add-on-profile.md +++ b/docs/docs-content/clusters/imported-clusters/attach-add-on-profile.md @@ -20,7 +20,7 @@ In this how-to, you learn how to add an add-on cluster profile to an imported cl * An imported cluster with full permissions. Refer to the [Migrate to Full Permissions](migrate-full-permissions.md) to learn how to migrate an imported cluster from read-only mode to full-permissions mode. -* An add-on cluster profile. Refer to the [Create an Add-on Profile](../../cluster-profiles/create-add-on-profile.md) to learn how to create an add-on cluster profile. +* An add-on cluster profile. Refer to the [Create an Add-on Profile](../../profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-addon-profile.md) to learn how to create an add-on cluster profile. ## Attach an Add-on Profile diff --git a/docs/docs-content/clusters/public-cloud/aws/create-cluster.md b/docs/docs-content/clusters/public-cloud/aws/create-cluster.md index 6e46f07813..de50aac77a 100644 --- a/docs/docs-content/clusters/public-cloud/aws/create-cluster.md +++ b/docs/docs-content/clusters/public-cloud/aws/create-cluster.md @@ -17,10 +17,10 @@ The following prerequisites must be met before deploying a cluster to AWS: - Access to an AWS cloud account -- You have added an AWS account in Palette. Review the [Add AWS Account](add-aws-accounts.md) for guidance. +- You have added an AWS account in Palette. Review [Add AWS Account](add-aws-accounts.md) for guidance. -- An infrastructure cluster profile. Review the [Create Cluster Profiles](../../../cluster-profiles/task-define-profile.md) for guidance. +- An infrastructure cluster profile. Review [Create an Infrastructure Profile](../../../profiles/cluster-profiles/create-cluster-profiles/create-infrastructure-profile.md) for guidance. - An [EC2 Key Pair](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) in the target region. diff --git a/docs/docs-content/clusters/public-cloud/aws/eks.md b/docs/docs-content/clusters/public-cloud/aws/eks.md index 1b384a3c14..d8533b7fae 100644 --- a/docs/docs-content/clusters/public-cloud/aws/eks.md +++ b/docs/docs-content/clusters/public-cloud/aws/eks.md @@ -15,8 +15,8 @@ Palette supports creating and managing AWS Elastic Kubernetes Service (EKS) clus The following prerequisites must be met before deploying a cluster to AWS: - Access to an AWS cloud account -- Palette integration with AWS account. Review the [Add AWS Account](add-aws-accounts.md) for guidance. -- An infrastructure cluster profile for AWS EKS. Review the [Create Cluster Profiles](../../../cluster-profiles/task-define-profile.md) for guidance. +- Palette integration with AWS account. Review [Add AWS Account](add-aws-accounts.md) for guidance. +- An infrastructure cluster profile for AWS EKS. Review [Create an Infrastructure Profile](../../../profiles/cluster-profiles/create-cluster-profiles/create-infrastructure-profile.md) for guidance. - An [EC2 Key Pair](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) in the target region. - Palette creates compute, network, and storage resources in AWS during the provisioning of Kubernetes clusters. Ensure there is sufficient capacity in the preferred AWS region for the creation of the following resources: - vCPU diff --git a/docs/docs-content/clusters/public-cloud/azure/aks.md b/docs/docs-content/clusters/public-cloud/azure/aks.md index 6d48d6fbd6..245578af23 100644 --- a/docs/docs-content/clusters/public-cloud/azure/aks.md +++ b/docs/docs-content/clusters/public-cloud/azure/aks.md @@ -101,7 +101,7 @@ The following steps need to be performed to provision a new cluster:
-1. If you already have a profile to use, go to **Cluster** > **Add a New Cluster** > **Deploy New Cluster** and select an Azure cloud. If you do not have a profile to use, review the [Creating a Cluster Profile](../../../cluster-profiles/task-define-profile.md) page for steps to create one. +1. If you already have a profile to use, go to **Cluster** > **Add a New Cluster** > **Deploy New Cluster** and select an Azure cloud. If you do not have a profile to use, review the [Creating a Cluster Profile](../../../profiles/cluster-profiles/create-cluster-profiles/create-cluster-profiles.md) page for guidance on profile types to create. diff --git a/docs/docs-content/clusters/public-cloud/azure/create-azure-cluster.md b/docs/docs-content/clusters/public-cloud/azure/create-azure-cluster.md index 3e3ec8c700..77409037ff 100644 --- a/docs/docs-content/clusters/public-cloud/azure/create-azure-cluster.md +++ b/docs/docs-content/clusters/public-cloud/azure/create-azure-cluster.md @@ -28,7 +28,7 @@ The following prerequisites must be met before deploying a workload cluster in A 2. Register your Azure cloud account in Palette as described in the [Creating an Azure Cloud account](azure-cloud.md#enable-azure-cloud-account-registration-to-palette) section. -3. A [cluster profile created](../../../cluster-profiles/task-define-profile.md) for Azure cloud. +3. A [cluster profile created](../../../profiles/cluster-profiles/create-cluster-profiles/create-infrastructure-profile.md) for Azure cloud. diff --git a/docs/docs-content/clusters/public-cloud/cox-edge/create-cox-cluster.md b/docs/docs-content/clusters/public-cloud/cox-edge/create-cox-cluster.md index f4e266ad9f..31acaec205 100644 --- a/docs/docs-content/clusters/public-cloud/cox-edge/create-cox-cluster.md +++ b/docs/docs-content/clusters/public-cloud/cox-edge/create-cox-cluster.md @@ -17,7 +17,7 @@ Palette supports creating and managing Kubernetes clusters deployed to a Cox Edg - A Cox Edge account registered in Palette. Check out the [Register and Manage Cox Edge Accounts](add-cox-edge-accounts.md) guide to learn how to register a Cox Edge account in Palette. -- A cluster profile for Cox Edge clusters. If you need guidance creating a cluster profile, check out the [Creating Cluster Profiles](../../../cluster-profiles/task-define-profile.md) guide. +- A cluster profile for Cox Edge clusters. If you need guidance creating a cluster profile, check out [Cluster Profiles](../../../profiles/cluster-profiles/cluster-profiles.md). ## Create a Cluster @@ -42,7 +42,7 @@ Palette supports creating and managing Kubernetes clusters deployed to a Cox Edg - Cloud Account: Select your Cox Edge account. -6. Select a cluster profile that is compatible with Cox Edge. If you need guidance creating a cluster profile, check out the [Creating Cluster Profiles](../../../cluster-profiles/task-define-profile.md) guide. +6. Select a cluster profile that is compatible with Cox Edge. If you need guidance creating a cluster profile, check out [Cluster Profiles](../../../profiles/cluster-profiles/cluster-profiles.md). :::caution diff --git a/docs/docs-content/clusters/public-cloud/deploy-k8s-cluster.md b/docs/docs-content/clusters/public-cloud/deploy-k8s-cluster.md index d434c0b89b..4fa8cae9d1 100644 --- a/docs/docs-content/clusters/public-cloud/deploy-k8s-cluster.md +++ b/docs/docs-content/clusters/public-cloud/deploy-k8s-cluster.md @@ -13,7 +13,7 @@ sidebar_position: 50 Palette helps you create and manage Kubernetes clusters in various cloud environments with minimal overhead. -Palette offers profile-based management for Kubernetes, enabling consistency, repeatability, and operational efficiency across multiple clusters. A [cluster profile](../../cluster-profiles/cluster-profiles.md) allows you to customize the cluster infrastructure stack, allowing you to choose the desired Operating System (OS), Kubernetes, Container Network Interfaces (CNI), Container Storage Interfaces (CSI). You can further customize the stack with add-on application layers. +Palette offers profile-based management for Kubernetes, enabling consistency, repeatability, and operational efficiency across multiple clusters. A cluster profile allows you to customize the cluster infrastructure stack, allowing you to choose the desired Operating System (OS), Kubernetes, Container Network Interfaces (CNI), Container Storage Interfaces (CSI). You can further customize the stack with add-on application layers. For more information about cluster profile types, refer to [Cluster Profiles](../../profiles/cluster-profiles/cluster-profiles.md). After defining a cluster profile, you can provide the cloud environment details, the control plane, and worker node configurations to deploy a host cluster. @@ -77,7 +77,7 @@ The following steps will guide you through deploying the cluster infrastructure. #### Create Cluster Profile (AWS) -[Cluster profiles](../../cluster-profiles/cluster-profiles.md) are templates you create with the following core layers and any add-on layers such as security, monitoring, logging, and more. +[Cluster profiles](../../profiles/cluster-profiles/cluster-profiles.md) are templates you create with the following core layers and any add-on layers such as security, monitoring, logging, and more. - Operating System (OS) - Kubernetes distribution and version @@ -235,7 +235,7 @@ Click on your cluster to review its details such as deployment status, event log #### Create Cluster Profile (Azure) -[Cluster profiles](../../cluster-profiles/cluster-profiles.md) are templates you create with the following core layers and any add-on layers such as security, monitoring, logging, and more. +[Cluster profiles](../../profiles/cluster-profiles/cluster-profiles.md) are templates you create with the following core layers and any add-on layers such as security, monitoring, logging, and more. - Operating System (OS) - Kubernetes distribution and version - Network Container Interface (CNI) @@ -391,7 +391,7 @@ Click on your cluster to review details such as deployment status, event logs, c ### Create Cluster Profile (GCP) -[Cluster profiles](../../cluster-profiles/cluster-profiles.md) are templates you create with the following core layers and any add-on layers such as security, monitoring, logging, and more. +[Cluster profiles](../../profiles/cluster-profiles/cluster-profiles.md) are templates you create with the following core layers and any add-on layers such as security, monitoring, logging, and more. - Operating System (OS) - Kubernetes distribution and version @@ -1253,7 +1253,7 @@ We encourage you to check out the [Deploy an Application using Palette Dev Engin - [Palette Modes](../../introduction/palette-modes.md) -- [Cluster Profiles](../../cluster-profiles/cluster-profiles.md) +- [Cluster Profiles](../../profiles/cluster-profiles/cluster-profiles.md) - [Palette Clusters](../clusters.md) diff --git a/docs/docs-content/clusters/public-cloud/gcp/create-gcp-gke-cluster.md b/docs/docs-content/clusters/public-cloud/gcp/create-gcp-gke-cluster.md index 35c1c8d86b..6e3448b713 100644 --- a/docs/docs-content/clusters/public-cloud/gcp/create-gcp-gke-cluster.md +++ b/docs/docs-content/clusters/public-cloud/gcp/create-gcp-gke-cluster.md @@ -18,10 +18,10 @@ Ensure the following requirements are met before you attempt to deploy a cluster - Access to a GCP cloud account. -- You have added a GCP account in Palette. Review the [Register and Manage GCP Accounts](add-gcp-accounts.md) for guidance. +- You have added a GCP account in Palette. Review [Register and Manage GCP Accounts](/clusters/public-cloud/gcp/add-gcp-accounts) for guidance. -- An infrastructure cluster profile for GKE. Review the [Create Cluster Profiles](../../../cluster-profiles/task-define-profile.md) for guidance. +- An infrastructure cluster profile for GKE. Review [Create an Infrastructure Profile](../../../profiles/cluster-profiles/create-cluster-profiles/create-infrastructure-profile.md) for guidance. - Palette creates compute, network, and storage resources while provisioning Kubernetes clusters. Ensure there is sufficient capacity in the preferred GCP region to create the following resources: diff --git a/docs/docs-content/clusters/public-cloud/gcp/create-gcp-iaas-cluster.md b/docs/docs-content/clusters/public-cloud/gcp/create-gcp-iaas-cluster.md index a70a09451e..add0462e07 100644 --- a/docs/docs-content/clusters/public-cloud/gcp/create-gcp-iaas-cluster.md +++ b/docs/docs-content/clusters/public-cloud/gcp/create-gcp-iaas-cluster.md @@ -15,10 +15,10 @@ Ensure the following requirements are met before you attempt to deploy a cluster - Access to a GCP cloud account -- You have added a GCP account in Palette. Review the [Register and Manage GCP Accounts](add-gcp-accounts.md) for guidance. +- You have added a GCP account in Palette. Review [Register and Manage GCP Accounts](/clusters/public-cloud/gcp/add-gcp-accounts) for guidance. -- An infrastructure cluster profile for GCP. Review the [Create Cluster Profiles](../../../cluster-profiles/task-define-profile.md) for guidance. +- An infrastructure cluster profile for GCP. Review [Create an Infrastructure Profile](../../../profiles/cluster-profiles/create-cluster-profiles/create-infrastructure-profile.md) for guidance. - An SSH Key that is uploaded to Palette and available for usage. Refer to the [SSH Keys](/clusters/cluster-management/ssh-keys) guide to learn how to create an SSH key and upload the public key to Palette. diff --git a/docs/docs-content/devx/app-profile/_category_.json b/docs/docs-content/devx/app-profile/_category_.json deleted file mode 100644 index 094470741d..0000000000 --- a/docs/docs-content/devx/app-profile/_category_.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "position": 10 -} diff --git a/docs/docs-content/devx/app-profile/app-profile-cloning.md b/docs/docs-content/devx/app-profile/app-profile-cloning.md deleted file mode 100644 index 89e0dfecc7..0000000000 --- a/docs/docs-content/devx/app-profile/app-profile-cloning.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -sidebar_label: "App Profile Cloning" -title: "App Profile Cloning" -description: "Palette Dev Engine App Profile Cloning" -hide_table_of_contents: false -sidebar_position: 30 -tags: ["devx", "app mode", "pde"] ---- - -Palette supports the cloning of App Profiles across multiple projects. For example, you can clone an app profile created under a specific project to another project within the same [tenant](../../glossary-all.md#tenant). The ability to clone App Profiles can be useful for the following use cases. - -* Share system scope App Profiles to projects scope. - - -* Share App Profiles amongst different projects. - -## Prerequisites - -* An App Profile created in Palette. Check out the [Create an App Profile](create-app-profile.md) for guidance. - -## Clone an App Profile - -To clone an App Profile follow the steps below: - -1. Login to [Palette](https://console.spectrocloud.com) - - -2. Select **App Profiles** from the left **Main Menu**. Identify the App Profile you want to clone and click on the three dots at the right handside of the row. Click on the **Clone** button from the drop down. - - -4. You will be prompted to fill out the following information: - * **Name:** Name of the new app profile. - * **Profile Version:** Version number for the new app profile. - * **Source Profile Version:** The version number of the source app profile getting cloned. - * **Target Project:** The target project to which the profile is to be cloned. Select the project name from the drop-down menu. - - -5. Click **Confirm** to conclude the cloning of the App Profile. - -In the target project specified during the clone process, you can now use the App Profile for app deployments. - - -## Validate - -To validate the App Profile is cloned and available in the target project conduct the following steps: - - -1. Login to [Palette](https://console.spectrocloud.com) - - -2. Select the **App Profiles** option from the left **Main Menu**. - - -3. This page will list all the App Profiles available to you. In addition, this should list all the cloned App Profiles as well. Use the cloned App Profile for App deployment under the target scope. - - - - - - - diff --git a/docs/docs-content/devx/app-profile/app-profile-macros.md b/docs/docs-content/devx/app-profile/app-profile-macros.md deleted file mode 100644 index 1b1e5f11df..0000000000 --- a/docs/docs-content/devx/app-profile/app-profile-macros.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -sidebar_label: "Output Variables" -title: "Output Variables" -description: "Explore Palette Dev Engine App Profile Macros" -hide_table_of_contents: false -sidebar_position: 20 -tags: ["devx", "app mode", "pde"] ---- - - -Palette Dev Engine output variables are defined in the [app profile](../../glossary-all.md#appprofile) and are only resolved at cluster deployment time. The output variables have the following properties: - -* May be referenced by specifying them during app profile creation. - -* Output variables are inherited from the lower tiers of the app profile. - -* Each service type exposes a set of unique output variables. - - -The variables are generated when the server layer is deployed. Output variables can be consumed by the higher layers in the app profile. - -Check out the [Services Connectivity](services/connectivity.md) page to learn how to use output variables for establishing network connectivity between services. - - -
- - -```hideClipboard -{{.spectro.app.$appdeploymentName..}} -``` - -## System Output Variables - -The following output variables are globally available for all services. - -| Output Variable | Description | -| --- | --- | -| `spectro.system.user.name` | The user name of the logged in user. | -| `spectro.system.user.uid` | The id of the logged in user.| -| `spectro.system.user.email` | The email address of the logged in user. | -| `spectro.system.tenant.uid `| The id of the current tenant or organization. | -| `spectro.system.project.uid` | The id of the current project. | -| `spectro.system.project.name` | The name of the current project. | -| `spectro.system.cluster.uid` | The id of the current cluster. | -| `spectro.system.cluster.name` | The name of the current cluster. | -| `spectro.system.kubernetes.version` | The current version of Kubernetes. | -| `spectro.system.reverseproxy.server` | The hostname of the Spectro Cloud reverse proxy server. This value is empty when not enabled. | -| `spectro.system.reverseproxy.port` | The port of the Spectro Cloud reverse proxy server. This value is empty when not enabled. | -| `spectro.system.reverseproxy.vhostport` | The port of the virtual host that is hosting the reverse proxy. | -| `spectro.system.reverseproxy.protocol` | The protocol used for the Spectro Cloud reverse proxy. | -| `spectro.system.cloud.type` | The type of cloud environment where the cluster is deployed, such as EKS, AKS, and GKE. | -| `spectro.system.cloud.region` | The cloud provider region where the cluster is deployed.| -| `spectro.system.apptier.name` | The name of the service layer from the context of the app profile. | -| `spectro.system.apptier.uid` | The id of the service layer. | -| `spectro.system.appprofile.name` | The name of the app profile. | -| `spectro.system.appprofile.uid` | The id of the app profile. | -| `spectro.system.appdeployment.uid` | The id of the app deployment. | -| `spectro.system.appdeployment.name` | The name of the app deployment. | -| `spectro.system.appdeployment.tiername` | The name of the service layer from the context of the app deployment. | -| `spectro.system.appdeployment.ingress.host` | The ingress host pattern for a cluster group with ingress enabled. This value is dynamically generated. | - -## Container Service Output Variables - -The container service type exposes the following output variables. Replace **[service-name]** with the respective name of the service layer. - -| Output Variable | Description | -| --- | --- | -| `.spectro.app.$appDeploymentName.[service-name].CONTAINER_NAMESPACE` | The Kubernetes namespace of the deployed container. | -|`.spectro.app.$appDeploymentName.[service-name].CONTAINER_SVC` | The Kubernetes DNS hostname of the service. | -|`.spectro.app.$appDeploymentName.[service-name].CONTAINER_SVC_PORT` | The exposed port of the service. | -| `spectro.app.$appDeploymentName.[service-name].CONTAINER_SVC_EXTERNALHOSTNAME`| The Kubernetes DNS hostname of the load balancer. This value is available if the service's to **Public** and deployed to a public cloud provider environment. | -|`spectro.app.$appDeploymentName.[service-name].CONTAINER_SVC_EXTERNALIP`| The public URL of the load balancer. This value is available if the service's access is set to **Public** and deployed to a private cloud provider environment.| - -## Database Service Output Variables - -Each database service exposes a set of output variables. Review each database service for more details. You can find information about each database service by checking out the [Available Services](services/service-listings/service-listings.mdx) resource. - -## Resources - -* [Palette System Macros](../../registries-and-packs/pack-constraints.md#pack-macros) - -* [Palette User Macros](../../clusters/cluster-management/macros.md) -
diff --git a/docs/docs-content/devx/app-profile/app-profile.md b/docs/docs-content/devx/app-profile/app-profile.md deleted file mode 100644 index fe28917723..0000000000 --- a/docs/docs-content/devx/app-profile/app-profile.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -sidebar_label: "App Profiles" -title: "App Profiles" -description: "Learn how to create and manage App Profiles in Palette Dev Engine." -hide_table_of_contents: false -tags: ["devx", "app mode", "pde"] ---- - -App Profiles are templates created with pre-configured services required for Palette Virtual Cluster deployment. App Profiles provide a way to drive consistency across virtual clusters. - -You create App Profiles to meet specific types of workloads on your Palette [virtual clusters](../palette-virtual-clusters/palette-virtual-clusters.md). You can use containers, Helm Charts, custom manifest, containers, and other out-of-the-box services such as databases, message queue systems, and object storage. Check out the Palette Dev Engine [Services](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](../app-profile/services/services.md). - - -:::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 -``` -::: - -
- -## Get Started - -Get started today by learning how to create your [App Profile](create-app-profile.md). - -## Resources -- [Create an App Profile](create-app-profile.md) -- [Container Deployment](container-deployment.md) -- [App Profile Macros](app-profile-macros.md) -- [App Profile Cloning](app-profile-cloning.md) -- [App Profile Versioning](versioning-app-profile.md) - diff --git a/docs/docs-content/devx/app-profile/container-deployment.md b/docs/docs-content/devx/app-profile/container-deployment.md deleted file mode 100644 index fd71b22727..0000000000 --- a/docs/docs-content/devx/app-profile/container-deployment.md +++ /dev/null @@ -1,110 +0,0 @@ ---- -sidebar_label: "Container Deployment" -title: "Container Deployment" -description: "Palette Dev Engine App Profile Container Deployment" -hide_table_of_contents: false -sidebar_position: 10 -tags: ["devx", "app mode", "pde"] ---- - -Palette App Mode supports the use of containers, a standard unit of software that packages code and all its dependencies to run applications quickly and reliably from one computing environment to another. Containers contain all the required executables, binary codes, libraries, and configuration files. As a result, containers are lightweight and portable with less overhead. To add a container tier to Palette Dev Engine App Profile, follow the steps below. - - -## Prerequisite - -* Access to Palette Dev Engine App Mode. - - -## Add Container to App Profile - -1. Log in to [Palette](https://console.spectrocloud.com). - - -2. Select **App Profiles** from the left **Main Menu** and click on the **New App Profile** button at the top right-hand side of the main screen. - - -3. Provide the wizard with the following information and click on **Next** after you have filled out the following basic information. - - | Parameter | Description | - |-------------------------------|-----------------| - |**Application Profile Name** | A custom name for the App Profile| - |**Description (optional)** | Description of the App Profile, if any | - |**Tag (optional)** | Tags on a cluster group are propagated to the infrastructure environment environments.| - - -4. Next, select **Container Deployment** from the available services list. - - -5. Provide the following information to the wizard. - - **General Settings**: - - | Parameter | Description | - | ---------------- | ------------------------------------------------------------------------------------------------------ | - | **Container Name** | A unique name for the container deployment. | - | **Registry** | Select the registry from which the image will be downloaded. If specifying a non-Docker Hub registry, ensure you provide the full URL of the image. | - | **Image** | Image of the container to be deployed. | - | **Replicas** | The number of application instances to be deployed. This option follows the same behavior as a [*ReplicaSet*](https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/) in the Kubernetes configuration file. A max of 10 replicas is supported. - -
- - :::info - - - - When adding a container image from a public [DockerHub registry](https://hub.docker.com/), you can skip the registry hostname. For instance, to download the Nginx image, specify `nginx` and it will be downloaded correctly during the provisioning process. - - ::: - -
- - **Network Access**: - - | Parameter | Description | - | -------------- | ------------------------------------------------------------------------------------------------------------- | - | **Private** | To establish connectivity to a container service through a private network. | - | **Public** | To establish connectivity to a container service through the public network. | - | **Port number** | Exposes the container for external communication. | - -
- - **Environment Variables**: - - | Parameter | Description | - | ----------------------- | ------------------------------------------------------------------------------------------------------ | - | **Environment Variables** | Environment variables can be specified as **Key-Value** pairs during the container deployment. | - -
- - **Volume**: - - | Parameter | Description | - | ------------- | --------------------------------------------------------------- | - | **Volume** | To persist the data generated by and used by the container. | - | **Name** | Volume name. | - | **Size** | The size of the volume in GiB. | - | **Mount Path** | The path to the volume. | - - -
- - * **Runtime Settings**: The command and arguments you define here will override the default command and arguments provided by the container image. - - -6. Click the **Review** button when you have filled out the information and are ready to conclude the wizard. - -Once the container is added as a layer to the App Profile, continue with the remaining steps of the [App Profile creation](create-app-profile.md) wizard. You can add more services as layers if needed. - -## Validate - -1. Login to [Palette](https://console.spectrocloud.com). - - -2. Select the **App Profiles** option from the left **Main Menu**. - - -3. In the App Profiles page, you will find your App Profile listed. Click the name of the App Profile to view the profile details. The app profile tier details will show the container added to the profile. - - - - diff --git a/docs/docs-content/devx/app-profile/create-app-profile.md b/docs/docs-content/devx/app-profile/create-app-profile.md deleted file mode 100644 index 33b4d64296..0000000000 --- a/docs/docs-content/devx/app-profile/create-app-profile.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -sidebar_label: "Create an App Profile" -title: "Create an App Profile" -description: "This document provides guidance on how to create a Palette App Profile" -hide_table_of_contents: false -sidebar_position: 0 -tags: ["devx", "app mode", "pde"] ---- - - -You can create as many App Profiles as needed to fit various types of workloads on your Palette Virtual Clusters. Each App Profile can contain multiple services, also called layers in the App Profile stack. You can also create multiple versions of an App Profile. For more information, visit [App Profile Versioning](versioning-app-profile.md). - -Use the following steps to create an App Profile. - - -:::info - -A tutorial is available to help you learn how to use Palette Dev Engine by deploying an application. Check out [Deploy an Application using Palette Dev Engine](../apps/deploy-app.md) to get started with Palette Dev Engine. - -::: - - -## Prerequisites - -* A Spectro Cloud [account](https://www.spectrocloud.com/get-started/). -
- -## App Profile Creation - -To create an App Profile: - -1. Log in to [Palette](https://console.spectrocloud.com). - - -2. In App Mode, select **App Profiles** from the **Main Menu**, and click the **New App Profile** button. - - -3. Provide the following basic information for your App Profile and click **Next**. - - -| Parameter | Description | -|-------------------------------|-----------------| -|Application Profile Name | A custom name for the App Profile| -|Version (optional) | The default value is 1.0.0. You can create multiple versions of an App Profile using the format **`major.minor.patch`**. -|Description (optional) | Description of the App Profile. | -|Tag (optional) | Assign tags to the app profile.| - - -4. Select one of the available services to start configuring your App Profile. Refer to [App Profiles](../app-profile/app-profile.md) for a list of available services. - - -5. Provide configuration information for the service. - - -6. You can add more services to the App Profile as needed. To do this, click the **Actions** button next to the **Configure tier** pane. To rearrange layers in the profile, select a service and drag it up or down in the pane. Each service becomes a layer in the App Profile stack in the order shown in this pane. - - -7. When you've provided the required configuration information for services, click **Review**. Your App Profile is now created and can be deployed. - -## Validate - -To validate your App Profile is available and ready for use, use the following steps. - -1. Log in to [Palette](https://console.spectrocloud.com) and switch to **App Mode**. - - -2. Navigate to the left **Main Menu** and click on **App Profiles**. - - -3. Select the cluster profile you created to review its details. - - -4. Hover your cursor over each app layer to learn more about the layers, including the pack name, version, and registry. - - ![A view of a cursor triggering the info box for each app profile layer.](/devx_app-profile_create-app-profile_app-layer-infoboxes.png) - -
- - :::info - - Use the pop-up information box for each layer to help you gather the required information when creating Terraform templates for [app profiles](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/application_profile). - - ::: - - -5. Deploy your application to a virtual cluster to verify all the required configurations and dependencies are correct. Review the [Create and Manage Apps](../apps/create-app.md) to learn how to deploy an app to a virtual cluster. Check out the [Deploy an Application using Palette Dev Engine](../apps/deploy-app.md) tutorial for a more in-depth guide. - - -
- -## Next Steps - -Start exploring the various [out-of-the-box](services/services.md) services Palette exposes to application authors. Use these services to quickly deploy applications without the overhead of managing and configuring the infrastructure required for common third-party services such as databases, message queues, and more. diff --git a/docs/docs-content/devx/app-profile/versioning-app-profile.md b/docs/docs-content/devx/app-profile/versioning-app-profile.md deleted file mode 100644 index c3cd2c0e2e..0000000000 --- a/docs/docs-content/devx/app-profile/versioning-app-profile.md +++ /dev/null @@ -1,167 +0,0 @@ ---- -sidebar_label: "App Profile Versioning" -title: "App Profile Versioning" -description: "Learn about App Profile Versioning, what it is, how to create a version, and how to manage a version." -hide_table_of_contents: false -sidebar_position: 40 -tags: ["devx", "app mode", "pde"] ---- - - -Palette enables users to create multiple versions of an App Profile within the scope of a single profile name. The **Version** field of the app profile takes a semantic versioning format (only numbers supported) as below: - - **`major.minor.patch`** represented as: Version 1.1.2 - -App versioning is an optional field with a default value of **1.0.0** . The users can create multiple versions of an app profile under a single profile name and each of these versions can have its own pack configurations. - -Cluster profile versions are grouped under their unique names and their uniqueness is decided by the name and version within the scope and promotes backward compatibility to profile changes. - - **Example:** Profile-1 can have multiple versions like 1.0.0 and 2.0.1. These versions are grouped under the **App Profile Name** Profile-1. The menu next to the app profile name contains the different versions under that name. - - The version numbers can be edited from the **Settings > Edit Info** option from the App Profile page. While deleting the profile, select the version to be deleted. - -The new versions of the App Profile may: - -* Contain additional tiers - -* Drop existing tiers - -* Contain new versions of a tier - -* Update the configuration of the existing tiers - -:::info - -The following attributes are non-editable during versioning: - -* App Profile name and version number. New version numbers are created and existing version number can be deleted. - -* App Profile tier name and type. - -::: - - -## Apply Version to a Profile - - -### Prerequisites - -- An App Profile - -### Create Version - -1. Log in to [Palette](https://console.spectrocloud.com) - - -2. Select the **App Profiles** option from the left **Main Menu**. - - -3. Select the App Profile to be versioned. - - -4. From the drop-down menu next to the App Profile name, select the **Create New Version**. - - -5. Give the version number per the semantic format described above. - - -6. Click on **Confirm** to complete the wizard. The UI will return a versioning successful message. - -### Validate - -To validate the App Profile is versioned and available in the target project conduct the following steps: - -1. Log in to [Palette](https://console.spectrocloud.com) - - -2. Select the **App Profiles** option from the left **Main Menu**. - - -3. This page will list all the App Profiles available to you. In addition, this should list all the versioned App Profiles as well. Use the versioned App Profile for App deployment under the target scope. - -## Delete an App Profile - -### Prerequisites - -- An App Profile - -### Delete Profile - -1. Log in to [Palette](https://console.spectrocloud.com) - - -2. Select the **App Profiles** option from the left **Main Menu**. - - -3. This page will list all the App Profiles available to you. Select the App Profile to be deleted. - - -4. From the drop-down menu next to the App Profile Name, select the version to be deleted and click **Delete** to delete the profile. - - -5. The selected App Profile version will be deleted. - -### Validate - - -To validate the App Profile is removed and not available in the target project, conduct the following steps: - -1. Log in to [Palette](https://console.spectrocloud.com) - - -2. Select the **App Profiles** option from the left **Main Menu**. - - -3. Verify the app profile is not in the list of available profiles. - - -## Update an App Profile - -You can make changes to the app profile, such as version updates, manifest updates, app tier additions and removals. - -App Profile changes will generate an update notification on all the Apps that are created from the app profile. Update notifications include information about all the changes applied to the profile since the initial creation or since the previous update. You can apply the update to the Apps individually at any time. - -### Prerequisites - -- An App Profile - -### Apply Updates to the App - -To apply updates to an App follow the below steps: - -1. Log in to [Palette](https://console.spectrocloud.com) - - -2. Select the **App Profiles** option from the left **Main Menu**. - - -3. This page will list all the App Profiles available to you. Select the App Profile you want to update. - - -4. Make the desired changes. You can add or delete layers, change pack versions, change pack values, etc. and save your changes. - -5. Navigate to the left **Main Menu** and click on **Apps** - - -5. On the App page, apps eligible for an update will have an **Updates Available** badge. - - -* Click on the App with the update notification to start the **Apply** updates wizard. Click on **Apply** button. - - -* An **Apply Updates** wizard will open up with the update notification. The notification contains details about the updates that will be applied. Click the **Confirm** button to apply the updates to the app. - -### Validate - -To validate that the App profile updates are implemented on the target app, conduct the following steps: - -1. Log in to [Palette](https://console.spectrocloud.com) - - -2. Select the **Apps** option from the left **Main Menu**. - - -3. This page will list all the Apps. Click open the updated App. - - -4. Review the app profile details, which will include the applied updates. diff --git a/docs/docs-content/devx/apps/apps.md b/docs/docs-content/devx/apps/apps.md index ae1c969233..1ac4644c26 100644 --- a/docs/docs-content/devx/apps/apps.md +++ b/docs/docs-content/devx/apps/apps.md @@ -7,7 +7,8 @@ tags: ["devx", "app mode", "pde"] --- -Applications are the combination of an [App Profile](../app-profile/app-profile.md) and a [Palette Virtual Cluster](../palette-virtual-clusters/palette-virtual-clusters.md). When you specify an application profile and deploy it to a virtual cluster, you create an application. +Applications are the combination of an [App Profile](../../profiles/app-profiles/create-app-profiles/create-app-profiles.md) + and a [Palette Virtual Cluster](../palette-virtual-clusters/palette-virtual-clusters.md). When you specify an application profile and deploy it to a virtual cluster, you create an application. Check out the resource links below to learn more about Apps. diff --git a/docs/docs-content/devx/apps/create-app.md b/docs/docs-content/devx/apps/create-app.md index 9f0ea23199..7be9eeaa50 100644 --- a/docs/docs-content/devx/apps/create-app.md +++ b/docs/docs-content/devx/apps/create-app.md @@ -12,7 +12,7 @@ Use the following steps to create and deploy an app to a virtual cluster. ## Prerequisite -- An application profile. Use the guide [Create an App Profile](../app-profile/create-app-profile.md) to learn how to create an app profile. +- An application profile. Use the guide [Create an App Profile](../../profiles/app-profiles/create-app-profiles/create-app-profiles.md) to learn about types of app profiles you can create. :::info diff --git a/docs/docs-content/devx/apps/deploy-app.md b/docs/docs-content/devx/apps/deploy-app.md index 962b65edb2..9e75966b3f 100644 --- a/docs/docs-content/devx/apps/deploy-app.md +++ b/docs/docs-content/devx/apps/deploy-app.md @@ -226,7 +226,7 @@ In the next screen, assign the following values to the Postgres database. -Take note of the **Output Variables** section. The Postgres service exposes several output variables to help other applications connect with the database. In the next section, you will use these output variables and other output variables that Palette exposes for each service. You can learn more about output variables by reviewing the app profile [output variables](../app-profile/app-profile-macros.md) documentation. +Take note of the **Output Variables** section. The Postgres service exposes several output variables to help other applications connect with the database. In the next section, you will use these output variables and other output variables that Palette exposes for each service. You can learn more about output variables by reviewing the app profile [output variables](../../profiles/app-profiles/app-profile-output-vars.md) documentation. @@ -282,7 +282,7 @@ You can learn more about each environment variable's purpose by reviewing the AP :::info -To learn more about connecting different service layers, refer to the [Service Connectivity](../app-profile/services/connectivity.md) resource. +To learn more about connecting different service layers, refer to the [Service Connectivity](../services/connectivity.md) resource. ::: @@ -1190,7 +1190,7 @@ pack { :::info All container services expose their service address, Kubernetes hostname, and the exposed service ports as output variables. -You will use output variables frequently when creating app profiles in the future. You can learn more about connecting services by referring to the [Service Connectivity](../app-profile/services/connectivity.md) documentation. +You will use output variables frequently when creating app profiles. You can learn more about connecting services by referring to the [Service Connectivity](../services/connectivity.md documentation. ::: @@ -1282,7 +1282,7 @@ To learn more about Palette Dev Engine and its capabilities, check out the refer - [Palette Modes](../../introduction/palette-modes.md) - [Spectro Cloud Terraform Provider](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs) -- [App Profiles](../app-profile/app-profile.md) -- [App Services](../app-profile/services/services.md) +- [App Profiles](../../profiles/app-profiles/app-profiles.md) +- [App Services](../services/services.md) - [Palette Virtual Clusters](../palette-virtual-clusters/palette-virtual-clusters.md) - [Hello Universe GitHub respository](https://github.com/spectrocloud/hello-universe) diff --git a/docs/docs-content/devx/devx.md b/docs/docs-content/devx/devx.md index 7172cf2fdb..6d32f53327 100644 --- a/docs/docs-content/devx/devx.md +++ b/docs/docs-content/devx/devx.md @@ -75,7 +75,7 @@ To get started with App Mode, give the tutorial [Deploy an Application using Pal - [Use Cases](enterprise-user.md) -- [App Profiles](app-profile/app-profile.md) +- [App Profiles](../profiles/app-profiles/app-profiles.md) - [Apps](./apps/apps.md) diff --git a/docs/docs-content/devx/enterprise-user.md b/docs/docs-content/devx/enterprise-user.md index b8382f3bec..0fc09860f5 100644 --- a/docs/docs-content/devx/enterprise-user.md +++ b/docs/docs-content/devx/enterprise-user.md @@ -50,9 +50,9 @@ Use the following resource to get started with PDE today. * Learn about [App Mode versus Cluster Mode](../introduction/palette-modes.md). -* Familiarize yourself with [App Profiles](app-profile/app-profile.md). +* Familiarize yourself with [App Profiles](../profiles/app-profiles/app-profiles.md). -* Review the supported [out-of-the-box-services](app-profile/services/service-listings/service-listings.mdx). +* Review the supported [out-of-the-box-services](../devx/services/service-listings/service-listings.mdx). diff --git a/docs/docs-content/devx/app-profile/services/_category_.json b/docs/docs-content/devx/services/_category_.json similarity index 100% rename from docs/docs-content/devx/app-profile/services/_category_.json rename to docs/docs-content/devx/services/_category_.json diff --git a/docs/docs-content/devx/app-profile/services/connectivity.md b/docs/docs-content/devx/services/connectivity.md similarity index 100% rename from docs/docs-content/devx/app-profile/services/connectivity.md rename to docs/docs-content/devx/services/connectivity.md diff --git a/docs/docs-content/devx/app-profile/services/db-services.md b/docs/docs-content/devx/services/db-services.md similarity index 94% rename from docs/docs-content/devx/app-profile/services/db-services.md rename to docs/docs-content/devx/services/db-services.md index ca09576adc..2c3ba5d96c 100644 --- a/docs/docs-content/devx/app-profile/services/db-services.md +++ b/docs/docs-content/devx/services/db-services.md @@ -25,13 +25,13 @@ You must allocate storage to the database service based on the available storage :::caution -By default, cluster groups are configured not to back up the disk storage. This default behavior affects database services because a backup would not include the storage disk. To learn more, refer to [Enable Disk Backup on Virtual Clusters](../../../clusters/cluster-groups/cluster-group-backups.md). +By default, cluster groups are configured not to back up the disk storage. This default behavior affects database services because a backup would not include the storage disk. To learn more, refer to [Enable Disk Backup on Virtual Clusters](../../clusters/cluster-groups/cluster-group-backups.md. ::: ## Version Update -You can make changes to the app profile services, such as version updates, manifest updates, app service additions, and removals. [App Profile Service update](../versioning-app-profile.md#update-an-app-profile) +You can make changes to the app profile services, such as version updates, manifest updates, app service additions, and removals. [App Profile Service update](../../profiles/app-profiles/modify-app-profiles/version-app-profile.md) will generate an update notification on all the apps created from the app profile. Update notifications include all the changes applied to the profile since the initial creation or the previous update. You can apply the update to the apps individually at any time. ## Output Variables diff --git a/docs/docs-content/devx/app-profile/services/service-listings/_category_.json b/docs/docs-content/devx/services/service-listings/_category_.json similarity index 100% rename from docs/docs-content/devx/app-profile/services/service-listings/_category_.json rename to docs/docs-content/devx/services/service-listings/_category_.json diff --git a/docs/docs-content/devx/app-profile/services/service-listings/cockroach-db.md b/docs/docs-content/devx/services/service-listings/cockroach-db.md similarity index 94% rename from docs/docs-content/devx/app-profile/services/service-listings/cockroach-db.md rename to docs/docs-content/devx/services/service-listings/cockroach-db.md index f0bcfb2e17..de4926db47 100644 --- a/docs/docs-content/devx/app-profile/services/service-listings/cockroach-db.md +++ b/docs/docs-content/devx/services/service-listings/cockroach-db.md @@ -38,7 +38,7 @@ Palette users can deploy CockroachDB to a virtual cluster by using the following -3. Navigate to the left **Main Menu** and click on **App Profiles** to create a new app profile. Review [Create an App Profile](../../create-app-profile.md) for more information. Provide the following basic information and click **Next**. +3. Navigate to the left **Main Menu** and click on **App Profiles** to create a new app profile. Review [Create an App Profile](../../../profiles/app-profiles/create-app-profiles/create-app-profiles.md). Provide the following basic information and click **Next**. | Parameter | Description | |-----------------------------|-----------------| @@ -71,7 +71,7 @@ Palette users can deploy CockroachDB to a virtual cluster by using the following 6. Save your changes. -7. Deploy the app profile to a Palette Virtual Cluster. Use the [Deploy a Virtual Cluster](../../../../clusters/palette-virtual-clusters/deploy-virtual-cluster.md#deploy-a-virtual-cluster) guide for additional guidance or check out the [Deploy an Application using Palette Dev Engine](../../../apps/deploy-app.md) tutorial. +7. Deploy the app profile to a Palette Virtual Cluster. Use the [Deploy a Virtual Cluster](../../../clusters/palette-virtual-clusters/deploy-virtual-cluster.md#deploy-a-virtual-cluster) guide for additional guidance or check out the [Deploy an Application using Palette Dev Engine](../../apps/deploy-app.md) tutorial. ### Validate diff --git a/docs/docs-content/devx/app-profile/services/service-listings/mongo-db.md b/docs/docs-content/devx/services/service-listings/mongo-db.md similarity index 95% rename from docs/docs-content/devx/app-profile/services/service-listings/mongo-db.md rename to docs/docs-content/devx/services/service-listings/mongo-db.md index 273e460d0b..36d1f36128 100644 --- a/docs/docs-content/devx/app-profile/services/service-listings/mongo-db.md +++ b/docs/docs-content/devx/services/service-listings/mongo-db.md @@ -35,7 +35,7 @@ You can use the following steps to learn how to add MongoDB to your app profile. 2. On the right side of the window, click the **User Menu** to expand it and select **Switch to App Mode**. -3. From the **Main Menu** click **App Profiles** to create a new profile. Check out the [Create an App Profile](../../create-app-profile.md) guide to learn how. Provide the following basic information and click **Next**. +3. From the **Main Menu** click **App Profiles** to create a new profile. Check out the [Create an App Profile](../../../profiles/app-profiles/create-app-profiles/create-app-profiles.md) guide to learn about different app profile types and how to create them. Provide the following basic information and click **Next**. | **Parameter** | **Description** | |-------------------------|-----------------| diff --git a/docs/docs-content/devx/app-profile/services/service-listings/mysql.md b/docs/docs-content/devx/services/service-listings/mysql.md similarity index 96% rename from docs/docs-content/devx/app-profile/services/service-listings/mysql.md rename to docs/docs-content/devx/services/service-listings/mysql.md index 7fb5f0b1a8..bed49bb3f9 100644 --- a/docs/docs-content/devx/app-profile/services/service-listings/mysql.md +++ b/docs/docs-content/devx/services/service-listings/mysql.md @@ -39,7 +39,7 @@ Use the following steps to add MySQL to an app profile. 2. On the right side of the window, click on the **User Menu**, then select **Switch to App Mode**. -3. Navigate to the left **Main Menu** and click **App Profiles** to create a [new App Profile](../../create-app-profile.md). Provide the following basic information and click **Next**. +3. Navigate to the left **Main Menu** and click **App Profiles** to create a new [app profile](../../../profiles/app-profiles/create-app-profiles/create-app-profiles.md). Provide the following basic information and click **Next**. | **Parameter** | **Description** | |-----------------------------|-----------------| diff --git a/docs/docs-content/devx/app-profile/services/service-listings/postgresql-db.md b/docs/docs-content/devx/services/service-listings/postgresql-db.md similarity index 97% rename from docs/docs-content/devx/app-profile/services/service-listings/postgresql-db.md rename to docs/docs-content/devx/services/service-listings/postgresql-db.md index 1881b7f764..12ef27ea1f 100644 --- a/docs/docs-content/devx/app-profile/services/service-listings/postgresql-db.md +++ b/docs/docs-content/devx/services/service-listings/postgresql-db.md @@ -39,7 +39,7 @@ You can use the following steps to learn how to add Postgres to your app profile 2. On the right side of the window, click the **User Menu** to expand it and select **Switch to App Mode**. -3. Navigate to the left **Main Menu** and click on **App Profiles** to create a [new App Profile](../../create-app-profile.md). Provide the following basic information and click **Next**. +3. Navigate to the left **Main Menu** and click on **App Profiles** to create a new [app profile](../../../profiles/app-profiles/create-app-profiles/create-app-profiles.md). Provide the following basic information and click **Next**. | **Parameter** | **Description** | |-------------------------|-----------------| diff --git a/docs/docs-content/devx/app-profile/services/service-listings/redis-db.md b/docs/docs-content/devx/services/service-listings/redis-db.md similarity index 96% rename from docs/docs-content/devx/app-profile/services/service-listings/redis-db.md rename to docs/docs-content/devx/services/service-listings/redis-db.md index c0c2415f43..de9dd8a64f 100644 --- a/docs/docs-content/devx/app-profile/services/service-listings/redis-db.md +++ b/docs/docs-content/devx/services/service-listings/redis-db.md @@ -29,7 +29,7 @@ Use the following steps to add Redis to an app profile. 2. On the right side of the window, click on the **User Menu** and select **Switch to App Mode**. -3. Navigate to the left **Main Menu** and click on **App Profiles** to create a [new App Profile](../../create-app-profile.md). Provide the following basic information and click **Next**. +3. Navigate to the left **Main Menu** and click on **App Profiles** to create a new [app profile](../../../profiles/app-profiles/create-app-profiles/create-app-profiles.md). Provide the following basic information and click **Next**. | Parameter | Description | |-----------------------------|-----------------| diff --git a/docs/docs-content/devx/app-profile/services/service-listings/service-listings.mdx b/docs/docs-content/devx/services/service-listings/service-listings.mdx similarity index 100% rename from docs/docs-content/devx/app-profile/services/service-listings/service-listings.mdx rename to docs/docs-content/devx/services/service-listings/service-listings.mdx diff --git a/docs/docs-content/devx/app-profile/services/service-listings/vault.md b/docs/docs-content/devx/services/service-listings/vault.md similarity index 93% rename from docs/docs-content/devx/app-profile/services/service-listings/vault.md rename to docs/docs-content/devx/services/service-listings/vault.md index a7b56ef0ca..5eff21b418 100644 --- a/docs/docs-content/devx/app-profile/services/service-listings/vault.md +++ b/docs/docs-content/devx/services/service-listings/vault.md @@ -58,7 +58,7 @@ Use the following steps to learn how to deploy Vault to your virtual cluster. -3. Navigate to the left **Main Menu** and click on **App Profiles** to create a [new App Profile](../../create-app-profile.md). Provide the following basic information and click **Next**. +3. Navigate to the left **Main Menu** and click on **App Profiles** to create a new [app profile](../../../profiles/app-profiles/create-app-profiles/create-app-profiles.md). Provide the following basic information and click **Next**. | Parameter | Description | |-----------------------------|-----------------| @@ -80,7 +80,7 @@ Use the following steps to learn how to deploy Vault to your virtual cluster. 6. Save your changes. -7. Deploy the app profile to a Palette Virtual Cluster. Use the [Deploy a Virtual Cluster](../../../../clusters/palette-virtual-clusters/deploy-virtual-cluster.md) guide for additional guidance or check out the [Deploy an Application using Palette Dev Engine](../../../apps/deploy-app.md) tutorial. +7. Deploy the app profile to a Palette Virtual Cluster. Use the [Deploy a Virtual Cluster](../../../clusters/palette-virtual-clusters/deploy-virtual-cluster.md) guide for additional guidance or check out the [Deploy an Application using Palette Dev Engine](../../apps/deploy-app.md) tutorial. ## Validate @@ -105,7 +105,7 @@ You can validate the Vault instance deployed successfully by using the following 6. Click the URL to download the **kubeconfig**. -7. Set up your local kubectl environment to use the **kubeconfig** file you downloaded. Review the [Access Cluster with CLI](../../../../clusters/cluster-management/palette-webctl.md) guide for additional guidance. +7. Set up your local kubectl environment to use the **kubeconfig** file you downloaded. Review the [Access Cluster with CLI](../../../clusters/cluster-management/palette-webctl.md) guide for additional guidance. 8. Export the following environment variables to prepare your environment to interact with Vault. @@ -177,7 +177,7 @@ The Vault root token and the unseal keys are stored as a Kubernetes secret insid -5. Set up your local kubectl environment to use the **kubeconfig** file you downloaded. Review the [Access Cluster with CLI](../../../../clusters/cluster-management/palette-webctl.md) guide for additional guidance. +5. Set up your local kubectl environment to use the **kubeconfig** file you downloaded. Review the [Access Cluster with CLI](../../../clusters/cluster-management/palette-webctl.md) guide for additional guidance. 6. You need to get the Vault namespace and application name. Issue the following command to get the unique values. diff --git a/docs/docs-content/devx/app-profile/services/services.md b/docs/docs-content/devx/services/services.md similarity index 93% rename from docs/docs-content/devx/app-profile/services/services.md rename to docs/docs-content/devx/services/services.md index c666d0ec80..b322db6ca4 100644 --- a/docs/docs-content/devx/app-profile/services/services.md +++ b/docs/docs-content/devx/services/services.md @@ -11,12 +11,12 @@ Palette offers you different types of services to help you model all the depende ## Container Deployment -[Containers](https://www.docker.com/resources/what-container/) are methods of building, packaging, and deploying an application. A container includes the code, run-time, libraries, and all the dependencies required by a containerized workload. Containers are deployed to their target environment. For steps on how to deploy a container in Palette, refer to [Container Deployment](../container-deployment.md). +[Containers](https://www.docker.com/resources/what-container/) are methods of building, packaging, and deploying an application. A container includes the code, run-time, libraries, and all the dependencies required by a containerized workload. Containers are deployed to their target environment. For steps on how to deploy a container in Palette, refer to [Container Deployment](../../profiles/app-profiles/create-app-profiles/container-deployment.md). ## Helm -Palette provides out-of-the-box Helm registries and allows you to add registries. For more information, visit [Palette Helm Registry](../../../registries-and-packs/helm-charts.md). +Palette provides out-of-the-box Helm registries and allows you to add registries. For more information, visit [Palette Helm Registry](../../registries-and-packs/helm-charts.md). ## Manifest diff --git a/docs/docs-content/getting-started/onboarding-workflow.md b/docs/docs-content/getting-started/onboarding-workflow.md index aa8db1b181..498f7ff9eb 100644 --- a/docs/docs-content/getting-started/onboarding-workflow.md +++ b/docs/docs-content/getting-started/onboarding-workflow.md @@ -47,12 +47,11 @@ The product tour is followed by a Palette experience session. Here we make sure ## Palette Workflow -Palette requires the creation of a cluster profile before a workload cluster can be created. This is because [cluster profiles](../cluster-profiles/cluster-profiles.md) are -templates created with preconfigured layers that define the required dependencies, such as the Operating System (OS) and Kubernetes version for your cluster. The cluster profile is a core component of Palette. You can learn more about cluster profiles by reviewing the [cluster profile](../cluster-profiles/cluster-profiles.md) reference page. +Palette requires the creation of a cluster profile before a workload cluster can be created. This is because cluster profiles are templates created with preconfigured layers that define the required dependencies, such as the Operating System (OS) and Kubernetes version for your cluster. The cluster profile is a core component of Palette. You can learn more about cluster profiles by reviewing the [Cluster Profiles](../profiles/cluster-profiles/cluster-profiles.md) reference page. ## Resources -* [Create your Cluster Profile](../cluster-profiles/task-define-profile.md) +* [Create your Cluster Profile](../profiles/cluster-profiles/cluster-profiles.md) * [Create your Cluster](../clusters/clusters.md) diff --git a/docs/docs-content/glossary-all.md b/docs/docs-content/glossary-all.md index ed6526146f..d03ac22c90 100644 --- a/docs/docs-content/glossary-all.md +++ b/docs/docs-content/glossary-all.md @@ -26,9 +26,9 @@ Palette on-prem installation supports Air-Gapped, a security measure in which it For integrations and add-ons orchestrated via Palette [Packs](#pack) or [Charts](#helm-charts), at times it is required to provide additional Kubernetes resources to complete the installation. Resources like additional secrets or Custom Resource Definitions may need to be installed for the integration or add-on to function correctly. Attach Manifests are additional raw manifests attached to a cluster profile layer built using a Palette Pack or a Chart. Multiple Attach Manifests can be added to a layer in a cluster profile. -## Bring Your Own Operating System (BYOOS) +## Bring Your Own Operating System (BYO-OS) -A feature in Palette that allows you to bring your own operating system and use it with your Kubernetes clusters. With the BYOOS pack, you can reference your own OS images, configure the necessary drivers, and customize the OS to meet your specific requirements. BYOOS gives you greater flexibility, control, and customization options when it comes to managing your Kubernetes clusters. It is especially useful for enterprises and organizations with strict requirements around security, compliance, or specific hardware configurations. +A feature in Palette that allows you to bring your own operating system and use it with your Kubernetes clusters. With the BYO-OS pack, you can reference your own OS images, configure the necessary drivers, and customize the OS to meet your specific requirements. BYO-OS gives you greater flexibility, control, and customization options when it comes to managing your Kubernetes clusters. It is especially useful for enterprises and organizations with strict requirements around security, compliance, or specific hardware configurations. ## Chart Repositories @@ -48,7 +48,8 @@ The diagram below shows an example of a cluster profile: ![cluster_profile_new](/cluster_profile_new.png) -Read more about Cluster Profiles [here](cluster-profiles/cluster-profiles.md). +For more information, check out [Cluster Profiles](profiles/cluster-profiles/cluster-profiles.md). + ## Edge Appliances Palette supports several kinds of appliances for the Edge deployment. These appliances can be registered with the Palette Management Console and used for provisioning a Virtualized or a Native OS (Native Edge Deployment). The following is the list of all the Palette supported Edge appliance types: @@ -171,8 +172,7 @@ Spectro Agent bridges the information transfer between Palette SaaS and Palette ## System Console (On-prem System Console) The console is used to scale up the Enterprise cluster and manage it. The System console supports creating and activating a new tenant in a new instance. It Initiates the installation of a Palette Enterprise Cluster. The On-Prem System Console provides various administrative setup tasks. Most of these are optional and can be performed at any time. To quickly start using the platform's functionality, all that is needed is to create the first tenant and activate it.Initial login:admin/admin. -## System Profiles -System Profiles provide a way to bootstrap an edge appliance with an initial set of virtual and containerized applications. Similar to cluster profiles, System Profiles are templates created using one or more layers that are based on packs or helm charts. + ## Team A Team is a group of [users](#user). Users can be part of one or more teams. Teams provide a convenient way to control platform access for a group of users. [Roles](#role) assigned to a team grant associated tenant or [project](#project) [permissions](#permission) to all users that are part of the team. ## Tenant diff --git a/docs/docs-content/integrations/byoos.md b/docs/docs-content/integrations/byoos.md index cbce56ce5b..995d452051 100644 --- a/docs/docs-content/integrations/byoos.md +++ b/docs/docs-content/integrations/byoos.md @@ -15,7 +15,7 @@ tags: ["packs", "byoos", "operating system"] # Bring Your Own Operating System (BYOOS) -The [Bring Your Own Operating System (BYOOS)](../cluster-profiles/byoos/byoos.md) enables you to use a custom Operating System (OS) with Palette. Palette comes with several operating systems out-of-the-box, but the existing OS list may not meet all users' needs. +The [Bring Your Own Operating System (BYOOS)](../byoos/byoos.md) enables you to use a custom Operating System (OS) with Palette. Palette comes with several operating systems out-of-the-box, but the existing OS list may not meet all users' needs. Using your custom OS provides several benefits, including the ability to control your own dependencies, improve performance, and ensure compatibility with your existing applications. With BYOOS, you can choose the OS that best fits your needs, whether it's a commercial or open-source distribution, and integrate it with your Kubernetes clusters. The BYOOS pack can be used with both Edge and non-Edge environments. @@ -89,7 +89,7 @@ To use the non-Edge BYOOS pack, you must have the following:
-- A custom OS that you created. Refer to the [Create Images with Image Builder](../cluster-profiles/byoos/image-builder.md) guide to learn how to create a custom OS for Palette. +- A custom OS that you created. Refer to the [Create Images with Image Builder](../byoos/image-builder.md) guide to learn how to create a custom OS for Palette. ## Parameters @@ -115,7 +115,7 @@ Use the BYOOS pack when selecting the OS layer during the cluster profile creati :::info -Check out the [Create Cluster Profile](../cluster-profiles/task-define-profile.md) guide to learn how to create a cluster profile. +Check out the [Cluster Profiles](../profiles/cluster-profiles/cluster-profiles.md) reference to learn about profile types and how to create a cluster profile. ::: @@ -142,7 +142,7 @@ pack: -Check out the [Create Images with Image Builder](../cluster-profiles/byoos/image-builder.md) guide to learn to create a custom image for Palette. +Check out the [Create Images with Image Builder](../byoos/image-builder.md) guide to learn to create a custom image for Palette. --- diff --git a/docs/docs-content/integrations/cilium-tetragon.md b/docs/docs-content/integrations/cilium-tetragon.md index 1139079529..df216bdc03 100644 --- a/docs/docs-content/integrations/cilium-tetragon.md +++ b/docs/docs-content/integrations/cilium-tetragon.md @@ -13,7 +13,7 @@ tags: ["packs", "cilium-tetragon", "monitoring"] [Tetragon](https://github.com/cilium/tetragon) is an eBPF based security observability and runtime enforcement. eBPF is used to safely and efficiently extend the kernel's capabilities without requiring changing the kernel source code or loading kernel modules. Tetragon is a Cilium community open-source project that enables profound visibility with filtering and aggregation with the eBPF collector support to deliver visibility at depth with minimal overhead. -Palette supports Cilium Tetragon as an add-on pack for monitoring services. Refer to the [create cluster profile](../cluster-profiles/task-define-profile.md#overview) page for more information on how to use an add-on pack. +Palette supports Cilium Tetragon as an add-on pack for monitoring services. Refer to the [Create an Add-on Profile](../profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-addon-profile.md) guide for more information on how to use an add-on pack. ## Versions Supported diff --git a/docs/docs-content/integrations/frp.md b/docs/docs-content/integrations/frp.md index 6d6201da4a..5a5326a798 100644 --- a/docs/docs-content/integrations/frp.md +++ b/docs/docs-content/integrations/frp.md @@ -33,7 +33,7 @@ The reverse proxy has a server component and a client component. The reverse pro - Any requests to the Kubernetes API server, such as kubectl commands, will be routed to the reverse proxy. The reverse proxy forwards the request to the intended client, which is the cluster's API server. The cluster's API server authenticates the request and replies with the proper response. -You can attach this pack to a [cluster profile](../cluster-profiles/cluster-profiles.md). The pack installs the Spectro Proxy client in the workload clusters and configures the cluster's API server to point to a managed proxy server. +You can attach this pack to a cluster profile. For more information, refer to [Cluster Profiles](../profiles/cluster-profiles/cluster-profiles.md). The pack installs the Spectro Proxy client in the workload clusters and configures the cluster's API server to point to a managed proxy server.
@@ -216,7 +216,7 @@ The VMware dashboard integration supports the following parameters. ## Usage -To use this pack, you have to add it to your cluster profile. You can also add the Spectro Proxy pack when you create the cluster profile. Check out the [Create Cluster Profile](../cluster-profiles/task-define-profile.md) guide to learn more about cluster profile creation. +To use this pack, you have to add it to your cluster profile. You can also add the Spectro Proxy pack when you create the cluster profile. Check out the [Create Cluster Profile](../profiles/cluster-profiles/create-cluster-profiles/create-cluster-profiles.md) guide to learn more about cluster profile creation. Depending on the type of cluster, the usage guidance varies. Select the tab that corresponds to the kind of cluster you have. Use the following definitions to help you identify the type of cluster. @@ -334,7 +334,7 @@ The Kubernetes dashboard integration supports the following parameters. ## Usage -To use this pack, you have to add it to your cluster profile. You can also add the Spectro Proxy pack when you create the cluster profile. Check out the [Create Cluster Profile](../cluster-profiles/task-define-profile.md) guide to learn more about cluster profile creation. +To use this pack, you have to add it to your cluster profile. You can also add the Spectro Proxy pack when you create the cluster profile. Check out the [Create Cluster Profile](../profiles/cluster-profiles/create-cluster-profiles/create-cluster-profiles.md) guide to learn more about cluster profile creation. Depending on the type of cluster, the usage guidance varies. Select the tab that corresponds to the kind of cluster you have. Use the following definitions to help you identify the type of cluster. @@ -450,7 +450,7 @@ The Kubernetes dashboard integration supports the following parameters. ## Usage -To use this pack, you have to add it to your cluster profile. You can also add the Spectro Proxy pack when you create the cluster profile. Check out the [Create Cluster Profile](../cluster-profiles/task-define-profile.md) guide to learn more about cluster profile creation. +To use this pack, you have to add it to your cluster profile. You can also add the Spectro Proxy pack when you create the cluster profile. Check out the [Create Cluster Profile](../profiles/cluster-profiles/create-cluster-profiles/create-cluster-profiles.md) guide to learn more about cluster profile creation. Depending on the type of cluster, the usage guidance varies. Select the tab that corresponds to the kind of cluster you have. Use the following definitions to help you identify the type of cluster. @@ -557,7 +557,7 @@ The Spectro Proxy supports the following parameters. ## Usage -To use this pack, you have to add it to your cluster profile. You can also add the Spectro Proxy pack when you create the cluster profile. Check out the [Create Cluster Profile](../cluster-profiles/task-define-profile.md) guide to learn more about cluster profile creation. +To use this pack, you have to add it to your cluster profile. You can also add the Spectro Proxy pack when you create the cluster profile. Check out the [Create Cluster Profile](../profiles/cluster-profiles/create-cluster-profiles/create-cluster-profiles.md) guide to learn more about cluster profile creation. Depending on the type of cluster, the usage guidance varies. Select the tab that corresponds to the kind of cluster you have. Use the following definitions to help you identify the type of cluster. diff --git a/docs/docs-content/integrations/integrations.mdx b/docs/docs-content/integrations/integrations.mdx index 24f055cdaf..3d0bdf7231 100644 --- a/docs/docs-content/integrations/integrations.mdx +++ b/docs/docs-content/integrations/integrations.mdx @@ -13,7 +13,7 @@ Palette provides packs that are tailored for specific uses to support the core i When you create a cluster profile, you choose the type of pack you want to add: **Full**, **Infrastructure**, or **Add-on**. **Full** refers to the combination of **Infrastructure** and **Add-on** packs. -When you choose **Infrastructure** or **Add-on**, Palette presents only packs that provide functionality for the selected pack type. When you choose **Full**, Palette presents all the packs so you can build your cluster profile from the base layer up. To learn more about cluster profiles, check out the [Cluster Profiles](/cluster-profiles) guide. +When you choose **Infrastructure** or **Add-on**, Palette presents only packs that provide functionality for the selected pack type. When you choose **Full**, Palette presents all the packs so you can build your cluster profile from the base layer up. To learn more about cluster profiles, check out the [Cluster Profiles](profiles/cluster-profiles/cluster-profiles.md) reference. To learn more about individual packs, use the search bar below to find a specific option. Alternatively, you can use the filter buttons to display available options. To learn about pack update and deprecation schedules, review [Maintenance Policy](/integrations/maintenance-policy). diff --git a/docs/docs-content/integrations/maintenance-policy.md b/docs/docs-content/integrations/maintenance-policy.md index 75b8dd1500..a12ede0e0d 100644 --- a/docs/docs-content/integrations/maintenance-policy.md +++ b/docs/docs-content/integrations/maintenance-policy.md @@ -31,33 +31,26 @@ Add-on packs provide additional functionality that you can add to your cluster p - Security -- Authenticaiton +- Authentication - System Apps Check out the [Packs List](integrations.mdx) document, where you can use the filter buttons to display a list of Palette packs in each category and learn about the individual packs. -
- ## Pack Updates Packs undergo rigorous vulnerability scans and penetration testing before they become available in Palette. The following sections describe our update schedule for each core pack category. -
### Kubernetes Packs We provide Cloud Native Computing Foundation (CNCF) Kubernetes updates as follows: -
- - **Major versions**: Assessed based on the extent of changes. - - **Minor versions**: Provided within eight weeks of a new Kubernetes release. - - **Patch versions**: Provided within four weeks of a new Kubernetes release. @@ -66,8 +59,6 @@ We provide Cloud Native Computing Foundation (CNCF) Kubernetes updates as follow We provide Ubuntu LTS and CentOS updates for IaaS clusters as follows: -
- - **Major versions** - Added within eight weeks of release. @@ -78,14 +69,10 @@ We provide Ubuntu LTS and CentOS updates for IaaS clusters as follows: We provide CNI pack updates as follows: -
- - **Major versions**: Assessed based on the extent of changes. - - **Minor version**: Added within six weeks of release. - - **Patch versions**: Added within four weeks of release. @@ -93,14 +80,10 @@ We provide CNI pack updates as follows: We provide CSI pack updates as follows: -
- - **Major versions**: Assessed based on the extent of changes. - - **Minor version**: Added within six weeks of release. - - **Patch versions**: Added within four weeks of release. @@ -108,14 +91,11 @@ We provide CSI pack updates as follows: We provide add-on pack updates as follows: -
- **Major versions**: Assessed based on the extent of changes. - - **Minor version**: Added within six weeks of release. - - **Patch versions**: Added within four weeks of release. @@ -141,25 +121,19 @@ You can review deprecated packs in the [Deprecated Packs](deprecated-packs.md) r We adhere to the following stages of deprecation: -
- - **Deprecated**: When a pack or a pack version is deprecated, this indicates it will be removed in the future. You will still be able to create new cluster profiles using the pack and launch clusters using existing profiles that contain the pack. The pack remains in *Deprecated* state for three months before it moves to *Disabled* state. -
- - **Disabled**: When a pack is disabled, it is no longer available for selection in Palette. When creating new profiles, you must use a newer version of the pack. You can still launch clusters using existing profiles that contain the disabled pack. The pack remains in *Disabled* state for three months before it is deleted. -
- - **Deleted**: When a pack is deleted, it is removed from Palette. An active cluster that contains the deleted pack will continue to operate. However, you will not be able to deploy a new cluster profile that contains the deleted pack. :::info -For important guidelines on updating pack versions, review [Update the Pack Version](../cluster-profiles/task-update-profile.md#update-the-pack-version). +For important guidelines on updating pack versions, review [Update the Pack Version](../profiles/cluster-profiles/modify-cluster-profiles/update-cluster-profile.md#update-the-pack-version). ::: @@ -167,7 +141,6 @@ For important guidelines on updating pack versions, review [Update the Pack Vers A minor Kubernetes version is deprecated in Palette when the Kubernetes community announces the version is entering End of Life (EOL). -
### CNI / CSI / Add-on Packs diff --git a/docs/docs-content/integrations/ngrok.md b/docs/docs-content/integrations/ngrok.md index 3e1f208e92..52ee019e84 100644 --- a/docs/docs-content/integrations/ngrok.md +++ b/docs/docs-content/integrations/ngrok.md @@ -58,7 +58,7 @@ charts: ## Usage -To use the ngrok Ingress Controller pack, first create a new [add-on cluster profile](../cluster-profiles/create-add-on-profile.md), search for the **ngrok Ingress Controller** pack, and overwrite the default pack configuration with your API key and authentication token like the following example YAML content: +To use the ngrok Ingress Controller pack, first create a new [add-on cluster profile](../profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-addon-profile.md), search for the **ngrok Ingress Controller** pack, and overwrite the default pack configuration with your API key and authentication token like the following example YAML content: ```yaml charts: diff --git a/docs/docs-content/integrations/prometheus-agent.md b/docs/docs-content/integrations/prometheus-agent.md index fd23c7c4b0..8f41c76eb9 100644 --- a/docs/docs-content/integrations/prometheus-agent.md +++ b/docs/docs-content/integrations/prometheus-agent.md @@ -76,7 +76,7 @@ charts: ## Usage -The Prometheus agent pack works out-of-the-box and only requires you to provide a Prometheus server URL. Add the Prometheus agent pack to a cluster profile to get started with Prometheus. You can create a new cluster profile that has the Prometheus agent as an add-on pack or you can [update an existing cluster profile](../cluster-profiles/task-update-profile.md) by adding the Prometheus agent pack. +The Prometheus agent pack works out-of-the-box and only requires you to provide a Prometheus server URL. Add the Prometheus agent pack to a cluster profile to get started with Prometheus. You can create a new cluster profile that has the Prometheus agent as an add-on pack or you can update an existing cluster profile by adding the Prometheus agent pack. For guidance, review [Update a Cluster Profile](../profiles/cluster-profiles/modify-cluster-profiles/update-cluster-profile.md). Log in to the Grafana dashboard to view and create dashboards. You can find the Grafana dashboard URL by reviewing the details of the Kubernetes cluster hosting the Prometheus server. Use the URL exposed by the **prometheus-operator-kube-prometheus-stack-grafana** service. diff --git a/docs/docs-content/integrations/rke2.md b/docs/docs-content/integrations/rke2.md index 1aaa0b70d6..3b8c40db7b 100644 --- a/docs/docs-content/integrations/rke2.md +++ b/docs/docs-content/integrations/rke2.md @@ -58,7 +58,7 @@ The following RKE2 versions are supported to work with Palette. ## Usage -You can add RKE2 to an Edge cluster profile as the Kubernetes layer. Refer to the [Create Cluster Profiles](../cluster-profiles/task-define-profile.md) guide to learn more. +You can add RKE2 to an Edge cluster profile as the Kubernetes layer. Refer to the [Create an Infrastructure Profile](../profiles/cluster-profiles/create-cluster-profiles/create-infrastructure-profile.md) guide to learn more. RKE2 offers several customization options, ranging from networking to security. We recommend you review the following RKE2 documentation: @@ -95,7 +95,7 @@ Many of the Day-2 cluster management responsibilities are handled by Palette. Re ## Usage -You can add RKE2 to an Edge cluster profile as the Kubernetes layer. To learn more, refer to the [Create Cluster Profiles](../cluster-profiles/task-define-profile.md) guide. +You can add RKE2 to an Edge cluster profile as the Kubernetes layer. To learn more, refer to the [Create Cluster Profiles](../profiles/cluster-profiles/create-cluster-profiles/create-cluster-profiles.md) guide. RKE2 offers several customization options, ranging from networking to security. We recommend you review the following RKE2 documentation: @@ -133,7 +133,7 @@ Many of the Day-2 cluster management responsibilities are handled by Palette. Re ## Usage -You can add RKE2 to an Edge cluster profile as the Kubernetes layer. To learn more, refer to the [Create Cluster Profiles](../cluster-profiles/task-define-profile.md) guide. +You can add RKE2 to an Edge cluster profile as the Kubernetes layer. To learn more, refer to the [Create Cluster Profiles](../profiles/cluster-profiles/create-cluster-profiles/create-cluster-profiles.md) guide. RKE2 offers several customization options, ranging from networking to security. We recommend you review the following RKE2 documentation: diff --git a/docs/docs-content/integrations/ubuntu.md b/docs/docs-content/integrations/ubuntu.md index c9a9a2e7ff..f421cbfc19 100644 --- a/docs/docs-content/integrations/ubuntu.md +++ b/docs/docs-content/integrations/ubuntu.md @@ -17,8 +17,7 @@ Boasting a comprehensive package system, Ubuntu provides a wealth of pre-compile In addition to its stability, Ubuntu's community support, extensive documentation, and commitment to free software principles make it a widely favored choice among Linux distributions. -You can use Ubuntu as the base Operating System (OS) when deploying a host cluster by using the Ubuntu pack when you create a [cluster profile](../cluster-profiles/cluster-profiles.md). - +You can use Ubuntu as the base Operating System (OS) when deploying a host cluster by using the Ubuntu pack when you create a cluster profile. For guidance, review [Create an Infrastructure Profile](../profiles/cluster-profiles/create-cluster-profiles/create-infrastructure-profile.md).
@@ -186,7 +185,7 @@ Palette also supports Ubuntu Pro. Refer to the [Ubuntu Pro](ubuntu.md?22.04.x#ub ### Usage -To use the Ubuntu OS pack, add the pack to your cluster profile when you select the OS layer. Refer to the [Create Cluster Profile](../cluster-profiles/task-define-profile.md) guide to learn more about creating cluster profiles. +To use the Ubuntu OS pack, add the pack to your cluster profile when you select the OS layer. Refer to the [Create an Infrastructure Profile](../profiles/cluster-profiles/create-cluster-profiles/create-infrastructure-profile.md) guide to learn more. @@ -527,7 +526,7 @@ Palette also supports Ubuntu Pro. Refer to the [Ubuntu Pro](ubuntu.md?22.04.x#ub ## Usage -To use the Ubuntu OS pack, add the pack to your cluster profile when you select the OS layer. Refer to the [Create Cluster Profile](../cluster-profiles/task-define-profile.md) guide to learn more about creating cluster profiles. +To use the Ubuntu OS pack, add the pack to your cluster profile when you select the OS layer. Refer to the [Create Cluster Profile](../profiles/cluster-profiles/create-cluster-profiles/create-cluster-profiles.md) guide to learn more about creating cluster profiles. @@ -866,7 +865,7 @@ data "spectrocloud_pack_simple" "ubuntu" { ## References -- [Create a Cluster Profile](../cluster-profiles/task-define-profile.md) +- [Create a Cluster Profile](../profiles/cluster-profiles/create-cluster-profiles/create-cluster-profiles.md) - [Ubuntu Documentation](https://docs.ubuntu.com) diff --git a/docs/docs-content/introduction/palette-modes.md b/docs/docs-content/introduction/palette-modes.md index d86bb5ca92..8743017910 100644 --- a/docs/docs-content/introduction/palette-modes.md +++ b/docs/docs-content/introduction/palette-modes.md @@ -17,7 +17,7 @@ Palette supports two consumption modes - each aimed at different use cases and, Cluster mode gives you the ability to provision Kubernetes clusters to various platforms and cloud providers through Palette. Palette manages and maintains the lifecycle of these Kubernetes clusters. We call a Kubernetes cluster that Palette manages and deploys a [_Host Cluster_](../glossary-all.md#host-cluster). -Cluster mode is frequently leveraged by personas such as platform engineers, infrastructure engineers, system administrators, and others who are in a role that requires them to support infrastructure. These personas frequently leverage cluster mode to specify attributes that should make up the Kubernetes cluster, and where and how the cluster should be deployed. These operators leverage a concept we call [_Cluster Profiles_](../cluster-profiles/cluster-profiles.md). Other users such as developers, can also leverage cluster mode and cluster profiles to deploy a Kubernetes cluster for ad-hoc purposes, such as research efforts. +Cluster mode is frequently leveraged by personas such as platform engineers, infrastructure engineers, system administrators, and others who are in a role that requires them to support infrastructure. These personas frequently leverage cluster mode to specify attributes that should make up the Kubernetes cluster, and where and how the cluster should be deployed. These operators leverage a concept we call [_Cluster Profiles_](../profiles/cluster-profiles/cluster-profiles.md). Other users such as developers, can also leverage cluster mode and cluster profiles to deploy a Kubernetes cluster for ad-hoc purposes, such as research efforts. When you operate in cluster mode, you have the ability to specify projects to control the scope of the Kubernetes cluster. The ability to specify projects is beneficial when segmenting resources for different teams. For example, a project titled “ml-modeling” could belong to a team focused on machine learning. In the project “modeling,” you could deploy various Kubernetes clusters for the machine learning team to conduct their work. These Kubernetes clusters could also be grouped together (Cluster Group) if grouping of similar resources is needed. @@ -36,7 +36,7 @@ Virtual clusters help reduce development time by allowing downstream consumers t ### What is App Mode? -App Mode is a unique experience that Palette provides in that it removes Kubernetes infrastructure overhead as much as possible. In App mode, you can focus on creating and managing [_App Profiles_](../devx/app-profile/app-profile.md). App profiles are declarative templates that you use to define all the required services, containers, and databases that make up an application. Once you define an app profile, you can deploy your application to any Palette Virtual Cluster by specifying the respective app profile. +App Mode is a unique experience that Palette provides in that it removes Kubernetes infrastructure overhead as much as possible. In App mode, you can focus on creating and managing [_App Profiles_](../profiles/app-profiles/app-profiles.md). App profiles are declarative templates that you use to define all the required services, containers, and databases that make up an application. Once you define an app profile, you can deploy your application to any Palette Virtual Cluster by specifying the respective app profile. App mode comes with an out-of-the-box cluster group managed by us here at Spectro Cloud called _beehive_. This cluster group, which under the cover is a collection of Kubernetes clusters, is configured to support Palette Virtual Clusters. As a consumer, you can deploy a new virtual cluster to the beehive cluster group and get started with a Kubernetes cluster in minutes. @@ -88,4 +88,4 @@ Below are some of the characteristics of each mode. Use this to help you better ## Next Steps -Get started with [Palette](https://console.spectrocloud.com/) today and deploy an application though [app mode](../devx/devx.md). Or create a Kubernetes cluster on your favorite platform and let Palette handle the challenges of maintaining Kubernetes clusters by leveraging cluster mode and [cluster profiles](../cluster-profiles/cluster-profiles.md). \ No newline at end of file +Get started with [Palette](https://console.spectrocloud.com/) today and deploy an application though [app mode](/devx). Or create a Kubernetes cluster on your favorite platform and let Palette handle the challenges of maintaining Kubernetes clusters by leveraging cluster mode and [cluster profiles](../profiles/cluster-profiles/cluster-profiles.md). diff --git a/docs/docs-content/profiles/_category_.json b/docs/docs-content/profiles/_category_.json new file mode 100644 index 0000000000..22ba595008 --- /dev/null +++ b/docs/docs-content/profiles/_category_.json @@ -0,0 +1,3 @@ +{ + "position" : 40 +} diff --git a/docs/docs-content/profiles/app-profiles/_category_.json b/docs/docs-content/profiles/app-profiles/_category_.json new file mode 100644 index 0000000000..a3d5b179a4 --- /dev/null +++ b/docs/docs-content/profiles/app-profiles/_category_.json @@ -0,0 +1,3 @@ +{ + "position" : 20 +} \ No newline at end of file diff --git a/docs/docs-content/profiles/app-profiles/app-profile-output-vars.md b/docs/docs-content/profiles/app-profiles/app-profile-output-vars.md new file mode 100644 index 0000000000..32228a6126 --- /dev/null +++ b/docs/docs-content/profiles/app-profiles/app-profile-output-vars.md @@ -0,0 +1,81 @@ +--- +sidebar_label: "Output Variables" +title: "Output Variables" +description: "Explore Palette Dev Engine App Profile Macros" +hide_table_of_contents: false +sidebar_position: 60 +tags: ["devx", "app mode", "pde", "app profiles"] +--- + + +Palette Dev Engine output variables are defined in the [app profile](/glossary-all#appprofile) and are only resolved at cluster deployment time. The output variables have the following properties: + +* May be referenced by specifying them during app profile creation. + +* Output variables are inherited from the lower layers of the app profile. + +* Each service type exposes a set of unique output variables. + + +The variables are generated when the server layer is deployed. Output variables can be consumed by the higher layers in the app profile. + +Check out the [Services Connectivity](../../devx/services/connectivity.md) page to learn how to use output variables for establishing network connectivity between services. + + + +```hideClipboard +{{.spectro.app.$appdeploymentName..}} +``` + +## System Output Variables + +The following output variables are globally available for all services. + +| **Output Variable** | **Description** | +| --- | --- | +| `spectro.system.user.name` | User name of the logged in user. | +| `spectro.system.user.uid` | ID of the logged in user.| +| `spectro.system.user.email` | Email address of the logged in user. | +| `spectro.system.tenant.uid `| ID of the current tenant or organization. | +| `spectro.system.project.uid` | ID of the current project. | +| `spectro.system.project.name` | Name of the current project. | +| `spectro.system.cluster.uid` | ID of the current cluster. | +| `spectro.system.cluster.name` | Name of the current cluster. | +| `spectro.system.kubernetes.version` | Current version of Kubernetes. | +| `spectro.system.reverseproxy.server` | Hostname of Spectro Proxy reverse proxy server. This value is empty when not enabled. | +| `spectro.system.reverseproxy.port` | Port of the Spectro Proxy reverse proxy server. This value is empty when not enabled. | +| `spectro.system.reverseproxy.vhostport` | Port of the virtual host that is hosting the reverse proxy. | +| `spectro.system.reverseproxy.protocol` | Protocol used for the Spectro Proxy reverse proxy. | +| `spectro.system.cloud.type` | Type of cloud environment where the cluster is deployed such as EKS, AKS, and GKE. | +| `spectro.system.cloud.region` | Cloud provider region where the cluster is deployed.| +| `spectro.system.apptier.name` | Name of the service layer from the context of the app profile. | +| `spectro.system.apptier.uid` | ID of the service layer. | +| `spectro.system.appprofile.name` | Name of the app profile. | +| `spectro.system.appprofile.uid` | ID of the app profile. | +| `spectro.system.appdeployment.uid` | ID of the app deployment. | +| `spectro.system.appdeployment.name` | Name of the app deployment. | +| `spectro.system.appdeployment.tiername` | Name of the service layer from the context of the app deployment. | +| `spectro.system.appdeployment.ingress.host` | Ingress host pattern for a cluster group with ingress enabled. This value is dynamically generated. | + +## Container Service Output Variables + +The container service type exposes the following output variables. Replace **[service-name]** with the respective name of the service layer. + +| **Output Variable** | **Description** | +| --- | --- | +| `.spectro.app.$appDeploymentName.[service-name].CONTAINER_NAMESPACE` | Kubernetes namespace of the deployed container. | +|`.spectro.app.$appDeploymentName.[service-name].CONTAINER_SVC` | Kubernetes DNS hostname of the service. | +|`.spectro.app.$appDeploymentName.[service-name].CONTAINER_SVC_PORT` | Exposed port of the service. | +| `spectro.app.$appDeploymentName.[service-name].CONTAINER_SVC_EXTERNALHOSTNAME`| Kubernetes DNS hostname of the load balancer. This value is available if the service's to **Public** and deployed to a public cloud provider environment. | +|`spectro.app.$appDeploymentName.[service-name].CONTAINER_SVC_EXTERNALIP`| Public URL of the load balancer. This value is available if the service's access is set to **Public** and deployed to a private cloud provider environment.| + +## Database Service Output Variables + +Each database service exposes a set of output variables. To learn about each database service, check out [Available Services](../../devx/services/service-listings/service-listings.mdx). + +## Resources + +* [Palette System Macros](/registries-and-packs/pack-constraints#packmacros) + +* [Palette User Macros](/clusters/cluster-management/macros#overview) +
diff --git a/docs/docs-content/profiles/app-profiles/app-profiles.md b/docs/docs-content/profiles/app-profiles/app-profiles.md new file mode 100644 index 0000000000..ee46274be8 --- /dev/null +++ b/docs/docs-content/profiles/app-profiles/app-profiles.md @@ -0,0 +1,34 @@ +--- +sidebar_label: "App Profiles" +title: "App Profiles" +description: "Use app profiles to ensure consistency across your Palette Virtual Clusters." +hide_table_of_contents: false +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. + +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). + + +## Resources + +- [Create App Profiles](../app-profiles/create-app-profiles/create-app-profiles.md) + +- [Update an App Profile](../app-profiles/modify-app-profiles/update-app-profile.md) + +- [Clone an App Profile](../app-profiles/clone-app-profile.md) + +- [Version an App Profile](../app-profiles/modify-app-profiles/version-app-profile.md) + +- [Delete an App Profile](../app-profiles/delete-app-profile.md) + +- [Service Listing](../../devx/services/service-listings/service-listings.mdx) + +- [Palette Dev Engine](../../devx/devx.md) + diff --git a/docs/docs-content/profiles/app-profiles/clone-app-profile.md b/docs/docs-content/profiles/app-profiles/clone-app-profile.md new file mode 100644 index 0000000000..fb55c46719 --- /dev/null +++ b/docs/docs-content/profiles/app-profiles/clone-app-profile.md @@ -0,0 +1,50 @@ +--- +sidebar_label: "Clone an App Profile" +title: "Clone an App Profile" +description: "Learn how to clone an app profile in Palette." +hide_table_of_contents: false +sidebar_position: 40 +tags: ["profiles", "app profiles"] +--- + + + +You can clone an app profile across multiple projects within the same [tenant](../../glossary-all.md#tenant). + +## Prerequisites + +* An app profile created in Palette. Check out [Create an App Profile](../app-profiles/clone-app-profile.md) for guidance. + +## Clone App Profile + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the **User Menu**, select **Switch to App Mode**. + +3. Select **App Profiles** from the left **Main Menu**. + +4. Click on the **three-dot Menu** in the row of the app profile you want to clone and select **Clone**. + +5. Provide the following information for the app profile you want to clone and click **Confirm**. + + | **Parameter** | **Description** | + |-----------------------------|---------------------| + |**Name** | A custom name for the cloned app profile.| + |**Profile Version** | Assign a version number for the cloned app profile. You can create multiple versions of an App Profile using the format `major.minor.patch`. The default value is `1.0.0`. | + |**Source Profile Version** | The version number of the source profile. | + |**Target Project** | The target project to which the profile will be cloned. Select the project name from the **drop-down Menu**.| + + To learn how to create multiple profile versions that use the same name, check out [Version an App Profile](../app-profiles/modify-app-profiles/version-app-profile.md). + +You can now use the app profile when deploying virtual clusters in the target project or tenant. + + +## Validate + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the **User Menu**, select **Switch to App Mode**. + +3. Select **App Profiles** from the left **Main Menu**. Palette displays a list of all the app profiles available to you, including cloned profiles. + +4. Deploy your application to a virtual cluster using the cloned app profile. diff --git a/docs/docs-content/profiles/app-profiles/create-app-profiles/container-deployment.md b/docs/docs-content/profiles/app-profiles/create-app-profiles/container-deployment.md new file mode 100644 index 0000000000..2770bd71ee --- /dev/null +++ b/docs/docs-content/profiles/app-profiles/create-app-profiles/container-deployment.md @@ -0,0 +1,102 @@ +--- +sidebar_label: "Add a Container" +title: "Add a Container" +description: "Learn how to create an app profile that deploys a container in your Palette Virtual Clusters." +hide_table_of_contents: false +sidebar_position: 10 +tags: ["devx", "app mode", "pde", "app profiles"] +--- + +Palette App Mode supports the use of containers, a standard unit of software that packages code and all its dependencies to run applications quickly and reliably from one computing environment to another. Containers contain all the required executables, binary codes, libraries, and configuration files. As a result, containers are lightweight and portable with less overhead. To add a container layer to a Palette Dev Engine app profile, follow the steps below. + + +## Prerequisite + +* Access to Palette Dev Engine App Mode. + + +## Add Container to an App Profile + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the **User Menu**, select **Switch to App Mode**. + +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** | + |-----------------------------|--------------| + |**App Profile Name** | A custom name for the app profile. | + | **Version**| You only need to specify a version if you create multiple versions of a profile using the same profile name. Default: `1.0.0`. | + |**Description** | Use the description to provide context about the profile. | + |**Tag** | Assign any desired profile tags. Tags propagate to the Virtual Machines (VMs) deployed in the cloud or data center environment when apps are created from this app profile. Example: `owner` or `region`.| + + 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). + +5. Select **Container Deployment** to start configuring your app profile. + +6. Provide the following configuration information for the container. + + **General Settings** + + | **Parameter** | **Description** | + | ---------------- | ------------------------------------------------------------------------------------------------------ | + | **Container Name** | A custom name for the container. | + | **Registry** | The registry from which the image will be downloaded. If specifying a non-Docker Hub registry, ensure you provide the full URL of the image. | + | **Image** | The container image container to deploy. | + | **Replicas** | The number of application instances to deploy. This option follows the same behavior as a [*ReplicaSet*](https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/) in the Kubernetes configuration file. Palette supports a maximum of 10 replicas. | + + :::info + + When adding a container image from a public [DockerHub registry](https://hub.docker.com/), you can skip the registry hostname. For instance, to download the Nginx image, specify `nginx` and it will be downloaded correctly during the provisioning process. + + ::: + + **Network Access** + + | **Parameter** | **Description** | + | -------------- | ------------------------------------------------------------------------------------------------------------- | + | **Private** | Establishes connectivity to a container service through a private network. | + | **Public** | Establishes connectivity to a container service through the public network. | + | **Ports** | Exposes the container for external communication. | + + **Environment Variables** + + | **Parameter** | **Description** | + | ----------------------- | --------------- | + | **Environment Variables** | A key-value pair. | + + **Volume** + + | **Parameter** | **Description** | + | ----------| --------------------------------------------------------- | + | **Volume** | To persist data the container generates and uses. | + | **Name** | A custom name for the volume. | + | **Size** | Volume size in GiB. | + | **Mount Path** | A path to access the volume. | + + +7. The command and arguments you provide for **Runtime Settings** will override the default command and arguments that the container image provides. + +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 + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the **User Menu**, switch to **App Mode**. + +3. Click on **App Profiles** in the left **Main Menu**, and select the app profile you created to review its details. + +4. Hover your cursor over each profile layer to learn more about them, including the service name, version, and registry. + + ![A view of a cursor triggering the info box for each app profile layer.](/profiles_app-profiles_create-app-profiles_container-infobox.png) + + :::info + + Use the tool-tip that displays when you select a layer to gather information required for creating Terraform templates for app profiles. Check out our Terraform registry for [Application Profiles](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/application_profile). + + ::: + + diff --git a/docs/docs-content/profiles/app-profiles/create-app-profiles/create-app-profiles.md b/docs/docs-content/profiles/app-profiles/create-app-profiles/create-app-profiles.md new file mode 100644 index 0000000000..3fc3ec3762 --- /dev/null +++ b/docs/docs-content/profiles/app-profiles/create-app-profiles/create-app-profiles.md @@ -0,0 +1,26 @@ +--- +sidebar_label: "Create App Profiles" +title: "Create App Profiles" +description: "Use app profiles to ensure consistency across your Palette Virtual Clusters." +hide_table_of_contents: false +sidebar_position: 0 +tags: ["devx", "app mode", "pde", "app profiles"] +--- + + +Create app profiles by configuring layers of preconfigured services, such as containers, Helm charts, custom manifests, and other out-of-the-box services for your Palette Virtual Cluster deployments. + +You can create as many app profiles as needed for your Palette [Virtual Clusters](../../../devx/palette-virtual-clusters/palette-virtual-clusters.md). Each app profile can contain multiple services, which are layers in the app profile stack. You can also create multiple versions of an app profile. For more information about versioning, review [Version an App Profile](../modify-app-profiles/version-app-profile.md). + +The next sections guide you in creating a standard app profile, creating an app profile for container deployment, and creating an app profile using Helm Charts and manifests. + + +## Resources + +- [Add Out-of-the-Box Services](create-out-of-box-app-profile.md) + +- [Add a Container](container-deployment.md) + +- [Add a Helm Chart](create-helm-app-profile.md) + +- [Add a Manifest](create-manifest-app-profile.md) diff --git a/docs/docs-content/profiles/app-profiles/create-app-profiles/create-helm-app-profile.md b/docs/docs-content/profiles/app-profiles/create-app-profiles/create-helm-app-profile.md new file mode 100644 index 0000000000..0c9adbd666 --- /dev/null +++ b/docs/docs-content/profiles/app-profiles/create-app-profiles/create-helm-app-profile.md @@ -0,0 +1,105 @@ +--- +sidebar_label: "Add a Helm Chart" +title: "Add a Helm Chart" +description: "Learn how to create an app profile for your Palette Virtual Clusters that uses a Helm chart." +hide_table_of_contents: false +sidebar_position: 20 +tags: ["devx", "app mode", "pde", "app profiles", "helm"] +--- + + + +You can extend the list of available Palette Dev Engine services with custom Helm charts. Use the following steps to create an app profile that contains a Helm chart. + + +:::info + +A tutorial is available to help you learn how to use Palette Dev Engine by deploying an application. Check out [Deploy an Application using Palette Dev Engine](../../../devx/apps/deploy-app.md) to get started with Palette Dev Engine. + +::: + + +## Prerequisites + +- A Spectro Cloud [account](https://www.spectrocloud.com/get-started/). + + +## Add a Helm Chart to an App Profile + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the **User Menu**, select **Switch to App Mode**. + +3. Select **App Profiles** from 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** | + |-------------------------|---------------------| + |**App Profile Name** | A custom name for the app profile.| + |**Version** | An optional version number for the new app profile. You only need to specify a version if you create multiple versions of a profile using the same profile name. Default: `1.0.0`. | + |**Description** | Use the description to provide context about the profile. | + |**Tag** | Assign any desired profile tags. Tags propagate to the Virtual Machines (VMs) deployed in the cloud or data center environment when apps are created from this app profile. Example: `owner` or `region`.| + + 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). + +5. Select **Helm** to start configuring your app profile. + +6. Use the **drop-down Menus** to select a Helm registry, chart, and version. + + + +7. You can add manifests to the app profile. To do this, click on **Add Manifests** and provide the manifest name. + + :::caution + + When adding a manifest-type layer to an app profile, make sure you specify a namespace. Otherwise, the manifest deployment will be deployed to the `Default` namespace. + + ```yaml + namespace: yourNamespaceNameHere + ``` + ::: + +8. You can add services to the app profile as needed. To do this, click `+` next to the **Configure tier** pane. To rearrange layers in the profile, select a service and drag it up or down in the pane. Each service becomes a layer in the profile stack in the order displayed in this pane. + +9. When you have provided the required configuration information, click **Review**. + +Your app profile is now created using a Helm chart and can be deployed. + +## Validate + +Use the following steps to validate that your app profile is available and ready for use. + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the **User Menu**, switch to **App Mode**. + +3. Click on **App Profiles** in the left **Main Menu**, and select the app profile you created to review its details. + +4. Hover your cursor over each profile layer to learn more about them, including the service name, version, and registry. + + ![A view of a cursor triggering the info box for a helm layer.](/profiles_app-profiles_create-app-profiles_helm-layer-infobox.png) + + :::info + + Use the tool-tip that displays when you select a layer to gather information required for creating Terraform templates for app profiles. Check out our Terraform registry for [Application Profiles](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/application_profile). + + ::: + +5. Deploy your application to a virtual cluster to verify all the required configurations and dependencies are correct. Review [Create and Manage Apps](../../../devx/apps/create-app.md) to learn how to deploy an app to a virtual cluster. Check out the [Deploy an Application using Palette Dev Engine](../../../devx/apps/deploy-app.md) tutorial for a more in-depth guide. + +## Next Steps + +Start exploring the various [services](../../../devx/services/services.md) Palette exposes to application authors. Use these services to deploy applications without the overhead of managing and configuring the infrastructure required for common third-party services such as databases, message queues, and more. + +## Resources + +- [Service Listing](../../../devx/services/service-listings/service-listings.mdx) + +- [Create and Manage Apps](../../../devx/apps/create-app.md) + +- [Deploy an Application using Palette Dev Engine](../../../devx/apps/deploy-app.md) \ No newline at end of file diff --git a/docs/docs-content/profiles/app-profiles/create-app-profiles/create-manifest-app-profile.md b/docs/docs-content/profiles/app-profiles/create-app-profiles/create-manifest-app-profile.md new file mode 100644 index 0000000000..d7c589d30f --- /dev/null +++ b/docs/docs-content/profiles/app-profiles/create-app-profiles/create-manifest-app-profile.md @@ -0,0 +1,102 @@ +--- +sidebar_label: "Add a Manifest" +title: "Add a Manifest" +description: "Learn how to create an app profile for your Palette Virtual Clusters using a custom manifest." +hide_table_of_contents: false +sidebar_position: 15 +tags: ["devx", "app mode", "pde", "app profiles", "manifest"] +--- + + +You can extend the list of available Palette Dev Engine services with custom manifests that contain deployment specifications for Kubernetes objects such as pods, services, deployments, namespaces, or secrets. + +Use the following steps to create an app profile that contains a custom manifest. + +:::info + +A tutorial is available to help you learn how to use Palette Dev Engine by deploying an application. Check out [Deploy an Application using Palette Dev Engine](../../../devx/apps/deploy-app.md) to get started with Palette Dev Engine. + +::: + + +## Prerequisites + +- A Spectro Cloud [account](https://www.spectrocloud.com/get-started/). + + +## Add a Manifest to an App Profile + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the **User Menu**, select **Switch to App Mode**. + +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** | + |-------------------------|---------------------| + |**App Profile Name** | A custom name for the app profile.| + |**Version** | An optional version number for the new app profile. You only need to specify a version if you create multiple versions of a profile using the same profile name. Default: `1.0.0`. | + |**Description** | Use the description to provide context about the profile. | + |**Tag** | Assign any desired profile tags. Tags propagate to the Virtual Machines (VMs) deployed in the cloud or data center environment when apps are created from this app profile. Example: `owner` or `region`.| + + 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). + +5. Select **Manifest** to start configuring your app profile. + + :::caution + + When adding a manifest-type layer to an app profile, make sure you specify a namespace. Otherwise, the manifest deployment will be deployed to the `Default` namespace. + + ```yaml + namespace: yourNamespaceNameHere + ``` + ::: + +6. Provide a custom name for your manifest. + +7. Click on **Add Manifests** and provide a name. Click on the blue button to add your manifest. You can add more manifests as needed. For an example of how to create a custom add-on pack using a manifest, review [Add an Add-on Pack](../../../registries-and-packs/adding-add-on-packs.md#manifests) guide. + + ![A view showing an arrow that points to the blue-circled checkmark the user clicks to add a manifest.](/profiles_app-profiles_create-app-profiles_add-manifest.png) + +8. You can add more services to the app profile as needed. To do this, click `+` next to the **Configure tier** pane. To rearrange layers in the profile, select a service and drag it up or down in the pane. Each service becomes a layer in the profile stack in the order displayed in this pane. + +9. When you have provided the required configuration information, click **Review**. + +Your app profile is now created using a manifest and is ready to deploy. + +## Validate + +Use the following steps to validate that your app profile is available and ready for use. + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the **User Menu**, switch to **App Mode**. + +3. Click on **App Profiles** in the left **Main Menu**, and select the app profile you created to review its details. + +4. Hover your cursor over each profile layer to learn more about them, including the service name, version, and registry. + + ![A view of a cursor triggering the info box for a manifest layer.](/profiles_app-profiles_create-app-profiles_manifest-layer-infobox.png) + + :::info + + Use the tool-tip that displays when you select a layer to gather information required for creating Terraform templates for app profiles. Check out our Terraform registry for [Application Profiles](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/application_profile). + + ::: + +5. Deploy your application to a virtual cluster to verify all the required configurations and dependencies are correct. Review [Create and Manage Apps](../../../devx/apps/create-app.md) to learn how to deploy an app to a virtual cluster. Check out the [Deploy an Application using Palette Dev Engine](../../../devx/apps/deploy-app.md) tutorial for a more in-depth guide. + +## Next Steps + +Start exploring the various [services](../../../devx/services/services.md) Palette exposes to application authors. Use these services to deploy applications without the overhead of managing and configuring the infrastructure required for common third-party services such as databases, message queues, and more. + +## Resources + +- [Service Listing](../../../devx/services/service-listings/service-listings.mdx) + +- [Create and Manage Apps](../../../devx/apps/create-app.md) + +- [Deploy an Application using Palette Dev Engine](../../../devx/apps/deploy-app.md) \ No newline at end of file diff --git a/docs/docs-content/profiles/app-profiles/create-app-profiles/create-out-of-box-app-profile.md b/docs/docs-content/profiles/app-profiles/create-app-profiles/create-out-of-box-app-profile.md new file mode 100644 index 0000000000..814ae9447a --- /dev/null +++ b/docs/docs-content/profiles/app-profiles/create-app-profiles/create-out-of-box-app-profile.md @@ -0,0 +1,87 @@ +--- +sidebar_label: "Add an Out-of-the-Box Service" +title: "Add an Out-of-the-Box Service" +description: "Learn how to create an app profile for your Palette Virtual Clusters using out-of-the-box services." +hide_table_of_contents: false +sidebar_position: 5 +tags: ["devx", "app mode", "pde", "app profiles"] +--- + + +Use the following steps to create an app profile that contains an out-of-the-box service such as messaging system, object storage, database, and security services. Review the [Out-of-the-Box Service](/devx/app-profile/services/service-listings/) listing for available services. + + +:::info + +A tutorial is available to help you learn how to use Palette Dev Engine by deploying an application. Check out [Deploy an Application using Palette Dev Engine](../../../devx/apps/deploy-app.md) to get started with Palette Dev Engine. + +::: + + +## Prerequisites + +* A Spectro Cloud [account](https://www.spectrocloud.com/get-started/). + +## Add an Out-of-the-Box Service to an App Profile + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the **User Menu**, select **Switch to App Mode**. + +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** | + |-------------------------|---------------------| + |**App Profile Name** | A custom name for the app profile.| + |**Version** | An optional version number for the new app profile. You only need to specify a version if you create multiple versions of a profile using the same profile name. Default: `1.0.0`. | + |**Description** | Use the description to provide context about the profile. | + |**Tag** | Assign any desired profile tags. Tags propagate to the Virtual Machines (VMs) deployed in the cloud or data center environment when apps are created from this app profile. Example: `owner` or `region`.| + + To learn how to create multiple profile versions that use the same name, check out [Version a Cluster Profile](../modify-app-profiles/version-app-profile.md). + +5. Select one of the out-of-the-box services to start configuring your app profile. Review the [Out-of-the-Box Service](/devx/app-profile/services/service-listings/) listing to learn more about specific offerings. + +6. Provide configuration information for the service. + +7. You can add more services to the app profile as needed. To do this, click `+` next to the **Configure tier** pane. To rearrange layers in the profile, select a service and drag it up or down in the pane. Each service becomes a layer in the profile stack in the order displayed in this pane. + +8. When you have provided the required configuration information for services, click **Review**. + +Your app profile is now created using an out-of-the-box service and is ready to deploy. + + +## Validate + +Use the following steps to validate that your app profile is available and ready for use. + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the **User Menu**, select **Switch to App Mode**. + +3. Click on **App Profiles** in the left **Main Menu**, and select the app profile you created to review its details. + +4. Hover your cursor over each profile layer to learn more about them, including the service name, version, and registry. + + ![A view of a cursor triggering the info box for each app profile layer.](/devx_app-profile_create-app-profile_app-layer-infoboxes.png) + + :::info + + Use the tool-tip that displays when you select a layer to gather information required for creating Terraform templates for app profiles. Check out our Terraform registry for [Application Profiles](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/application_profile). + + ::: + +6. Deploy your application to a virtual cluster to verify all the required configurations and dependencies are correct. Review [Create and Manage Apps](../../../devx/apps/create-app.md) to learn how to deploy an app to a virtual cluster. Check out the [Deploy an Application using Palette Dev Engine](../../../devx/apps/deploy-app.md) tutorial for a more in-depth guide. + +## Next Steps + +Start exploring the various out-of-the-box [services](../../../devx/services/services.md) Palette exposes to application authors. Use these services to deploy applications without the overhead of managing and configuring the infrastructure required for common third-party services such as databases, message queues, and more. + +## Resources + +- [Service Listing](../../../devx/services/service-listings/service-listings.mdx) + +- [Create and Manage Apps](../../../devx/apps/create-app.md) + +- [Deploy an Application using Palette Dev Engine](../../../devx/apps/deploy-app.md) \ No newline at end of file diff --git a/docs/docs-content/profiles/app-profiles/delete-app-profile.md b/docs/docs-content/profiles/app-profiles/delete-app-profile.md new file mode 100644 index 0000000000..048decdaaf --- /dev/null +++ b/docs/docs-content/profiles/app-profiles/delete-app-profile.md @@ -0,0 +1,46 @@ +--- +sidebar_label: "Delete an App Profile" +title: "Delete an App Profile" +description: "Learn how to delete an app profile in Palette." +hide_table_of_contents: false +sidebar_position: 50 +tags: ["profiles", "app profiles"] +--- + + +Use the following steps to delete an app profile. + +:::caution +If an app profile has more than one version, ensure you delete the appropriate version by reviewing its configuration before deleting the profile. +::: + +## Prerequisites + +- An existing app profile. + +## Delete App Profile + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. From the **User Menu**, select **Switch to App Mode**. + +3. Select **App Profiles** from the left **Main Menu**. + +4. To delete an app profile and all its versions, click on the **three-dot Menu** in the row of the profile to delete and select **Delete**. + + To delete a specific profile version, select the profile to display its details. Use the **drop-down Menu** next to the profile name and select the version to delete. Click the trash can icon to delete that version. + +You have successfully deleted an app profile or profile version. + + +## Validate + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. From the **User Menu**, select **Switch to App Mode**. + +3. Select **App Profiles** from the left **Main Menu**. + +4. If you deleted an app profile together with any versions it may have had, verify that it no longer displays in the list of available profiles. + +5. If you deleted a specific app profile *version*, select the base profile to display its details, and click the **drop-down Menu** next to the profile name to verify the version you deleted is no longer listed. \ No newline at end of file diff --git a/docs/docs-content/profiles/app-profiles/modify-app-profiles/modify-app-profiles.md b/docs/docs-content/profiles/app-profiles/modify-app-profiles/modify-app-profiles.md new file mode 100644 index 0000000000..adedb9360d --- /dev/null +++ b/docs/docs-content/profiles/app-profiles/modify-app-profiles/modify-app-profiles.md @@ -0,0 +1,24 @@ +--- +sidebar_label: "Modify App Profiles" +title: "Modify App Profiles" +description: "Learn how to update and create new versions of app profiles in Palette." +hide_table_of_contents: false +sidebar_position: 5 +tags: ["devx", "app mode", "pde", "app profiles"] +--- + +You can modify app profiles by updating the following: + +- App profile name, version, description, and tags. + +- App profile layers. + +You can also create multiple versions of an app profile with different services and configurations. + +The next sections guide you in updating and versioning app profiles. + +## Resources + +- [Update an App Profile](update-app-profile.md) + +- [Version an App Profile](version-app-profile.md) diff --git a/docs/docs-content/profiles/app-profiles/modify-app-profiles/update-app-profile.md b/docs/docs-content/profiles/app-profiles/modify-app-profiles/update-app-profile.md new file mode 100644 index 0000000000..78dba4de4c --- /dev/null +++ b/docs/docs-content/profiles/app-profiles/modify-app-profiles/update-app-profile.md @@ -0,0 +1,107 @@ +--- +sidebar_label: "Update an App Profile" +title: "Update an App Profile" +description: "Learn how you can update an app profile in Palette." +hide_table_of_contents: false +sidebar_position: 5 +tags: ["profiles", "app profiles"] +--- + + +You can update an app profile to change the configuration of one or more layers and add or remove layers. You can also update basic profile information such as the name, description, and tags. + +App profile changes will generate an update notification on all the Apps that are created from the profile. Update notifications include information about all the changes applied to the profile since the initial creation or since the previous update. You can apply updates to Apps individually at any time. + + +## Prerequisites + +- An existing app profile. + + +## Modify Basic Profile Information + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the **User Menu**, select **Switch to App Mode**. + +3. Click on **App Profiles** in the left **Main Menu**, and select the profile you want to update. Palette displays the profile stack. + +4. Click on **Settings** and choose **Basic Information** in the slide-out panel. You can modify the name, description, and tags. + +:::info + + Updated tags are not propagated to previously created Apps. However, tag changes will apply to new Apps you deploy that use the updated profile. + +::: + +5. Save your changes. + +To learn how to apply the changes to your apps, review [Apply Updates to Apps](#apply-updates-to-apps) for guidance. + + +### Validate + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the **User Menu**, select **Switch to App Mode**. + +3. Click on **App Profiles** in the left **Main Menu**, and select the profile you updated. Palette displays the profile details and profile stack. + +4. Check that profile details display your changes. + + +## Update a Profile Layer + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. From the **User Menu**, select **Switch to App Mode**. + +3. Click on **App Profiles** in the left **Main Menu**, and select the app profile you want to update. + +4. Make the desired changes. You can add or delete layers, change pack versions, change pack values, and more. + +5. Save your changes. + +To learn how to apply the changes to your apps, review [Apply Updates to Apps](#apply-updates-to-apps) for guidance. + + +### Validate + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the **User Menu**, select **Switch to App Mode**. + +3. Click on **App Profiles** in the left **Main Menu**, and select the profile you updated. Palette displays the profile details and profile stack. + +4. Check that services and layers are added to or removed from the stack. + +5. If you added, removed, or modified a manifest, click the layer in the stack that you updated and verify the manifest changes. + + +## Apply Updates to Apps + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the **User Menu**, select **Switch to App Mode**. + +3. Click on **Apps** in the left **Main Menu**. + +5. Apps that are eligible for an update will have an **Updates Available** badge. + +6. Select the app with the update notification to start the **Apply** updates wizard. Click on **Apply** button. + +7. An **Apply Updates** wizard opens with the update notification, which contains details about the updates that will be applied. Click the **Confirm** button to apply the updates to the app. + + +## Validate + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the **User Menu**, select **Switch to App Mode**. + +3. Click on **App Profiles** in the left **Main Menu**, and select the updated app. + +4. Check that layers are added to or removed from the profile stack, and verify other profile details. + +5. If you added, removed, or modified a manifest, click the layer in the stack that you updated and verify the manifest changes. + diff --git a/docs/docs-content/profiles/app-profiles/modify-app-profiles/version-app-profile.md b/docs/docs-content/profiles/app-profiles/modify-app-profiles/version-app-profile.md new file mode 100644 index 0000000000..215e5d3e1f --- /dev/null +++ b/docs/docs-content/profiles/app-profiles/modify-app-profiles/version-app-profile.md @@ -0,0 +1,50 @@ +--- +sidebar_label: "Version an App Profile" +title: "Version an App Profile" +description: "Learn how to create a new version of an existing app profile in Palette." +hide_table_of_contents: false +sidebar_position: 30 +tags: ["profiles", "app profiles"] +--- + + +Palette enables you to create multiple versions of an app profile using the same profile name but with a different version number and services configuration. App profile versions use the format `major.minor.patch` and have a default value of `1.0.0`. + +App profile versions are grouped under the same name, and the version number makes them unique. The **drop-down Menu** next to the app profile name on the profile details page contains the different versions. + +New versions of an app profile may add or remove layers, contain new pack versions, or update a pack configuration. + + +## Prerequisites + +- An existing app profile. + +## Create New App Profile Version + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. From the **User Menu**, select **Switch to App Mode**. + +3. Click on **App Profiles** in the left **Main Menu**, and select the app profile that you want to version. Palette displays the profile details. + +4. From the **drop-down Menu** next to the app profile name, select **Create New Version**. + +5. Provide the version number using `major.minor.patch` format. + +6. Click on **Confirm**. Palette displays a versioning successful message. + +7. Configure layers as needed. + +You have successfully created a new pack version. + + + +## Validate + +You can validate that the app profile is versioned and available. + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. Click on **App Profiles** in the left **Main Menu**, and select the app profile that you versioned. + +3. Use the **drop-down Menu** next to the app profile name to select the new profile version. Use the versioned profile to deploy an app within the target scope. diff --git a/docs/docs-content/profiles/cluster-profiles/_category_.json b/docs/docs-content/profiles/cluster-profiles/_category_.json new file mode 100644 index 0000000000..629283d0c9 --- /dev/null +++ b/docs/docs-content/profiles/cluster-profiles/_category_.json @@ -0,0 +1,3 @@ +{ + "position" : 10 +} diff --git a/docs/docs-content/profiles/cluster-profiles/clone-cluster-profile.md b/docs/docs-content/profiles/cluster-profiles/clone-cluster-profile.md new file mode 100644 index 0000000000..d27253515f --- /dev/null +++ b/docs/docs-content/profiles/cluster-profiles/clone-cluster-profile.md @@ -0,0 +1,46 @@ +--- +sidebar_label: "Clone a Cluster Profile" +title: "Clone a Cluster Profile" +description: "Learn how to clone a cluster profile in Palette." +hide_table_of_contents: false +sidebar_position: 60 +tags: ["profiles", "cluster profiles"] +--- + + +You can clone a cluster profile across multiple projects within the same [tenant](../../glossary-all.md#tenant). + +## Prerequisites + +- A cluster profile created in Palette. Check out [Cluster Profiles](cluster-profiles.md) to learn about the different types of cluster profiles you can create. + +## Clone Profile + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the **Main Menu**, click on **Profiles**. + +3. Click on the **three-dot Menu** in the row of the cluster profile you want to clone and select **Clone**. + +4. Provide the following information for your cloned cluster profile and click **Confirm**. + +| **Parameter** | **Description** | +|-------------------------|------------------| +|**Name** | A custom name for the cloned cluster profile.| +|**Profile Version** | An optional version number for the new cluster profile. The default value is 1.0.0. You can create multiple versions of a cluster profile using the format `major.minor.patch`. | +|**Source Profile Version** | The version number of the source profile. | +|**Scope** | Choose the target scope the cluster profile will apply to: **project** or **tenant**. When you select **project**, a **Project** field displays. Selecting **tenant** will make the profile available to the organization. | +|**Project** | This field displays when you select **project** scope. Select a target project from the **drop-down Menu**.| + +To learn how to create multiple profile versions that use the same name, check out [Version a Cluster Profile](../cluster-profiles/modify-cluster-profiles/version-cluster-profile.md). + +You can now use the cluster profile when deploying clusters in the target project or tenant. + + +## Validate + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the left **Main Menu**, click on **Profiles**. Palette displays a list of all the cluster profiles available to you, including cloned profiles. + +3. Deploy your application to a cluster using the cloned cluster profile. diff --git a/docs/docs-content/profiles/cluster-profiles/cluster-profiles.md b/docs/docs-content/profiles/cluster-profiles/cluster-profiles.md new file mode 100644 index 0000000000..a4e072188c --- /dev/null +++ b/docs/docs-content/profiles/cluster-profiles/cluster-profiles.md @@ -0,0 +1,56 @@ +--- +sidebar_label: "Cluster Profiles" +title: "Cluster Profiles" +description: "Use cluster profiles to ensure consistency across your Palette workload cluster deployments." +hide_table_of_contents: false +tags: ["profiles", "cluster profiles"] +--- + +Cluster profiles are composed of layers using packs, Helm charts, and custom manifests to meet specific types of workloads on your Palette cluster deployments. You can create as many profiles as needed for your workload cluster deployments. + +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 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. + +The diagram below illustrates the components of these profile types and how you can build on infrastructure layers with add-on layers to create a full cluster profile. You can also create separate add-on profiles to reuse among multiple clusters. + +![A flow diagram that shows how you can add layers to an infrastructure profile to create a full profile.](/profiles_cluster-profiles_cluster-profiles.png) + + +## Profile Layers + +Each cluster profile layer provides a specific functionality. Profile layers can be packs, Helm Charts, or custom manifests, as described in the table. + +| **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 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 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. + + +## Resources + +- [Create Cluster Profiles](../cluster-profiles/create-cluster-profiles/create-cluster-profiles.md) + +- [Modify Cluster Profiles](../cluster-profiles/modify-cluster-profiles/modify-cluster-profiles.md) + +- [Clone a Cluster Profile](clone-cluster-profile.md) + +- [Export and Import a Cluster Profile](export-import-cluster-profile.md) + +- [Version a Cluster Profile](../cluster-profiles/modify-cluster-profiles/version-cluster-profile.md) + +- [Delete a Cluster Profile](delete-cluster-profile) diff --git a/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-addon-profile.md b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-addon-profile.md new file mode 100644 index 0000000000..9312fa6734 --- /dev/null +++ b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-addon-profile.md @@ -0,0 +1,24 @@ +--- +sidebar_label: "Create an Add-on Profile" +title: "Create an Add-on Profile" +description: "Learn how to create an add-on profile in Palette." +hide_table_of_contents: false +sidebar_position: 10 +tags: ["profiles", "cluster profiles"] +--- + + +Add-on cluster profiles offer a range of benefits for workload cluster deployments. These profiles provide enhanced functionality by allowing the addition of various layers such as system apps, authentication, security, monitoring, logging, ingress, and load balancers to the cluster. + +This capability allows you to customize and configure clusters based on specific requirements. Add-on cluster profiles follow a modular approach, making managing and maintaining cluster configurations more flexible. Add-on profiles also promote reusability by allowing profiles to be used across multiple environments, projects, and tenants. Additionally, add-on profiles support integration-specific packs, charts, and manifests, providing flexibility and customization options for workload cluster deployments. + +The next sections provide guidance in creating each type of these add-on profiles. + + +## Resources + +- [Add a Pack](create-pack-addon.md) + +- [Add a Manifest](create-manifest-addon.md) + +- [Add a Helm Chart](create-helm-addon.md) diff --git a/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-helm-addon.md b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-helm-addon.md new file mode 100644 index 0000000000..79ed83c468 --- /dev/null +++ b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-helm-addon.md @@ -0,0 +1,89 @@ +--- +sidebar_label: "Add a Helm Chart" +title: "Add a Helm Chart" +description: "Learn how to create an add-on profile in Palette that adds a Helm chart layer." +hide_table_of_contents: false +sidebar_position: 10 +tags: ["profiles", "cluster profiles", "helm", "add-on"] +--- + + + +You can extend the list of integrations by adding Helm charts from a public or private registries to your cluster profile. Use the following steps to create an add-on cluster profile that adds a Helm chart layer. + +## Prerequisites + +- Your Palette account role must have the `clusterProfile.create` permission to create a profile. Refer to the [Roles and Permissions](../../../../user-management/palette-rbac/project-scope-roles-permissions.md#cluster-profile-admin) documentation for more information. + +## Add Helm Chart to Add-on Profile + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. From the left **Main Menu** click **Profiles**. + +3. Click on the **Add Cluster Profile** button. + +4. Fill out the following input values and ensure you select **Add-on** for the type. Click on **Next** to continue. + + | **Field** | **Description** | + |-----------|-----------------| + |**Name**| A custom name for the cluster profile. | + |**Version**| Assign a version to the profile. You only need to specify a version if you create multiple versions of a profile using the same profile name. Default: `1.0.0`. | + |**Description**| Use the description to provide context about the profile. | + |**Type**| **Add-on** | + |**Tags**| Assign any desired profile tags. Tags propagate to the Virtual Machines (VMs) deployed in the cloud or data center environment when clusters are created from this cluster profile. Example: `owner` or `region`. | + + To learn how to create multiple profile versions, check out [Version a Cluster Profile](../../modify-cluster-profiles/version-cluster-profile.md). + +5. Select **Add Helm Chart** and use the **drop-down Menu** to choose public or private packs. + + + +6. To add a chart from a public registry, choose a Helm chart from the list displayed on the next page. You can search charts by name. Pack details and the configuration file are displayed on the next page. + + To add a chart from a private registry, select a registry from the **drop-down Menu** and provide the chart name and version. + +7. Configure parameters as needed. In the configuration file, ensure you specify a namespace. Otherwise, the chart will deploy to the `Default` namespace. + + ```yaml + pack: + namespace: your_namespace_here + ``` + + :::caution + + Palette requires a namespace using the `namespace` parameter in the configuration file to identify the namespace on the target cluster. For more information about customizing with namespaces, refer to [Profile Customization](../../../profile-customization.md). + + For examples of pack structure for a Helm chart-based pack, review [Build a Pack](../../../../registries-and-packs/deploy-pack.md#build-a-pack), and select the appropriate tab. + + ::: + +8. When you are done, click **Confirm & Create**, then click **Next** to review the profile. + + + +9. Click **Finish Configuration** to create the cluster profile. + +You now have an add-on cluster profile that contains a Helm chart. You can reuse the profile and apply it to several clusters. Refer to the [Update Cluster Profile](../../modify-cluster-profiles/update-cluster-profile.md) guide for more information about update operations. + + +## Validate + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. Navigate to left **Main Menu** and select **Profiles**. + +3. Select your cluster profile to review its layers or make changes. + + +## Next Steps + +Now you can use the add-on profile you created with other profiles. + +## Resources + +- [Update Cluster Profile](../../modify-cluster-profiles/update-cluster-profile.md) + +- [Version a Cluster Profile](../../modify-cluster-profiles/version-cluster-profile.md) + +- [Profile Customization](../../../profile-customization.md) \ No newline at end of file diff --git a/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-manifest-addon.md b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-manifest-addon.md new file mode 100644 index 0000000000..8992054932 --- /dev/null +++ b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-manifest-addon.md @@ -0,0 +1,83 @@ +--- +sidebar_label: "Add a Manifest" +title: "Add a Manifest" +description: "Learn how to create an add-on profile in Palette that adds a manifest layer." +hide_table_of_contents: false +sidebar_position: 5 +tags: ["profiles", "cluster profiles", "manifest", "add-on"] +--- + + + +You can extend the list of integrations by adding custom manifests to your cluster profile. Use the following steps to create a cluster profile that adds a custom manifest layer. + +## Prerequisites + +- Your Palette account role must have the `clusterProfile.create` permission to create a profile. Refer to the [Roles and Permissions](../../../../user-management/palette-rbac/project-scope-roles-permissions.md#cluster-profile-admin) documentation for more information. + +## Add Manifest to Add-on Profile + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. From the left **Main Menu** click **Profiles**. + +3. Click on the **Add Cluster Profile** button. + +4. Fill out the following input values and ensure you select **Add-on** for the type. Click on **Next** to continue. + + | **Field** | **Description** | + |-----------|-----------------| + |**Name**| A custom name for the cluster profile. | + |**Version**| Assign a version to the profile. You only need to specify a version if you create multiple versions of a profile using the same profile name. Default: `1.0.0`. | + |**Description**| Use the description to provide context about the profile. | + |**Type**| **Add-on** | + |**Tags**| Assign any desired profile tags. Tags propagate to the Virtual Machines (VMs) deployed in the cloud or data center environment when clusters are created from this cluster profile. Example: `owner` or `region`. | + + To learn how to create multiple profile versions, check out [Version a Cluster Profile](../../modify-cluster-profiles/version-cluster-profile.md). + +5. Select **Add Manifest** and provide a display name for this layer. Optionally, you can add configurable layer values and specify the layer install order. When multiple manifests are added to the layer, the install order determines the order in which manifests in the profile are consumed. You can change the order as needed. + +6. Click on **New manifest** and provide a name for your custom manifest. Click on the check or press Enter to open the editor. + +7. Create your manifest. Ensure you specify a namespace. Otherwise, the manifest will deploy to the `Default` namespace. + + ```yaml + namespace: your_namespace_here + ``` + + :::caution + + Palette requires a namespace using the `namespace` parameter in the configuration file to identify the namespace on the target cluster. For more information about customizing with namespaces, refer to [Profile Customization](../../../profile-customization.md). + + For examples of pack structure for a manifest-based pack, review [Build a Pack](../../../../registries-and-packs/deploy-pack.md#build-a-pack), and select the appropriate tab. + + ::: + +8. If you want to add more manifests, repeat steps 6 and 7. Otherwise, click **Confirm & Create**, then click **Next** to review the profile. + +9. Click **Finish Configuration** to create the cluster profile. + +You now have an add-on cluster profile that contains one or more manifests. You can reuse the profile and apply it to several clusters. Refer to the [Update Cluster Profile](../../modify-cluster-profiles/update-cluster-profile.md) guide for more information about update operations. + + +## Validate + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. Navigate to left **Main Menu** and select **Profiles**. + +3. Select your cluster profile to review its layers or make changes. + + +## Next Steps + +Now you can use the add-on profile you created with other profiles. + +## Resources + +- [Update Cluster Profile](../../modify-cluster-profiles/update-cluster-profile.md) + +- [Version a Cluster Profile](../../modify-cluster-profiles/version-cluster-profile.md) + +- [Profile Customization](../../../profile-customization.md) + diff --git a/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-pack-addon.md b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-pack-addon.md new file mode 100644 index 0000000000..b4db43b06a --- /dev/null +++ b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-pack-addon.md @@ -0,0 +1,74 @@ +--- +sidebar_label: "Add a Pack" +title: "Add a Pack" +description: "Learn how to create an add-on profile in Palette that adds a pack layer." +hide_table_of_contents: false +sidebar_position: 0 +tags: ["profiles", "cluster profiles", "pack", "add-on"] +--- + + + +Use the following steps to create an add-on cluster profile that adds a pack layer. + +## Prerequisites + +- Your Palette account role must have the `clusterProfile.create` permission to create a profile. Refer to the [Roles and Permissions](../../../../user-management/palette-rbac/project-scope-roles-permissions.md#cluster-profile-admin) documentation for more information. + +## Add Pack to Add-on Profile + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. From the left **Main Menu** click **Profiles**. + +3. Click on the **Add Cluster Profile** button. + +4. Fill out the following input values and ensure you select **Add-on** for the type. Click on **Next** to continue. + + | **Field** | **Description** | + |-----------|-----------------| + |**Name**| A custom name for the cluster profile. | + |**Version**| Assign a version to the profile. You only need to specify a version if you create multiple versions of a profile using the same profile name. Default: `1.0.0`. | + |**Description**| Use the description to provide context about the profile. | + |**Type**| **Add-on** | + |**Tags**| Assign any desired profile tags. Tags propagate to the Virtual Machines (VMs) deployed in the cloud or data center environment when clusters are created from this cluster profile. Example: `owner` or `region`. | + + To learn more about creating multiple profile versions, check out [Version a Cluster Profile](../../modify-cluster-profiles/version-cluster-profile.md). + +5. Select **Add New Pack**. In the next window that displays, choose a registry and select the pack to add to your profile. You can search packs by name. + + + +6. Fill out the required input fields and click on **Confirm & Create**. + + + +7. If you want to add additional layers, repeat steps 5 and 6. Otherwise, click on **Next** to review the profile. + +8. Click on **Finish Configuration** to create the cluster profile. + +You now have an add-on cluster profile that contains one or more packs. You can reuse the profile and apply it to several clusters. Refer to the [Update Cluster Profile](../../modify-cluster-profiles/update-cluster-profile.md) guide for more information about update operations. + + +## Validate + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. Navigate to left **Main Menu** and select **Profiles**. + +3. Select your cluster profile to review its layers or make changes. + + +## Next Steps + +Now you can use the add-on profile with other profiles and across multiple environments, projects, and tenants. + +## Resources + +- [Update Cluster Profile](../../modify-cluster-profiles/update-cluster-profile.md) + +- [Version a Cluster Profile](../../modify-cluster-profiles/version-cluster-profile.md) + +- [Profile Customization](../../../profile-customization.md) + +- [Duplicate a Pack in a Profile](../duplicate-pack-in-profile.md) \ No newline at end of file diff --git a/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-cluster-profiles.md b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-cluster-profiles.md new file mode 100644 index 0000000000..beb4e0f042 --- /dev/null +++ b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-cluster-profiles.md @@ -0,0 +1,41 @@ +--- +sidebar_label: "Create Cluster Profiles" +title: "Create Cluster Profiles" +description: "Review types of cluster profiles you can create in Palette." +hide_table_of_contents: false +sidebar_position: 0 +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* - Contains the Operating System (OS), Kubernetes, Network, and Storage. + +- *Add-on* - Choose from various applications such as service mesh, monitoring, and more. + +- *Full* - contains both infrastructure and add-on layers. + +For a detailed description of each profile type and the layers they contain, review [Cluster Profiles](../cluster-profiles.md). + +The next sections provide guidance in creating each type of profile. + + +## Resources + +- [Create an Infrastructure Profile](create-infrastructure-profile.md) + +- [Create an Add-on Profile](../create-cluster-profiles/create-addon-profile/create-addon-profile.md) + +- [Create a Full Profile](create-full-profile.md) + +- [Duplicate a Pack in a Profile](duplicate-pack-in-profile.md) \ No newline at end of file diff --git a/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-full-profile.md b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-full-profile.md new file mode 100644 index 0000000000..8904c9497e --- /dev/null +++ b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-full-profile.md @@ -0,0 +1,83 @@ +--- +sidebar_label: "Create a Full Profile" +title: "Create a Full Profile" +description: "Learn how to create a full cluster profile in Palette." +hide_table_of_contents: false +sidebar_position: 20 +tags: ["profiles", "cluster profiles"] +--- + + +Create a full profile by first adding infrastructure layers composed of an Operating System (OS), Kubernetes, Network, and Storage. Next, add layers using add-on profiles to expand the functionality of your clusters. + +## Prerequisites + +- Your Palette account role must have the `clusterProfile.create` permission to create a cluster profile. Refer to the [Roles and Permissions](../../../user-management/palette-rbac/project-scope-roles-permissions.md#cluster-profile-admin) documentation for more information. + +## Create Full Profile + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. From the left **Main Menu** click **Profiles**. + +3. Click on the **Add Cluster Profile** button. If you have an existing infrastructure profile, you can select it from the profiles list and add layers to it from the profiles details page to create a full profile. + +4. Fill out the following input values and ensure you select **Full** for the type. Click on **Next** to continue. + + | **Field** | **Description** | + |-----------|-----------------| + |**Name**| The name of the profile. | + |**Version**| Assign a version to the profile. You only need to specify a version if you create multiple versions of a profile using the same profile name. Default: `1.0.0`. | + |**Description**| Use the description to provide context about the profile. | + |**Type**| **Full** | + |**Tags**| Assign any desired profile tags. Tags propagate to the Virtual Machines (VMs) deployed in the cloud or data center environment when clusters are created from this cluster profile. Example: `owner` or `region`. | + + To learn how to create multiple profile versions that use the same name, check out [Version a Cluster Profile](../modify-cluster-profiles/version-cluster-profile.md). + +5. Select the infrastructure provider or managed Kubernetes for your environment and click **Next**. + +6. Configure the infrastructure layers by selecting the registry, pack name, and pack version for each layer. Click **Next Layer** to configure each infrastructure layer. + + | **Layer** | **Description** | + |-----------|-----------------| + | **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. | + +7. Select the type of layer to add to the cluster profile: pack, manifest, or Helm chart. For guidance, refer to [Add a Pack](../create-cluster-profiles/create-addon-profile/create-pack-addon.md), [Add a Manifest](../create-cluster-profiles/create-addon-profile/create-manifest-addon.md), or [Add a Helm Chart](../create-cluster-profiles/create-addon-profile/create-helm-addon.md). + + For more information about the layers, applying pack versions, configuration parameters, and presets, review [Profile Layers](../cluster-profiles.md#profile-layers). + +8. Fill out the required input fields for each layer and click on **Confirm & Create**. + + + +9. If you want to add additional layers, repeat steps 7 and 8. Otherwise, click on **Next** to review the profile. + +10. Click on **Finish Configuration** to create the cluster profile. + +You now have a full cluster profile. You can reuse the profile and apply it to several clusters. Refer to the [Update Cluster Profile](../modify-cluster-profiles/update-cluster-profile.md) guide for more information about update operations. + +## Validate + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. Navigate to left **Main Menu** and select **Profiles**. + +3. Select your cluster profile to review its layers or make changes. + + +## Next Steps + +Now you are ready to deploy a cluster using the full cluster profile you created. + +## Resources + +- [Profile Layers](../cluster-profiles.md#profile-layers) + +- [Update Cluster Profile](../modify-cluster-profiles/update-cluster-profile.md) + +- [Version a Cluster Profile](../modify-cluster-profiles/version-cluster-profile.md) + +- [Duplicate a Pack in a Profile](duplicate-pack-in-profile.md) \ No newline at end of file diff --git a/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-infrastructure-profile.md b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-infrastructure-profile.md new file mode 100644 index 0000000000..466da886b9 --- /dev/null +++ b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-infrastructure-profile.md @@ -0,0 +1,87 @@ +--- +sidebar_label: "Create an Infrastructure Profile" +title: "Create an Infrastructure Profile" +description: "Learn how to create an infrastructure cluster profile in Palette." +hide_table_of_contents: false +sidebar_position: 0 +tags: ["profiles", "cluster profiles"] +--- + + +Create an infrastructure profile by adding infrastructure layers composed of an Operating System (OS), Kubernetes, Network, and Storage. + +## Prerequisites + +- Your Palette account role must have the `clusterProfile.create` permission to create a profile. Refer to the [Cluster Profile permissions](../../../user-management/palette-rbac/project-scope-roles-permissions.md#cluster-profile-admin) reference for more information about roles and permissions. + +## Create Infrastructure Profile + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. From the left **Main Menu** click **Profiles**. + +3. Click on the **Add Cluster Profile** button. + +4. Fill out the following input values and ensure you select **Infrastructure** for the type. Click on **Next** to continue. + + | **Field** | **Description** | + |-----------|-----------------| + | **Name**| A custom name for the profile. | + | **Version**| You only need to specify a version if you create multiple versions of a profile using the same profile name. Default: `1.0.0`. | + |**Description**| Use the description to provide context about the profile.| + | **Type**| **Infrastructure** | + | **Tags**| Assign any desired profile tags. Tags propagate to the Virtual Machines (VMs) deployed in the cloud or data center environment when clusters are created from this cluster profile. Example: `owner` or `region`.| + + To learn more about creating multiple profile versions, check out [Version a Cluster Profile](../modify-cluster-profiles/version-cluster-profile.md). + +5. Select the infrastructure provider or managed Kubernetes for your environment and click **Next**. + +6. Configure the infrastructure layers by selecting the registry, pack name, and pack version for each layer. Click **Next Layer** to configure each infrastructure layer. + + For more information about layer types, applying pack versions, configuration parameters, and presets, review [Profile Layers](../cluster-profiles.md#profile-layers). + + | **Layer** | **Description** | + |----|----| + | **Operating System**| Select an OS to use with your Kubernetes clusters. Use **Bring Your Own OS (BYOOS)** if you want to upload your own OS images.| + |**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-oidc-identity-provider) for more information. | + | **Network**| Select a network pack to use with your clusters. | + | **Storage**| Select a storage pack to use with your clusters. | + + As you add each layer, Palette displays the YAML file in the editor at right. You can edit the YAML as needed. + +7. When all the infrastructure layers are added, click on **Confirm**. Palette displays the profile stack with your specified pack layers. + +8. Click on **Next** to review the profile. + +9. Click on **Finish Configuration** to create the cluster profile. + +You now have an infrastructure cluster profile. You can reuse the profile and apply it to several clusters. Refer to the [Update a Cluster Profile](../modify-cluster-profiles/update-cluster-profile.md) guide for more information about update operations. + + +## Validate + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. Navigate to left **Main Menu** and select **Profiles**. + +3. Select your cluster profile to review its layers or make changes. + + +## Next Steps + +Now you are ready to deploy a cluster using the infrastructure cluster profile you created. If desired, you can add layers to your infrastructure profile using add-on profiles. For more information, check out the [Create an Add-on Profile](../create-cluster-profiles/create-addon-profile/) guide. + +## Resources + +- [Create an Add-on Profile](../create-cluster-profiles/create-addon-profile/) + +- [Create a Full Profile](../create-cluster-profiles/create-full-profile.md) + +- [Profile Layers](../cluster-profiles.md#profile-layers) + +- [Update Cluster Profile](../modify-cluster-profiles/update-cluster-profile.md) + +- [Version a Cluster Profile](../modify-cluster-profiles/version-cluster-profile.md) + + + diff --git a/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/duplicate-pack-in-profile.md b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/duplicate-pack-in-profile.md new file mode 100644 index 0000000000..0891a406ac --- /dev/null +++ b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/duplicate-pack-in-profile.md @@ -0,0 +1,38 @@ +--- +sidebar_label: "Duplicate a Pack in a Profile" +title: "Duplicate a Pack in a Profile" +description: "Learn how to deploy the same pack to multiple layers in a Palette cluster profile." +hide_table_of_contents: false +sidebar_position: 30 +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 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: ` key to the pack values in the YAML editor. The key `` is a name unique across a cluster profile and the cluster. + +```yaml hideClipboard +pack: +namespace: "external-dns" +spectrocloud.com/display-name: "dns-1" +``` + +If the same pack is needed at another layer, repeat the above block with the same namespace but a different name such as `dns-2`. Display names used for a pack across layers should be unique. + +By default Palette uses the Helm chart release name in the format `packName-chartName`. In cases where a lengthy release name causes an issue, you can customize Helm chart `releaseNames` using the format below. + +```yaml hideClipboard +pack: + namespace: kube-system + releaseNameOverride: + actual_chart_name1: custom_name1 + actual_chart_name2: custom_name2 +``` \ No newline at end of file diff --git a/docs/docs-content/profiles/cluster-profiles/delete-cluster-profile.md b/docs/docs-content/profiles/cluster-profiles/delete-cluster-profile.md new file mode 100644 index 0000000000..462d6cd9b8 --- /dev/null +++ b/docs/docs-content/profiles/cluster-profiles/delete-cluster-profile.md @@ -0,0 +1,46 @@ +--- +sidebar_label: "Delete a Cluster Profile" +title: "Delete a Cluster Profile" +description: "Learn how to delete a cluster profile in Palette." +hide_table_of_contents: false +sidebar_position: 80 +tags: ["profiles", "cluster profiles"] +--- + + +Use the following steps to delete a cluster profile. Clusters that are using a deleted profile will continue to operate fine. + +:::caution + +If a cluster profile has more than one version, ensure you delete the appropriate version by reviewing its configuration before deleting the profile. + +::: + +## Prerequisites + +- An existing cluster profile. + +- Your Palette account role must have the `clusterProfile.delete` permission to delete a profile. Refer to the [Cluster Profile permissions](../../user-management/palette-rbac/project-scope-roles-permissions.md#cluster-profile-admin). + +## Delete Profile + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. Select **Profiles** from the left **Main Menu**. + +3. Select the profile you want to delete. To delete the profile and all its versions, click the **three-dots Menu** and select **Delete**. + + To delete a specific profile version, select the profile to display its details page. Use the **drop-down Menu** next to the profile name and select the version to delete, click on the **Settings** button, and select **Delete**. + +You have successfully deleted the cluster profile or a profile version. + + +## Validate + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. Select **Profiles** from the left **Main Menu**. + +3. If you deleted a cluster profile together with any versions it may have had, verify that it no longer displays in the list of available profiles. + +4. If you deleted a specific cluster profile *version*, select the base profile to display its details, and click the **drop-down Menu** next to the profile name to verify the version you deleted is no longer listed. \ No newline at end of file diff --git a/docs/docs-content/profiles/cluster-profiles/export-import-cluster-profile.md b/docs/docs-content/profiles/cluster-profiles/export-import-cluster-profile.md new file mode 100644 index 0000000000..36e615d885 --- /dev/null +++ b/docs/docs-content/profiles/cluster-profiles/export-import-cluster-profile.md @@ -0,0 +1,94 @@ +--- +sidebar_label: "Export and Import a Cluster Profile" +title: "Export and Import a Cluster Profile" +description: "Learn how to export and import a cluster profile in Palette." +hide_table_of_contents: false +sidebar_position: 50 +tags: ["profiles", "cluster profiles"] +--- + + +Instead of rebuilding cluster profiles, you can export them in JSON format and then import them across multiple environments, projects, and tenants. This is especially helpful if you want to reuse large profiles that have many add-ons and integrations. + +## Prerequisites + +- A cluster profile created in Palette. Check out [Cluster Profiles](cluster-profiles.md) to learn about the different types of cluster profiles you can create. + +- 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](../../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 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). + +::: + + +## Export Cluster Profile + +Use these steps to export the profile as a `.json` file. + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the left **Main Menu**, click on **Profiles**, and select the profile you want to export. Palette displays the profile details and stack. + +3. Click **Export Profile** at the bottom of the details panel. Palette downloads the profile as a `.json` file. + +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 fields that are marked as sensitive. You must update the value of these sensitive fields after profile import with the proper new value. + +::: + + +## Import Cluster Profile + +Use these steps to import the profile to one or more projects or tenants. + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. Ensure that any macros used in the profile you are importing are available in your environment. If they are not, then you must create them *before* you import the profile. For guidance, review [Create Your Macro](../../clusters/cluster-management/macros.md#create-your-macro). + +3. Select the project or tenant where you will import the profile. + +4. From the left **Main Menu**, select **Profiles** and click on the **Import Cluster Profile** button. + +5. In the slide panel that opens at right, click the **Upload file** button. + +![Screenshot of the slide panel with the Upload file button.](/profiles_cluster-profiles_upload-json.png) + +6. Navigate to the downloaded `.json` file and select it so that it opens in the slide panel as shown. + +![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. + +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. + +9. If Palette displays an error message, customize the profile name or version number to fix any issues. + +10. In the **Select repositories** window that displays when the profile is successfully validated, use the **drop-down Menus** to select one or more repositories in which profile packs exist so Palette can fetch them. + + :::caution + If any of the packs are missing in the target environment, profile import will not proceed. + ::: + +![Screenshot of the Select repositories window.](/profiles_cluster-profiles_import-select-repos.png) + +11. Click the **Confirm** button to complete the import. + +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. + +## Validate + +1. Log in to [Palette](https://console.spectrocloud.com) as a tenant admin. + +2. Select the project or tenant where you imported the cluster profile. + +3. From the left **Main Menu**, click on **Profiles**, and select your cluster profile to review its layers or make changes. + diff --git a/docs/docs-content/profiles/cluster-profiles/modify-cluster-profiles/modify-cluster-profiles.md b/docs/docs-content/profiles/cluster-profiles/modify-cluster-profiles/modify-cluster-profiles.md new file mode 100644 index 0000000000..0349bcefad --- /dev/null +++ b/docs/docs-content/profiles/cluster-profiles/modify-cluster-profiles/modify-cluster-profiles.md @@ -0,0 +1,29 @@ +--- +sidebar_label: "Modify Cluster Profiles" +title: "Modify Cluster Profiles" +description: "Review ways you can modify cluster profiles in Palette." +hide_table_of_contents: false +sidebar_position: 5 +tags: ["profiles", "cluster profiles"] +--- + + +You can modify cluster profiles by updating the following: + +- Profile name, version, description, and tags. + +- Profile layers or pack versions. + +You can also create multiple versions of a cluster profile with different pack configurations. For more information, review the [Version a Cluster Profile](version-cluster-profile.md) guide. + +In the event that more than one application in the profile needs the same pack, Palette allows you to deploy the same pack to multiple layers. Check out [Duplicate a Pack in a Profile](../create-cluster-profiles/duplicate-pack-in-profile.md) for more information. + +The next sections guide you in updating and versioning a profile. + +## Resources + +- [Update a Cluster Profile](update-cluster-profile.md) + +- [Version a Cluster Profile](version-cluster-profile.md) + +- [Duplicate a Pack in a Profile](../create-cluster-profiles/duplicate-pack-in-profile.md) diff --git a/docs/docs-content/profiles/cluster-profiles/modify-cluster-profiles/update-cluster-profile.md b/docs/docs-content/profiles/cluster-profiles/modify-cluster-profiles/update-cluster-profile.md new file mode 100644 index 0000000000..1eeae9cb52 --- /dev/null +++ b/docs/docs-content/profiles/cluster-profiles/modify-cluster-profiles/update-cluster-profile.md @@ -0,0 +1,202 @@ +--- +sidebar_label: "Update a Cluster Profile" +title: "Update a Cluster Profile" +description: "Learn how to update a cluster profile in Palette." +hide_table_of_contents: false +sidebar_position: 40 +tags: ["profiles", "cluster profiles"] +--- + + +You can update a cluster profile to change the configuration of one or more layers and add or remove non-infrastructure layers. You can also update basic profile information such as the name, description, and tags. + +Cluster profile changes will generate an update notification on all the clusters that are created from the profile. Update notifications include information about all the changes applied to the profile since the initial creation or since the previous update. You can apply cluster updates individually at any time. + + +## Prerequisites + +- A cluster profile created in Palette. + +- Your Palette account role must have the `clusterProfile.update` permission to update a profile. Refer to the [Cluster Profile permissions](../../../user-management/palette-rbac/project-scope-roles-permissions.md#cluster-profile-admin) reference for more information about roles and permissions. + +## Modify Basic Profile Information + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the left **Main Menu**, click on **Profiles**, and select the profile you want to update. Palette displays the profile details and stack. + +3. Click on **Settings** and choose **Edit Info** from the **drop-down Menu**. You can modify the profile name, version, description, and tags. + + :::info + + Updated tags will not be propagated to previously created clusters. However, tag changes will apply to new clusters you create that use the updated profile. + + ::: + +5. Save your changes. + + +### Validate + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the left **Main Menu**, click on **Profiles** and select the profile you updated. Palette displays the profile details and stack. + +3. Check that profile details display your changes. + +To learn how to apply the changes, review [Apply Profile Updates to Clusters](#apply-updates-to-clusters). + +## Update a Profile Layer + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the left **Main Menu**, click on **Profiles** and select the profile you want to update. Palette displays the profile details and stack. + +3. You can do the following: + + - Select **Add New Pack** and choose a pack to add to the profile. + + - Select **Import from cluster** to import a pack from another cluster. + + - Select the pack layer you want to update, and edit pack settings in the YAML file that displays in the YAML editor. + + - Click on the **Update** button to view and apply available updates to packs. To learn how to update your customized packs, review [Update the Pack Version](#update-the-pack-version). + + - Select **Add Manifest** to add, edit, or remove a manifest. + + - Select **Add Helm chart** to add, edit, or remove a Helm chart. + + - Select **Add Zarf** to add applications in air-gapped environments. + + - Remove non-infrastructure pack layers from the profile. Click the layer to display its details and click the **trash can** icon in the **Edit Pack** panel. + + :::info + + You cannot remove Operating System (OS), Kubernetes, Networking, or Storage infrastructure layers. + + ::: + + - Select **Settings** and choose **Delete** to delete the entire profile. You can also delete the profile when you choose **Delete** from the **three-dots Menu** on the Profiles page. + +4. Confirm your updates. + + +### Validate + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the left **Main Menu**, click on **Profiles**. + +3. If you made changes, click the profile you updated. Palette displays the profile details and stack. + +4. Check that layers are added to or removed from the profile stack. + +5. If you added, removed, or modified a manifest, click the layer in the stack that you updated and verify the manifest changes. + +To learn how to apply the changes, review [Apply Profile Updates to Clusters](#apply-updates-to-clusters). + + +## Update the Pack Version + +Packs typically contain changes between versions, such as the addition or removal of parameters and policies. The following steps will guide you in updating configurations. + +:::caution + +Ensure you follow these practices when updating to a new pack version. + +- You should not copy the pack configuration from one version to another, as the newer version often contains customizations. Instead, you should integrate your changes manually in the new version. +- Update to a newer Kubernetes version incrementally, one minor version at a time. +- Select a specific target version instead of a group that ends in ``.x`` +- We do not recommend downgrading packs to the previous version. + +::: + + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the left **Main Menu**, select **Profiles**. + +3. Select the profile you want to update. Palette displays profile details and the profile stack. + +4. Click on the pack layer to update. + +5. In the **Edit Pack** panel, select a specific target version, not a group that ends in ``.x``. Palette displays the difference between the current version at left and the new version at right. The target version is displayed in the header. + + Differences between the displayed configurations are as follows: + + - *Red highlight* indicates text that is not present in the new configuration. + + These may be lines you have added in the current configuration. Use the arrow that displays between the two configurations to transfer the lines to the new pack version. + + These lines may also have been removed because they are no longer valid in the new configuration. If you need them, you should copy the lines to the new version. Similarly, you should copy any settings from the current configuration. + + - *Green highlight* indicates additions in the new configuration that are not present in the pack version you are using. + + #### Example of Difference Between Current and New Configurations + + + ![Screenshot that shows Palette's pack diff user interface with red highlight at left and green highlight at right](/integrations_pack_diffs.png) + + - *Contrasting shades* of red and green highlight within the same line indicates differences occur in only part of the line. + + + #### Example of Line Changes in Current and New Configurations + + ![Screenshot that shows Palette's pack diff user interface with contrasting shades of red and green highlight in the same line](/integrations_pack_line_diffs.png) + + +6. Check for red-highlight in the configuration that is missing in the new configuration. + + - If there are any lines you added, use the arrow to transfer the lines to the new version. + + - If there are lines you did not add that are red highlighted, they have been removed in the new version, and you should *not* copy them over. + + +7. Check for changed settings in the new configuration, and copy settings from the current configuration to the new configuration. + +8. Review new sections in the new configuration. You should adopt them, as they are typically needed to support the new configuration. + +9. Check for changes in the same line that have a different value. If it is not a customization you made, you should adopt the new value, as it is known to be compatible with the new version. + +10. Confirm your updates. + +To learn how to apply the changes, review [Apply Profile Updates to Clusters](#apply-updates-to-clusters). + + +### Validate + +1. Log in to [Palette](https://console.spectrocloud.com) as a tenant admin. + +2. From the left **Main Menu**, select **Profiles**. + +3. Click the profile you updated. Palette displays the profile stack. + +4. Check that the updated layer displays the new pack version. + + Palette indicates any problematic layers in the stack. You can hover over the pack name to view details about the misconfiguration. + +5. Click on the pack layer and review its configuration. Apply fixes and confirm your updates. + +6. Repeat the process until Palette indicates the configuration works. + + +## Apply Profile Updates to Clusters + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the left **Main Menu**, select **Clusters**. Clusters that are eligible for an update will have an **Updates Available** badge. + +3. Select the cluster with the update notification to start the **Apply Updates** wizard. Click on the **Apply** button. + +4. The **Apply Updates** wizard opens with the update notification, which contains details about the updates that will be applied. Click the **Confirm** button to apply updates to the cluster. + + +### Validate + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the left **Main Menu**, click on **Profiles** and select the updated cluster. + +3. Check that layers are added to or removed from the profile stack, and verify other profile details. + +4. If you added, removed, or modified a manifest, click the layer in the stack that you updated and verify the manifest changes. diff --git a/docs/docs-content/profiles/cluster-profiles/modify-cluster-profiles/version-cluster-profile.md b/docs/docs-content/profiles/cluster-profiles/modify-cluster-profiles/version-cluster-profile.md new file mode 100644 index 0000000000..a7edc99bd4 --- /dev/null +++ b/docs/docs-content/profiles/cluster-profiles/modify-cluster-profiles/version-cluster-profile.md @@ -0,0 +1,49 @@ +--- +sidebar_label: "Version a Cluster Profile" +title: "Version a Cluster Profile" +description: "Learn how to create a new version of an existing cluster profile in Palette." +hide_table_of_contents: false +sidebar_position: 70 +tags: ["profiles", "cluster profiles"] +--- + + +Palette enables you to create multiple versions of a cluster profile using the same profile name but with a different pack configuration. Cluster profile versions use the format `major.minor.patch` and have a default value of `1.0.0`. + +Cluster profile versions are grouped under the same name, and the version number makes them unique. The **drop-down Menu** next to the cluster profile name on the profile details page contains the different versions. + +New versions of a cluster profile may add or remove layers, contain new pack versions, or update a pack configuration. + + +## Prerequisites + +- A cluster profile created in Palette. Check out [Cluster Profiles](../cluster-profiles.md) to learn about the different types of cluster profiles you can create. + +## Create New Cluster Profile Version + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. Click on **Profiles** in the left **Main Menu**, and select the cluster profile that you want to version. + +3. From the **drop-down Menu** next to the cluster profile name, select **Create new version**. + +4. Provide the version number using `major.minor.patch` format. + +5. Click on **Confirm**. Palette displays a versioning successful message. + +6. Configure layers as needed and save your changes. + +You have successfully created a new pack version. + + +## Validate + +You can validate that the cluster profile is versioned and available in the target project. + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. Select **Profiles** from the left **Main Menu**. + +3. Use the **drop-down Menu** next to the cluster profile and verify the new profile version is listed. + +4. Select the new profile version and review its configuration. \ No newline at end of file diff --git a/docs/docs-content/profiles/profile-customization.md b/docs/docs-content/profiles/profile-customization.md new file mode 100644 index 0000000000..748da0139b --- /dev/null +++ b/docs/docs-content/profiles/profile-customization.md @@ -0,0 +1,42 @@ +--- +sidebar_label: "Profile Customization" +title: "Profile Customization" +description: "REVISE: Learn how Palette uses cluster profiles to provide both consistency and flexibility across Kubernetes clusters." +hide_table_of_contents: false +tags: ["profiles", "cluster profiles", "app profiles", "system profiles"] +--- + +Namespace labels and annotations are used to customize packs. The section below explains how to apply them in a pack YAML configuration. + + +## Pack Labels and Annotations + +You can specify namespace labels and annotations to add-on packs, and packs for Container Storage Interfaces (CSI) and Container Network Interfaces (CNI) drivers. These labels and annotations are applied to the namespace the pack is deployed to or to a specific namespace if specified. You can apply labels and annotations to the pack's YAML file. + +The following parameters are available to specify namespace labels and annotations: + +| **Parameter** | **Description** | **Type** | +| --- | --- | --- | +| `namespace` | The Namespace that the pack is deployed to. If the namespace does not exist, Palette will create it. | string | +| `additionalNamespaces`| A list of additional namespaces that Palette will create. | map | +| `namespaceLabels` | A list of key-value pairs for labels applied to the namespace. | map | +| `namespaceAnnotations` | A list of key-value pairs for annotations applied to the namespace. | map | + + +The following example shows how to specify namespace labels and annotations for an add-on pack, a CSI pack, and a CNI pack. In the example pack YAML configuration, the `wordpress` namespace is created. An additional namespace titled `wordpress-storage` is also created. In the parameters sections, `namespaceLabels` and `namespaceAnnotations`, each entry has a key and a value. The key is the name of the target namespace, and the value is the value of the label or annotation. + +```yaml +pack: + namespace: "wordpress" + additionalNamespaces: + "wordpress-storage" + + namespaceLabels: + "monitoring": "org=spectro,team=dev" + "wordpress-storage": "user=demo-user" + "default": "user=demo-user" + + namespaceAnnotations: + "monitoring": "monitoring.io/enable=true" + "wordpress-storage": "storage.metrics.io/format=json" +``` \ No newline at end of file diff --git a/docs/docs-content/profiles/profiles.md b/docs/docs-content/profiles/profiles.md new file mode 100644 index 0000000000..cc307ec93c --- /dev/null +++ b/docs/docs-content/profiles/profiles.md @@ -0,0 +1,26 @@ +--- +sidebar_label: "Profiles" +title: "Profiles" +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. 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 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. + +**System profiles** - System profiles are applied to the Enterprise cluster, which hosts Palette or Palette VerteX. You cannot create a system profile. However, if you have system console access, there may be unique scenarios, such as upgrading major Palette releases, that require updating a system profile. Our Support team would provide guidance on updating system profiles if needed. + + +## Resources + +[Cluster Profiles](./cluster-profiles/cluster-profiles.md) + +[App Profiles](./app-profiles/app-profiles.md) diff --git a/docs/docs-content/registries-and-packs/helm-charts.md b/docs/docs-content/registries-and-packs/helm-charts.md index e34159d548..f689a347fb 100644 --- a/docs/docs-content/registries-and-packs/helm-charts.md +++ b/docs/docs-content/registries-and-packs/helm-charts.md @@ -67,7 +67,7 @@ The following applies when adding Helm charts to cluster profiles. ## Resources -[Create Cluster Profiles](../cluster-profiles/task-define-profile.md) +[Create Cluster Profiles](../profiles/cluster-profiles/create-cluster-profiles/create-cluster-profiles.md)
diff --git a/docs/docs-content/release-notes.md b/docs/docs-content/release-notes.md index 3d1dc464ba..745b7ade7b 100644 --- a/docs/docs-content/release-notes.md +++ b/docs/docs-content/release-notes.md @@ -153,7 +153,7 @@ Palette 3.4.0 has various security upgrades, better support for multiple Kuberne - You can now access a [new dashboard](devx/devx.md) to better understand your virtual clusters, app profiles, deployed apps, and resource utilization. The dashboard provides a comprehensive overview of critical metrics and more. -- You can now increase or decrease the number of replicated instances of a container service. Check out the [Container Deployment](devx/app-profile/container-deployment.md) guide to learn more about containerized deployments. +- You can now increase or decrease the number of replicated instances of a container service. Check out the [Container Deployment](profiles/app-profiles/create-app-profiles/container-deployment.md) guide to learn more about containerized deployments. ### Terraform @@ -296,7 +296,7 @@ This release contains several security fixes and new features for Edge. The Edge ## February 28, 2023 - Release 3.2.0 -Release 3.2 introduces support for a new public cloud provider, Cox Edge. Other highlights include a streamlined experience for installing the Kubernetes Dashboard in a cluster, a new security scan, auto registration capabilities for edge devices, new [out-of-the-box services](devx/app-profile/services/service-listings/service-listings.mdx), and many other product enhancements. +Release 3.2 introduces support for a new public cloud provider, Cox Edge. Other highlights include a streamlined experience for installing the Kubernetes Dashboard in a cluster, a new security scan, auto registration capabilities for edge devices, new [out-of-the-box services](devx/services/service-listings/service-listings.mdx, and many other product enhancements. ### Palette @@ -323,7 +323,7 @@ Release 3.2 introduces support for a new public cloud provider, Cox Edge. Other * Palette has improved the launch time for virtual clusters. * [Virtual clusters can be resized](devx/palette-virtual-clusters/resize-virtual-clusters.md) from the default to a size that does not exceed the system-level quota for a cluster group like Beehive or the user quota for tenant-level cluster groups. * Virtual clusters now display a progress status during the creation phase. -* The App profile container service layer contains additional [output variables](devx/app-profile/app-profile-macros.md#container-service-output-variables) to help services connect. Refer to the [service connectivity](devx/app-profile/services/connectivity.md) document for additional guidance. +* The App profile container service layer contains additional [output variables](profiles/app-profiles/app-profile-output-vars.md#container-service-output-variables) to help services connect. Refer to the [service connectivity](devx/services/connectivity.md) document for additional guidance. * We optimized the Spectro Cloud Postman collection to circumvent a nested levels [bug](https://github.com/postmanlabs/postman-app-support/issues/10928) in Postman. #### Deprecations @@ -392,12 +392,12 @@ Palette 3.1 is released with support for AWS GovCloud, FIPS compliant PXK, and P * [Autoscaling](clusters/cluster-management/node-pool.md#worker-node-pool) capabilities for Palette IaaS clusters to ensure better availability and cost management for dynamic workloads. * Palette is now compliant with FIPS compliance and provides a [FIPS-compliant](compliance.md#fips-140-2) version of Kubernetes (PXK and PXK-E). Palette FIPS support is extended at the platform Level with the tenant and project Scope and cluster level with FIPS compliant infrastructure layer cluster profiles. * Palette supports tagging and the ability to filter user [access](clusters/cluster-management/cluster-tag-filter/cluster-tag-filter.md) and [visibility](clusters/cluster-management/noc-ui.md#monitor-your-cluster-location) to clusters using tags. You can filter geographically dispersed clusters in the Palette map view and list view using [flexible filters](clusters/cluster-management/noc-ui.md#map-filters) to have a granular view of cluster information. -* Palette supports app profile versioning. Versioning enables users to create multiple [versions of an App Profile](devx/app-profile/versioning-app-profile.md#apply-version-to-a-profile) within the scope of a single profile name. -* Palette supports the [cloning](devx/app-profile/app-profile-cloning.md#clone-an-app-profile) of App Profiles across multiple projects. For example, you can clone an app profile created under a specific project to another project within the same tenant. -* Palette Dev Engine supports the manual and system update of an [App Profile](devx/app-profile/versioning-app-profile.md#apply-version-to-a-profile). You can verify the update notification and apply the changes to the Apps. -* Palette app mode now supports the use of [containers](devx/app-profile/app-profile.md#resources). You can specify containers when creating an app profile. +* Palette supports app profile versioning. Versioning enables users to create multiple [versions of an App Profile](profiles/app-profiles/modify-app-profiles/version-app-profile.md) within the scope of a single profile name. +* Palette supports the [cloning](profiles/app-profiles/clone-app-profile.md) of App Profiles across multiple projects. For example, you can clone an app profile created under a specific project to another project within the same tenant. +* Palette Dev Engine supports the manual and system update of an [App Profile](profiles/app-profiles/modify-app-profiles/version-app-profile.md). You can verify the update notification and apply the changes to the Apps. +* Palette app mode now supports the use of [containers](profiles/app-profiles/create-app-profiles/container-deployment.md). You can specify containers when creating an app profile. * Palette leverages [Helm and OCI registries](devx/manage-dev-engine/registries.md) for custom pack management. -* Palette provides [out-of-the-box](devx/app-profile/app-profile.md) support for application services such as Kafka, MySQL, NATS, and more for Palette Dev Engine. These services can be specified when creating an App Profile. +* Palette provides [out-of-the-box](profiles/app-profiles/create-app-profiles/create-out-of-box-app-profile.md) support for application services such as Kafka, MySQL, NATS, and more for Palette Dev Engine. These services can be specified when creating an App Profile. * Palette allows you to [pause and resume](devx/palette-virtual-clusters/pause-restore-virtual-clusters.md) virtual clusters that are not in use. This adds significant flexibility in managing the operating costs and optimizing resource management for virtual clusters. #### Enhancements: @@ -519,7 +519,7 @@ Spectro Cloud Palette 2.8.0 is now available with the support of Palette Virtual **Features** * Palette now supports lightweight, cost-effective, secure, and resource-efficient [Palette Virtual Clusters](/clusters/palette-virtual-clusters) to rapidly create securely-isolated environments for applications without the infrastructure and operational overhead of additional Kubernetes clusters. * Palette leverages web-based [Kubectl](/clusters/cluster-management/palette-webctl#overview) for the users to deploy applications, inspect and manage cluster resources, and view logs via the Palette terminal without an external terminal. -* Palette enables the reuse and sharing of large profiles with many add-ons and integrations to be [exported and imported](/cluster-profiles/cluster-profile-import-export#overview) across multiple environments, projects, and tenants. +* Palette enables the reuse and sharing of large profiles with many add-ons and integrations to be [exported and imported](profiles/cluster-profiles/export-import-cluster-profile.md) across multiple environments, projects, and tenants. * Palette customers can now provision the fully conformant Kubernetes distribution [RKE2](/integrations/rke2#rke2overview) focusing on security and compliance. * The latest Palette Terraform releases, [Module 0.2.3 and Module 0.3.0](/terraform#moduletoprovidercompatibilitymatrix), focus on: * Cluster resource tagging @@ -620,7 +620,7 @@ Spectro Cloud Palette 2.6 is released to support Cluster Profile Version, EKS Se **Features:** -* Palette supports multiple [versions](/cluster-profiles/task-define-profile#clusterprofileversioning) of a single-cluster profile under a unique name to allow backward compatibility. +* Palette supports multiple [versions](profiles/cluster-profiles/modify-cluster-profiles/version-cluster-profile.md) of a single-cluster profile under a unique name to allow backward compatibility. * Palette leverages AWS Key Management Service (KMS) to provide envelope [encryption](/clusters/public-cloud/aws/eks#eksclustersecretsencryption) of Kubernetes Secrets stored in Amazon Elastic Kubernetes Service (EKS) clusters. diff --git a/docs/docs-content/security/product-architecture/tenant-cluster.md b/docs/docs-content/security/product-architecture/tenant-cluster.md index 88f58c1eae..9ba9dbbb60 100644 --- a/docs/docs-content/security/product-architecture/tenant-cluster.md +++ b/docs/docs-content/security/product-architecture/tenant-cluster.md @@ -11,7 +11,7 @@ tags: ["security"] Tenant clusters are Kubernetes clusters that Palette deploys for customers. Tenant clusters can be launched in the customer's choice of public or private cloud or bare metal environment. Palette offers complete flexibility and control in designing these tenant clusters through a construct called [Cluster Profiles](../../glossary-all.md#cluster-profile). -[Cluster profiles](../../cluster-profiles/cluster-profiles.md) are cluster construction templates. Palette deploys a Kubernetes cluster based on what the profile specifies. +[Cluster profiles](../../profiles/cluster-profiles/cluster-profiles.md) are cluster construction templates. Palette deploys a Kubernetes cluster based on what the profile specifies. A cluster profile consists of core layers that consist of an Operating System (OS), a Kubernetes distribution, networking, and storage, and any add-on layers such as monitoring, logging, and more. Palette offers several out-of-the-box choices for each profile layer in the form of packs and the flexibility for you to bring your own pack for use in Palette cluster profiles. diff --git a/redirects.js b/redirects.js index 236af44460..be12cf9fbc 100644 --- a/redirects.js +++ b/redirects.js @@ -187,6 +187,102 @@ const redirects = [ from: `/clusters/brownfield-clusters`, to: `/clusters/imported-clusters`, }, + { + from: `/cluster-profiles`, + to: `/profiles/cluster-profiles`, + }, + { + from: `/cluster-profiles/task-define-profile`, + to: `/profiles/cluster-profiles/create-cluster-profiles`, + }, + { + from: `/cluster-profiles/create-add-on-profile`, + to: `/profiles/cluster-profiles/create-cluster-profiles/create-addon-profile`, + }, + { + from: `/cluster-profiles/task-update-profile`, + to: `/profiles/cluster-profiles/modify-cluster-profiles/update-cluster-profile`, + }, + { + from: `/cluster-profiles/cluster-profile-import-export`, + to: `/profiles/cluster-profiles/export-import-cluster-profile`, + }, + { + from: `/cluster-profiles/examples`, + to: `/profiles/cluster-profiles`, + }, + { + from: `/cluster-profiles/byoos`, + to: `/byoos`, + }, + { + from: `/cluster-profiles/byoos/image-builder`, + to: `/byoos/image-builder`, + }, + { + from: `/system-profile`, + to: `/profiles/`, + }, + { + from: `/devx/app-profile/create-app-profile`, + to: `/profiles/app-profiles/create-app-profiles`, + }, + { + from: `/devx/app-profile/container-deployment`, + to: `/profiles/app-profiles/create-app-profiles/container-deployment`, + }, + { + from: `/devx/app-profile/app-profile-macros`, + to: `/profiles/app-profiles/app-profile-output-vars`, + }, + { + from: `/devx/app-profile/app-profile-cloning`, + to: `/profiles/app-profiles/clone-app-profile`, + }, + { + from: `/devx/app-profile/app-profile-versioning`, + to: `/profiles/app-profiles/modify-app-profiles/version-app-profile`, + }, + { + from: `/devx/app-profile/services`, + to: `/devx/services`, + }, + { + from: `/devx/app-profile/services/connectivity`, + to: `/devx/services/connectivity`, + }, + { + from: `/devx/app-profile/services/db-services`, + to: `/devx/services/db-services`, + }, + { + from: `/devx/app-profile/services/service-listings`, + to: `/devx/services/service-listings`, + }, + { + from: `/devx/app-profile/services/service-listings/mongo-db`, + to: `/devx/services/service-listings/mongo-db`, + }, + { + from: `/devx/app-profile/services/service-listings/mysql`, + to: `/devx/services/service-listings/mysql`, + }, + { + from: `/devx/app-profile/services/service-listings/postgresql-db`, + to: `/devx/services/service-listings/postgresql-db`, + }, + { + from: `/devx/app-profile/services/service-listings/redis-db`, + to: `/devx/services/service-listings/redis-db`, + }, + { + from: `/devx/app-profile/services/service-listings/vault`, + to: `/devx/services/service-listings/vault`, + }, + { + from: `/devx/app-profile/services/service-listings/cockroach-db`, + to: `/devx/services/service-listings/cockroach-db`, + }, { from: `/integrations/EKS-D`, to: `/integrations`, diff --git a/src/components/IconMapper/dynamicFontAwesomeImports.js b/src/components/IconMapper/dynamicFontAwesomeImports.js index d51947f8fb..ce7c1424d1 100644 --- a/src/components/IconMapper/dynamicFontAwesomeImports.js +++ b/src/components/IconMapper/dynamicFontAwesomeImports.js @@ -1,4 +1,5 @@ import { faCubes } from '@fortawesome/free-solid-svg-icons'; +import { faPersonWalkingLuggage } from '@fortawesome/free-solid-svg-icons'; import { faObjectGroup } from '@fortawesome/free-solid-svg-icons'; import { faEnvelopeOpenText } from '@fortawesome/free-solid-svg-icons'; import { faDatabase } from '@fortawesome/free-solid-svg-icons'; @@ -18,6 +19,7 @@ import { faScrewdriverWrench } from '@fortawesome/free-solid-svg-icons'; export const fontAwesomeIcons = { "cubes": faCubes, + "person-walking-luggage": faPersonWalkingLuggage, "object-group": faObjectGroup, "envelope-open-text": faEnvelopeOpenText, "database": faDatabase, diff --git a/static/assets/docs/images/profiles_app-profiles_create-app-profiles_add-manifest.png b/static/assets/docs/images/profiles_app-profiles_create-app-profiles_add-manifest.png new file mode 100644 index 0000000000..fa9b736e17 Binary files /dev/null and b/static/assets/docs/images/profiles_app-profiles_create-app-profiles_add-manifest.png differ diff --git a/static/assets/docs/images/profiles_app-profiles_create-app-profiles_container-infobox.png b/static/assets/docs/images/profiles_app-profiles_create-app-profiles_container-infobox.png new file mode 100644 index 0000000000..d3924aa0db Binary files /dev/null and b/static/assets/docs/images/profiles_app-profiles_create-app-profiles_container-infobox.png differ diff --git a/static/assets/docs/images/profiles_app-profiles_create-app-profiles_helm-layer-infobox.png b/static/assets/docs/images/profiles_app-profiles_create-app-profiles_helm-layer-infobox.png new file mode 100644 index 0000000000..5ed7688ab7 Binary files /dev/null and b/static/assets/docs/images/profiles_app-profiles_create-app-profiles_helm-layer-infobox.png differ diff --git a/static/assets/docs/images/profiles_app-profiles_create-app-profiles_manifest-layer-infobox.png b/static/assets/docs/images/profiles_app-profiles_create-app-profiles_manifest-layer-infobox.png new file mode 100644 index 0000000000..15f85482e6 Binary files /dev/null and b/static/assets/docs/images/profiles_app-profiles_create-app-profiles_manifest-layer-infobox.png differ diff --git a/static/assets/docs/images/profiles_cluster-profiles_cluster-profiles.png b/static/assets/docs/images/profiles_cluster-profiles_cluster-profiles.png new file mode 100644 index 0000000000..c72ef17cab Binary files /dev/null and b/static/assets/docs/images/profiles_cluster-profiles_cluster-profiles.png differ diff --git a/static/assets/docs/images/profiles_cluster-profiles_import-select-repos.png b/static/assets/docs/images/profiles_cluster-profiles_import-select-repos.png new file mode 100644 index 0000000000..d2faba32f7 Binary files /dev/null and b/static/assets/docs/images/profiles_cluster-profiles_import-select-repos.png differ diff --git a/static/assets/docs/images/profiles_cluster-profiles_json-to-import.png b/static/assets/docs/images/profiles_cluster-profiles_json-to-import.png new file mode 100644 index 0000000000..5016256010 Binary files /dev/null and b/static/assets/docs/images/profiles_cluster-profiles_json-to-import.png differ diff --git a/static/assets/docs/images/profiles_cluster-profiles_upload-json.png b/static/assets/docs/images/profiles_cluster-profiles_upload-json.png new file mode 100644 index 0000000000..8ce4f5be97 Binary files /dev/null and b/static/assets/docs/images/profiles_cluster-profiles_upload-json.png differ