Files
toallab-automation/roles/supabase/meta/argument_specs.yml

134 lines
5.0 KiB
YAML

---
argument_specs:
main:
short_description: Deploy Supabase on OpenShift via the supabase-community Helm chart
description:
- Deploys the full Supabase stack (Studio, Kong, Auth, REST, Realtime, Storage,
Meta, Analytics, Functions, ImgProxy, Vector) to an OpenShift cluster.
- All secrets are created as Kubernetes Secrets and referenced via secretRef
so secret material never appears in Helm values.
- OpenShift SCCs are granted before the Helm install so pods start with
correct permissions (anyuid for postgres, privileged for vector).
- An OCP Route with edge TLS termination is created, backed by a cert-manager
Certificate against the configured ClusterIssuer.
- >-
Vault variables (vault_supabase_*) must be defined in host_vars before running.
Generate JWT values at https://supabase.com/docs/guides/self-hosting/docker
Generate secrets with openssl rand -base64 64
options:
supabase_release_name:
description: Helm release name.
type: str
default: supabase
supabase_namespace:
description: Kubernetes namespace for all Supabase resources.
type: str
default: supabase
supabase_chart_repo_url:
description: URL of the supabase-community Helm chart repository.
type: str
default: https://supabase-community.github.io/supabase-kubernetes
supabase_chart_version:
description: Chart version to install. Empty string means latest.
type: str
default: ""
supabase_studio_host:
description: >-
FQDN for the Studio dashboard and Kong API gateway Route.
Defaults to supabase.apps.<cluster>.<domain>.
type: str
supabase_tls_cluster_issuer:
description: cert-manager ClusterIssuer name for TLS certificate provisioning.
type: str
default: ""
supabase_storage_class:
description: StorageClass name for all PersistentVolumeClaims (must support ReadWriteOnce).
type: str
default: ""
supabase_db_storage_size:
description: Size of the PostgreSQL PVC.
type: str
default: 10Gi
supabase_functions_storage_size:
description: Size of the Edge Functions PVC.
type: str
default: 1Gi
supabase_imgproxy_storage_size:
description: Size of the ImgProxy PVC.
type: str
default: 1Gi
supabase_minio_storage_size:
description: Size of the MinIO (object storage) PVC.
type: str
default: 20Gi
supabase_db_name:
description: PostgreSQL database name.
type: str
default: postgres
supabase_org_name:
description: Default organisation name shown in Supabase Studio.
type: str
default: ""
supabase_project_name:
description: Default project name shown in Supabase Studio.
type: str
default: ""
supabase_smtp_enabled:
description: >-
Enable SMTP for auth email. When false, auto-confirm is enabled so
sign-ups do not require email verification.
type: bool
default: false
supabase_smtp_host:
description: SMTP server hostname.
type: str
default: ""
supabase_smtp_port:
description: SMTP server port.
type: int
default: 587
supabase_smtp_admin_email:
description: Admin email address used as From header.
type: str
default: ""
supabase_smtp_sender_name:
description: Display name used in outgoing email.
type: str
default: Supabase
supabase_db_fullname:
description: >-
fullnameOverride for the db component. Determines the ServiceAccount
name that receives the anyuid SCC — must match deployment.db.fullnameOverride
passed to the chart.
type: str
default: supabase-db
supabase_kong_fullname:
description: >-
fullnameOverride for the kong component. Determines the Service name
that the OCP Route targets.
type: str
default: supabase-kong
supabase_vector_fullname:
description: >-
fullnameOverride for the vector component. Determines the ServiceAccount
name that receives the privileged SCC.
type: str
default: supabase-vector
supabase_db_external_host:
description: >-
External hostname or IP used in the postgres_url written to Vault and
by clients connecting via the NodePort Service. Must be set in host_vars.
type: str
default: ""
supabase_db_nodeport:
description: >-
NodePort assigned for external PostgreSQL access (30000-32767).
Used both when creating the NodePort Service and when constructing the
postgres_url written to Vault.
type: int
default: 30432
supabase_wait_timeout:
description: Seconds to wait for deployments to become ready.
type: int
default: 600