Skip to content

Commit

Permalink
docs: document Crossplane PAD-82 (#2713) (#2793)
Browse files Browse the repository at this point in the history
* docs: create new automation section, crossplane page, crossplane aws guide

* docs: add crossplane azure guide

* docs: add gcp crossplane guide, fix indentation

* docs: move palette cli under automation, fix broken links

* docs: fix more palette cli broken links

* docs: fix more broken links

* docs: add redirects, add crossplane to vale, apply vale and Tyler suggestions

* docs: address suggestions

* Apply suggestions from code review



* docs: apply more suggestions from review

* docs: more review suggestions

* docs: fix palette cli link

---------

Co-authored-by: Yuliia Horbenko <[email protected]>
  • Loading branch information
caroldelwing and yuliiiah authored May 8, 2024
1 parent 0d24b03 commit b52bd2a
Show file tree
Hide file tree
Showing 23 changed files with 1,910 additions and 93 deletions.
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
}
28 changes: 28 additions & 0 deletions docs/docs-content/automation/automation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
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 for tools essential in automating tasks with Palette:

- Palette CLI - Enables users to interact with Palette and create and manage resources, such as projects, virtual
clusters, and more. The Palette CLI is the primary method for installing a
[self-hosted Palette](../enterprise-version/enterprise-version.md) instance and deploying a Private Cloud Gateway.

- Palette Terraform Provider - Allows users to use [Terraform](https://www.terraform.io) for automating the deployment
and management of Palette resources such as cluster profiles, cloud accounts, clusters, and more.

- Palette Crossplane Provider - It allows users to use [Crossplane](https://docs.crossplane.io/v1.15/) to provision and
manage Palette resources through standard Kubernetes APIs.

## Resources

- [Palette CLI](./palette-cli/palette-cli.md)
- [Palette Terraform Provider](./terraform/terraform.md)
- [Palette Crossplane Provider](./crossplane/crossplane.md)
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
}
39 changes: 39 additions & 0 deletions docs/docs-content/automation/crossplane/crossplane.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
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
[Crossplane](https://www.crossplane.io/). Crossplane transforms Kubernetes clusters into universal control planes,
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
resources as native Kubernetes objects. Because they are Kubernetes objects, you can interact with them using standard
commands like `kubectl describe`. When users create a managed resource, Crossplane interacts with the infrastructure
provider API to 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.

Refer to the [Palette Provider](https://marketplace.upbound.io/providers/crossplane-contrib/provider-palette/v0.12.0)
page for a complete list of managed resources and examples.

## Get Started

For examples of end-to-end cluster provisioning with Crossplane, review the following guides:

- [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)

## Resources

- [Crossplane Documentation](https://docs.crossplane.io/latest/)

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions docs/docs-content/automation/palette-cli/_category_.json
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 @@ -21,7 +21,7 @@ The complete list of subcommands is:

- `pde` - Palette Developer Experience.

# Global Flags
## Global Flags

Palette CLI supports the following global flags.

Expand Down Expand Up @@ -62,9 +62,9 @@ Use this command to change the target cluster group commands will target. You ca
### `login`

Use this command to authenticate with Palette. This command requires a
[Palette API key](../user-management/user-management.md#user-login). The `login` command has no subcommands but exposes
a set of flags to help you log in to the correct Palette environment and scope. The following CLI flags are available
for the `login` command.
[Palette API key](../../user-management/user-authentication.md). The `login` command has no subcommands but exposes a
set of flags to help you log in to the correct Palette environment and scope. The following CLI flags are available for
the `login` command.

<br />

Expand Down
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 @@ -7,20 +7,20 @@ sidebar_position: 0
tags: ["palette-cli"]
---

# Installation
## Installation

Use the following steps to install and set up the Palette CLI.

## Prerequisites

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

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

## 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.

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
}
53 changes: 53 additions & 0 deletions docs/docs-content/automation/terraform/terraform.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
sidebar_label: "Terraform"
title: "Terraform"
description: "Learn how to use Terraform with Palette and Palette VerteX."
hide_table_of_contents: false
sidebar_position: 0
tags: ["terraform"]
---

Palette supports the Infrastructure as Code (IaC) software tool, [Terraform](https://www.terraform.io/), to provide
consistent CLI workflow support to multiple cloud providers.

Terraform organizes cloud APIs into declarative configuration files, allowing users to define their infrastructure as
code. Terraform validates configuration files and checks whether the execution plan for a configuration matches
expectations before deployment, and applies the changes to managed resources accordingly.

## Spectro Cloud Provider

Palette and Palette VerteX API can be used with the Spectro Cloud Terraform provider. The provider is available in the
HashiCorp Terraform registry as the
[Spectro Cloud Provider](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs).

### Release Notes

Information about the latest changes in the Spectro Cloud provider can be found in the
[release notes](https://github.com/spectrocloud/terraform-provider-spectrocloud/releases).

### Provider Documentation

Detailed documentation on supported data sources and resources are available in the Terraform Spectro Cloud Provider
[documentation](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs) page.

### Modules

Two modules are available to help you provision Spectro Cloud infrastructure resources.

- [Palette Edge Native Terraform Module](https://registry.terraform.io/modules/spectrocloud/edge/spectrocloud/latest)
- [Spectro Cloud Terraform Modules](https://registry.terraform.io/modules/spectrocloud/modules/spectrocloud/latest)

Refer to the
[Spectro Cloud Modules](https://github.com/spectrocloud/terraform-spectrocloud-modules#module-resources--requirements)
README file to learn more about supported provider versions and other essential requirements.

## Get Started

For an end-to-end cluster provisioning example, refer to the
[Deploy a Cluster](../../clusters/public-cloud/deploy-k8s-cluster.md) tutorial and the
[end-to-end examples](https://github.com/spectrocloud/terraform-provider-spectrocloud/tree/main/examples/e2e) available
in the Spectro Cloud Terraform Provider GitHub repository.

## Resources

- [Terraform Documentation](https://developer.hashicorp.com/terraform/docs)
4 changes: 2 additions & 2 deletions docs/docs-content/devx/devx.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,8 @@ programmatically using PDE.

:::tip

Check out the Palette CLI [install guide](../palette-cli/install-palette-cli.md) for more information on how to install
and configure the CLI.
Check out the Palette CLI [install guide](../automation/palette-cli/install-palette-cli.md) for more information on how
to install and configure the CLI.

:::

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ the data from the quick start mode is migrated to the enterprise cluster as part

## Resources

- [Palette CLI](../../../palette-cli/install-palette-cli.md)
- [Palette CLI](../../../automation/palette-cli/install-palette-cli.md)

- [Airgap Install Instructions](airgap-instructions.md)

Expand Down
3 changes: 0 additions & 3 deletions docs/docs-content/palette-cli/_category_.json

This file was deleted.

11 changes: 6 additions & 5 deletions docs/docs-content/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,8 @@ documentation.

- PDE now has a Command Line Interface (CLI) that you can use for programmatic access to PDE resources. Users can
perform actions such as create, list, delete, resize, pause, and resume virtual cluster. You can also download the
kubeconfig file of a virtual cluster with the CLI. Refer to the [Palette CLI](palette-cli/install-palette-cli.md)
documentation page to learn more.
kubeconfig file of a virtual cluster with the CLI. Refer to the
[Palette CLI](automation/palette-cli/install-palette-cli.md) documentation page to learn more.

### Improvements

Expand Down Expand Up @@ -572,10 +572,10 @@ Spectro Cloud Palette 3.0.0 is released with [Native Edge](clusters/edge/edge.md
- The Kubernetes Packs for [Edge Native](clusters/edge/architecture.md) deployments disable a few items by default to
allow users to install those items independently or to avoid duplication.

- The latest Palette Terraform releases, [Module 0.4.1 and Module 0.10.1](terraform.md), support:
- The latest Palette Terraform releases, [Module 0.4.1 and Module 0.10.1](automation/terraform/terraform.md), support:
- Native Edge clusters
- Palette Virtual Clusters
- Fixes towards [Enhancements](terraform.md)
- Fixes towards [Enhancements](automation/terraform/terraform.md)

**Packs and Integrations**

Expand Down Expand Up @@ -628,7 +628,8 @@ Export of Profiles, Terraform Releases, and many exciting enhancements.
projects, and tenants.
- Palette customers can now provision the fully conformant Kubernetes distribution [RKE2](./integrations/rke2.md)
focusing on security and compliance.
- The latest Palette Terraform releases, [Module 0.2.3 and Module 0.3.0](./terraform.md#modules), focus on:
- The latest Palette Terraform releases, [Module 0.2.3 and Module 0.3.0](./automation/terraform/terraform.md#modules),
focus on:
- Cluster resource tagging
- Static placement of AKS clusters
- VMware cloud-type support of Terraform modules
Expand Down
2 changes: 1 addition & 1 deletion docs/docs-content/spectro-downloads.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ lifecycle management of Kubernetes clusters in private cloud environments direct
## Palette CLI

The Palette Command Line Interface (CLI) is a tool that you can use to interact with Palette programmatically. Check out
the [Palette CLI](./palette-cli/palette-cli.md) document for installation guidance.
the [Palette CLI](./automation/palette-cli/palette-cli.md) document for installation guidance.

| Version | Operating System | Checksum (SHA256) |
| ------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
Expand Down
69 changes: 0 additions & 69 deletions docs/docs-content/terraform.md

This file was deleted.

19 changes: 19 additions & 0 deletions redirects.js
Original file line number Diff line number Diff line change
Expand Up @@ -364,6 +364,25 @@ const redirects = [
from: "/projects/",
to: "/tenant-settings/projects/",
},
{
from: "/terraform/",
to: "/automation/terraform/",
},

{
from: "/palette-cli/",
to: "/automation/palette-cli/",
},

{
from: "/palette-cli/install-palette-cli/",
to: "/automation/palette-cli/install-palette-cli/",
},

{
from: "/palette-cli/commands/",
to: "/automation/palette-cli/commands/",
},
];

module.exports = redirects;
4 changes: 2 additions & 2 deletions src/components/IconMapper/dynamicFontAwesomeImports.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { faCubes } from '@fortawesome/free-solid-svg-icons';
import { faTerminal } 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';
Expand All @@ -12,7 +13,6 @@ import { faPalette } from '@fortawesome/free-solid-svg-icons';
import { faBook } from '@fortawesome/free-solid-svg-icons';
import { faBookmark } from '@fortawesome/free-solid-svg-icons';
import { faGavel } from '@fortawesome/free-solid-svg-icons';
import { faTerminal } from '@fortawesome/free-solid-svg-icons';
import { faTowerObservation } from '@fortawesome/free-solid-svg-icons';
import { faLock } from '@fortawesome/free-solid-svg-icons';
import { faGears } from '@fortawesome/free-solid-svg-icons';
Expand All @@ -21,6 +21,7 @@ import { faEyeSlash } from '@fortawesome/free-solid-svg-icons';

export const fontAwesomeIcons = {
"cubes": faCubes,
"terminal": faTerminal,
"person-walking-luggage": faPersonWalkingLuggage,
"object-group": faObjectGroup,
"envelope-open-text": faEnvelopeOpenText,
Expand All @@ -34,7 +35,6 @@ export const fontAwesomeIcons = {
"book": faBook,
"bookmark": faBookmark,
"gavel": faGavel,
"terminal": faTerminal,
"tower-observation": faTowerObservation,
"lock": faLock,
"gears": faGears,
Expand Down
Loading

0 comments on commit b52bd2a

Please sign in to comment.