postgresql_cluster icon indicating copy to clipboard operation
postgresql_cluster copied to clipboard

Console (UI): Expert mode

Open vitabaks opened this issue 1 year ago • 3 comments

With the release version 2.0, we introduced a Console (UI) that provides an easy way to deploy clusters using a graphical interface. Now we are planning to add Expert Mode to unlock advanced user interface options tailored for experienced users.

Expert mode is disabled by default to provide a simple mode to simplify the user experience and can be enabled (if necessary) on the Settings page.

Image

This mode reveals additional settings and features that allow for precise configuration of clusters, including complex parameter adjustments not visible in the standard mode, including:

1. Custom server type

The ability to specify another server (instance) type that is not represented in the console list (for cloud deployments).

2. Spot instances

The ability to select Spot instances when creating a cluster (for cloud deployments).

image

3. Volume and File System Type

The ability to select volume and file system type when creating a cluster (for cloud deployments).

image

4. Network

The ability to specify a Network/VPC (for cloud deployments).

  • If provided, the server will be added to this network (needs to be created beforehand).

5. DCS

The ability to select the type of DCS (etcd or consul), deploy new servers, or use an already deployed DCS cluster.

image

6. Data directory

The ability to redefine the data directory path.

image

7. Databases

The ability to add databases and users when creating a cluster.

image

8. Connection pools

The ability to configure PgBouncer connection pooler when creating a cluster.

image

9. Extensions

The ability to choosing extensions when creating a cluster.

image

10. Backups

The ability to configure Backups when creating a cluster.

image

11. Postgres and system settings

The ability to configure Postgres and system (kernel) settings when creating a cluster.

image

12. Additional settings

The ability to choosing additional settings when creating a cluster.

image

13. YAML tab

Another function for "Expert Mode" could be to provide a "YAML tab" where all current parameters are displayed in the form of variables. This tab would also allow users to set predefined values for functions that may not have been added to the UI yet but are available through automation capabilities.

[!NOTE] Access to the Figma project with all implementation details will be provided during development.


Consider sponsoring the project via GitHub or Patreon

vitabaks avatar Sep 12 '24 12:09 vitabaks

If you're interested in this feature, please consider becoming a sponsor.

The development of this feature requires sponsorship to fund developer efforts. If you're already a sponsor and are interested in this feature, please leave a comment here so we can prioritize this issue accordingly.

We also welcome contributions from those willing to dedicate their time to implement this feature on a voluntary basis. Please see the Contributing Guide for more information.

vitabaks avatar Sep 12 '24 12:09 vitabaks

Also consider the possibility of managing public access settings:

ssh_public_access: true  # Allow public ssh access (required for deployment from the public network).
ssh_public_allowed_ips: ""  # (comma-separated list of IP addresses in CIDR format) If empty, then public access is allowed for any IP address.
netdata_public_access: true  # Allow access to the Netdata monitoring from the public network (if 'netdata_install' is 'true').
netdata_public_allowed_ips: ""  # (comma-separated list of IP addresses in CIDR format) If empty, then public access is allowed for any IP address.
database_public_access: false  # Allow access to the database from the public network.
database_public_allowed_ips: ""  # (comma-separated list of IP addresses in CIDR format) If empty, then public access is allowed for any IP address.

vitabaks avatar Dec 10 '24 08:12 vitabaks

UPDATE May 2025:

We’re currently looking for more sponsors to help fund frontend development and make these features a reality.

vitabaks avatar May 23 '25 08:05 vitabaks

context: comment

Not sure, but my initial estimation of the stated requirements is $1100 (15-25 hours), pretty much flexible and am fine with a rough estimate of yours, will pretty much need to dive in the code to see what it takes.

abhishek818 avatar Jun 30 '25 17:06 abhishek818

@vitabaks

abhishek818 avatar Jun 30 '25 17:06 abhishek818

@abhishek818 Thanks for the estimate.

I believe it may take more than 25 hours, so it might make sense to move the “YAML tab” into a separate task.

vitabaks avatar Jun 30 '25 18:06 vitabaks