-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dpcs: PEM-6490 DOC- 1504 Self-Hosted Cloud Credentials (#4921)
* docs: PEM-6490 * docs: apply suggestions from code review Co-authored-by: Lenny Chen <[email protected]> --------- Co-authored-by: Lenny Chen <[email protected]>
- Loading branch information
1 parent
8fb75f8
commit 8809b52
Showing
3 changed files
with
226 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,198 @@ | ||
--- | ||
partial_category: self-hosted | ||
partial_name: cloud-provider-config | ||
--- | ||
|
||
|
||
|
||
When using public cloud providers, {props.edition} automatically downloads the required infrastructure provider images from our public registries to set up a workload cluster. | ||
For example, if you want to deploy an AWS cluster, {props.edition} downloads the required Amazon Machine Image (AMI) that contains the desired Operation System (OS) and Kubernetes binaries specified in the cluster profile. | ||
The exception to this is when you are using a custom image, in which case you must provide the image yourself through the Bring Your Own OS (BYOOS) <VersionedLink text="workflow" url="/byoos/image-builder/" />. | ||
|
||
In the event you need to enable new cloud providers, or rotate the credentials used to access our infrastructure provider images, you can do so through the [System API](https://docs.spectrocloud.com/api/v1/system/). | ||
Use the following steps to modify the cloud provider configuration for your self-hosted {props.edition} instance. | ||
|
||
## Prerequisites | ||
|
||
- System administrator permissions, either a Root Administrator or Operations Administrator. Refer to the | ||
<PaletteVertexUrlMapper | ||
edition={props.edition} | ||
text="System Administrators" | ||
url="/system-management/account-management" | ||
/> page to learn more about system administrator roles. | ||
|
||
- You need cloud credentials from us to download the required infrastructure provider images. Reach out to our support team at [[email protected]](mailto:[email protected]) to obtain these credentials. | ||
|
||
- `curl` or similar tool to make API requests. | ||
|
||
## Update Cloud Provider Configuration | ||
|
||
1. Open a terminal session. | ||
|
||
|
||
2. Log in to the {props.edition} System API by using the `/v1/auth/syslogin` endpoint. Use the curl command below and replace the `example.com` placeholder URL with the URL of your {props.edition} instance. | ||
Ensure you replace the credentials below with your system console credentials. | ||
|
||
```shell | ||
TOKEN=$(curl --insecure --location 'https://example.com/v1/auth/syslogin' \ | ||
--header 'Content-Type: application/json' \ | ||
--data '{ | ||
"password": "**********", | ||
"username": "**********" | ||
}') | ||
``` | ||
|
||
The response will contain the authentication token that you will use in the next request. | ||
|
||
|
||
3. Next, prepare a payload for the cloud provider you want to enable or update. Select the tab for details on the expected payload for each cloud provider. | ||
|
||
Replace the placeholders in the payload below with the configuration values provided by our support team. | ||
|
||
<!-- prettier-ignore --> | ||
|
||
<Tabs groupId="provider"> | ||
<TabItem value="Azure" label="Azure"> | ||
|
||
|
||
|
||
```json | ||
CONFIG_JSON=$(cat <<EOF | ||
{ | ||
"clientId": "**************", | ||
"clientSecret": "**************", | ||
"tenantId": "**************", | ||
"subscriptionId": "**************", | ||
"storage": { | ||
"accessKey": "**************", | ||
"storageName": "**************", | ||
"container": "**************" | ||
} | ||
} | ||
EOF | ||
) | ||
``` | ||
</TabItem> | ||
<TabItem value="AWS" label="AWS"> | ||
|
||
|
||
|
||
```json | ||
CONFIG_JSON=$(cat <<EOF | ||
{ | ||
"accessKey": "**************", | ||
"secretKey": "**************" | ||
} | ||
EOF | ||
) | ||
``` | ||
</TabItem> | ||
<TabItem value="GCP" label="GCP"> | ||
|
||
|
||
|
||
```json | ||
CONFIG_JSON=$(cat <<EOF | ||
{ | ||
"jsonCredentials": "**************" | ||
} | ||
EOF | ||
) | ||
``` | ||
</TabItem> | ||
|
||
</Tabs> | ||
|
||
4. Use the `/v1/system/config/:provider/account` endpoint to update the cloud provider configuration. Select the tab for the cloud provider you want to update and issue the corresponding curl command. Replace the `example.com` placeholder URL with the URL of your {props.edition} instance. | ||
|
||
<!-- prettier-ignore --> | ||
|
||
<Tabs groupId="provider"> | ||
<TabItem value="Azure" label="Azure"> | ||
|
||
```shell | ||
curl --insecure --request PUT --location 'https://example.com/v1/system/config/azure/account' \ | ||
--header "Authorization: $TOKEN" \ | ||
--header 'Content-Type: application/json' \ | ||
--data "$CONFIG_JSON" | ||
``` | ||
</TabItem> | ||
<TabItem value="AWS" label="AWS"> | ||
|
||
```shell | ||
curl --insecure --request PUT --location 'https://vertex.example.com/v1/system/config/aws/account' \ | ||
--header "Authorization: $TOKEN" \ | ||
--header 'Content-Type: application/json' \ | ||
--data "$CONFIG_JSON" | ||
``` | ||
</TabItem> | ||
<TabItem value="GCP" label="GCP"> | ||
|
||
```shell | ||
curl --insecure --request PUT --location 'https://vertex.example.com/v1/system/config/gcp/account' \ | ||
--header "Authorization: $TOKEN" \ | ||
--header 'Content-Type: application/json' \ | ||
--data "$CONFIG_JSON" | ||
``` | ||
</TabItem> | ||
|
||
</Tabs> | ||
|
||
|
||
You have successfully updated the cloud provider configuration for your self-hosted {props.edition} instance. | ||
|
||
|
||
## Validate | ||
|
||
Use the following steps to validate the cloud provider configuration update. | ||
|
||
1. Open a terminal session. | ||
|
||
|
||
2. Log in to the {props.edition} System API by using the `/v1/auth/syslogin` endpoint. Use the curl command below and replace the `example.com` placeholder URL with the URL of your {props.edition} instance. | ||
Ensure you replace the credentials below with your system console credentials. | ||
|
||
```shell | ||
TOKEN=$(curl --insecure --location 'https://example.com/v1/auth/syslogin' \ | ||
--header 'Content-Type: application/json' \ | ||
--data '{ | ||
"password": "**********", | ||
"username": "**********" | ||
}') | ||
``` | ||
|
||
The response will contain the authentication token that you will use in the next request. | ||
|
||
3. Use the `/v1/system/config/:provider/account` endpoint to get the cloud provider configuration. Select the tab for the cloud provider you want to update and issue the corresponding curl command. Replace the `example.com` placeholder URL with the URL of your {props.edition} instance. | ||
|
||
<!-- prettier-ignore --> | ||
|
||
<Tabs groupId="provider"> | ||
<TabItem value="Azure" label="Azure"> | ||
|
||
```shell | ||
curl --insecure --request GET --location 'https://example.com/v1/system/config/azure/account' \ | ||
--header "Authorization: $TOKEN" \ | ||
--header 'Content-Type: application/json' | ||
``` | ||
</TabItem> | ||
<TabItem value="AWS" label="AWS"> | ||
|
||
```shell | ||
curl --insecure --request GET --location 'https://vertex.example.com/v1/system/config/aws/account' \ | ||
--header "Authorization: $TOKEN" \ | ||
--header 'Content-Type: application/json' | ||
``` | ||
</TabItem> | ||
<TabItem value="GCP" label="GCP"> | ||
|
||
```shell | ||
curl --insecure --request GET --location 'https://vertex.example.com/v1/system/config/gcp/account' \ | ||
--header "Authorization: $TOKEN" \ | ||
--header 'Content-Type: application/json' | ||
``` | ||
</TabItem> | ||
|
||
</Tabs> | ||
|
||
4. The response will contain the cloud provider configuration details. Verify that the configuration values match the values you provided in the payload. |
14 changes: 14 additions & 0 deletions
14
docs/docs-content/enterprise-version/system-management/change-cloud-config.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
--- | ||
sidebar_label: "Modify Cloud Provider Configuration" | ||
title: "Modify Cloud Provider Configuration" | ||
description: "Learn how to modify the system-level cloud provider configuration in Palette VerteX." | ||
icon: "" | ||
hide_table_of_contents: false | ||
sidebar_position: 130 | ||
tags: ["vertex", "management", "clouds"] | ||
keywords: ["self-hosted", "vertex"] | ||
--- | ||
|
||
import ConfigProvider from "../../../../_partials/self-hosted/_cloud-provider-config.mdx"; | ||
|
||
<ConfigProvider name="cloud-provider-config" edition="Palette" /> |
14 changes: 14 additions & 0 deletions
14
docs/docs-content/vertex/system-management/change-cloud-config.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
--- | ||
sidebar_label: "Modify Cloud Provider Configuration" | ||
title: "Modify Cloud Provider Configuration" | ||
description: "Learn how to modify the system-level cloud provider configuration in Palette VerteX." | ||
icon: "" | ||
hide_table_of_contents: false | ||
sidebar_position: 130 | ||
tags: ["vertex", "management", "clouds"] | ||
keywords: ["self-hosted", "vertex"] | ||
--- | ||
|
||
import ConfigProvider from "../../../../_partials/self-hosted/_cloud-provider-config.mdx"; | ||
|
||
<ConfigProvider name="cloud-provider-config" edition="VerteX" /> |