Skip to content

feat: add DigitalOcean getdatabase and getClusterConfiguration components#3757

Merged
forestileao merged 11 commits intosuperplanehq:mainfrom
WashingtonKK:feat/digitalocean-database-readers
Apr 16, 2026
Merged

feat: add DigitalOcean getdatabase and getClusterConfiguration components#3757
forestileao merged 11 commits intosuperplanehq:mainfrom
WashingtonKK:feat/digitalocean-database-readers

Conversation

@WashingtonKK
Copy link
Copy Markdown
Collaborator

@WashingtonKK WashingtonKK commented Mar 27, 2026

Implements #3736

This expands the DigitalOcean integration by adding the following components:

  • digitalocean.GetDatabase
  • digitalocean.GetDatabaseConfiguration

Note

Medium Risk
Adds new DigitalOcean managed-database API calls and workflow components, plus new resource-listing paths used by configuration pickers; issues would mainly surface as missing/incorrect database metadata or selection options rather than data mutation.

Overview
Adds two new DigitalOcean workflow actions: digitalocean.getDatabase (fetches a named DB and enriches it with cluster info/connection details) and digitalocean.getClusterConfiguration (fetches a cluster’s active config).

Extends the DigitalOcean client with managed database cluster types and endpoints (ListDatabaseClusters, GetDatabaseCluster, ListDatabases, GetDatabase, GetDatabaseClusterConfig), plus setup-time metadata resolution/validation for cluster and database names.

Updates integration resource pickers and UI mappers to support selecting database_cluster/database resources and to render execution details/metadata for the two new components, along with docs, templates, example outputs, and tests.

Reviewed by Cursor Bugbot for commit 896e4aa. Bugbot is set up for automated code reviews on this repo. Configure here.

@superplanehq-integration
Copy link
Copy Markdown

👋 Commands for maintainers:

  • /sp start - Start an ephemeral machine (takes ~30s)
  • /sp stop - Stop a running machine (auto-executed on pr close)

Comment thread web_src/src/pages/workflowv2/mappers/digitalocean/types.ts
Comment thread pkg/integrations/digitalocean/database_metadata.go
Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
@WashingtonKK WashingtonKK force-pushed the feat/digitalocean-database-readers branch from 4f527c4 to 9986eec Compare April 9, 2026 16:49
Comment thread pkg/integrations/digitalocean/database_metadata.go
…ster and database expressions

Updated the logic in `resolveDatabaseMetadata` to allow for cluster and database expressions, ensuring that database API validation is skipped when expressions are present. Added a corresponding test case to verify this behavior.

Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
@AleksandarCole AleksandarCole added the pr:stage-3/3 Ready for full, in-depth, review label Apr 14, 2026
Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
Resolve conflicts from merging main into the DigitalOcean database readers feature branch:

- client.go: keep Database field in DatabaseClusterConnection (needed for database readers) and include new types/functions from main (DatabaseOptionLayout, DatabaseEngineOptions, CreateDatabaseClusterRequest, GetDatabaseOptions, ListDatabaseClusters, CreateDatabaseCluster, GetDatabaseCluster); remove duplicate method declarations
- list_resources.go: keep all resource type cases (database, database_cluster_version, database_cluster_size); remove duplicate listDatabaseClusters function
- list_resources_test.go: keep Test__ListResources__Databases from HEAD; use updated cluster test fixtures from main; include new DatabaseClusterVersions and DatabaseClusterSizes test suites
- database_cluster_metadata.go: remove duplicate resolveDatabaseClusterMetadata (already defined in database_metadata.go with more complete logic including DatabaseName preservation)
- types.ts: keep both DatabaseNodeMetadata/GetDatabaseConfiguration from HEAD and DatabaseClusterNodeMetadata/CreateDatabaseClusterConfiguration/GetDatabaseClusterConfiguration from main
- docs/components/DigitalOcean.mdx: take main's version (will be regenerated via make gen.components.docs after pb.gen)

Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
Comment thread pkg/integrations/digitalocean/database_metadata.go
@WashingtonKK WashingtonKK force-pushed the feat/digitalocean-database-readers branch from 4ac5d7b to 845e629 Compare April 16, 2026 10:31
Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
Copy link
Copy Markdown
Contributor

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit ac19d89. Configure here.

Comment thread web_src/src/pages/workflowv2/mappers/digitalocean/get_database.ts Outdated
Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
@forestileao forestileao merged commit ca578ec into superplanehq:main Apr 16, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr:stage-3/3 Ready for full, in-depth, review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants