github vitabaks/autobase 2.6.0
Release 2.6.0

6 hours ago

🚀 Autobase 2.6 — Blue/Green Deployment

Major PostgreSQL upgrades no longer have to mean downtime, long maintenance windows, or risky in-place migrations.

Autobase 2.6 introduces a blue-green deployment workflow that allows you to prepare a fully upgraded cluster in advance and switch traffic with near-zero downtime.

blue-green

Instead of upgrading your production cluster directly, you can:

  • deploy a clone of the cluster (Patroni standby cluster),
  • synchronize data using physical replication,
  • automatically upgrade PostgreSQL on the target cluster,
  • convert it into a logical replica,
  • and continue receiving live changes from production until switchover.

When ready — switch traffic in seconds with near-zero downtime!

If needed, rollback is just as fast and without data loss due to reverse logical replication.

New playbooks

  • pg_logical_upgrade — Upgrades the target cluster and converts a physical replica into a logical replica.
  • pg_logical_switchover — Redirects PostgreSQL traffic from the source cluster to the target cluster with near-zero downtime.
  • pg_logical_switchover_rollback — Switches PostgreSQL traffic back to the source cluster.
  • pg_logical_replication_stop — Cleans up publications, subscriptions, and replication slots.

For more details, see the upgrade role README.

What's Changed

  • chore(deps): update actions/checkout action to v6 by @renovate[bot] in #1356
  • fix: remove export from /etc/environment entries by @pat-s in #1361
  • Add dynamic PostgreSQL archive_command variable by @vitabaks in #1362
  • Correct listen and connect_address for add_node by @bkhomuts in #1364
  • fix(cloud): encode string secrets without extra quotes by @Rainbrand in #1366
  • fix: postgres CRON jobs for pgbackrest on AlmaLinux by @pat-s in #1360
  • chore(deps): update python dependencies by @renovate[bot] in #1367
  • chore(deps): update npm dependencies by @renovate[bot] in #1349
  • Set etcd_tls_enable only for etcd clusters managed by Autobase by @vitabaks in #1370
  • Improve Consul version lookup by @vitabaks in #1371
  • Add error ignore option to chronyd restart handler by @vitabaks in #1372
  • fix(patroni): use systemd privilege escalation instead of sudo for watchdog setup by @pat-s in #1373
  • Add confd_install, confd_version variables by @vitabaks in #1379
  • fix: fixed missing etcd_cluster field for simple mode by @Rainbrand in #1381
  • Add handler to restart confd after TLS copy by @vitabaks in #1380
  • chore(deps): update npm dependencies by @renovate[bot] in #1388
  • fix(deps): update go dependencies by @renovate[bot] in #1389
  • Run pgBackRest cron jobs only on primary to avoid lock contention by @vitabaks in #1393
  • Support pg_upgrade with wal_level: logical by @bkhomuts in #1394
  • Add pgBackRest bootstrap configuration directly to patroni.yml by @bkhomuts in #1384
  • Support upgrade_pgcluster with custom install user by @bkhomuts in #1395
  • chore(deps): update docker dependencies to v2.5.2 by @renovate[bot] in #1397
  • Update: Makefile variables from recursive (=) to simple (:=) assignment. by @cod3mas0n in #1399
  • Fix RedHat 9 deployment failure due to missing crb repository by @Copilot in #1401
  • fix: pass down Consul host for Patroni by @khawarizmus in #1407
  • fix(deps): update module github.com/go-openapi/errors to v0.22.6 by @renovate[bot] in #1409
  • chore(deps): update npm dependencies by @renovate[bot] in #1410
  • Console: Add bind_address variable to inventory by @vitabaks in #1411
  • Set default values for pgbackrest repo1-path and repo1-type by @vitabaks in #1414
  • Set --auth-local for the default pg_hba.conf at bootstrap by @bkhomuts in #1419
  • Update data-checksums logic for PostgreSQL 18 by @bkhomuts in #1421
  • chore(deps): update npm dependencies by @renovate[bot] in #1424
  • chore(deps): update python dependencies by @renovate[bot] in #1425
  • Require authentication for local replication connections by @bkhomuts in #1423
  • Fix: Do not add the nofailover tag if failover_priority is set by @vitabaks in #1427
  • chore(deps): update dependency lodash to v4.17.23 [security] by @renovate[bot] in #1436
  • chore(deps): update npm dependencies by @renovate[bot] in #1438
  • fix(deps): update module github.com/jackc/pgx/v5 to v5.8.0 by @renovate[bot] in #1439
  • Allow installing etcd from system repositories by @bkhomuts in #1434
  • Disable unattended-upgrades on Ubuntu to prevent automatic Patroni restarts by @Copilot in #1441
  • chore(deps): update python dependencies by @renovate[bot] in #1442
  • Fix patroni_slots placement: move from postgresql.slots to top-level slots by @Copilot in #1445
  • Fix switchover failure when synchronous_mode enabled during updates by @Copilot in #1446
  • chore(deps): update npm dependencies by @renovate[bot] in #1447
  • chore(deps): update golang docker tag to v1.26 by @renovate[bot] in #1450
  • chore(deps): update dependency swiper to v12.1.2 [security] by @renovate[bot] in #1458
  • chore(deps): update npm dependencies by @renovate[bot] in #1460
  • Preserve per-node patroni_tags in start_traffic.yml during updates by @jimnyzuk in #1459
  • Allow disabling the softdog by @bkhomuts in #1465
  • Bump rollup from 4.55.1 to 4.59.0 in /console/ui by @dependabot[bot] in #1466
  • Zero-downtime major upgrades (blue-green deployment) by @vitabaks in #1430
  • Bump etcd version to 3.5.27 by @vitabaks in #1467
  • Update AWS Ubuntu 24.04 LTS AMIs by @vitabaks in #1468

New Contributors

Full Changelog: 2.5.0...2.6.0

Don't miss a new autobase release

NewReleases is sending notifications on new releases.