terradart_appwrite

pub: terradart_appwrite Dart SDK License: Apache-2.0

Curated factory wrappers for Appwrite resources (the official appwrite/appwrite Terraform provider) for Dart-first Terraform stacks.

The catalog at the current provider pin is filled (every appwrite_* resource and data source in 2.0.0-beta.1). A later pin that adds names lands on request — open a feature request.

Security & Credentials

Credentials never appear in synth output by design. AppwriteProvider has no API-key parameters; authenticate at apply time via APPWRITE_API_KEY or APPWRITE_ORGANIZATION_API_KEY environment variables.

Installation

dependencies:
  terradart_core: ^0.28.x
  terradart_appwrite: ^0.28.x

Usage example

import 'package:terradart_core/terradart_core.dart';
import 'package:terradart_appwrite/provider.dart';
import 'package:terradart_appwrite/storage.dart';

final class AppwriteInfraStack extends Stack {
  AppwriteInfraStack()
      : super(
          providers: [
            AppwriteProvider(
              endpoint: 'https://cloud.appwrite.io/v1',
              projectId: 'my-project',
            ),
          ],
        ) {
    add(
      AppwriteStorageBucket(
        localName: 'uploads',
        name: TfArg.literal('uploads'),
        maximumFileSize: TfArg.literal(10485760),
      ),
    );
  }
}
// bin/infra.dart
import 'package:my_infra/appwrite_infra_stack.dart';

Future<void> main() async {
  final stack = AppwriteInfraStack();
  await stack.writeTo('tf-out');
}
dart pub get
dart run bin/infra.dart
cd tf-out && terraform init && APPWRITE_API_KEY=... terraform apply

Curated surface

Curated surface is the full appwrite/appwrite 2.0.0-beta.1 catalog: 38 resource factories and 24 data sources across project, proxy, TablesDB, dedicated PostgreSQL / MySQL / Mongo, storage, auth, functions, sites, messaging, webhooks, and backups. Provider pinned exactly at 2.0.0-beta.1 (the provider is beta-maturity). AppwriteProjectKey is import-only (mint in the Console, then terraform import); the quickstart does not create one.

Generated by the maintainer pipeline (terradart wrap against a filtered fixture); do not hand-edit files under lib/src/.

Libraries

auth
Appwrite Auth — users and teams.
backups
Project-level Appwrite backup policies (shared TablesDB / storage).
catalog
Static catalog of all curated terradart_appwrite factories.
data
Read-only Appwrite data sources (no terraform apply side effects).
functions
Appwrite Functions — runtimes, variables, and deployments.
messaging
Appwrite Messaging — providers, topics, and subscribers.
mongo
Dedicated MongoDB databases, backups, and branches.
mysql
Dedicated MySQL databases, backups, branches, and connection pooler.
postgresql
Dedicated PostgreSQL databases, backups, branches, pooler, and extensions.
project
Appwrite projects and project API keys (organization-scoped).
provider
Provider block factory and version constants for appwrite/appwrite.
proxy
Appwrite proxy rules (custom domains for sites and functions).
sites
Appwrite Sites — hosted frontends, variables, and deployments.
storage
Appwrite file storage (buckets and files).
tablesdb
Appwrite TablesDB — shared databases, tables, columns, indexes, and rows.
terradart_appwrite
Curated Appwrite surface for TerraDart (official appwrite/appwrite Terraform provider).
webhooks
Appwrite webhooks.