1
0
mirror of synced 2026-10-23 07:08:55 +03:00
Files
pgadmin4/docs/en_US/cloud_pgedge_starfleet.rst
Dave Page a4bdcff7dc Add pgEdge Starfleet to the cloud deployment wizard. (#10499)
* Add a pgEdge Starfleet API client for cloud deployment.

* Add a pgacloud provider for pgEdge Starfleet.

* Add the pgEdge Starfleet cloud deployment blueprint.

* Return the generated pgEdge Starfleet password once on deployment and allow saving it.

* Add pgEdge Starfleet to the Deploy Cloud Instance wizard.

* Test the Starfleet password is fetched once and validate the save request body.

* Show the generated pgEdge Starfleet password once after deployment.

* Document pgEdge Starfleet cloud deployment.

* Show the Starfleet password dialog at most once per job and handle copy failures.

* Wait for the Starfleet instance schema before rendering its form.

The schema is built after an asynchronous client IP lookup, but SchemaView
takes its initial data from the first schema it receives, so mounting it
early left the deployment type unset and hid the managed-only fields.

* Keep the Starfleet token for each deployment job until it completes.

The wizard clears its cloud session as soon as the deployment starts, so
the token was gone by the time the job finished and the generated
password could never be fetched. Copy the token for the job when it is
started, read the password with that copy, and discard it on completion.

* Show the reason a cloud deployment failed.

pgacloud prints the provider's error as JSON before it exits, but the
failure path ignored it, so the user saw only a generic process failure
whilst the server quietly vanished from the tree. Pass the message
through update_server and show it once per job as a plain-text error.

* Keep the cloud deployment failure message until it is dismissed.

* Explain an empty Starfleet BYOC cluster list.

* Wait for Starfleet connection details before finishing a deployment.

* Handle malformed Starfleet responses without a server error.

* Clear the Starfleet PostgreSQL version when the deployment type changes.

* Show the Starfleet size label in the deployment summary.

* Stop logging the values of a background process's environment.

* Use the official pgEdge logo for the Starfleet provider.

* Only mount the selected provider's credentials form in the cloud wizard.

* Require HTTPS and handle malformed pgEdge Starfleet responses.

Addresses CodeRabbit review on #10499: the API client refuses a non-HTTPS
URL before sending credentials, a 2xx body that is not JSON or lacks an
access token raises StarfleetError, and the provider and credential check
report an unexpected response shape instead of failing with a traceback.

* Reject an empty or non-string pgEdge Starfleet access token.

* Note that the pgEdge Starfleet API URL must use HTTPS.

* Add screenshots to the pgEdge Starfleet deployment documentation.

* Update the cloud provider screenshot to include pgEdge Starfleet.

* Remove pgEdge Starfleet BYOC support from the cloud deployment wizard.

Only Managed databases are now offered, so the Deployment type selector,
the cluster list, the BYOC PostgreSQL version list and the BYOC capability
probe are gone, along with the --kind and --cluster-id options of
pgacloud's starfleet create-instance command.

* Regenerate the Starfleet instance and review screenshots without the deployment type.

* Retry transient pgEdge Starfleet polling errors and write job tokens through.

A network error, rate limit or server error whilst waiting for a new
database no longer ends the deployment, leaving the database running in
Starfleet but removed from pgAdmin; polling now retries until its
deadline, failing at once only on other client errors.

The job's copy of the access token is now written to the session store
immediately, so a status poll handled by another worker can still fetch
the generated password.

* Write the pgEdge Starfleet wizard token through, and warn that a failed deployment may leave the database behind.
2026-10-12 14:28:49 +01:00

4.1 KiB

pgEdge Starfleet Deployment

To deploy a PostgreSQL database on pgEdge Starfleet, follow the steps below. pgAdmin creates a Managed database, which Starfleet hosts for you.

Cloud Deployment Provider

Once you launch the tool, select the pgEdge Starfleet option and click on the Next button to proceed.

pgEdge Starfleet credentials

In the Credentials step, enter the Auth ID and Auth secret of a Starfleet API client. pgAdmin checks them with Starfleet when you click Next.

Note

Create the API client in the pgEdge Starfleet console, under Settings > API Clients. The Auth secret is shown only when the client is created, so keep a copy of it. See the pgEdge Starfleet documentation for details.

pgEdge Starfleet instance specification

Use the fields from the Instance Specification step to specify the database details.

  • Use the Database name field to name the database. The name may contain lowercase letters and digits only, must start with a letter, and can be up to 50 characters long.
  • Use the Display name field to optionally set a friendlier name, up to 25 characters long.
  • Select the location to deploy the database to from the Region field.
  • Use the Size field to select the size of the database.
  • Use the PostgreSQL version field to select the PostgreSQL version.
  • Use the Allowed IP addresses field to list the IPv4 addresses or CIDR ranges that may connect to the database, separated by commas. The field is prefilled with your public IP address. At least one and at most 50 entries are required; IPv6 addresses are not accepted. Without a matching entry the database will not accept connections from pgAdmin.
  • Use the Connect as field to choose whether pgAdmin connects as admin (the database administrator, which is not a superuser) or app (an application user).

pgEdge Starfleet database details

In the Database Details step, use the pgAdmin server group field to select the server group the new server will be registered in.

pgEdge Starfleet review

Finally, review the summary in the Review step and click Finish to start the deployment. The progress of the deployment is shown in the same way as for the other cloud providers, and the new server is added to the Object Explorer when the database is available. pgAdmin connects with sslmode set to require and gssencmode set to disable.

If the deployment fails after the database has been created, for example because pgEdge Starfleet reports it as failed or it does not become available within 30 minutes, pgAdmin removes the server from the Object Explorer but does not delete the database. Check the pgEdge Starfleet console, and delete the database there if it is not needed.

pgEdge Starfleet database password

pgEdge Starfleet generates the database password. When the deployment finishes, pgAdmin shows it once in the pgEdge Starfleet database password dialog, together with the host and user name.

  • Use the Copy button to copy the password to the clipboard.
  • Use the Save password button to save the password with the server. This button is only shown if saving passwords is permitted by the ALLOW_SAVE_PASSWORD <config_py> setting.

The password is not shown again in pgAdmin after the dialog is closed. If you lose it, reset it from the pgEdge Starfleet console.

Note

pgAdmin contacts the Starfleet API at the address given by the STARFLEET_API_URL configuration setting, which defaults to https://api.pgedge.com. The address must use HTTPS.