Vitaliy Kukharik/autobase: Release 2.0.0

Name: autobase

Owner: Vitaliy Kukharik

Release: Release 2.0 (Clouds and UI)

Released: 2024-08-18

License: MIT

Release Assets:

We are excited to announce the release of version 2.0 🎉 , a major update that brings significant new features to the postgresql_cluster project:

  • This release introduces the capability to deploy PostgreSQL clusters across various cloud providers, including AWS, GCP, Azure, DigitalOcean, and Hetzner Cloud.
  • Additionally, we’ve developed a User Interface (UI) - PostgreSQL Cluster Console, designed to streamline the deployment process, making it easier than ever to set up your clusters.

image

With this release, postgresql_cluster will automatically configure the following:

  1. A virtual machine (with a dedicated data disk), with all cluster components installed and configured.
  2. A cloud load balancer to serve as the entry point for database connections.
  3. A storage bucket, and configured backups using pgBackRest.

🙏 A special thanks to @gslabs-dev for his contribution, @Rainbrand for developing the UI, and @ngurban for the API development.

Inspiration: We drew inspiration from the designs of Google Cloud Console, Aiven for PostgreSQL, and Postgres.AI, which greatly influenced our approach.

🔭 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 feature, please consider becoming a sponsor.

New features

  • Provision of resources in a popular cloud providers for PostgreSQL cluster deployment by @vitabaks in https://github.com/vitabaks/postgresql_cluster/pull/464
  • PostgreSQL Cluster Console (UI/API) by @gslabs-dev in https://github.com/vitabaks/postgresql_cluster/pull/667
  • Docker image 'vitabaks/postgresql_cluster'
    • includes repository code, ansible, and all necessary dependencies.
  • New roles:
    • authorized-keys
      • These SSH public keys will be added to the server's ~/.ssh/authorized_keys file.
      • variable: ssh_public_keys (optional, default '')
    • mount
      • Configure mount points in /etc/fstab and mount the file system
      • variables: mount (optional, default ''), pg_data_mount_path (default '/pgdata'), pg_data_mount_fstype (default 'ext4')
      • Note: an empty disk will be automatically detected for cloud providers.
      • ZFS pool will be created if 'zfs' specified in the mount.fstype variable.
  • Automatically generate passwords (if not defined) for: patroni_superuser_password, patroni_replication_password, patroni_restapi_password, pgbouncer_auth_password.
  • install perf, FlameGraph and postgres dbgsym/debuginfo packages
    • variable install_perf, default 'false'
  • Extension Auto-Setup
    • This feature simplifies the integration and configuration process for PostgreSQL third-party extensions. This automated approach eliminates the need for manual configuration, allowing users to seamlessly integrate PostgreSQL extensions. To activate the "Extension Auto-Setup", specify the enable_<extension_name>=true variable.
    • List of extensions: timescaledb, citus, pg_repack, pg_cron, pgaudit, pgvector, postgis, pgrouting, pg_stat_kcache, pg_wait_sampling, pg_partman
  • Add the ability to execute pre and post-deploy command
    • Variables: pre_deploy_command, post_deploy_command
    • This can be a direct command, a bash script content, or a path to a script on the host.

Other changes

New Contributors

Full Changelog: https://github.com/vitabaks/postgresql_cluster/compare/1.11.0...2.0.0

To top