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

# Terms

> Key terminology for the Control Plane platform including kinds, items, context, org/GVC scoping, and resource links.

## Kind

Each object in Control Plane belongs to a kind. Kinds are the fundamental resources you create, manage, and connect, such as `Workload`, `VolumeSet`, `Agent`, and `Service Account`.

Each instance of a kind is referred to as an `item` in the platform. The Control Plane API powers all clients, including the Terraform provider, Pulumi provider, Console UI, and `cpln` CLI. API requests usually act on one item or multiple items.

## Context

All clients work better within a context, which is a pair of an `org` item and a `gvc` item. Context makes it easier for clients to refer to items within an org or [GVC](/reference/gvc).

Some kinds are scoped to a GVC, while others are scoped to an org. `Workload`, `Identity`, and `VolumeSet` kinds are scoped under a GVC. All other kinds are scoped under an org.

## Links

Each `item` is accessible by its link. This URL-like address is an essential part of the platform. There are two ways to structure an item link, which is called a `selfLink`: `fullLink` and `relativeLink`. When a kind is scoped to a GVC, its relative link must include the GVC name.

<Note>A relative link relies on the `context` set in the client being used.</Note>

The following examples show org-scoped and GVC-scoped item links.

| Kind     | Item Name  | Full Link                                | Relative Link                   |
| -------- | ---------- | ---------------------------------------- | ------------------------------- |
| Org      | myorg      | /org/myorg                               | NA                              |
| Secret   | mysecret   | /org/myorg/secret/mysecret               | //secret/mysecret               |
| GVC      | mygvc      | /org/myorg/gvc/mygvc                     | //gvc/mygvc                     |
| Workload | myworkload | /org/myorg/gvc/mygvc/workload/myworkload | //gvc/mygvc/workload/myworkload |

## Clients

There are multiple ways to use the platform, referred to as `clients`. Examples include the Console UI, Control Plane API, `cpln` CLI, Terraform provider, and Pulumi provider.

## Containers

Refer to the [Kubernetes containers](https://kubernetes.io/docs/concepts/containers/) concepts page.

## Grafana Alerts

Alerts can be created from the org's Grafana instance. Refer to these [instructions](https://grafana.com/docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-grafana-managed-rule/) on how to create a Grafana managed alert.

### Built-in Alert Rules

The Grafana instance accessed from the `Metrics` link of your workload includes several automatically provisioned objects, including built-in alert rules. These rules can send notifications to one or more preferred contact points, such as email. By default, notifications for these alerts are disabled. To receive notifications, add a contact point. For details, see the Grafana [contact point documentation](https://grafana.com/docs/grafana/latest/alerting/fundamentals/notifications/contact-points/).

You can find the built-in alert rules in your Grafana instance under `Alerts` > `Alert rules`:

* `container-restarts`

  * This alert triggers if any of your workloads restart repeatedly. Specifically, it activates if the Control Plane custom metric `container_restarts` exceeds 1 within a 5 minute period.

* `stuck-deployments`

  * This alert triggers if any of your deployments are stuck.
  * It checks for multiple container restarts within specific groups (GVC and workload). If any group exceeds one restart in the last 15 minutes, it triggers an alert.

To edit or create new alerts, go to the `Alerts` > `Alert rules` section in your Grafana instance.

If you edit built-in alerts, your changes will be saved. However, if you delete any built-in alerts, they will be recreated automatically the next time you log in to Grafana.

To disable built-in alerts, edit the corresponding alert rule and turn on the `Pause evaluation` toggle in the alert editing view.

## Public IPs

The list of public IPs for each cloud provider and region can be obtained.

<Tabs>
  <Tab title="Console UI">
    Navigate to the `Locations` list page from the main navigation bar.
    Select a location to view the IP ranges listed on the `Info` page.
  </Tab>

  <Tab title="CLI">
    Use the command below to view the IP ranges of all locations.

    ```bash theme={null}
    cpln location get -o json
    ```

    The output can also be formatted as YAML by using the flag `-o yaml` instead of `-o json`.

    To view a single location, replace `{locationName}` with a valid location name in the command below.

    ```bash theme={null}
    cpln location get {locationName} -o json
    ```

    See the [CLI location command reference](/cli-reference/commands/location) for more details.
  </Tab>

  <Tab title="API">
    The location list endpoint and location-specific endpoint return the location object with the `ipRanges` property.

    See the [Get All Locations API endpoint](/api-reference/location/get-all-locations) for details.
  </Tab>
</Tabs>

<Tip>
  The list of IPs may be required by external services that restrict which IPs are allowed to access them.

  The IPs may change when underlying infrastructure changes. Control Plane recommends automating location API checks and updating external services' allowed IP address lists when changes occur.
</Tip>

## Workload Deployment Errors

* `Error: exitCode: 1 message: standard_init_linux.go:228: exec user process caused: exec format error`
  * The configured image was built for the incorrect platform. Control Plane requires the image target `amd64`. Refer to the [Push an Image Guide](/guides/push-image#step-2-build-a-new-image-using-docker-and-a-dockerfile-optional) for additional details.
