terradart_appwrite
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 applyside 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/appwriteTerraform provider). - webhooks
- Appwrite webhooks.