Load all certificate data (for startup)
(&self)
| 889 | |
| 890 | /// Load all certificate data (for startup) |
| 891 | pub fn load_all_cert_data(&self) -> BTreeMap<String, CertData> { |
| 892 | let state = self.persistent.read(); |
| 893 | state |
| 894 | .iter_by_prefix(keys::CERT_PREFIX) |
| 895 | .filter_map(|(key, entry)| { |
| 896 | // Only decode data entries (not config/acme/lock/attestation) |
| 897 | if !key.ends_with("/data") { |
| 898 | return None; |
| 899 | } |
| 900 | let domain = keys::parse_cert_domain(key)?; |
| 901 | let value = entry.value.as_ref()?; |
| 902 | match decode(value) { |
| 903 | Ok(data) => Some((domain.to_string(), data)), |
| 904 | Err(e) => { |
| 905 | warn!("failed to decode cert data for key {key}: {e:?}"); |
| 906 | None |
| 907 | } |
| 908 | } |
| 909 | }) |
| 910 | .collect() |
| 911 | } |
| 912 | |
| 913 | // ==================== Global ACME Credentials ==================== |
| 914 |
no test coverage detected