-
Notifications
You must be signed in to change notification settings - Fork 0
feat(dovecot-charm): add HA support with SSH key exchange and force-sync action #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
alithethird
wants to merge
41
commits into
main
Choose a base branch
from
pr/4-ha
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
41 commits
Select commit
Hold shift + click to select a range
ac82bfb
feat(dovecot-charm): add TLS certificate integration via certificates…
alithethird 32b0441
docs: add release notes for pr/3-tls
alithethird 261d741
Refactor TLS certificate tests and update dependencies
alithethird 7c634f8
fix: vale
alithethird 2d793f2
fix: vale
alithethird 0c52c18
fix(tls): make ssl=required conditional on cert file presence
alithethird fbe8652
fix(tests): ensure mountpoint check executes correctly in data persis…
alithethird b9d86c7
fix(tests): update LUKS secret generation in dovecot charm tests
alithethird 839d37e
fix(test): mock ensure_storage_ready in TLS tests to prevent Permissi…
alithethird d255443
refactor(tls): make TLS mandatory via _setup_tls in _reconcile
alithethird cd5d5e4
delete(docs): remove Dovecot charm state diagrams documentation
alithethird bf98cee
refactor(tls): streamline TLS integration in tests and remove redunda…
alithethird 6d24bfe
test(tls): add TLS tests and remove unused deploy_with_tls parameter
alithethird 96ad970
feat(dovecot-charm): add HA support with SSH key exchange and force-s…
alithethird 6c78502
docs: add release notes for pr/4-ha
alithethird 2224e3a
refactor(tests): clean up TLS test cases by removing unused test and …
alithethird e3ba9af
refactor(ha): holistic reconcile, fix security and test issues
alithethird e741195
chore: fmt
alithethird 2c94239
fix(tls): correct charm name in TLS relation integration
alithethird 4463014
refactor(tls): replace inline status check with jubilant.all_active f…
alithethird 9e96d05
fix(tls): close plaintext ports 143 and 110 since TLS is mandatory
alithethird d807952
feat(dovecot-charm): add HA support with SSH key exchange and force-s…
alithethird e1c91ee
docs: add release notes for pr/4-ha
alithethird d3c292f
refactor(ha): holistic reconcile, fix security and test issues
alithethird 0b20264
feat(tests): add integration tests for high availability support
alithethird 802fef5
Merge branch 'pr/3-tls' into pr/4-ha
alithethird 4854b3d
feat(ha): add known_hosts synchronization for SSH key exchange
alithethird dc37e92
feat(ha): ensure system user exists for doveadm user lookup in sync s…
alithethird 7ed1e20
Merge branch 'main' into pr/4-ha
alithethird 7771996
refactor(tests): streamline TLS setup tests by removing unnecessary p…
alithethird c0e37e6
refactor: remove redundant TLS setup method from DovecotCharm
alithethird ec1bb23
feat(ha): implement high availability functions and refactor SSH key …
alithethird 700cd90
refactor(tests): increase timeout for unit activation in HA and stora…
alithethird 28beade
refactor(ha): enhance SSH key generation error handling and update cr…
alithethird 01aaf94
chore: fmt
alithethird 5489322
refactor(ha): enhance dual unit support in HA tests and improve sync …
alithethird f803c20
feat(ha): add SSH drop-in configuration for PermitRootLogin and valid…
alithethird 33bc065
feat(ha): enhance cron schedule validation and add unit tests for dis…
alithethird 599a59d
feat(ha): add sync_schedule field to DovecotConfig and validate cron …
alithethird 18de7ab
feat(ha): ensure privsep directory exists for SSHD config checks
alithethird d7665c1
feat(ha): enhance sync_schedule validation to disallow question mark …
alithethird File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| # Copyright 2026 Canonical Ltd. | ||
| # See LICENSE file for licensing details. | ||
|
|
||
| # Version of the artifact schema | ||
| version_schema: 2 | ||
|
|
||
| changes: | ||
| - title: Added HA support with SSH key exchange and force-sync action | ||
| author: alithethird | ||
| type: major | ||
| description: Added high availability support for Dovecot with automatic SSH key exchange between primary and secondary units via the replicas peer relation, doveadm backup (dsync)-based mail synchronization via cron, and a force-sync Juju action for on-demand replication. | ||
| urls: | ||
| pr: | ||
| - "https://github.com/canonical/mailserver-operators/pull/15" | ||
| related_doc: | ||
| related_issue: | ||
| visibility: public | ||
| highlight: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -35,3 +35,4 @@ Releases | |
| release-notes-0002 | ||
| release-notes-0003 | ||
| release-notes-0004 | ||
| release-notes-0005 | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,57 @@ | ||
| .. _release_notes_release_notes_0005: | ||
|
|
||
| Dovecot release notes – 2.3/edge | ||
| ================================= | ||
|
|
||
| These release notes cover new features and changes in Dovecot. | ||
|
|
||
| Main features: | ||
|
|
||
| * Added HA support with SSH key exchange and ``force-sync`` action. | ||
|
|
||
| See our :ref:`Release policy and schedule <release_notes_index>`. | ||
|
|
||
| Requirements and compatibility | ||
| ------------------------------- | ||
|
|
||
| The charm operates Dovecot 2.3. | ||
|
|
||
| .. list-table:: | ||
| :header-rows: 1 | ||
| :widths: 50 50 | ||
|
|
||
| * - Software | ||
| - Required version | ||
| * - Juju | ||
| - 3.x | ||
| * - Ubuntu | ||
| - 24.04 | ||
|
|
||
| Updates | ||
| ------- | ||
|
|
||
| The following major and minor features were added in this release. | ||
|
|
||
| HA support with SSH key exchange and force-sync action | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
|
||
| High-availability support was added to the Dovecot charm. The charm now | ||
| exchanges SSH keys between primary and secondary units during installation, | ||
| enabling passwordless root SSH access required for mail pool synchronisation. | ||
| A new ``force-sync`` action was introduced, allowing operators to trigger an | ||
| immediate synchronisation of the mail pool from the primary unit to the | ||
| secondary unit on demand. | ||
|
|
||
| Relevant links: | ||
|
|
||
| * `PR <https://github.com/canonical/mailserver-operators/pull/15>`_ | ||
|
|
||
| Bug fixes | ||
| --------- | ||
|
|
||
| No bug fixes in this release. | ||
|
|
||
| Known issues | ||
| ------------ | ||
|
|
||
| No known issues. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.