From 5a43c0d79dbd5b52c1b1bc3522f614b03775a3b7 Mon Sep 17 00:00:00 2001 From: Karl Cardenas <29551334+karl-cardenas-coding@users.noreply.github.com> Date: Mon, 9 Dec 2024 17:01:13 -0700 Subject: [PATCH] docs: BACKPORT CHERRYPICK TESTING (with Carolina) DON'T HATE ME --- .../self-hosted/_cloud-provider-config.mdx | 199 ++++++++++++++++++ 1 file changed, 199 insertions(+) create mode 100644 _partials/self-hosted/_cloud-provider-config.mdx diff --git a/_partials/self-hosted/_cloud-provider-config.mdx b/_partials/self-hosted/_cloud-provider-config.mdx new file mode 100644 index 0000000000..dd19d46fdd --- /dev/null +++ b/_partials/self-hosted/_cloud-provider-config.mdx @@ -0,0 +1,199 @@ +--- +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) . + +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 + 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 [support@spectrocloud.com](mailto:support@spectrocloud.com) 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. + + + + + + + + + ```json + CONFIG_JSON=$(cat < + + + + + ```json + CONFIG_JSON=$(cat < + + + + + ```json + CONFIG_JSON=$(cat < + + + +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. + + + + + + + ```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" + ``` + + + + ```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" + ``` + + + + ```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" + ``` + + + + + +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. + + + + + + + ```shell + curl --insecure --request GET --location 'https://example.com/v1/system/config/azure/account' \ + --header "Authorization: $TOKEN" \ + --header 'Content-Type: application/json' + ``` + + + + ```shell + curl --insecure --request GET --location 'https://vertex.example.com/v1/system/config/aws/account' \ + --header "Authorization: $TOKEN" \ + --header 'Content-Type: application/json' + ``` + + + + ```shell + curl --insecure --request GET --location 'https://vertex.example.com/v1/system/config/gcp/account' \ + --header "Authorization: $TOKEN" \ + --header 'Content-Type: application/json' + ``` + + + + +4. The response will contain the cloud provider configuration details. Verify that the configuration values match the values you provided in the payload. \ No newline at end of file