# Using Constellation via Cloud Marketplaces

Constellation is available through the Marketplaces of Azure and GCP. This allows you to create self-managed Constellation clusters that are billed on a pay-per-use basis (hourly, per vCPU) with your CSP account. You can still get direct support by Edgeless Systems. For more information, please [contact us](https://www.edgeless.systems/enterprise-support/).

This document explains how to run Constellation with the dynamically billed cloud marketplace images.

## Azure

On Azure, Constellation has a private marketplace plan. Please [contact us](https://www.edgeless.systems/enterprise-support/) to gain access.

To use a marketplace image, you need to accept the marketplace image's terms once for your subscription with the [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/vm/image/terms?view=azure-cli-latest):

```bash
az vm image terms accept --publisher edgelesssystems --offer constellation --plan constellation
```

Then, enable the use of marketplace images in your Constellation `constellation-conf.yaml` [config file](../workflows/config.md):

```bash
yq eval -i ".provider.azure.useMarketplaceImage = true" constellation-conf.yaml
```

Ensure that the cluster uses an official release image version (i.e., `.image=vX.Y.Z` in the `constellation-conf.yaml` file).

From there, you can proceed with the [cluster creation](../workflows/create.md) as usual.

## GCP

On GCP, to use a marketplace image, ensure that the account is entitled to use marketplace images by Edgeless Systems by accepting the terms through the [web portal](https://console.cloud.google.com/marketplace/vm/config/edgeless-systems-public/constellation).

Then, enable the use of marketplace images in your Constellation `constellation-conf.yaml` [config file](../workflows/config.md):

```bash
yq eval -i ".provider.gcp.useMarketplaceImage = true" constellation-conf.yaml
```

Ensure that the cluster uses an official release image version (i.e., `.image=vX.Y.Z` in the `constellation-conf.yaml` file).

From there, you can proceed with the [cluster creation](../workflows/create.md) as usual.
