Providers

Connect and manage providers - GCP, AWS, Azure, Cloudflare, DigitalOcean.

Overview

Providers are cloud accounts and services that Relight can deploy to. Each provider supports one or more layers:

Full-stack providers

These can host your entire app end-to-end:

ProviderTypeLayers
GCPgcpapp, db, dns, registry
AWSawsapp, db, dns, registry
Azureazureapp, db, dns, registry

Additional providers

ProviderTypeLayersBest for
Cloudflarecfdns, registryFree DNS and global edge routing. Great as a CDN and DNS layer.
DigitalOceandodb, dnsAffordable managed Postgres databases.
GitHubghcrregistryFree container registry (GHCR).

List providers

relight providers

Shows all configured providers with their type, layers, and which layers they’re the default for.

Add a provider

relight providers add          # interactive - prompts for type
relight providers add gcp      # add GCP directly
relight providers add aws      # add AWS directly
relight providers add azure    # add Azure directly
relight providers add cf       # add Cloudflare directly
relight providers add do       # add DigitalOcean directly
relight providers add ghcr    # add GitHub Container Registry directly

Each provider asks for different credentials:

GCP

  • Service account key - JSON key file for a service account with Cloud Run Admin, Artifact Registry Admin, Cloud SQL Admin, DNS Administrator, Firebase Admin, Firebase Hosting Admin, Logs Viewer, and Monitoring Viewer roles.

AWS

  • Access Key ID and Secret Access Key - for an IAM user with App Runner, ECR, RDS, Route 53, EC2 (read), CloudWatch Logs, and IAM permissions.

Azure

  • Tenant ID, Client ID, Client Secret, Subscription ID - for a registered app with Contributor and AcrPush roles.

Cloudflare

DigitalOcean

  • API Token - from the DigitalOcean control panel. Needs read/write access for Managed Databases and Domains.

GitHub (GHCR)

  • Personal access token - a classic PAT or fine-grained token with write:packages scope. Images are stored at ghcr.io/<owner>/<app>.

Remove a provider

relight providers remove cf

Removes stored credentials. Does not destroy any deployed apps.

Set defaults

Each layer (app, db, dns, registry) has a default provider. When you add the first provider that supports a layer, it becomes the default automatically.

To change the default:

relight providers default app gcp
relight providers default db do
relight providers default dns cf

Named instances

You can register multiple instances of the same type. The first gets the type as its name (e.g. gcp), subsequent ones get a suffix (e.g. gcp-2), or you can name them during setup:

relight providers add gcp    # named "gcp"
relight providers add gcp    # named "gcp-2" (or pick your own name)

This is useful for staging/production accounts, or multiple regions.

Storage

All credentials are stored in ~/.relight/config.json on your machine. They are never sent to any server.