Skip to content

Commit

Permalink
docs: DOC-461 Projects Refactor (#2519)
Browse files Browse the repository at this point in the history
* docs: DOC-461

* chore: unlist k8s hub

* Update docs/docs-content/tenant-settings/projects/projects.md

* Optimised images with calibre/image-actions

* Optimised images with calibre/image-actions

* Optimised images with calibre/image-actions

* chore: improve harsh CLS

* Apply suggestions from code review

Co-authored-by: Lenny Chen <[email protected]>

* chore: updated lanaguage

---------

Co-authored-by: vault-token-factory-spectrocloud[bot] <133815545+vault-token-factory-spectrocloud[bot]@users.noreply.github.com>
Co-authored-by: Lenny Chen <[email protected]>
  • Loading branch information
3 people authored Mar 29, 2024
1 parent 94eb2ee commit d19c2b2
Show file tree
Hide file tree
Showing 18 changed files with 190 additions and 10 deletions.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ users to deploy Palette virtual clusters. Downstream consumers can use the clust
[_App Mode_](../../introduction/palette-modes.md#what-is-app-mode).

You can create a cluster group under the Palette [tenant](../../glossary-all.md#tenant) scope. Alternatively, you can
create a cluster group at the [project](../../projects.md) scope.
create a cluster group at the [project](../../tenant-settings/projects/projects.md) scope.

By default, Palette exposes a managed cluster group called _beehive_ that is available for users in app mode. This
cluster group is managed by Palette and falls under the free tier. The beehive cluster group is located in the eastern
Expand Down
8 changes: 4 additions & 4 deletions docs/docs-content/clusters/cluster-management/ssh-keys.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ describes creating and managing SSH Keys in the Palette Management Console.

## Scope of SSH Key

Palette groups clusters for logical separation into [Projects](../../projects.md). Users and teams can be assigned roles
within a project for granular control over permissions within the project scope. SSH key authentication is scoped to a
project. Multiple users can gain access to a single project. To access a cluster with SSH, you need a public SSH key
registered in Palette.
Palette groups clusters for logical separation into [Projects](../../tenant-settings/projects/projects.md). Users and
teams can be assigned roles within a project for granular control over permissions within the project scope. SSH key
authentication is scoped to a project. Multiple users can gain access to a single project. To access a cluster with SSH,
you need a public SSH key registered in Palette.

## Prerequisites

Expand Down
3 changes: 2 additions & 1 deletion docs/docs-content/getting-started/dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ the list below.
1. Projects are used to organize the cluster resources within a logical group. Use the **drop-down Menu** to shift
between projects.

2. The [Project Overview](../projects.md) shows the resource and cost consumption of the selected project.
2. The [Project Overview](../tenant-settings/projects/projects.md) shows the resource and cost consumption of the
selected project.

3. [Cluster profiles](../profiles/cluster-profiles/cluster-profiles.md) are instantiated templates that are created with
pre-configured layers needed for cluster deployments.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ icon: ""
hide_table_of_contents: false
sidebar_position: 0
hiddenFromNav: false
unlisted: true
tags: ["how-to", "k8s-tips"]
---

Expand Down
1 change: 1 addition & 0 deletions docs/docs-content/kubernetes-knowlege-hub/how-to/how-to.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ hide_table_of_contents: false
hiddenFromNav: false
sidebar_custom_props:
icon: "book"
unlisted: true
tags: ["k8s-tips"]
---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ description: "Kubernetes Knowledge Hub Repository"
hide_table_of_contents: true
sidebar_custom_props:
icon: "bookmark"
unlisted: true
---

# Welcome to the Spectro Cloud Knowledge Portal
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ hide_table_of_contents: false
sidebar_position: 0
hiddenFromNav: false
tags: ["tutorial", "k8s-tips"]
unlisted: true
---

# Deploy a Stateless Frontend App with Kubernetes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ hide_table_of_contents: false
hiddenFromNav: false
sidebar_custom_props:
icon: "book"
unlisted: true
---

Learn about core Kubernetes concepts and how you can apply them on Spectro Cloud Palette.
Expand Down
3 changes: 3 additions & 0 deletions docs/docs-content/tenant-settings/projects/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"position": 80
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
sidebar_label: "Create and Manage Projects"
title: "Create and Manage Projects"
description: "Learn how to create and manage projects in Palette."
hide_table_of_contents: false
sidebar_position: 10
tags: ["projects"]
---

Tenant administrators can create and manage projects in Palette. A tenant administrator automatically has access to all
projects within the tenant. You can associate users and teams with a project. Check out the
[Project Association](../../user-management/project-association.md) page to learn more.

## Create a Project

Use the following steps to create a new project.

### Prerequisites

- Tenant admin access.

### Enablement

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

2. Click on the **drop-down Menu** at the top of the page and switch to **Tenant Admin** scope.

3. Navigate to the left **Main Menu** and click on **Projects**.

4. Select the **Create Project** button.

5. Fill out the input fields to create a project. Refer to the table below for more information.

| Field | Description | Required |
| ----------- | ----------------------------------- | -------- |
| Name | The name of the project. | Yes |
| Description | A brief description of the project. | No |
| Tags | Add tags to the project. | No |

6. Click **Confirm** to create the project.

### Validate

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

2. Navigate to **Tenant Admin** and select **Projects**.

Your newly created project is listed along with other existing projects.

## Delete a Project

You can remove projects by using the following steps.

### Prerequisites

- Tenant admin access.

- No active clusters in the project.

:::warning

You can delete projects with force as long as there are no active clusters. Force deleting will eliminate all resources
linked to the project, such as app profiles, cluster profiles, workspaces, audit logs, and custom project settings.
However, if a project has active clusters, you must remove them first before deleting the project.

:::

### Remove Project

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

2. Switch to **Tenant Admin** scope.

3. Navigate to the left **Main Menu** and select **Projects**.

4. Locate the project card for the project you want to remove.

5. Click on the **three-dot Menu** and select **Delete**.

6. A pop-up box will ask you to confirm the action. Confirm the deletion.

### Validate

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

2. Switch to **Tenant Admin** scope.

3. Navigate to the left **Main Menu** and select **Tenant Admin**.

4. From the **Tenant Settings Menu**, select **Projects** .

The project you deleted is no longer displayed or available for interaction.
62 changes: 62 additions & 0 deletions docs/docs-content/tenant-settings/projects/projects.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
sidebar_label: "Projects"
title: "Projects"
description:
"Projects helps you organize the cluster resources into a logical grouping. Learn more about project and how to use
them in Palette."
hide_table_of_contents: false
sidebar_position: 0
tags: ["projects"]
---

A **Project** helps you organize and manage cluster resources. A tenant can have multiple projects. Projects are used to
group resources and manage user access control through Role Based Access Control (RBAC). You can assign users and teams
with specific roles to specific projects.

For example, you can create a project for each team, or create a project for each infrastructure environment. The
flexibility of projects allow you to organize resources in a way that makes sense for your organization.

## Scope

All resources created within a project are scoped to that project and only available to that project.

:::info

Resources created under the tenant scope are available to all projects.

:::

The following resources are scoped to a project by default:

- Alerts
- Application profiles
- Backup locations
- Cloud accounts
- Clusters
- Cluster groups
- Cluster profiles
- Macros
- Platform settings
- SSH keys
- Workspaces

## Project Dashboard

When a user logs in to Palette, the [project dashboard](../../getting-started/dashboard.md) is displayed by default. The
project dashboard displays a map containing all the clusters deployed in the project. A summary of the clusters deployed
in the project, deleted, failed deployments, and the number of clusters pending an update is also displayed.

![A view of a project dashboard](/tenant_settings-projects-dashboard.webp)

## Project ID

Each project is assigned a unique ID when it is created. The project ID is used to identify the project when making API
requests.

You can find the project ID in the top-right corner of the project dashboard.

![A project ID highlighted in the project dashboard view](/tenant_settings-projects-projects-project_id.webp)

## Resources

- [Create a Project](./create-manage-projects.md)
8 changes: 7 additions & 1 deletion docs/docs-content/tenant-settings/tenant-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@ To learn more about the permissions and privileges available to the tenant role,

:::

## Projects

A **Project** helps you organize the clusters and cluster resources in a logical grouping. The resources that are
created within a project are scoped to that project and not available to other projects. You can also assign users and
teams with specific roles to specific projects. Check out the [Projects](./projects/projects.md) page to learn more.

Use the following resources to become familiar with the available tenant settings and how to change the tenant settings.

## Resources
Expand All @@ -32,4 +38,4 @@ Use the following resources to become familiar with the available tenant setting

- [Login Banner](login-banner.md)

<br />
- [Projects](./projects/projects.md)
3 changes: 2 additions & 1 deletion docs/docs-content/user-management/project-association.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ To associate a user or team with a project, use the following steps.

- Tenant Admin access.

- An available project. Check out the [Create a Project](../projects.md) guide to learn how to create a project.
- An available project. Check out the [Create a Project](../tenant-settings/projects/create-manage-projects.md) guide to
learn how to create a project.

- A user or a team.

Expand Down
4 changes: 4 additions & 0 deletions redirects.js
Original file line number Diff line number Diff line change
Expand Up @@ -396,6 +396,10 @@ const redirects = [
from: "/clusters/public-cloud/azure/gateways",
to: "/clusters/pcg/",
},
{
from: "/projects",
to: "/tenant-settings/projects/",
},
];

module.exports = redirects;
10 changes: 8 additions & 2 deletions src/components/ReleaseNotesVersions/ReleaseNotesVersions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import Select, { components, OptionProps } from "react-select";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faArrowUpRightFromSquare } from "@fortawesome/free-solid-svg-icons";
import useIsBrowser from "@docusaurus/useIsBrowser";
import Link from "@docusaurus/Link";

interface VersionOption {
label: string;
Expand Down Expand Up @@ -109,8 +110,13 @@ export function ReleaseNotesVersions(): JSX.Element | null {
}),
};

if (isExternal) {
return null;
if (!isExternal) {
return (
<Admonition type="tip">
To learn more about the latest features and product changes, check out the most recent
<Link href="https://docs.spectrocloud.com/release-notes"> Palette release notes.</Link>.
</Admonition>
);
} else {
return (
<Admonition type="tip">
Expand Down
Binary file not shown.
Binary file not shown.

0 comments on commit d19c2b2

Please sign in to comment.