Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
This release is a major overhaul that revises every role in the collection.
It replaces the pgEdge CLI component with standard RPM and DEB packages from
the pgEdge and PGDG package repositories. All local-user installation
semantics are removed in favor of the standard postgres OS user and
system-conventional paths.
This is a breaking change. Clusters deployed with v0.2 cannot be upgraded in place. Re-provision all nodes from scratch before deploying to production.
Added
- New
install_reposrole installs the pgEdge and PGDG package repositories on each node before any software installation takes place. Add this role to all playbooks immediately afterinit_server. (EE-22) custom_hba_rulesparameter accepts a list of custompg_hba.confrules to append to the default rule set.backup_userandbackup_passwordparameters define a dedicated PostgreSQL user withpg_checkpointprivileges for backup operations.backup_repo_userparameter specifies the OS user that owns the PgBackRest repository in SSH backup mode.proxy_portparameter allows HAProxy to run on a pgEdge node by setting a proxy port separate from the PostgreSQL listen port.pgedge_userandpgedge_passwordparameters define the internal user used for node-to-node Spock connections.tls_validity_daysparameter controls the validity period for generated TLS certificates.
Fixed
- Patroni cluster initialization now waits for the primary to become available before performing administrative operations.
Changed
- Switched to pgEdge distro-specific package repositories;
repo_namedefault changed fromdownloadtorelease. (EE-22) - PostgreSQL, etcd, Patroni, and PgBackRest are now installed from system
packages rather than downloaded locally. The
install_baseandcluster_pathparameters are removed. - PostgreSQL now runs as the system
postgresuser. Data and configuration directories follow OS conventions:/var/lib/postgresql/VERSION/mainand/etc/postgresql/VERSION/CLUSTERon Debian;/var/lib/pgsql/VERSION/dataon RHEL. pg_home,pg_path,pg_data, andpg_config_dirare now computed frompg_versionand OS family. Thecluster_path-based path variables are removed.- Default
pg_hba.confrules now use a least-privilege model and only include entries for known user and database combinations. Custom rules can be added viacustom_hba_rules. init_servernow disablesRemoveIPCin systemd-logind, creates thepostgresOS user on nodes that require SSH backup access, and validates configuration before any other tasks run.- Updated default etcd version to 3.6.5.
- Spock extension is now always installed at the latest available version.
- Several parameters previously scattered across role defaults are now
centralized in the
role_configrole.
v0.2.0
Added
- Ability to specify additional HAProxy listeners for specific Patroni node types. (EE-9)
- Restart Postgres in setup_patroni role to activate config changes. (EE-13)
Changed
- Switched to upstream etcd and Patroni releases. (EE-15)
- Set default Spock version to 5.0.
- Set default Postgres version to 17.
v0.1.0
The "real" release.
Added
- Ability to specify multiple database names for subscription management. (EE-12)
- Ability to specify exception_behaviour as parameter. (EE-7)
- Can now specify proxy_node to override automatic haproxy zone target. (EE-3)
Fixed
- Additional retries to circumvent Debian package management locks. (#15)
- replication_user and replication_password actually work now. (EE-14)
- Strip comments from ssh_keyscan output to avoid syntax errors. (#13)
- DDL replication now activates spock.allow_ddl_from_functions. (EE-10)
- Added lock_timeout parameter to all package tasks to avoid failures. (EE-8)
- Added explicit dependency to ansible.utils.ipaddr filter. (EE-1)
Changed
- Renamed db_name role parameter to db_names to list multiple database names. (EE-12)
v0.0.2
Added
- Initial creation and setup roles for pgEdge cluster resources.