# Cloud Services Management

You can manage the environments in Collaboration Server On-Premises using the `Cloud Services Management Panel` or via `Cloud Services Management REST API`.

<a id="cloud-services-management-panel">

## Cloud Services Management Panel

<a id="features">

### Features

The `Cloud Services Management Panel` application can be used to:

* Create, modify, and delete environments.
* Add an access key to an existing environment or remove it.
* Manage webhooks configuration.
* Manage API Secret.
* Check license usage.
* Monitor and debug collaboration documents – session and storage status, action history, and snapshot debug bundles – via the [Document observability hub](observability-hub.md).

<a id="running">

### Running

The `Cloud Services Management Panel` is available at `/panel/`. So if the application is launched on `localhost` on `8000` port, the panel is available at `http://localhost:8000/panel/`.

> **Warning**
>
> If you use SSL connection you may encounter `Mixed content: The page at 'https://you-domain-example.com/panel#/login' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint...` error.\
> In that case, please refer to [Reverse proxy](reverse-proxy.md) section and read more about `X-Forwarded-Proto` header or `APPLICATION_EXTERNAL_ENDPOINT` configuration variable.

<a id="usage">

### Usage

Managing environments through the `Cloud Services Management Panel` is possible immediately after starting the application. You only need to enter the secret on the first screen to allow communication between the panel and the application.

> **Note**
>
> The secret is `ENVIRONMENTS_MANAGEMENT_SECRET_KEY` variable set in the Collaboration Server On-Premises configuration.

After logging in, the first screen with a list of environments with manageability is visible.

Details of each environment with the possibility of configuration changes, key management, etc. are available after entering the selected environment.

<a id="security">

### Security

The secret provided at login is stored for an hour; after this time, you have to enter the secret again. However, the `Cloud Services Management Panel` is built into the application and is available at `/panel/`. That is why we recommend adding authentication to the load balancer level for the panel address.

> **Warning**
>
> Add HTTP Basic Authentication to the load balancer for `/panel/` url.

<a id="cloud-services-management-rest-api">

## Cloud Services Management REST API

<a id="features-2">

### Features

The `Cloud Services Management REST API` contains the same features as the `Cloud Services Management Panel` but does not provide a web interface. However, it can be useful for automating environmental management via scripts.

<a id="running-2">

### Running

The `Cloud Services Management REST API` consists of two APIs. One API is used to manage environments and its documentation can be found at `/environments/docs`. The second, separate API is used to manage the webhooks configuration and documentation can be found at `/webhooks/docs`.

<a id="usage-2">

### Usage

The `Cloud Services Management REST API` can be used immediately after starting the application. However, please note that every request has to have an authorization header.

Read more about authorization in the [Security](#security-2) section.

> **Note**
>
> While creating an environment, you need to specify the services that are supported by the environment. We recommend creating environments with all services. This process is automated in the panel, but the REST API does not have the default values, therefore it requires passing services as well. We recommend adding an environment with the following services enabled: `collaboration`.

> **Note**
>
> An example of creating an environment with services can be found [here](../../examples/on-premises/creating-environment-nodejs.md).

> **Note**
>
> Each API has its documentation in the form of API Explorer. API Explorer presents all versions of the documentation, updated automatically, and includes a useful tool for exploring and testing endpoints. Thanks to this it is possible to use/test endpoints straight from the documentation.

<a id="security-2">

### Security

Each request sent to `Cloud Services Management REST API` should have authorization headers (`X-CS-Signature` and `X-CS-Timestamp`). This is the same algorithm as the one for [restful APIs](../../developer-resources/apis/overview.md) described [here](../../developer-resources/security/request-signature.md).

Check an [example of using the API to create an environment with an authorization header in Node.js](../../examples/on-premises/creating-environment-nodejs.md).

---

Full index of the Cloud Services documentation: [llms.txt](../../../llms.txt)
