> ## Documentation Index
> Fetch the complete documentation index at: https://controlplanecorporation-majid-surface-own-hardware-deployme.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Location

> Where workloads run — built-in cloud regions across AWS, GCP, Azure, and Oracle Cloud, plus your own bare metal, on-premises, or data center hardware registered as a BYOK location.

## Overview

A location is where a [workload](/concepts/workload) runs. Locations come from two places: the built-in cloud regions listed below, and [your own hardware](#running-in-your-own-data-center) registered as a location.

Built-in locations are the available geographical locations for cloud providers including:

* Amazon Web Services (AWS)
* Google Cloud Platform (GCP)
* Microsoft Azure
* Oracle Cloud Infrastructure (OCI)

Locations are scoped to an [org](/reference/org) and the [org](/reference/org) administrator can turn off/on the locations that are permitted when configuring a [GVC](/reference/gvc).

By default, all locations are enabled. If a location is disabled, any [workloads](/concepts/workload) within that location will be removed. Further, if a location is enabled, all [workloads](/concepts/workload) will be provisioned to that location.

<Note>
  If a company is restricted for legal or compliance reasons to only use certain cloud providers, disabling those providers will ensure that workloads will not be deployed to those providers.
</Note>

## Locations

Control Plane can enable any cloud provider location.

If a location is not shown, please email [support@controlplane.com](mailto:support@controlplane.com) with the provider and location and it will be provisioned.

## Running in your own data center

Locations are not limited to public cloud regions. A bare-metal server in a data center or colo, on-premises virtual machines, or instances in a private cloud can be registered as a location and deployed to exactly like `aws-us-east-1`. Workloads configured for that location are managed by Control Plane and roll out onto your own hardware.

If you already run a Kubernetes cluster, register it with [CPLN BYOK](/byok/overview). If you have servers but no cluster, the [Managed Kubernetes Generic provider](/mk8s/generic) turns any Linux server — regardless of vendor — into a cluster worker node first. For the end-to-end walkthrough, see [Deploy a Workload to Your Own Hardware](/guides/deploy-to-your-own-hardware).

### Custom Locations

CPLN Platform (BYOK) enables you to add new locations by registering your own Kubernetes clusters as locations in the Control Plane platform.
For a guide on how to create new BYOK locations and further details, [refer to the BYOK documentation](/byok/overview).

## Built-in Tags

Each location has the following built-in [tags](/core/misc#tags):

* `cpln/city=VALUE`
* `cpln/country=VALUE`
* `cpln/continent=VALUE`

## Public IPs

The list of public IPs for each cloud provider and region can be obtained from the following:

* Console UI: The `Locations` page. Select the location to display the IP ranges.
* CLI: Using the command [cpln location get -o json](/cli-reference/commands/location) will list the IPs in the `ipRanges` property. The output can also be formatted in YAML by using the flag `-o yaml-slim`.
* API: Using the `location` endpoint. View the [location API endpoints](/api-reference/location/get-all-locations). The `ipRanges` property will contain the list of SIPs.

<Tip>
  The list of IPs may be required by external services that restrict the IPs allowed to call them.

  The IPs may change when underlying infrastructure changes. Therefore, Control Plane recommends the automation of querying the location API for changes. In case of changes, the automation should re-configure external services' allowed IP address list.
</Tip>

## Permissions

The permissions below are used to define [policies](/reference/policy) together with one or more of the four [principal types](/concepts/access-control):

| Permission | Description                              | Implies                         |
| :--------- | :--------------------------------------- | :------------------------------ |
| create     | Create new locations                     |                                 |
| edit       | Modify existing locations                | view                            |
| manage     | Full access                              | create, edit, manage, use, view |
| use        | Use this location for workload placement | view                            |
| view       | Read-only access                         |                                 |

## Access Report

Displays the permissions granted to principals for the location.

## CLI

To view the CLI documentation for locations, see the [Location CLI reference](/cli-reference/commands/location).
