-
-
Notifications
You must be signed in to change notification settings - Fork 415
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(UI) User Interface for installing and managing Postgres clusters #589
Comments
Draft (prototype): PostgreSQL Cluster Console is a web interface designed initially for deployment and later for the management of PostgreSQL clusters. It is packaged in Docker, allowing it to run on various operating systems, whether on a corporate server or a personal laptop. This solution includes a service designed to execute a Docker image, which encapsulates the postgresql_cluster project code. Deployment and management tasks for the clusters are conducted using Ansible. This setup means that the service can launch the required playbook (integrated within the postgresql_cluster container) using the For the design foundation (open to discussion and designer input), we can draw inspiration from the implementation of Google Cloud console. This approach aids in conceptualizing an intuitive and effective user interface. As for the installation interface, we can look to Aiven for PostgreSQL as a model. In this setup, users can choose to deploy their cluster among five cloud providers: "Google Cloud", "AWS", "Azure", "DigitalOcean", and "Hetzner Cloud" (see related PR: #464). Example: https://www.youtube.com/watch?v=tJfQMubaspg In this configuration, users define the deployment region, server type, database disk size, and other parameters. To offer a list of regions, server types, and potentially approximate costs, integration with the APIs of cloud providers is necessary to fetch this data. This information will be converted into appropriate variables (details to be outlined during implementation) and passed to the ansible-playbook command via the An additional deployment method, named "Your Own Machines" is designed for deploying the cluster onto pre-existing servers (in another cloud service or your own data center). Users will input their server details, including IP addresses and login credentials (password or private SSH key) for authorization. This information will be used to prepare an inventory file, which is then passed to the ansible-playbook command to execute the playbooks on the specified servers. |
Would it be possible to integrate pgAdmin? I'm not crazy about docker instances but could be persuaded otherwise if the Google version is better. |
I'm not a fan of pgAdmin, but I think it will be possible to think about adding a simple SQL editor (e.q. pgweb) to the UI interface (in one of the future versions) when elements for managing database clusters are added. In the first implementation, this will primarily be an interface for installing clusters. |
I recently found Ivory which seems to match with many of the listed requirements. Given the maturity of the project it makes sense to consider it an option for including in the project. |
@rcknr Thanks. I'll take a look at this. |
So I just had a look and I have to say that Ivory seems to be exactly what was missing for me to have an overview of the cluster's operations. You have |
We will have something more, we plan to make a (free) analog to cloud managed databases - multi-cloud PostgreSQL Service platform, which includes deployment, management, monitoring, etc. |
Done. Looking ahead, we are planning to enhance the PostgreSQL Cluster Console with features that will enable you to manage your PostgreSQL clusters directly through the UI. If you’re interested in supporting the continued development of this project, please consider becoming a sponsor. |
@vitabaks Could you add a screenshot please? |
Documentation: https://postgresql-cluster.org |
Thanks! Is it possible to add this console to a deployed cluster? |
There is no such button in the UI yet, but I think you can add information about your cluster directly to the Console database (table: clusters, servers). |
Okay, I was able to do that. However, I don't think everything is fully operational because I could not fill out many fields. |
This is planned for one of the future releases. |
Next, add cluster management functionality #754 |
Currently, the process of installing and managing PostgreSQL clusters is conducted through the command line, which can be inconvenient for users who are less familiar with terminal operations. We propose to create a graphical user interface (GUI) that would make the installation and management processes of PostgreSQL clusters more intuitive and accessible.
Objectives:
Anticipated Benefits:
Resource Request:
The implementation of this feature will require resources in the form of fronted and backend developers, testers, as well as PostgreSQL and Ansible specialists to ensure integration and compatibility.
Conclusion:
Introducing a graphical interface for the installation and management of PostgreSQL clusters will significantly improve user experience and make the product accessible to a wider audience. This step could represent a significant enhancement to our project and contribute to its dissemination and popularity.
Consider sponsoring the project via GitHub or Patreon
The text was updated successfully, but these errors were encountered: