Skip to content

Conversation

@dragomirp
Copy link
Contributor

@dragomirp dragomirp commented Jun 10, 2025

Try to fix the consistent timeouts in async replication and new relation tests.

Checklist

  • I have added or updated any relevant documentation.
  • I have cleaned any remaining cloud resources from my accounts.

@codecov
Copy link

codecov bot commented Jun 10, 2025

Codecov Report

Attention: Patch coverage is 25.92593% with 20 lines in your changes missing coverage. Please review.

Project coverage is 69.80%. Comparing base (a8cfa1f) to head (3c98a2c).
Report is 1 commits behind head on sync14to16.

Files with missing lines Patch % Lines
src/charm.py 0.00% 10 Missing ⚠️
src/cluster.py 11.11% 7 Missing and 1 partial ⚠️
src/relations/postgresql_provider.py 75.00% 2 Missing ⚠️

❌ Your patch status has failed because the patch coverage (25.92%) is below the target coverage (33.00%). You can increase the patch coverage or adjust the target coverage.
❌ Your project status has failed because the head coverage (69.80%) is below the target coverage (70.00%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files
@@              Coverage Diff               @@
##           sync14to16     #959      +/-   ##
==============================================
+ Coverage       69.78%   69.80%   +0.02%     
==============================================
  Files              16       16              
  Lines            3779     3786       +7     
  Branches          550      552       +2     
==============================================
+ Hits             2637     2643       +6     
  Misses           1005     1005              
- Partials          137      138       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Comment on lines +1250 to +1266
def is_user_in_hba(self, username: str) -> bool:
"""Check if user was added in pg_hba."""
connection = None
try:
with self._connect_to_database() as connection, connection.cursor() as cursor:
cursor.execute(
SQL(
"SELECT COUNT(*) FROM pg_hba_file_rules WHERE {} = ANY(user_name);"
).format(Literal(username))
)
return cursor.fetchone()[0] > 0
except psycopg2.Error as e:
logger.debug(f"Failed to check pg_hba: {e}")
return False
finally:
if connection:
connection.close()
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Check if a user has been added to pg_hba

Comment on lines +2512 to +2514
except PostgreSQLListUsersError:
logger.debug("relations_user_databases_map: Unable to get users")
return {USER: "all", REPLICATION_USER: "all", REWIND_USER: "all"}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Handling in the property, because otherwise we cannot regenerate the configuration.

return

self.charm.update_config()
for attempt in Retrying(stop=stop_after_attempt(3), wait=wait_fixed(1)):
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hold the hook until the user is added to pg_hba or timeout. Locally for me it's happening on the first try, but we may want to increase the timeout to accommodate for variance in hw/storage. On timeout, the topology observer should detect the changes when they become available.

)
)

def _on_relation_changed(self, event: RelationChangedEvent) -> None:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checking for pg_hba changes before releasing database_requested should make this hook redundant.

Comment on lines +498 to +499
if not self.is_patroni_running():
return False
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If there's no service running, there's no point calling the rest API.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we try to backport this to plain 14/edge.
It smells to me as a game changes for many long-wasting activities.

Should it also be included in member_inactive() below (and maybe all other requests.get(http://localhost/cluster) requests).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we try to backport this to plain 14/edge. It smells to me as a game changes for many long-wasting activities.

If the merge goes well, we should backport both this and the pg_hba check.

Should it also be included in member_inactive() below (and maybe all other requests.get(http://localhost/cluster) requests).

We can give it a go, but lets get the 14/edge changes first.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Backport PR: #963.

Comment on lines +1025 to +1026
timeout=2000,
idle_period: int = 30,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Async seems to fit in the timeout/idle periods now, but leaving the parameters exposed in case we want to tweak.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Scale the clusters together in parallel.

@dragomirp dragomirp changed the title [MISC] timeouts [MISC] Fix timeouts in 14 to 16 merge Jun 12, 2025
@dragomirp dragomirp added the not bug or enhancement PR is not 'bug' or 'enhancement'. For release notes label Jun 12, 2025
@dragomirp dragomirp marked this pull request as ready for review June 12, 2025 08:54
@dragomirp dragomirp requested review from a team, marceloneppel and taurus-forever and removed request for a team June 12, 2025 08:54
Copy link
Contributor

@taurus-forever taurus-forever left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! Dragomir!!!

Comment on lines +498 to +499
if not self.is_patroni_running():
return False
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we try to backport this to plain 14/edge.
It smells to me as a game changes for many long-wasting activities.

Should it also be included in member_inactive() below (and maybe all other requests.get(http://localhost/cluster) requests).

dragomirp added a commit that referenced this pull request Jun 12, 2025
Copy link
Member

@marceloneppel marceloneppel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@dragomirp dragomirp merged commit 9504b88 into sync14to16 Jun 12, 2025
336 of 373 checks passed
@dragomirp dragomirp deleted the sync14to16-timeout branch June 12, 2025 15:35
@dragomirp dragomirp mentioned this pull request Jun 12, 2025
2 tasks
dragomirp added a commit that referenced this pull request Jun 13, 2025
marceloneppel added a commit that referenced this pull request Jun 13, 2025
* [MISC] Use latest/stable lxd (#804)

* Use latest stable lxd

* Test tweaks

* Test tweaks

* Update canonical/data-platform-workflows action to v31.0.1 (#805)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-6874] Poll all members in the cluster topology script (#810)

* Poll all members in the cluster topology script

* Dual branch config

* Unit tests and bugfixes

* Add peers when starting the observer

* Retry sync up checks

* [DPE-6572] Add wal_keep_size config option (#799)

* Add wal_keep_size config option

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove parameter addition

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Reset durability_wal_keep_size value to PG default

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Create pull_request_template.md (#814)

* Create SECURITY.md (#822)

* Update README file's security section (#827)

* Refactor headings for syntax best practice

* Update the Security section

* Sync docs from Discourse (#796)

Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>

* [MISC] Conditional checksum calculation (#812)

* Bump boto

* Conditional checksum calculation

* [DPE-6218] Static code analysis (#828)

* Create tiobe_scan.yaml

* Remove push trigger

* [MISC] Disable landscape subordinate test lxd (#831)

* Set series for ubuntu-advantage test and disable the landscape test

* Revert to LTS LXD

* Update charmcraft.yaml build tools (#815)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [MISC] Update snapped PostgreSQL (#832)

* [DPE-6345] LDAP I: Create access groups (#823)

* [DPE-6345] LDAP II: Include charm libs (#824)

* [DPE-6345] LDAP III: Define config and handlers (#825)

* [DPE-6345] LDAP IV: Define snap service (#838)

* [DPE-6345] LDAP V: Define mapping option (#849)

* [MISC] Disable network cut tests on arm (#844)

* Disable network cut tests on arm

* Back to LXD 5

* [DPE-6815] disable pgaudit during extensions changes (#842)

* disable pgaudit during extensions changes

* Bump libs

* Lock file maintenance Python dependencies (main) (#816)

* Lock file maintenance Python dependencies

* Fix linting

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Update dependency uv to v0.6.16 (#847)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-6664] Make username mandatory in set-password (#846)

* Make username mandatory

* Second get password method

* Default in get-password

* Add conditional expose directive (#853)

* Lock file maintenance Python dependencies (#854)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Mandatory scope for promote action (#856)

* Update charmcraft.yaml build tools (#860)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#861)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Sync docs from Discourse (#850)

Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>

* [MISC] Extend relation-user listing syntax (#868)

* Move _update_member_ip call to correctly remove Raft cluster member when network is cut

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix coverage

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Sync libs (#884)

* Update refresh tests to modify charm to ensure refresh off edge or stable

* Fix lint warnings

* Store temporary charms in /tmp for upgrade_from_stable tests

* Use force-refresh-start instead of forcing refresh by updating versions

* Remove runner password (#913)

* [DPE-6898] User->databases pg_hba rules (#885)

* Restrict each user to their allowed databases

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix unit tests

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix sync users on replicas

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix unit test

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Add default landscape user permission

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Increase sleep time in pg_hba test, fix user->database mapping for upgrade from stable and skip event trigger function code when not a superuser

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Improve users list check

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix raft reinitialisation in tests

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Decrease the amount of API calls by one

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Check users list directly

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Tweak test fast interval

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Improvements to avoid replica restart while syncing from primary

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix linting

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Handle same snap revision situation in upgrade tests

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Merge

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Improvement to avoid replica restart while syncing from primary

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Run stop-continuous-writes action only once

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Increase sleep time in Juju spaces test

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update charmcraft.yaml build tools (#871)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [MISC] Remove JujuVersion warning in 14/edge (#933)

* Remove JujuVersion warning

* Update libs

* Refactor v14 documentation for Sphinx (#919)

* initial starter pack transfer
* update conf.py
* import processed discourse pages
* fix internal references and some broken URLs
* fix some style errors
* organize navigation
* remove h1 heading anchors
* add images to repository
* edit home page
* update .readthedocs.yaml
* remove docs/requirements.txt from .gitignore scope
* fix incorrect paths
* remove shell syntax from code blocks
* remove juju 2 banners
* fix dropdown formatting
* fix and polish admonitions, collapsible, and misc formatting
* remove v16 docs
* remove reference to nonexistant page
* Join all tutorial pages
* rename how-to-guides to how-to
* polish cloud deployment guides and rename leftover how-to-guide references
* polish and sync how-to guides with k8s
* remove discourse sync workflow
* specify channel on all deploy commands
* misc polishing, add version to side nav
* add pg 16 admonitions
* ignore docs folder in charm workflows
* sync misc. pages with k8s
* Minor README update with new documentation link
* add new section to CLI-helpers reference
* pin commit for v16 tag on markdown lint workflow for added security
* Update README.md
* remove sphinx python dependency check workflow
* Update index.md: add link to roles.md (#928)

---------

Co-authored-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Co-authored-by: Alex Lutay <1928266+taurus-forever@users.noreply.github.com>

* [DPE-7511] Fix the auth username pattern (#941)

* Fix auth username pattern

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix another ocurrence of the pattern

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Add temp tablespace create

* Temp tblspace outside of transaction

* Reset role in test_pg_hba setup

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Detect when databases and their ACLs change

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix predefined catalog roles test

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix unit test

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Add unit tests

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Add missing autocommit

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove _hash suffix from variables names

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* [MISC] Fix timeouts in 14 to 16 merge (#959)

* Handle PostgreSQLListUsersError

* Try to trigger the pg_hba update on db requested

* Try to hold db requested until pg_hba is up to date

* Increase timeouts

* Scale in parallel

* Fix param passing

* Increase timeout

* Try to scale without ffwd

* Try not to defer rel changed

* Remove extra hook

* Check if patroni is running before calling the health endpoint

* Revert timeout

* Pass the timeout param

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Co-authored-by: Dragomir Penev <6687393+dragomirp@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Andreia <andreia.velasco@canonical.com>
Co-authored-by: Vladimir Izmalkov <48120135+izmalk@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Sinclert Pérez <sinclert.perez@canonical.com>
Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>
Co-authored-by: swetha1654 <swetha.swaminathan@canonical.com>
Co-authored-by: Shayan Patel <shayan.patel@canonical.com>
Co-authored-by: Alex Lutay <1928266+taurus-forever@users.noreply.github.com>
taurus-forever added a commit to taurus-forever/postgresql-operator that referenced this pull request Jun 25, 2025
* [MISC] Use latest/stable lxd (canonical#804)

* Use latest stable lxd

* Test tweaks

* Test tweaks

* Update canonical/data-platform-workflows action to v31.0.1 (canonical#805)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-6874] Poll all members in the cluster topology script (canonical#810)

* Poll all members in the cluster topology script

* Dual branch config

* Unit tests and bugfixes

* Add peers when starting the observer

* Retry sync up checks

* [DPE-6572] Add wal_keep_size config option (canonical#799)

* Add wal_keep_size config option

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove parameter addition

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Reset durability_wal_keep_size value to PG default

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Create pull_request_template.md (canonical#814)

* Create SECURITY.md (canonical#822)

* Update README file's security section (canonical#827)

* Refactor headings for syntax best practice

* Update the Security section

* Sync docs from Discourse (canonical#796)

Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>

* [MISC] Conditional checksum calculation (canonical#812)

* Bump boto

* Conditional checksum calculation

* [DPE-6218] Static code analysis (canonical#828)

* Create tiobe_scan.yaml

* Remove push trigger

* [MISC] Disable landscape subordinate test lxd (canonical#831)

* Set series for ubuntu-advantage test and disable the landscape test

* Revert to LTS LXD

* Update charmcraft.yaml build tools (canonical#815)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [MISC] Update snapped PostgreSQL (canonical#832)

* [DPE-6345] LDAP I: Create access groups (canonical#823)

* [DPE-6345] LDAP II: Include charm libs (canonical#824)

* [DPE-6345] LDAP III: Define config and handlers (canonical#825)

* [DPE-6345] LDAP IV: Define snap service (canonical#838)

* [DPE-6345] LDAP V: Define mapping option (canonical#849)

* [MISC] Disable network cut tests on arm (canonical#844)

* Disable network cut tests on arm

* Back to LXD 5

* [DPE-6815] disable pgaudit during extensions changes (canonical#842)

* disable pgaudit during extensions changes

* Bump libs

* Lock file maintenance Python dependencies (main) (canonical#816)

* Lock file maintenance Python dependencies

* Fix linting

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Update dependency uv to v0.6.16 (canonical#847)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-6664] Make username mandatory in set-password (canonical#846)

* Make username mandatory

* Second get password method

* Default in get-password

* Add conditional expose directive (canonical#853)

* Lock file maintenance Python dependencies (canonical#854)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Mandatory scope for promote action (canonical#856)

* Update charmcraft.yaml build tools (canonical#860)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (canonical#861)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Sync docs from Discourse (canonical#850)

Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>

* [MISC] Extend relation-user listing syntax (canonical#868)

* Move _update_member_ip call to correctly remove Raft cluster member when network is cut

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix coverage

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Sync libs (canonical#884)

* Update refresh tests to modify charm to ensure refresh off edge or stable

* Fix lint warnings

* Store temporary charms in /tmp for upgrade_from_stable tests

* Use force-refresh-start instead of forcing refresh by updating versions

* Remove runner password (canonical#913)

* [DPE-6898] User->databases pg_hba rules (canonical#885)

* Restrict each user to their allowed databases

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix unit tests

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix sync users on replicas

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix unit test

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Add default landscape user permission

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Increase sleep time in pg_hba test, fix user->database mapping for upgrade from stable and skip event trigger function code when not a superuser

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Improve users list check

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix raft reinitialisation in tests

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Decrease the amount of API calls by one

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Check users list directly

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Tweak test fast interval

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Improvements to avoid replica restart while syncing from primary

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix linting

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Handle same snap revision situation in upgrade tests

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Merge

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Improvement to avoid replica restart while syncing from primary

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Run stop-continuous-writes action only once

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Increase sleep time in Juju spaces test

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update charmcraft.yaml build tools (canonical#871)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [MISC] Remove JujuVersion warning in 14/edge (canonical#933)

* Remove JujuVersion warning

* Update libs

* Refactor v14 documentation for Sphinx (canonical#919)

* initial starter pack transfer
* update conf.py
* import processed discourse pages
* fix internal references and some broken URLs
* fix some style errors
* organize navigation
* remove h1 heading anchors
* add images to repository
* edit home page
* update .readthedocs.yaml
* remove docs/requirements.txt from .gitignore scope
* fix incorrect paths
* remove shell syntax from code blocks
* remove juju 2 banners
* fix dropdown formatting
* fix and polish admonitions, collapsible, and misc formatting
* remove v16 docs
* remove reference to nonexistant page
* Join all tutorial pages
* rename how-to-guides to how-to
* polish cloud deployment guides and rename leftover how-to-guide references
* polish and sync how-to guides with k8s
* remove discourse sync workflow
* specify channel on all deploy commands
* misc polishing, add version to side nav
* add pg 16 admonitions
* ignore docs folder in charm workflows
* sync misc. pages with k8s
* Minor README update with new documentation link
* add new section to CLI-helpers reference
* pin commit for v16 tag on markdown lint workflow for added security
* Update README.md
* remove sphinx python dependency check workflow
* Update index.md: add link to roles.md (canonical#928)

---------

Co-authored-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Co-authored-by: Alex Lutay <1928266+taurus-forever@users.noreply.github.com>

* [DPE-7511] Fix the auth username pattern (canonical#941)

* Fix auth username pattern

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix another ocurrence of the pattern

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Add temp tablespace create

* Temp tblspace outside of transaction

* Reset role in test_pg_hba setup

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Detect when databases and their ACLs change

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix predefined catalog roles test

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix unit test

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Add unit tests

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Add missing autocommit

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove _hash suffix from variables names

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* [MISC] Fix timeouts in 14 to 16 merge (canonical#959)

* Handle PostgreSQLListUsersError

* Try to trigger the pg_hba update on db requested

* Try to hold db requested until pg_hba is up to date

* Increase timeouts

* Scale in parallel

* Fix param passing

* Increase timeout

* Try to scale without ffwd

* Try not to defer rel changed

* Remove extra hook

* Check if patroni is running before calling the health endpoint

* Revert timeout

* Pass the timeout param

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Co-authored-by: Dragomir Penev <6687393+dragomirp@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Andreia <andreia.velasco@canonical.com>
Co-authored-by: Vladimir Izmalkov <48120135+izmalk@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Sinclert Pérez <sinclert.perez@canonical.com>
Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>
Co-authored-by: swetha1654 <swetha.swaminathan@canonical.com>
Co-authored-by: Shayan Patel <shayan.patel@canonical.com>
Co-authored-by: Alex Lutay <1928266+taurus-forever@users.noreply.github.com>
dragomirp added a commit that referenced this pull request Oct 16, 2025
* [MISC] Use latest/stable lxd (#804)

* Use latest stable lxd

* Test tweaks

* Test tweaks

* Update canonical/data-platform-workflows action to v31.0.1 (#805)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-6874] Poll all members in the cluster topology script (#810)

* Poll all members in the cluster topology script

* Dual branch config

* Unit tests and bugfixes

* Add peers when starting the observer

* Retry sync up checks

* [DPE-6572] Add wal_keep_size config option (#799)

* Add wal_keep_size config option

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove parameter addition

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Reset durability_wal_keep_size value to PG default

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Create pull_request_template.md (#814)

* Create SECURITY.md (#822)

* Update README file's security section (#827)

* Refactor headings for syntax best practice

* Update the Security section

* Sync docs from Discourse (#796)

Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>

* [MISC] Conditional checksum calculation (#812)

* Bump boto

* Conditional checksum calculation

* [DPE-6218] Static code analysis (#828)

* Create tiobe_scan.yaml

* Remove push trigger

* [MISC] Disable landscape subordinate test lxd (#831)

* Set series for ubuntu-advantage test and disable the landscape test

* Revert to LTS LXD

* Update charmcraft.yaml build tools (#815)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [MISC] Update snapped PostgreSQL (#832)

* [DPE-6345] LDAP I: Create access groups (#823)

* [DPE-6345] LDAP II: Include charm libs (#824)

* [DPE-6345] LDAP III: Define config and handlers (#825)

* [DPE-6345] LDAP IV: Define snap service (#838)

* [DPE-6345] LDAP V: Define mapping option (#849)

* [MISC] Disable network cut tests on arm (#844)

* Disable network cut tests on arm

* Back to LXD 5

* [DPE-6815] disable pgaudit during extensions changes (#842)

* disable pgaudit during extensions changes

* Bump libs

* Lock file maintenance Python dependencies (main) (#816)

* Lock file maintenance Python dependencies

* Fix linting

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Update dependency uv to v0.6.16 (#847)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-6664] Make username mandatory in set-password (#846)

* Make username mandatory

* Second get password method

* Default in get-password

* Add conditional expose directive (#853)

* Lock file maintenance Python dependencies (#854)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Mandatory scope for promote action (#856)

* Update charmcraft.yaml build tools (#860)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#861)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Sync docs from Discourse (#850)

Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>

* [MISC] Extend relation-user listing syntax (#868)

* Sync libs (#884)

* Remove runner password (#913)

* [DPE-6898] User->databases pg_hba rules (#885)

* Restrict each user to their allowed databases

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix unit tests

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix sync users on replicas

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix unit test

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Add default landscape user permission

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Increase sleep time in pg_hba test, fix user->database mapping for upgrade from stable and skip event trigger function code when not a superuser

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Improve users list check

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix raft reinitialisation in tests

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Decrease the amount of API calls by one

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Check users list directly

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Tweak test fast interval

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Improvements to avoid replica restart while syncing from primary

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix linting

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update charmcraft.yaml build tools (#871)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [MISC] Remove JujuVersion warning in 14/edge (#933)

* Remove JujuVersion warning

* Update libs

* Refactor v14 documentation for Sphinx (#919)

* initial starter pack transfer
* update conf.py
* import processed discourse pages
* fix internal references and some broken URLs
* fix some style errors
* organize navigation
* remove h1 heading anchors
* add images to repository
* edit home page
* update .readthedocs.yaml
* remove docs/requirements.txt from .gitignore scope
* fix incorrect paths
* remove shell syntax from code blocks
* remove juju 2 banners
* fix dropdown formatting
* fix and polish admonitions, collapsible, and misc formatting
* remove v16 docs
* remove reference to nonexistant page
* Join all tutorial pages
* rename how-to-guides to how-to
* polish cloud deployment guides and rename leftover how-to-guide references
* polish and sync how-to guides with k8s
* remove discourse sync workflow
* specify channel on all deploy commands
* misc polishing, add version to side nav
* add pg 16 admonitions
* ignore docs folder in charm workflows
* sync misc. pages with k8s
* Minor README update with new documentation link
* add new section to CLI-helpers reference
* pin commit for v16 tag on markdown lint workflow for added security
* Update README.md
* remove sphinx python dependency check workflow
* Update index.md: add link to roles.md (#928)

---------

Co-authored-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Co-authored-by: Alex Lutay <1928266+taurus-forever@users.noreply.github.com>

* [DPE-7511] Fix the auth username pattern (#941)

* Fix auth username pattern

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix another ocurrence of the pattern

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update PG to 14.18 (#943)

* [DPE-7521] Fix HBA rules for Landscape related through PgBouncer (#946)

* Fix HBA rules for Landscape related through PgBouncer

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update comment

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Order users and databases

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Add unit test for relations_user_databases_map property

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix typo

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* DPE-6662 Fix pgbackrest logs names on logs rotation (#939) (#949)

The pgBackRest activity (backup creation, stanza initialisation, etc) could take minutes,
as a result every minute logs rotation could move the current log A.log to A.log_$date.log
and will be moved further as logrorate rule operates all *.log files in the folder:

> /var/snap/charmed-postgresql/common/var/log/pgbackrest/*.log { ...

It results in:

-rw------- 1 postgres postgres     0 Feb 18 09:25 all-server.log
-rw------- 1 postgres postgres     0 Feb 18 09:19 all-server.log-20250218_09:18.log
-rw------- 1 postgres postgres     0 Feb 18 09:20 all-server.log-20250218_09:18.log-20250218_09:19.log
-rw------- 1 postgres postgres     0 Feb 18 09:21 all-server.log-20250218_09:18.log-20250218_09:19.log-20250218_09:20.log
-rw------- 1 postgres postgres     0 Feb 18 09:22 all-server.log-20250218_09:18.log-20250218_09:19.log-20250218_09:20.log-20250218_09:21.log
-rw------- 1 postgres postgres     0 Feb 18 09:23 all-server.log-20250218_09:18.log-20250218_09:19.log-20250218_09:20.log-20250218_09:21.log-20250218_09:22.log
-rw------- 1 postgres postgres  1793 Feb 18 09:24 all-server.log-20250218_09:18.log-20250218_09:19.log-20250218_09:20.log-20250218_09:21.log-20250218_09:22.log-20250218_09:23.log

The poposed fix:
 * move the log file to the new name without .log suffix.
 * use datetime format matching MySQL charms

Example:

-rw------- 1 postgres postgres    12 Feb 18 09:28 all-server.log
-rw------- 1 postgres postgres   322 Feb 18 09:29 all-server.log-20250218_0918
-rw------- 1 postgres postgres  7344 Feb 18 09:30 all-server.log-20250218_0918

(cherry picked from commit ffa77b2)

* Update Python dependencies (#904)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update canonical/data-platform-workflows action to v31.1.1 (#872)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Add redirects for all charmhub pages (14) (#961)

* feat: add rediraffe sphinx extension and discourse redirects for each page

* convert tabs to single space

* fix: minor style issues in README.md and CONTRIBUTING.md

* comment out old redirect extension to avoid confusion

* Update dependency requests to v2.32.4 [SECURITY] (#956)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Backport #959 to 14/edge (#963)

* Lock file maintenance Python dependencies (#874)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: add forward slash to redirect paths (#964)

* fix typo (#965)

* Update dependency uv to v0.7.13 (#951)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Rename team (#972)

* [MISC] Check is_user_in_hba output (#973)

* Check is_user_in_hba output

* Drop extra parameter

* Update canonical/data-platform-workflows action to v32 (main) (#873)

* Update canonical/data-platform-workflows action to v32

* Update libs and release flow

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Lock file maintenance Python dependencies (#976)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency uv to v0.7.14 (#995)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#996)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [MISC] Don't restart during initial sync (#1000)

* Don't restart during initial sync

* Catch relations map exceptions

* Lock file maintenance Python dependencies (#1011)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-7549] Add compression and restore max-process (#1009)

* Add compression and restore max-process

* Update libs

* typo: "chances" to "changes" (#1018)

* remove markdown linter action (#1028)

* Fix automatic doc checks (#1006)

* Fix spellcheck

* Fix some broken URLs

* fix remaining broken urls

* add missing backticks to toctrees

* small spellcheck fix

* DPE-7723: Update releases.md: fix arch for revs 429/430 (#1046)

## Issue

https://canonical-charmed-postgresql.readthedocs-hosted.com/14/reference/releases/ says
rev 430 is amd64
rev 429 is arm64

This is wrong:
```
juju download postgresql --revision 429
unp ./postgresql_r429.charm -d ./r429
grep amd ./r429/manifest.yaml 
  - amd64
```
 
## Solution

Update docs with proper pinning.
Fixes: #1045

* [DPE-6259] pgbackrest config perms (#1038)

* Remove read access to pgbackrest conf file

* Update libs

* Set extra user roles config for the test app

* Fix data-int base

* Set channel and series in ne rel tests

* Fix MicroStack links (#1063)

* [DPE-7594] Sync up pg_hba changes and remove trigger (#1070)

* Port user hash

* Blocking test app

* Update canonical/data-platform-workflows action to v32.2.1 (#1065)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#1020)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Migrate config .github/renovate.json5 (#1074)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update charmcraft.yaml build tools (#1010)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-7871] Reorder map logic (#1075)

* Reorder map logic

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove unneeded check

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* [DPE-7594] Add custom users to pg_hba filter (#1073)

* Add custom users to pg_hba filter

* Fix unit test

* Tests for async replication.py (#1033)

* def test_can_promote_cluster():

* test_handle_database_start

* _on_async_relation_changed

* test_on_secret_changed first if

* change a lit bit

* add tests for stop database function

* still need some upgrades

* add this

* add learning

* test__configure_primary_cluster

* clean up

* we don't need import application

* start test__on_async_relation_departed

* format

* done test__on_async_relation_departed

* test_on_async_relation_joined

* test_on_create_replication

* test_promote_to_primary

* add test

* test_wait_for_standby_leader

* formatize

* formatize 2.0

* test_get_partner_addresses

* test_handle_replication_change

* test_handle_forceful_promotion

* add tests

* test_on_async_relation_broken

* formatize

* finishing

* need some help

* date

* add aplications

* format

* promote_standby_cluster is none

* add unit name

---------

Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Lock file maintenance Python dependencies (#1077)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Add SNAP revisions to Releases page (#1086)

* Add SNAP revisions to Releases page

For end-users, it is hard to find the proper/expected SNAP revison for
the specific Charm revision in Git. This should simplify it.

* fix broken URLs

---------

Co-authored-by: andreia <andreia.velasco@canonical.com>

* Update canonical/data-platform-workflows action to v32.2.2 (#1088)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update GitHub actions to v5 (#1090)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#1091)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update charmcraft.yaml build tools (#1089)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency uv to v0.8.12 (#1103)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* DPE-7968 Bump snap revision (remove python3-boto3 for CVE-2023-37920) (#1109)

* Lock file maintenance Python dependencies (#1104)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update canonical/data-platform-workflows action to v32.2.3 (#1102)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update Charmhub home page (14) (#1110)

* Update metadata.yaml

* Update VM terminology

* Lock file maintenance Python dependencies (#1121)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency uv to v0.8.13 (#1119)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update charm libs (#1127)

* Update canonical/data-platform-workflows action to v35 (#1120)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Enable ceph test on arm (#1129)

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update dependency uv to v0.8.14 (#1130)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Don't block if the snap cannot be installed (#1136)

* Lock file maintenance Python dependencies (#1131)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Add back raft encryption check (#1146)

* DPE-8299 Bump disk cleanup timeout 1=>10 (#1148)

* [DPE-8005] Handle empty region (#1157)

* Handle empty region

* Handle invalid stanza name

* DPE-8296 Bump PostgreSQL to 14.19 (#1147)

* Lock file maintenance Python dependencies (#1143)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* DPE-8296 Downgrade promote.yaml to _promote_charm.yaml@v31.1.1 (#1161)

D-p-w v32+ requires refresh v3 versioning, otherwise:
https://github.com/canonical/postgresql-operator/actions/runs/17777132580

> Invalid workflow file: .github/workflows/promote.yaml#L28
> error parsing called workflow ".github/workflows/promote.yaml" ->
> "canonical/data-platform-workflows/.github/workflows/_promote_charm.yaml@v35.0.2":
> failed to fetch workflow: workflow was not found.

* Remove reinits (#1168)

* [MISC] Config hash (#1166)

* Use Patroni API for is_restart_pending

* Cached props

* Magic sleep and legacy rel names

* Hash config value and restart only on change

* Tweaks

* Legacy interface fix

* Fix legacy test

* Increase idle period

* Wrong username

* Remove copypasta

* Update versions and release documentation (14) (#1158)

* Refactor charm version explanation pages

* refactor releases reference pages

* Move all legacy information to legacy charm page

* Add feature lists back to modern charm versions page

* fix broken references

* [MISC] Fix smoke test (#1184)

* Volume tests

* Manually deploying

* [DPE-8337] Disable Patroni config to prevent possible data loss (#1173)

* DPE-8337 Disable Patroni config to prevent possible dataloose

Disable Patroni config options explecitely:
remove_data_directory_on_rewind_failure and
remove_data_directory_on_diverged_timelines.

P.S. they are disabled by default in Patroni.

* DPE-8337 Fix integration tests

* Force set the rewind config

---------

Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Lock file maintenance Python dependencies (#1176)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-8430][DPE-8427] Mute error message to debug and creation of access roles (#1186)

* Mute error message to debug

* Create access roles

* Move setup of access roles to upgrade granted

* Try to use mnt for storage

* Skip disk cleanup

* Update charmcraft.yaml build tools (#1142)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* DPE-8470 Bump snap for Patroni to 3.3.8 (#1197)

* [MISC] Set strict sync mode (#1196)

* Set strict sync mode

* Try bootstrapping with false strict mode

* Move increase writes check

* Try to cleanup only if the test didn't fail

* Add checks for strict mode

* Revert "Add checks for strict mode"

This reverts commit 85b7f61.

* Try using env to detect test failure

* Remove redundant arg

* Try stopping instead of cleaning

* Only set strict mode if there are multiple active units

* Check sync units as well

* Update dependency ops to v3 (#1019)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#1203)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* DPE-8395 Remove old revision of Juju Secret (#1195)

* Remove old revision of secret

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove secrets' old revision on upgrade

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove all previous secret revisions

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Handle juju/juju#20782

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Revert "Handle juju/juju#20782"

This reverts commit 0e29e0e.

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Reapply "Handle juju/juju#20782"

This reverts commit 0e23c96.

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Handle juju/juju#20794

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Consider all secrets created by the charm

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Check for secrets support

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove upgrade logic

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* DPE-8470 Temporary revert to Ops 2 (#1208)

Issue: 

Some tests start failing ops v3 (especially self-healing). It requires investigation,
but 14/stable is long waited for PS6 fixes.

Solution:

Temporary reverting ops to previous version 2 to release the next 14/stable

* Revert self healing 3

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Co-authored-by: Andreia <andreia.velasco@canonical.com>
Co-authored-by: Vladimir Izmalkov <48120135+izmalk@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Sinclert Pérez <sinclert.perez@canonical.com>
Co-authored-by: swetha1654 <swetha.swaminathan@canonical.com>
Co-authored-by: Alex Lutay <1928266+taurus-forever@users.noreply.github.com>
Co-authored-by: Mykola Marzhan <303592+delgod@users.noreply.github.com>
Co-authored-by: Tushar <30565750+tushar5526@users.noreply.github.com>
Co-authored-by: Gere_X <52193900+Gere321123@users.noreply.github.com>
delgod added a commit that referenced this pull request Oct 24, 2025
)

* [MISC] Use latest/stable lxd (#804)

* Use latest stable lxd

* Test tweaks

* Test tweaks

* Update canonical/data-platform-workflows action to v31.0.1 (#805)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-6874] Poll all members in the cluster topology script (#810)

* Poll all members in the cluster topology script

* Dual branch config

* Unit tests and bugfixes

* Add peers when starting the observer

* Retry sync up checks

* [DPE-6572] Add wal_keep_size config option (#799)

* Add wal_keep_size config option

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove parameter addition

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Reset durability_wal_keep_size value to PG default

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Create pull_request_template.md (#814)

* Create SECURITY.md (#822)

* Update README file's security section (#827)

* Refactor headings for syntax best practice

* Update the Security section

* Sync docs from Discourse (#796)

Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>

* [MISC] Conditional checksum calculation (#812)

* Bump boto

* Conditional checksum calculation

* [DPE-6218] Static code analysis (#828)

* Create tiobe_scan.yaml

* Remove push trigger

* [MISC] Disable landscape subordinate test lxd (#831)

* Set series for ubuntu-advantage test and disable the landscape test

* Revert to LTS LXD

* Update charmcraft.yaml build tools (#815)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [MISC] Update snapped PostgreSQL (#832)

* [DPE-6345] LDAP I: Create access groups (#823)

* [DPE-6345] LDAP II: Include charm libs (#824)

* [DPE-6345] LDAP III: Define config and handlers (#825)

* [DPE-6345] LDAP IV: Define snap service (#838)

* [DPE-6345] LDAP V: Define mapping option (#849)

* [MISC] Disable network cut tests on arm (#844)

* Disable network cut tests on arm

* Back to LXD 5

* [DPE-6815] disable pgaudit during extensions changes (#842)

* disable pgaudit during extensions changes

* Bump libs

* Lock file maintenance Python dependencies (main) (#816)

* Lock file maintenance Python dependencies

* Fix linting

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Update dependency uv to v0.6.16 (#847)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-6664] Make username mandatory in set-password (#846)

* Make username mandatory

* Second get password method

* Default in get-password

* Add conditional expose directive (#853)

* Lock file maintenance Python dependencies (#854)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Mandatory scope for promote action (#856)

* Update charmcraft.yaml build tools (#860)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#861)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Sync docs from Discourse (#850)

Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>

* [MISC] Extend relation-user listing syntax (#868)

* Sync libs (#884)

* Remove runner password (#913)

* [DPE-6898] User->databases pg_hba rules (#885)

* Restrict each user to their allowed databases

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix unit tests

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix sync users on replicas

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix unit test

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Add default landscape user permission

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Increase sleep time in pg_hba test, fix user->database mapping for upgrade from stable and skip event trigger function code when not a superuser

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Improve users list check

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix raft reinitialisation in tests

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Decrease the amount of API calls by one

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Check users list directly

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Tweak test fast interval

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Improvements to avoid replica restart while syncing from primary

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix linting

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update charmcraft.yaml build tools (#871)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [MISC] Remove JujuVersion warning in 14/edge (#933)

* Remove JujuVersion warning

* Update libs

* Refactor v14 documentation for Sphinx (#919)

* initial starter pack transfer
* update conf.py
* import processed discourse pages
* fix internal references and some broken URLs
* fix some style errors
* organize navigation
* remove h1 heading anchors
* add images to repository
* edit home page
* update .readthedocs.yaml
* remove docs/requirements.txt from .gitignore scope
* fix incorrect paths
* remove shell syntax from code blocks
* remove juju 2 banners
* fix dropdown formatting
* fix and polish admonitions, collapsible, and misc formatting
* remove v16 docs
* remove reference to nonexistant page
* Join all tutorial pages
* rename how-to-guides to how-to
* polish cloud deployment guides and rename leftover how-to-guide references
* polish and sync how-to guides with k8s
* remove discourse sync workflow
* specify channel on all deploy commands
* misc polishing, add version to side nav
* add pg 16 admonitions
* ignore docs folder in charm workflows
* sync misc. pages with k8s
* Minor README update with new documentation link
* add new section to CLI-helpers reference
* pin commit for v16 tag on markdown lint workflow for added security
* Update README.md
* remove sphinx python dependency check workflow
* Update index.md: add link to roles.md (#928)

---------

Co-authored-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Co-authored-by: Alex Lutay <1928266+taurus-forever@users.noreply.github.com>

* [DPE-7511] Fix the auth username pattern (#941)

* Fix auth username pattern

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix another ocurrence of the pattern

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update PG to 14.18 (#943)

* [DPE-7521] Fix HBA rules for Landscape related through PgBouncer (#946)

* Fix HBA rules for Landscape related through PgBouncer

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update comment

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Order users and databases

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Add unit test for relations_user_databases_map property

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Fix typo

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* DPE-6662 Fix pgbackrest logs names on logs rotation (#939) (#949)

The pgBackRest activity (backup creation, stanza initialisation, etc) could take minutes,
as a result every minute logs rotation could move the current log A.log to A.log_$date.log
and will be moved further as logrorate rule operates all *.log files in the folder:

> /var/snap/charmed-postgresql/common/var/log/pgbackrest/*.log { ...

It results in:

-rw------- 1 postgres postgres     0 Feb 18 09:25 all-server.log
-rw------- 1 postgres postgres     0 Feb 18 09:19 all-server.log-20250218_09:18.log
-rw------- 1 postgres postgres     0 Feb 18 09:20 all-server.log-20250218_09:18.log-20250218_09:19.log
-rw------- 1 postgres postgres     0 Feb 18 09:21 all-server.log-20250218_09:18.log-20250218_09:19.log-20250218_09:20.log
-rw------- 1 postgres postgres     0 Feb 18 09:22 all-server.log-20250218_09:18.log-20250218_09:19.log-20250218_09:20.log-20250218_09:21.log
-rw------- 1 postgres postgres     0 Feb 18 09:23 all-server.log-20250218_09:18.log-20250218_09:19.log-20250218_09:20.log-20250218_09:21.log-20250218_09:22.log
-rw------- 1 postgres postgres  1793 Feb 18 09:24 all-server.log-20250218_09:18.log-20250218_09:19.log-20250218_09:20.log-20250218_09:21.log-20250218_09:22.log-20250218_09:23.log

The poposed fix:
 * move the log file to the new name without .log suffix.
 * use datetime format matching MySQL charms

Example:

-rw------- 1 postgres postgres    12 Feb 18 09:28 all-server.log
-rw------- 1 postgres postgres   322 Feb 18 09:29 all-server.log-20250218_0918
-rw------- 1 postgres postgres  7344 Feb 18 09:30 all-server.log-20250218_0918

(cherry picked from commit ffa77b2)

* Update Python dependencies (#904)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update canonical/data-platform-workflows action to v31.1.1 (#872)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Add redirects for all charmhub pages (14) (#961)

* feat: add rediraffe sphinx extension and discourse redirects for each page

* convert tabs to single space

* fix: minor style issues in README.md and CONTRIBUTING.md

* comment out old redirect extension to avoid confusion

* Update dependency requests to v2.32.4 [SECURITY] (#956)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Backport #959 to 14/edge (#963)

* Lock file maintenance Python dependencies (#874)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: add forward slash to redirect paths (#964)

* fix typo (#965)

* Update dependency uv to v0.7.13 (#951)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Rename team (#972)

* [MISC] Check is_user_in_hba output (#973)

* Check is_user_in_hba output

* Drop extra parameter

* Update canonical/data-platform-workflows action to v32 (main) (#873)

* Update canonical/data-platform-workflows action to v32

* Update libs and release flow

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Lock file maintenance Python dependencies (#976)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency uv to v0.7.14 (#995)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#996)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [MISC] Don't restart during initial sync (#1000)

* Don't restart during initial sync

* Catch relations map exceptions

* Lock file maintenance Python dependencies (#1011)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-7549] Add compression and restore max-process (#1009)

* Add compression and restore max-process

* Update libs

* typo: "chances" to "changes" (#1018)

* remove markdown linter action (#1028)

* Fix automatic doc checks (#1006)

* Fix spellcheck

* Fix some broken URLs

* fix remaining broken urls

* add missing backticks to toctrees

* small spellcheck fix

* DPE-7723: Update releases.md: fix arch for revs 429/430 (#1046)

## Issue

https://canonical-charmed-postgresql.readthedocs-hosted.com/14/reference/releases/ says
rev 430 is amd64
rev 429 is arm64

This is wrong:
```
juju download postgresql --revision 429
unp ./postgresql_r429.charm -d ./r429
grep amd ./r429/manifest.yaml 
  - amd64
```
 
## Solution

Update docs with proper pinning.
Fixes: #1045

* [DPE-6259] pgbackrest config perms (#1038)

* Remove read access to pgbackrest conf file

* Update libs

* Set extra user roles config for the test app

* Fix data-int base

* Set channel and series in ne rel tests

* Fix MicroStack links (#1063)

* [DPE-7594] Sync up pg_hba changes and remove trigger (#1070)

* Port user hash

* Blocking test app

* Update canonical/data-platform-workflows action to v32.2.1 (#1065)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#1020)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Migrate config .github/renovate.json5 (#1074)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update charmcraft.yaml build tools (#1010)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-7871] Reorder map logic (#1075)

* Reorder map logic

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove unneeded check

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* [DPE-7594] Add custom users to pg_hba filter (#1073)

* Add custom users to pg_hba filter

* Fix unit test

* Tests for async replication.py (#1033)

* def test_can_promote_cluster():

* test_handle_database_start

* _on_async_relation_changed

* test_on_secret_changed first if

* change a lit bit

* add tests for stop database function

* still need some upgrades

* add this

* add learning

* test__configure_primary_cluster

* clean up

* we don't need import application

* start test__on_async_relation_departed

* format

* done test__on_async_relation_departed

* test_on_async_relation_joined

* test_on_create_replication

* test_promote_to_primary

* add test

* test_wait_for_standby_leader

* formatize

* formatize 2.0

* test_get_partner_addresses

* test_handle_replication_change

* test_handle_forceful_promotion

* add tests

* test_on_async_relation_broken

* formatize

* finishing

* need some help

* date

* add aplications

* format

* promote_standby_cluster is none

* add unit name

---------

Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Lock file maintenance Python dependencies (#1077)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Add SNAP revisions to Releases page (#1086)

* Add SNAP revisions to Releases page

For end-users, it is hard to find the proper/expected SNAP revison for
the specific Charm revision in Git. This should simplify it.

* fix broken URLs

---------

Co-authored-by: andreia <andreia.velasco@canonical.com>

* Update canonical/data-platform-workflows action to v32.2.2 (#1088)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update GitHub actions to v5 (#1090)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#1091)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update charmcraft.yaml build tools (#1089)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency uv to v0.8.12 (#1103)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* DPE-7968 Bump snap revision (remove python3-boto3 for CVE-2023-37920) (#1109)

* Lock file maintenance Python dependencies (#1104)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update canonical/data-platform-workflows action to v32.2.3 (#1102)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update Charmhub home page (14) (#1110)

* Update metadata.yaml

* Update VM terminology

* Lock file maintenance Python dependencies (#1121)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency uv to v0.8.13 (#1119)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update charm libs (#1127)

* Update canonical/data-platform-workflows action to v35 (#1120)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Enable ceph test on arm (#1129)

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Update dependency uv to v0.8.14 (#1130)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Don't block if the snap cannot be installed (#1136)

* Lock file maintenance Python dependencies (#1131)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Add back raft encryption check (#1146)

* DPE-8299 Bump disk cleanup timeout 1=>10 (#1148)

* [DPE-8005] Handle empty region (#1157)

* Handle empty region

* Handle invalid stanza name

* DPE-8296 Bump PostgreSQL to 14.19 (#1147)

* Lock file maintenance Python dependencies (#1143)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* DPE-8296 Downgrade promote.yaml to _promote_charm.yaml@v31.1.1 (#1161)

D-p-w v32+ requires refresh v3 versioning, otherwise:
https://github.com/canonical/postgresql-operator/actions/runs/17777132580

> Invalid workflow file: .github/workflows/promote.yaml#L28
> error parsing called workflow ".github/workflows/promote.yaml" ->
> "canonical/data-platform-workflows/.github/workflows/_promote_charm.yaml@v35.0.2":
> failed to fetch workflow: workflow was not found.

* Remove reinits (#1168)

* [MISC] Config hash (#1166)

* Use Patroni API for is_restart_pending

* Cached props

* Magic sleep and legacy rel names

* Hash config value and restart only on change

* Tweaks

* Legacy interface fix

* Fix legacy test

* Increase idle period

* Wrong username

* Remove copypasta

* Update versions and release documentation (14) (#1158)

* Refactor charm version explanation pages

* refactor releases reference pages

* Move all legacy information to legacy charm page

* Add feature lists back to modern charm versions page

* fix broken references

* [MISC] Fix smoke test (#1184)

* Volume tests

* Manually deploying

* [DPE-8337] Disable Patroni config to prevent possible data loss (#1173)

* DPE-8337 Disable Patroni config to prevent possible dataloose

Disable Patroni config options explecitely:
remove_data_directory_on_rewind_failure and
remove_data_directory_on_diverged_timelines.

P.S. they are disabled by default in Patroni.

* DPE-8337 Fix integration tests

* Force set the rewind config

---------

Co-authored-by: Dragomir Penev <dragomir.penev@canonical.com>

* Lock file maintenance Python dependencies (#1176)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [DPE-8430][DPE-8427] Mute error message to debug and creation of access roles (#1186)

* Mute error message to debug

* Create access roles

* Move setup of access roles to upgrade granted

* Try to use mnt for storage

* Skip disk cleanup

* Update charmcraft.yaml build tools (#1142)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* DPE-8470 Bump snap for Patroni to 3.3.8 (#1197)

* [MISC] Set strict sync mode (#1196)

* Set strict sync mode

* Try bootstrapping with false strict mode

* Move increase writes check

* Try to cleanup only if the test didn't fail

* Add checks for strict mode

* Revert "Add checks for strict mode"

This reverts commit 85b7f61.

* Try using env to detect test failure

* Remove redundant arg

* Try stopping instead of cleaning

* Only set strict mode if there are multiple active units

* Check sync units as well

* Update dependency ops to v3 (#1019)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Lock file maintenance Python dependencies (#1203)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* DPE-8395 Remove old revision of Juju Secret (#1195)

* Remove old revision of secret

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove secrets' old revision on upgrade

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove all previous secret revisions

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Handle juju/juju#20782

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Revert "Handle juju/juju#20782"

This reverts commit 0e29e0e.

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Reapply "Handle juju/juju#20782"

This reverts commit 0e23c96.

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Handle juju/juju#20794

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Consider all secrets created by the charm

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Check for secrets support

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Remove upgrade logic

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* DPE-8470 Temporary revert to Ops 2 (#1208)

Issue: 

Some tests start failing ops v3 (especially self-healing). It requires investigation,
but 14/stable is long waited for PS6 fixes.

Solution:

Temporary reverting ops to previous version 2 to release the next 14/stable

* Revert "DPE-8395 Remove old revision of Juju Secret (#1195)" (#1216)

This reverts commit 27c5225.

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* Defer peer relation changed event while upgrading (#1224)

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>

* PgBackrest Dashboard and alert rules (#1191)

* feat: enable `pgbackrest_exporter` metrics collection

* feat: `pgbackrest` alerts and dashboard

* test: add unit tests for alerts

* doc: update docs

* fix: separate `pgbackrest-exporter` flag for peers

* test: mock `_setup_pgbackrest_exporter`

* chore: remove k8s from the dashboard name

* docs: fix typos & remove k8s

* Switch to charmlibs packages

---------

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Co-authored-by: Andreia <andreia.velasco@canonical.com>
Co-authored-by: Vladimir Izmalkov <48120135+izmalk@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Sinclert Pérez <sinclert.perez@canonical.com>
Co-authored-by: swetha1654 <swetha.swaminathan@canonical.com>
Co-authored-by: Alex Lutay <1928266+taurus-forever@users.noreply.github.com>
Co-authored-by: Mykola Marzhan <303592+delgod@users.noreply.github.com>
Co-authored-by: Tushar <30565750+tushar5526@users.noreply.github.com>
Co-authored-by: Gere_X <52193900+Gere321123@users.noreply.github.com>
Co-authored-by: Yurii Kondrakov <yurii.kondrakov@canonical.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

not bug or enhancement PR is not 'bug' or 'enhancement'. For release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants