Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: document Crossplane PAD-82 #2713

Merged
merged 14 commits into from
May 7, 2024
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/docs-content/automation/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"position": 210
}
26 changes: 26 additions & 0 deletions docs/docs-content/automation/automation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
sidebar_label: "Automation"
title: "Automation"
description: "Learn how to use automation tools with Palette and Palette VerteX."
hide_table_of_contents: false
sidebar_position: 0
sidebar_custom_props:
icon: "terminal"
tags: ["automation"]
---

This section contains documentation and guides essential for automating tasks with Palette. These resources cover the
Palette CLI, Terraform provider, and Crossplane provider.
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved

The Palette CLI has multiple functionalities that allow users to interact with Palette and create and manage resources
such as private cloud gateways. You can leverage the Palette CLI in Continuous Delivery/Continuous Deployment (CI/CD)
pipelines and other automation tasks.
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved

Palette also supports Infrastructure as Code (IaC) tools that provide comprehensive automation for deploying and
managing Palette resources. These resources include cluster profiles, cloud accounts, clusters, and more.
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved

## Resources

- [Palette CLI](./palette-cli/install-palette-cli.md)
- [Terraform Support](./terraform/terraform.md)
- [Crossplane Support](./crossplane/crossplane.md)
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved
3 changes: 3 additions & 0 deletions docs/docs-content/automation/crossplane/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"position": 30
}
35 changes: 35 additions & 0 deletions docs/docs-content/automation/crossplane/crossplane.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
sidebar_label: "Crossplane"
title: "Crossplane"
description: "Learn how to use Crossplane with Palette and Palette VerteX."
hide_table_of_contents: false
sidebar_position: 0
tags: ["crossplane", "iac", "automation", "infrastructure as code"]
---

Palette supports the open-source Cloud Native Computing Foundation (CNCF) project
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved
[Crossplane](https://www.crossplane.io/). Crossplane transforms Kubernetes clusters into universal control planes,
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved
extending the Kubernetes API and enabling infrastructure resource provisioning and management across major
infrastructure providers.

These resources, called
[Managed Resources (MR)](https://docs.crossplane.io/latest/concepts/managed-resources/#managed-resource-fields) within
the Crossplane environment, are essentially Kubernetes Custom Resource Definitions (CRDs) that represent infrastructure
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved
resources as native Kubernetes objects. As Kubernetes objects, you can use standard commands like `kubectl describe` to
interact with them. When users create a managed resource, Crossplane interacts with the infrastructure provider API to
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved
request the creation of the resource within the provider's environment.

## Palette Provider

You can use the Palette Crossplane Provider to interact with the Palette API and create resources declaratively.
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved

Refer to the [Palette Provider](https://marketplace.upbound.io/providers/crossplane-contrib/provider-palette/v0.12.0)
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved
page available in the Upbound Marketplace for a complete list of managed resources and examples.
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved

## Usage
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved

For an end-to-end cluster provisioning example, access the guides provided below.
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved

- [Deploy an AWS IaaS Cluster with Crossplane](./deploy-cluster-aws-crossplane.md)
- [Deploy an Azure IaaS Cluster with Crossplane](./deploy-cluster-azure-crossplane.md)
- [Deploy a GCP IaaS Cluster with Crossplane](./deploy-cluster-gcp-crossplane.md)
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved

Large diffs are not rendered by default.

caroldelwing marked this conversation as resolved.
Show resolved Hide resolved

Large diffs are not rendered by default.

caroldelwing marked this conversation as resolved.
Show resolved Hide resolved

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"position": 10
}
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ Started ghcr.io/spectrocloud/librarium:nightly at 127.0.0.1:8080
```

Start the documentation site in the background and change container image to a self-hosted registry. Check put the
[Offline Documentation](../../vertex/install-palette-vertex/airgap/offline-docs.md) to learn how to extract the
[Offline Documentation](../../../vertex/install-palette-vertex/airgap/offline-docs.md) to learn how to extract the
container image into a tarball which you can then load into another device and upload to a self-hosted registry.

```bash
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ The `ec` command installs a self-hosted Palette Enterprise Cluster (EC) in your
conducted through an interactive wizard that guides you through the various install configurations available. A local
kind cluster is created to facilitate creating the Enterprise cluster in the target environment. You do not need to
install kind or any other dependencies. The CLI includes all the required dependencies to set up the kind cluster. You
can use the `ec` command to install a [self-hosted Palette](../../enterprise-version/install-palette/install-palette.md)
instance or a self-hosted [VerteX](../../vertex/install-palette-vertex/install-palette-vertex.md) instance.
can use the `ec` command to install a
[self-hosted Palette](../../../enterprise-version/install-palette/install-palette.md) instance or a self-hosted
[VerteX](../../../vertex/install-palette-vertex/install-palette-vertex.md) instance.

## Subcommands

Expand Down Expand Up @@ -87,8 +88,8 @@ palette ec install --config-file ~/.palette/ec/ec-20230807143205/ec.yaml --updat

## Custom Value File

You can customize the [Cluster Profile](../../glossary-all.md#cluster-profile) that makes up the Enterprise Cluster by
providing a custom **values.yaml** file that contains values for the various Cluster Profile layers that make up the
You can customize the [Cluster Profile](../../../glossary-all.md#cluster-profile) that makes up the Enterprise Cluster
by providing a custom **values.yaml** file that contains values for the various Cluster Profile layers that make up the
Enterprise Cluster. The custom **values.yaml** file is used to customize the Enterprise Cluster to your specific needs.
This is an advanced feature and should only be used by advanced users or when explicitly instructed by our support team.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ The `fips-validate` command requires the following prerequisites:

- Ensure you have access to the kubeconfig file for the cluster that you want to validate. The file needs to be
accessible from the machine where you issue the `fips-validate` command. Refer to the
[Set up Kubectl](../../clusters/cluster-management/palette-webctl.md#access-cluster-with-cli) guide to learn how to
[Set up Kubectl](../../../clusters/cluster-management/palette-webctl.md#access-cluster-with-cli) guide to learn how to
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved
get the kubeconfig file for your cluster.

- Sufficient permissions to create a new namespace and deploy resources in the namespace. We recommend using an elevated
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ by the `install` subcommand.
:::warning

Use the latest version of the Palette CLI that matches the version of your Palette or Palette VerteX instance. You can
find the newest version of the Palette CLI on the [Downloads](../../spectro-downloads.md#palette-cli) page.
find the newest version of the Palette CLI on the [Downloads](../../../spectro-downloads.md#palette-cli) page.

:::

Expand Down Expand Up @@ -88,8 +88,8 @@ palette pcg install --config-file <path-to-config-file> --update-passwords

You can use the `install` subcommand to install a PCG cluster in the following environments.

| **Platform** | **Install Guide** |
| ------------ | -------------------------------------------------- |
| MAAS | [Link](../../clusters/pcg/deploy-pcg/maas.md) |
| OpenStack | [Link](../../clusters/pcg/deploy-pcg/openstack.md) |
| VMware | [Link](../../clusters/pcg/deploy-pcg/vmware.md) |
| **Platform** | **Install Guide** |
| ------------ | ----------------------------------------------------- |
| MAAS | [Link](../../../clusters/pcg/deploy-pcg/maas.md) |
| OpenStack | [Link](../../../clusters/pcg/deploy-pcg/openstack.md) |
| VMware | [Link](../../../clusters/pcg/deploy-pcg/vmware.md) |
Original file line number Diff line number Diff line change
Expand Up @@ -296,17 +296,17 @@ requirements.
Each plugin may have its own set of failures. Resolving failures will depend on the plugin and the failure. Use the
error output to help you address the failure. Below are some tips to help you resolve failures.

| **Plugin** | **Failure Scenario** | **Guidance** |
| ---------- | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AWS | Missing IAM permissions | The IAM role used by Palette is missing one or more required IAM permissions. Refer to [Required IAM Policies](../../clusters/public-cloud/aws/required-iam-policies.md) for a comprehensive list of required IAM permissions and attach the missing permissions or policies. |
| AWS | Insufficient Service Quota Buffer | The usage quota for a service or multiple service quotas is above the specified buffer. Refer to AWS [Service Quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) documentation to review the default limits. Use the [Service Quotas](https://console.aws.amazon.com/servicequotas/) console to request an increase to your account, or remove resources to reduce the usage. |
| Network | TCP connection error | The Validator could not establish a Transmission Control Protocol (TCP) connection to the specified host and port. Ensure the host and port are accessible from the Validator's current network. If the current network is not in scope, ensure you conduct the test from a network in scope. Refer to the [Network Ports](../../architecture/networking-ports.md) resource for a list of Palette required ports. |
| Network | Unable to connect | This could be caused by several issues. If you require network connections to use a proxy server, specify the usage of a network proxy and provide the required proxy server information. |
| Network | Unable to resolve DNS | The Validator was unable to resolve the specified DNS name. Ensure the DNS name is valid and accessible from the Validator's current network default DNS resolver. Use network tools such as `dig` and `nslookup` to debug DNS issues. |
| Network | Insufficient IP Addresses | The Validator was unable to find a sufficient number of IP addresses in the specified IP range. Ensure the IP range is valid and has enough IP addresses to satisfy the Validator's requirements. Discuss these findings with your network administrator. |
| vSphere | Missing permissions | The user account used by Palette or VerteX is missing one or more required permissions. Refer to [Palette Required vSphere Permissions](../../enterprise-version/install-palette/install-on-vmware/vmware-system-requirements.md#vsphere-permissions), or the [VerteX Required vSphere Permissions](../../vertex/install-palette-vertex/install-on-vmware/vmware-system-requirements.md#vsphere-permissions) resource for information about required permissions. |
| vSphere | Missing tags | Kubernetes regions and zone tags are missing from the vSphere environment. Refer to [Palette Required vSphere Tags](../../enterprise-version/install-palette/install-on-vmware/vmware-system-requirements.md#zone-tagging), or the [VerteX Required vSphere Tags](../../vertex/install-palette-vertex/install-on-vmware/vmware-system-requirements.md#zone-tagging) resource for information about zone tags. |
| vSphere | Folder missing or not accessible | The `spectro-templates` folder is missing or not accessible. Ensure the folder exists and the user account used by Palette or VerteX has read access to the folder. The `spectro-templates` folder is used by Palette and VerteX to download OVAs during the install. |
| **Plugin** | **Failure Scenario** | **Guidance** |
caroldelwing marked this conversation as resolved.
Show resolved Hide resolved
| ---------- | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AWS | Missing IAM permissions | The IAM role used by Palette is missing one or more required IAM permissions. Refer to [Required IAM Policies](../../../clusters/public-cloud/aws/required-iam-policies.md) for a comprehensive list of required IAM permissions and attach the missing permissions or policies. |
| AWS | Insufficient Service Quota Buffer | The usage quota for a service or multiple service quotas is above the specified buffer. Refer to AWS [Service Quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) documentation to review the default limits. Use the [Service Quotas](https://console.aws.amazon.com/servicequotas/) console to request an increase to your account, or remove resources to reduce the usage. |
| Network | TCP connection error | The Validator could not establish a Transmission Control Protocol (TCP) connection to the specified host and port. Ensure the host and port are accessible from the Validator's current network. If the current network is not in scope, ensure you conduct the test from a network in scope. Refer to the [Network Ports](../../../architecture/networking-ports.md) resource for a list of Palette required ports. |
| Network | Unable to connect | This could be caused by several issues. If you require network connections to use a proxy server, specify the usage of a network proxy and provide the required proxy server information. |
| Network | Unable to resolve DNS | The Validator was unable to resolve the specified DNS name. Ensure the DNS name is valid and accessible from the Validator's current network default DNS resolver. Use network tools such as `dig` and `nslookup` to debug DNS issues. |
| Network | Insufficient IP Addresses | The Validator was unable to find a sufficient number of IP addresses in the specified IP range. Ensure the IP range is valid and has enough IP addresses to satisfy the Validator's requirements. Discuss these findings with your network administrator. |
| vSphere | Missing permissions | The user account used by Palette or VerteX is missing one or more required permissions. Refer to [Palette Required vSphere Permissions](../../../enterprise-version/install-palette/install-on-vmware/vmware-system-requirements.md#vsphere-permissions), or the [VerteX Required vSphere Permissions](../../../vertex/install-palette-vertex/install-on-vmware/vmware-system-requirements.md#vsphere-permissions) resource for information about required permissions. |
| vSphere | Missing tags | Kubernetes regions and zone tags are missing from the vSphere environment. Refer to [Palette Required vSphere Tags](../../../enterprise-version/install-palette/install-on-vmware/vmware-system-requirements.md#zone-tagging), or the [VerteX Required vSphere Tags](../../../vertex/install-palette-vertex/install-on-vmware/vmware-system-requirements.md#zone-tagging) resource for information about zone tags. |
| vSphere | Folder missing or not accessible | The `spectro-templates` folder is missing or not accessible. Ensure the folder exists and the user account used by Palette or VerteX has read access to the folder. The `spectro-templates` folder is used by Palette and VerteX to download OVAs during the install. |

Every 30 seconds, the Validator will continuously re-issue a validation and update the `ValidationResult` CR with the
result of the validation. The validation results are hashed, and result events are only emitted if the result has
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,15 @@ The Palette CLI is available for the following operating systems and architectur

- A Palette account. Click [here](https://console.spectrocloud.com/) to create a Palette account.

- A Palette API key. Refer to the [Create API Key](../user-management/authentication/api-key/create-api-key.md)
- A Palette API key. Refer to the [Create API Key](../../user-management/authentication/api-key/create-api-key.md)
reference page to learn how to create an API key.

- Different Palette CLI commands may require additional prerequisites. Refer to the invividual command reference pages
to learn more about the prerequisites for each command.

## Download and Setup

1. Visit the [Downloads](../spectro-downloads.md#palette-cli) page and download the Palette CLI by using the URL
1. Visit the [Downloads](../../spectro-downloads.md#palette-cli) page and download the Palette CLI by using the URL
provided for your operating system.

2. Open up a terminal session on your local system.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ sidebar_label: "Palette CLI"
title: "Palette CLI"
description: "Learn how to use the Palette CLI."
hide_table_of_contents: false
sidebar_custom_props:
icon: "terminal"
tags: ["palette-cli"]
---

Expand Down
3 changes: 3 additions & 0 deletions docs/docs-content/automation/terraform/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"position": 20
}
Loading