Skip to content

feat(async-replication): events handler observers, facade, and lifecycle guards (3/8) - #279

Draft
marceloneppel wants to merge 1 commit into
async-replication-2-managerfrom
async-replication-3-events-core
Draft

feat(async-replication): events handler observers, facade, and lifecycle guards (3/8)#279
marceloneppel wants to merge 1 commit into
async-replication-2-managerfrom
async-replication-3-events-core

Conversation

@marceloneppel

Copy link
Copy Markdown
Member

Issue

Ports the event-observing half of the charms' async replication module; the data plane landed in 2/8. Part of the stacked series — the promotion/standby flow methods land in 4/8.

Solution

PostgreSQLAsyncReplication(Object): constructor + observers on both replication relations, the public surface the charms consume (delegating to the manager), set_app_status/handle_read_only_mode, and the observed handlers _on_async_relation_joined (VM observes relation_joined, K8s relation_created — divergence preserved), _on_async_relation_departed, _on_async_relation_broken (with the DPE-10203 teardown resilience: the standby check, update_config and watcher-endpoint failures are logged and survived), _on_async_relation_changed, _on_create_replication (clears a stale promotion before the guard, per #1913) and _on_secret_changed (by-id consumer matching via _same_secret_id).

The relation probe treats a relation with unreadable databags as absent (DPE-10203).

@marceloneppel
marceloneppel force-pushed the async-replication-2-manager branch from 3fb11e3 to 3890375 Compare September 4, 2026 23:07
@marceloneppel
marceloneppel force-pushed the async-replication-3-events-core branch from 46387a5 to cf50a0b Compare September 4, 2026 23:07
@marceloneppel
marceloneppel force-pushed the async-replication-2-manager branch from 3890375 to 28cd1c6 Compare September 4, 2026 23:22
@marceloneppel
marceloneppel force-pushed the async-replication-3-events-core branch from cf50a0b to d398076 Compare September 4, 2026 23:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant