Skip to content

[DPE-10608] Operator-cert manager, events handler + release (3/4)#174

Draft
marceloneppel wants to merge 1 commit into
tls-2-state-accessorsfrom
tls-3-manager-events
Draft

[DPE-10608] Operator-cert manager, events handler + release (3/4)#174
marceloneppel wants to merge 1 commit into
tls-2-state-accessorsfrom
tls-3-manager-events

Conversation

@marceloneppel

@marceloneppel marceloneppel commented Jul 1, 2026

Copy link
Copy Markdown
Member

Part 3/4, stacked on tls-2-state-accessors. Wires the operator-certificate manager + events handler into the lib charm — the core of the live-fetch TLS subsystem — and bumps the library version.

What's here

  • managers/tls.py (TLSManager): live-fetch getters (get_client_tls_files / get_peer_tls_files / get_peer_ca_bundle call get_assigned_certificates() on demand — operator cert/key are never persisted), push_tls_files, rotate_peer_ca / clear_peer_ca (only the peer CA is tracked in state, for the rotation bundle), internal-peer CA/cert generation, and client_tls_files_on_disk.
  • events/tls.py (TLS): owns the two TLSCertificatesRequiresV4 requirers, observes certificate_available + relation_broken, defers the file-push until the workload is ready, re-requests certs on SAN changes. Reaches the manager via self.charm.tls_manager.
  • charms/abstract_charm.py: builds TLS first, then TLSManager with the handler's requirers injected.
  • pyproject.toml + uv.lock: bump to 16.3.3.

@marceloneppel marceloneppel force-pushed the tls-2-state-accessors branch from c7fcfd1 to f01bfee Compare July 2, 2026 17:46
@marceloneppel marceloneppel force-pushed the tls-3-manager-events branch from 90e7728 to ab4b0c8 Compare July 2, 2026 17:46
@marceloneppel marceloneppel force-pushed the tls-2-state-accessors branch from f01bfee to 1dd22a8 Compare July 2, 2026 18:23
@marceloneppel marceloneppel force-pushed the tls-3-manager-events branch from ab4b0c8 to d59f0ac Compare July 2, 2026 18:23
@marceloneppel marceloneppel force-pushed the tls-2-state-accessors branch from 1dd22a8 to c6aa083 Compare July 3, 2026 20:27
@marceloneppel marceloneppel force-pushed the tls-3-manager-events branch from d59f0ac to 1f84b9c Compare July 3, 2026 20:27
@marceloneppel marceloneppel changed the title feat(tls): operator-cert manager, events handler + release (3/4) [DPE-10608] feat(tls): operator-cert manager, events handler + release (3/4) Jul 7, 2026
@marceloneppel marceloneppel changed the title [DPE-10608] feat(tls): operator-cert manager, events handler + release (3/4) [DPE-10608] Operator-cert manager, events handler + release (3/4) Jul 7, 2026
Wire the operator-certificate TLSManager and TLS events handler into the lib
charm and bump the library version. The manager fetches operator cert/key live
from the tls_certificates V4 requirers (constructor-injected by the handler);
only the peer CA is tracked in state for rotation. Unit tests for this layer
land in the stacked tests PR.

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
@marceloneppel marceloneppel force-pushed the tls-3-manager-events branch from 1f84b9c to f78c998 Compare July 7, 2026 19:28
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