diff --git a/util/certificate/certificate_store.go b/util/certificate/certificate_store.go index 4f9d5db0..d4fef54e 100644 --- a/util/certificate/certificate_store.go +++ b/util/certificate/certificate_store.go @@ -231,6 +231,11 @@ func (s *fileStore) Update(certData, keyData []byte) (*tls.Certificate, error) { } pem.Encode(f, keyBlock) + // Ensure data is written to disk + if err := f.Sync(); err != nil { + return nil, fmt.Errorf("failed to sync certificate data to disk: %w (file: %q)", err, certPath) + } + cert, err := loadFile(certPath) if err != nil { return nil, err