Skip to content

Nextended.Aspire.Hosting.Supabase — API-Referenz

🇬🇧 This page in English

Die vollständige öffentliche Oberfläche von Nextended.Aspire.Hosting.Supabase, erzeugt aus der gebauten Assembly.

Generiert

Diese Seite wird von tools/ApiRef aus der kompilierten Assembly erzeugt — sie zeigt auch Member ohne XML-Kommentar und kann daher nicht vom Code abweichen. Nicht von Hand bearbeiten.

Zurück zur Paketseite

Nextended.Aspire.Hosting.Observability

ObservabilityStack

static class

Supabase-aware entry point for the observability stack. The stack itself (Grafana, Prometheus, Loki, Promtail, cAdvisor, Tempo, OTel-Collector, postgres_exporter) lives in the Nextended.Aspire.Hosting.Grafana package — see ObservabilityStackExtensions for the generic options-based overload and GrafanaBuilderExtensions for the fluent piecemeal API.

Nextended.Aspire.Hosting.Supabase.Builders

AuthBuilderExtensions

static class

Provides extension methods for configuring the Supabase Auth (GoTrue).

DatabaseBuilderExtensions

static class

Provides extension methods for configuring the Supabase Database (PostgreSQL).

EdgeRuntimeBuilderExtensions

static class

Provides extension methods for configuring the Supabase Edge Runtime.

EnvironmentReferenceExtensions

static class

Keine Beschreibung.

KongBuilderExtensions

static class

Provides extension methods for configuring the Supabase Kong API Gateway.

MetaBuilderExtensions

static class

Provides extension methods for configuring the Supabase Postgres-Meta service.

MinioOnNfsStorageExtensions

static class

Durable object storage for supabase-storage on Azure Container Apps, via a bundled MinIO (S3) server backed by the persistent Azure Files NFS share. supabase-storage's FILE backend cannot run durably on ACA: the only persistent volume ACA can mount is Azure Files, and SMB rejects the backend's open flags (EINVAL) while NFS 4.1 has no extended attributes (xattr -> ENOTSUP), which the FILE backend requires for object metadata. So instead we run MinIO on the NFS share (MinIO keeps its metadata in its own xl.meta files — no xattr) and switch supabase-storage to the S3 backend pointing at it. This wires (publish only): 1. a MinIO container, mounting the NFS env-storage named nfsEnvStorageName (created by PersistentNfsStorageExtensions.AddSupabaseNfsStorage — pass the SAME name) at /data, internal-only S3 ingress on :9000, pinned to a single writer, 2. a one-shot mc init container that waits for MinIO and creates the bucket (idempotent), 3. StorageS3Backend pointing the storage container at MinIO. MinIO/mc are public images, so ACA pulls them directly (no local build/push, unaffected by the docker registry push path). NOTE: MinIO discourages network filesystems for large clusters, but a single-node single-drive instance on NFS is fine for this low-traffic app.

PersistentNfsStorageExtensions

static class

Persistent file storage for the Supabase storage container on Azure Container Apps. supabase-storage uses the local FILE backend. Azure Files SMB is incompatible with it (EINVAL on the backend's open flags) and ephemeral disk loses uploads on every restart. The only Azure-native, in-region, POSIX option that works is an Azure Files NFS share — which is only reachable from a VNet. This wires, entirely in code (all in the ACA environment's own bicep module so the resources cross-reference directly): 1. a VNet + a subnet delegated to the ACA managed environment (+ a Microsoft.Storage service endpoint), and the env's VnetConfiguration pointing at that subnet, 2. a Premium FileStorage account with an NFS file share, locked to the subnet (NFS is unencrypted, so Azure only allows it network-isolated), 3. a managedEnvironmentStorage (NfsAzureFile) on the ACA environment, named nfsEnvStorageName. Consumers mount that env-storage by name — either the storage container itself (via PersistentStorageVolumeName; note Azure Files NFS has no xattr, which the FILE backend needs) or a MinIO fronting it (see MinioOnNfsStorageExtensions). Files survive restarts and redeploys. NOTE: VNet/subnet are built with Azure.Provisioning.Network directly rather than Aspire's experimental AddSubnet — the latter emits an invalid fully-qualified child name (BCP170).

RestBuilderExtensions

static class

Provides extension methods for configuring the Supabase REST API (PostgREST).

StorageBuilderExtensions

static class

Provides extension methods for configuring the Supabase Storage API.

StudioBuilderExtensions

static class

Provides extension methods for configuring the Supabase Studio Dashboard. Note: The SupabaseStackResource IS the Studio container, so these methods configure the stack directly.

SupabaseBuilderExtensions

static class

Provides the main extension method for adding Supabase to an Aspire application.

Eigenschaften

  • PersistentStorageVolumeName : string { get; set; }
    Optional name of a managedEnvironmentStorage (e.g. an NFS Azure Files share) to mount at the storage container's backend path (/var/lib/storage) in publish mode, so uploaded files persist across restarts/redeploys. This is a generic Supabase-storage concern — the HOST app owns creating the actual storage resource and just sets this name here. When null/empty, publish mode falls back to ephemeral container-local storage.
  • PostgresDataVolumeName : string { get; set; }
    Optional name of a managedEnvironmentStorage (e.g. an NFS Azure Files share) to mount at the PostgreSQL data directory (/var/lib/postgresql/data) in publish mode, so the whole database survives container restarts/redeploys. Without it the ACA database is ephemeral (a restart wipes ALL data). This is a generic Supabase concern — the HOST app owns creating the actual storage resource and just sets this name here. When null/empty, publish mode stays ephemeral. NOTE: PostgreSQL requires POSIX semantics (fsync/locking), so the backing share must be Azure Files NFS (Premium), never SMB; the DB container is pinned to a single replica.
  • StorageS3Backend : SupabaseStorageS3Options { get; set; }
    Optional S3-compatible backend for the storage container (publish mode). When set, the storage container runs with STORAGE_BACKEND=s3 against this endpoint instead of the local FILE backend. This is a generic Supabase-storage concern: supabase-storage's FILE backend needs a local POSIX disk WITH extended attributes, which Azure Files can't provide (SMB rejects its open flags; NFS 4.1 has no xattr) — so a durable container-apps deploy needs an S3-compatible store. The HOST app owns the S3 server (e.g. a bundled MinIO), its bucket and credentials, and just points this at it. When null, the FILE backend is used (see PersistentStorageVolumeName / local bind mount).

SupabaseReferenceExtensions

static class

Extension methods for referencing Supabase from client projects.

SupabaseStackExtensions

static class

Provides extension methods for the SupabaseStackResource.

SupabaseStorageS3Options

class

Keine Beschreibung.

Konstruktoren

  • SupabaseStorageS3Options()

Eigenschaften

  • AccessKey : string { get; set; }
  • Bucket : string { get; set; }
  • ForcePathStyle : bool { get; set; }
  • Region : string { get; set; }
  • SecretKey : string { get; set; }

Nextended.Aspire.Hosting.Supabase.Client

SupabaseClientExtensions

static class

Extension methods for adding Supabase client to service projects.

SupabaseClientSettings

class

Settings for configuring a Supabase client connection.

Konstruktoren

  • SupabaseClientSettings()

Eigenschaften

  • AutoConnectRealtime : bool { get; set; }
    Whether to automatically connect to Realtime on initialization. Default: true
  • AutoRefreshToken : bool { get; set; }
    Whether to automatically refresh the token. Default: true
  • Headers : Dictionary<string, string> { get; set; }
    Custom headers to include in requests.
  • Key : string { get; set; }
    The Supabase API key (anon/public key for client-side, service role key for server-side).
  • PersistSession : bool { get; set; }
    Whether to persist the session. Default: true
  • Url : string { get; set; }
    The Supabase URL (e.g., https://xxx.supabase.co or http://localhost:8000 for local).

Nextended.Aspire.Hosting.Supabase.Config

ISupabaseFullSyncInfo

interface

Keine Beschreibung.

Eigenschaften

  • DbPassword : string { get; }
  • ManagementToken : string { get; }

ISupabaseReferenceInfo

interface

Keine Beschreibung.

Methoden

  • GetApiUrl() : string

Eigenschaften

  • ProjectRefId : string { get; }
  • ServiceKey : string { get; }

Nextended.Aspire.Hosting.Supabase.Resources

RegisteredUser

class

Represents a registered development user.

Konstruktoren

  • RegisteredUser(string Email, string Password, string DisplayName)
    Represents a registered development user.

Eigenschaften

  • DisplayName : string { get; set; }
  • Email : string { get; set; }
  • Password : string { get; set; }

SupabaseAuthResource

class

Represents a Supabase GoTrue authentication container resource.

Konstruktoren

  • SupabaseAuthResource(string name)
    Creates a new instance of the SupabaseAuthResource.

Eigenschaften

  • AnonymousUsersEnabled : bool { get; }
    Gets or sets whether anonymous users are enabled.
  • AutoConfirm : bool { get; }
    Gets or sets whether email auto-confirmation is enabled.
  • DisableSignup : bool { get; }
    Gets or sets whether signup is disabled.
  • JwtExpiration : int { get; }
    Gets or sets the JWT expiration time in seconds.
  • SiteUrl : string { get; }
    Gets or sets the site URL for authentication redirects.

SupabaseDatabaseResource

class

Represents a Supabase PostgreSQL database container resource.

Konstruktoren

  • SupabaseDatabaseResource(string name)
    Creates a new instance of the SupabaseDatabaseResource.

Eigenschaften

  • ExternalPort : int { get; }
    Gets or sets the external port for PostgreSQL connections.
  • Password : string { get; }
    Gets or sets the database password.

SupabaseEdgeRuntimeResource

class

Represents a Supabase Edge Runtime container resource for Edge Functions.

Konstruktoren

  • SupabaseEdgeRuntimeResource(string name)
    Creates a new instance of the SupabaseEdgeRuntimeResource.

Eigenschaften

  • FunctionNames : List<string> { get; }
    Gets the list of function names available in this runtime.
  • FunctionsPath : string { get; }
    Gets or sets the path to the edge functions directory.
  • Port : int { get; }
    Gets or sets the internal port for the edge runtime.

SupabaseKongResource

class

Represents a Supabase Kong API Gateway container resource.

Konstruktoren

  • SupabaseKongResource(string name)
    Creates a new instance of the SupabaseKongResource.

Eigenschaften

  • ExternalPort : int { get; }
    Gets or sets the external port for the API gateway.
  • Plugins : string[] { get; }
    Gets or sets the Kong plugins to enable.

SupabaseMetaResource

class

Represents a Supabase Postgres-Meta container resource.

Konstruktoren

  • SupabaseMetaResource(string name)
    Creates a new instance of the SupabaseMetaResource.

Eigenschaften

  • Port : int { get; }
    Gets or sets the internal port for the meta service.

SupabaseRealtimeResource

class

Represents a Supabase Realtime container resource.

Konstruktoren

  • SupabaseRealtimeResource(string name)
    Creates a new instance of the SupabaseRealtimeResource.

Eigenschaften

  • Port : int { get; }
    Gets or sets the port the Realtime service listens on.

SupabaseRestResource

class

Represents a Supabase PostgREST container resource.

Konstruktoren

  • SupabaseRestResource(string name)
    Creates a new instance of the SupabaseRestResource.

Eigenschaften

  • AnonRole : string { get; }
    Gets or sets the anonymous role name.
  • Schemas : string[] { get; }
    Gets or sets the database schemas to expose.

SupabaseStackResource

class

Represents a complete Supabase stack resource containing all sub-services. This resource IS the Studio Dashboard container and serves as the visual parent for all other Supabase containers in the Aspire dashboard.

Konstruktoren

  • SupabaseStackResource(string name)
    Creates a new instance of the SupabaseStackResource.

Methoden

  • GetApiUrl() : string
  • GetPostgresConnectionString() : string
  • GetStudioUrl() : string

Eigenschaften

  • AnonKey : string { get; }
    Gets the Anon Key for client-side authentication.
  • JwtSecret : string { get; }
    Gets or sets the JWT secret used for token signing.
  • ProjectRefId : string { get; }
  • ServiceKey : string { get; }
  • ServiceRoleKey : string { get; }
    Gets the Service Role Key for server-side authentication.
  • UsesExternalDatabase : bool { get; }
    True when the caller passed their own Postgres resource to AddSupabase (external mode); the stack then owns no database container and Database is null.

SupabaseStorageResource

class

Represents a Supabase Storage API container resource.

Konstruktoren

  • SupabaseStorageResource(string name)
    Creates a new instance of the SupabaseStorageResource.

Eigenschaften

  • Backend : string { get; }
    Gets or sets the storage backend type.
  • EnableImageTransformation : bool { get; }
    Gets or sets whether image transformation is enabled.
  • FileSizeLimit : long { get; }
    Gets or sets the maximum file size limit in bytes.

Nextended.Aspire.Hosting.Supabase.Sync

ProjectSyncExtensions

static class

Provides extension methods for project synchronization.

SyncOptions

enum

Specifies what to synchronize from an online Supabase project.

Werte

  • All
    Everything - complete sync of all database objects, data, storage, and Edge Functions. Requires database password and Management API token for Edge Functions.
  • AllSchema
    All schema-related options (Schema, Policies, Functions, Triggers, Types, Views, Indexes). Requires database password.
  • AllStorage
    All storage-related options (StorageBuckets, StorageFiles).
  • Data
    Sync table data.
  • EdgeFunctions
    Sync Edge Functions from the remote project. Requires Supabase Management API token (personal access token from Dashboard → Account → Access Tokens).
  • Functions
    Sync stored procedures and functions.
  • Indexes
    Sync indexes.
  • None
    No synchronization.
  • Policies
    Sync Row Level Security policies.
  • Schema
    Sync table structures (columns, types, constraints).
  • StorageBuckets
    Sync storage buckets.
  • StorageFiles
    Sync storage files (downloads files from remote storage).
  • Triggers
    Sync database triggers.
  • Types
    Sync custom types and enums.
  • Views
    Sync views.
  • value__

Zurück zur Paketseite