How databasifylabs/databasify works
Databasify is a self-hosted DBaaS control plane for creating and operating database servers and clusters. The main workflow is to provision a server, create a database and its nodes, then expose it through hostnames and TLS; operators can subsequently manage accounts, pools, monitoring, failover, recovery and upgrades. The app also integrates with infrastructure providers, DNS, object storage and pluggable engines. The README documents these capabilities, while the excerpts show parts of the storage-provider workflow and database flow scheduling; many other runtime links are not sampled, so those links are omitted or marked unverified.
Main entry points: Database.php Database state · Lifecycle Database lifecycle · Databases Database controllers · Nodes Cluster nodes
Components 29
Control plane
- Database UI
resources/js/app.tsx - Database controllers
app/Http/Controllers/Databases - Database listing
app/Queries/Databases/DatabaseQuery.php
Database operations
- Database state
app/Models/Database.php - Database lifecycle
app/Actions/Databases/Lifecycle - Cluster nodes
app/Actions/Databases/Nodes - Operation flows
app/Actions/Databases/Flows/StartFlow.php - Flow worker
app/Jobs/Databases/AdvanceDatabaseFlow.php - Accounts and pools
app/Actions/Databases/Accounts - Failover
app/Actions/Databases/Failover - Metrics and alerts
app/Actions/Databases/Monitoring - Migrations
app/Jobs/Databases/RunMigrationJob.php - Maintenance and upgrades
app/Actions/Databases/Upgrades
Engine integration
- Engine catalog
app/Engines/EngineCatalog.php - Engine protocol
app/Engines/Payload.php
Infrastructure integrations
- Server provisioning
app/Actions/Servers - Provider provisioning
app/Actions/Providers - Domains and TLS
app/Actions/Databases/Domains
Recovery storage
- Point-in-time recovery
app/Models/PointInTimeRecovery.php - Storage management
app/Http/Controllers/Storage/StorageProviderController.php - Storage provider actions
app/Actions/Storage/UpdateStorageProvider.php - Storage providers
app/Models/StorageProvider.php - Bucket access check
app/Actions/Storage/CheckStorageAccess.php - S3 client
app/Services/Storage/S3.php
Other components
- Operator
- Database engines
- Cloud providers
- DNS providers
- S3-compatible storage
Connections 27
- Operator → Database UI: operates
- Database UI → Database controllers: requests
- Database controllers → Database listing: lists databases
- Database listing → Database state: queries
app/Queries/Databases/DatabaseQuery.php - Database controllers → Database lifecycle: manages
- Database lifecycle → Database state: updates state
- Database lifecycle → Cluster nodes: provisions nodes
- Cluster nodes → Server provisioning: uses servers
- Server provisioning → Cloud providers: provisions on
README.md - Database lifecycle → Operation flows: starts flow
- Operation flows → Flow worker: dispatches
app/Actions/Databases/Flows/StartFlow.php - Cluster nodes → Database engines: runs engines
README.md - Engine catalog → Database engines: describes engines
README.md - Accounts and pools → Database state: manages accounts
- Domains and TLS → DNS providers: publishes records
README.md - Domains and TLS → Database state: configures hostnames
- Failover → Database state: promotes nodes
- Metrics and alerts → Database state: records metrics
- Migrations → Database engines: migrates databases
README.md - Maintenance and upgrades → Database state: maintains
app/Actions/Databases/Upgrades/FindUnsupportedSdkDatabases.php - Point-in-time recovery → Storage providers: uses provider
app/Models/PointInTimeRecovery.php - Storage management → Storage provider actions: invokes actions
app/Http/Controllers/Storage/StorageProviderController.php - Storage management → Storage providers: reads providers
app/Http/Controllers/Storage/StorageProviderController.php - Storage provider actions → Bucket access check: checks access
app/Actions/Storage/UpdateStorageProvider.php - Bucket access check → S3 client: tests bucket
app/Actions/Storage/CheckStorageAccess.php - Storage providers → S3-compatible storage: connects to
- Engine catalog → Engine protocol: builds engine data