# Quick Deployment

The fastest way to get started with Catalyst Enterprise Self-Hosted is to deploy a region with `diagrid region deploy`. This is ideal for understanding what the platform offers, integrating your applications, and getting familiar with the management experience. Once you're comfortable, plan a production installation with [Production Planning](./production-planning.mdx).

:::note Not a production path

`diagrid region deploy` is best suited for evaluating the platform. For production deployments, follow the [Production Planning](./production-planning.mdx) guidance and adopt a deployment method tailored to your organization's infrastructure, security, and operational requirements.

:::

## Before you begin

1. **Create a Diagrid Cloud account, if you don't have one already.** Sign up for free at  [catalyst.diagrid.io](https://catalyst.diagrid.io).

2. **Install the Diagrid CLI** — see the  [Diagrid CLI overview](https://docs.diagrid.io/references/catalyst/catalyst-cli-intro) , then authenticate:

   ```
   diagrid login
   ```

3. **Install the local prerequisites** below.

## Deploy a Catalyst region

The `diagrid region deploy` command is the fastest path from zero to a connected Catalyst region — it works against a local kind cluster or any existing Kubernetes cluster (EKS, AKS, GKE, or generic).

- Interactive (recommended for first run) — Launches a TUI that walks you through picking a region name and target cluster. Best when you're exploring Catalyst for the first time.
- Non-interactive (scripts & CI) — Skip the TUI and pass a region name plus a target flag. Ideal once you know which cluster you want to use.

`--create-cluster` creates a local kind cluster to deploy into. To target a cluster you already have, pass `--context <kubecontext>` instead — and `--kubeconfig <path>` if the context isn't in your default kubeconfig. Without either flag, the CLI deploys to your current kubecontext.

### What `diagrid region deploy` does

1. **Registers the region** in Diagrid Cloud, or connects to an existing region with the same name.

2. **Prepares the cluster** — creates a local kind cluster if requested, or targets the Kubernetes context you selected.

3. **Detects the cloud provider** (EKS, AKS, GKE, kind, or generic) and configures the gateway `Service` accordingly — a `NodePort` for kind, or a `LoadBalancer` with the right provider annotations for cloud clusters.

4. **Provisions a Diagrid-managed domain** and TLS certificate for the region. This is on by default (`--managed-domain=true`); pass `--managed-domain=false` to bring your own domain and TLS, in which case `--ingress` is required on a cloud cluster.

5. **Installs the Catalyst Helm chart**, or upgrades an existing release in place when re-run against the same cluster.

6. **Waits for the region to connect** and prints the next steps (quickstarts, endpoint URLs) so you can start using it immediately.

:::tip Bring your own Helm values

The defaults generated by `diagrid region deploy` are opinionated toward testing and PoCs. For custom setups, pass `--values-file ./my-values.yaml` to layer your own Helm values on top — see the [Helm Reference](./reference.md) for the full set of options.

:::

### Route projects to your new region

`diagrid region deploy` does **not** mark the new region as the organization default. To use it for new projects, either set it as the org default once, or pass `--region` on each `diagrid project create`:

```bash
# Option A — set as default for the organization (applies to all future projects)
diagrid region use my-region

# Option B — pass --region when creating a project
diagrid project create my-project --region my-region
```

See [Set the organization default region](https://docs.diagrid.io/operate/platform-operations/regions#set-the-organization-default-region) for details.

## Next steps

- [Production Planning](./production-planning.mdx) — size your infrastructure for a production installation.
- [AWS Deployment](./aws-installation-guide.mdx) / [Azure Deployment](./azure-installation-guide.mdx) — reference architectures for deploying on your cloud.
