Self-signed PEMs that only lived in ephemeral YAML were re-minted on every
upgrade, invalidating all client trust. Store certificate/private-key under
/var/lib/3m-ui/listener-certs/{id}.crt|.key, restore into config when DB
lacks a pair, and never rotate a complete pair already on disk or in DB.
fix(tls): durable per-listener certs on disk across panel updates
Self-signed PEMs that only lived in ephemeral YAML were re-minted on every
upgrade, invalidating all client trust. Store certificate/private-key under
/var/lib/3m-ui/listener-certs/{id}.crt|.key, restore into config when DB
lacks a pair, and never rotate a complete pair already on disk or in DB.
fix(tls): durable per-listener certs on disk across panel updates
Self-signed PEMs that only lived in ephemeral YAML were re-minted on every
upgrade, invalidating all client trust. Store certificate/private-key under
/var/lib/3m-ui/listener-certs/{id}.crt|.key, restore into config when DB
lacks a pair, and never rotate a complete pair already on disk or in DB.
fix(tls): durable per-listener certs on disk across panel updates
Self-signed PEMs that only lived in ephemeral YAML were re-minted on every
upgrade, invalidating all client trust. Store certificate/private-key under
/var/lib/3m-ui/listener-certs/{id}.crt|.key, restore into config when DB
lacks a pair, and never rotate a complete pair already on disk or in DB.
fix(tls): durable per-listener certs on disk across panel updates
Self-signed PEMs that only lived in ephemeral YAML were re-minted on every
upgrade, invalidating all client trust. Store certificate/private-key under
/var/lib/3m-ui/listener-certs/{id}.crt|.key, restore into config when DB
lacks a pair, and never rotate a complete pair already on disk or in DB.
fix(tls): durable per-listener certs on disk across panel updates
Self-signed PEMs that only lived in ephemeral YAML were re-minted on every
upgrade, invalidating all client trust. Store certificate/private-key under
/var/lib/3m-ui/listener-certs/{id}.crt|.key, restore into config when DB
lacks a pair, and never rotate a complete pair already on disk or in DB.
fix(tls): durable per-listener certs on disk across panel updates
Self-signed PEMs that only lived in ephemeral YAML were re-minted on every
upgrade, invalidating all client trust. Store certificate/private-key under
/var/lib/3m-ui/listener-certs/{id}.crt|.key, restore into config when DB
lacks a pair, and never rotate a complete pair already on disk or in DB.
fix(tls): durable per-listener certs on disk across panel updates
Self-signed PEMs that only lived in ephemeral YAML were re-minted on every
upgrade, invalidating all client trust. Store certificate/private-key under
/var/lib/3m-ui/listener-certs/{id}.crt|.key, restore into config when DB
lacks a pair, and never rotate a complete pair already on disk or in DB.
fix(tls): durable per-listener certs on disk across panel updates
Self-signed PEMs that only lived in ephemeral YAML were re-minted on every
upgrade, invalidating all client trust. Store certificate/private-key under
/var/lib/3m-ui/listener-certs/{id}.crt|.key, restore into config when DB
lacks a pair, and never rotate a complete pair already on disk or in DB.
fix(tls): durable per-listener certs on disk across panel updates
Self-signed PEMs that only lived in ephemeral YAML were re-minted on every
upgrade, invalidating all client trust. Store certificate/private-key under
/var/lib/3m-ui/listener-certs/{id}.crt|.key, restore into config when DB
lacks a pair, and never rotate a complete pair already on disk or in DB.
fix(tls): durable per-listener certs on disk across panel updates
Self-signed PEMs that only lived in ephemeral YAML were re-minted on every
upgrade, invalidating all client trust. Store certificate/private-key under
/var/lib/3m-ui/listener-certs/{id}.crt|.key, restore into config when DB
lacks a pair, and never rotate a complete pair already on disk or in DB.
fix(tls): durable per-listener certs on disk across panel updates
Self-signed PEMs that only lived in ephemeral YAML were re-minted on every
upgrade, invalidating all client trust. Store certificate/private-key under
/var/lib/3m-ui/listener-certs/{id}.crt|.key, restore into config when DB
lacks a pair, and never rotate a complete pair already on disk or in DB.