> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# GreenNode

> Connect GreenNode to inspect IAM, VKS, vLB, vMonitor, and vServer resources and run approved VKS or vServer changes

Connect GreenNode to inspect IAM, VKS, vLB, vMonitor, and vServer resources. CloudThinker can update VKS metadata or start, stop, and reboot a vServer after you approve the change.

## Prerequisites

* A GreenNode client ID and client secret from a service account.
* The GreenNode region containing the resources you want to read: **HCM-3** or **HAN**.
* A project ID for vLB or vServer reads.
* A portal user ID for vServer and block-volume reads or actions.

<Info>
  VKS reads work with **Client ID**, **Client secret**, and **Default region**. vServer and block-volume reads require both **Portal User ID** and **Project ID**. GreenNode does not auto-detect a project.
</Info>

## Setup

<Steps>
  <Step title="Create a GreenNode service account">
    Open [GreenNode IAM → Service accounts](https://iam.console.greennode.ai/service-accounts), then:

    1. Click **Create a Service account**.
    2. Enter a name, such as `cloudthinker`.
    3. In the scope picker, search for `vserver` and select the vServer scopes you need.
    4. Click **Create Service account** in the upper-right corner.
    5. Copy the generated **Client ID** and **Client secret**.
  </Step>

  <Step title="Copy your Portal User ID">
    Open the [GreenNode dashboard](https://dashboard.console.greennode.ai/). In the upper-right corner, click your avatar, then hover over the **Currently signed in as** card.

    The card shows two values:

    * **Account email:** `alice@gmail.com`
    * **Account ID:** `123456`

    Copy the numeric **Account ID** into CloudThinker's **Portal User ID** field. Do not use the account email.
  </Step>

  <Step title="Copy your Project ID when needed">
    In the GreenNode dashboard, open **vServer**, then open **Limit**. Copy **User Project ID** for the project you want CloudThinker to access.
  </Step>

  <Step title="Add the connection">
    In CloudThinker, open **Connections**, choose **GreenNode**, and enter the values in the order below. Click **Connect** and wait for the connection to show **Connected**.
  </Step>
</Steps>

## Connection details

| Field              | Required | Description                                                                                           |
| ------------------ | -------- | ----------------------------------------------------------------------------------------------------- |
| **Client ID**      | Yes      | Service-account client ID.                                                                            |
| **Client secret**  | Yes      | Secret for the client ID.                                                                             |
| **Portal User ID** | Optional | Required with Project ID for vServer and block-volume reads or actions. Use a positive numeric value. |
| **Default region** | Yes      | Select **HCM-3** or **HAN**.                                                                          |
| **Project ID**     | Optional | Required for vLB reads. vServer and block-volume operations also require Portal User ID.              |

<Note>
  The connection does not auto-detect a project. Enter **Project ID** for vLB reads, and enter both IDs for vServer and block-volume operations.
</Note>

## Required permissions

Use a service account with access to the GreenNode resources you want CloudThinker to inspect or manage. The available provider documentation does not specify the exact roles or scopes for each resource type.

<Tip>
  Use credentials limited to the resources this connection needs. CloudThinker asks for approval before every provider change.
</Tip>

## Agent capabilities

| Capability                                  | Required fields                                                          |
| ------------------------------------------- | ------------------------------------------------------------------------ |
| **VKS cluster reads**                       | Client ID, Client secret, and Default region                             |
| **IAM and vMonitor reads**                  | Client ID, Client secret, and Default region                             |
| **vLB reads**                               | Client ID, Client secret, Default region, and Project ID                 |
| **vServer and block-volume reads**          | Client ID, Client secret, Portal User ID, Default region, and Project ID |
| **Approved VKS metadata changes**           | Client ID, Client secret, and Default region                             |
| **Approved vServer start, stop, or reboot** | Client ID, Client secret, Portal User ID, Default region, and Project ID |

### Verify the connection

```text theme={null}
@alex #report list the resources available through my GreenNode connection
```

### Example prompts

```text theme={null}
@alex #report list the resources available through my GreenNode connection
@alex #report list resources in my configured GreenNode project
@alex #report stop the GreenNode server I just identified, and ask me before changing it
```

## Troubleshooting

<Accordion title="The connection says Client ID or Client secret is required">
  Enter both **Client ID** and **Client secret**, then reconnect.
</Accordion>

<Accordion title="The connection says the Default region is invalid">
  Choose **HCM-3** or **HAN** for **Default region**, then reconnect.
</Accordion>

<Accordion title="vLB resources are unavailable">
  Enter **Project ID**, then reconnect.
</Accordion>

<Accordion title="vServer resources are unavailable">
  Enter both **Portal User ID** and **Project ID**, then reconnect.
</Accordion>

<Accordion title="The expected project is unavailable">
  Confirm that **Project ID** identifies the project you want to inspect. GreenNode does not auto-detect a project.
</Accordion>

<Accordion title="The portal user ID is invalid">
  Use a positive numeric value for **Portal User ID**.
</Accordion>

## Security

* **Least privilege** — grant only the permissions the agents need for your use case; start read-only and widen later.
* **Read-only by default** — use read-only credentials unless you want agents to make changes through this connection.
* **Rotate credentials** — rotate keys and tokens on your normal schedule; CloudThinker picks up the new value when you update the connection.
* **Revoke on offboarding** — remove the credential at the provider when you delete a connection or a teammate leaves.

## Related

<CardGroup cols={2}>
  <Card title="Connections" icon="plug" href="/guide/connections/overview">
    See all available provider connections.
  </Card>

  <Card title="Kubernetes Connection" icon="https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/kubernetes.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=7c03292954ff635a1994623a5c39971b" href="/guide/connections/kubernetes" width="24" height="24" data-path="images/icons/kubernetes.svg">
    Connect a Kubernetes cluster directly for workload-level operations.
  </Card>
</CardGroup>
