mirror of
https://github.com/outbackdingo/patroni.git
synced 2026-01-27 10:20:10 +00:00
* Make sure tests are not making external calls and pass url with scheme to urllib3 to avoid warnings * Make sure unit tests not rely on filesystem state * Bump pyright and "solve" reported "issues" Most of them are related to partially unknown types of values from empty dict or list. To solve it for the empty dict we use `EMPTY_DICT` object of newly introduced `_FrozenDict` class. * Improve unit-tests code coverage * Add release notes for 3.3.0 * Bump version * Fix pyinstaller spec file * python 3.6 compatibility --------- Co-authored-by: Polina Bungina <27892524+hughcapet@users.noreply.github.com>
65 lines
2.5 KiB
ReStructuredText
65 lines
2.5 KiB
ReStructuredText
.. _tools_integration:
|
|
|
|
Integration with other tools
|
|
============================
|
|
|
|
Patroni is able to integrate with other tools in your stack. In this section you
|
|
will find a list of examples, which although not an exhaustive list, might
|
|
provide you with ideas on how Patroni can integrate with other tools.
|
|
|
|
Barman
|
|
------
|
|
|
|
Patroni delivers an application named ``patroni_barman`` which has logic to
|
|
communicate with ``pg-backup-api``, so you are able to perform Barman operations
|
|
remotely.
|
|
|
|
This application currently has a couple of sub-commands: ``recover`` and
|
|
``config-switch``.
|
|
|
|
patroni_barman recover
|
|
^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The ``recover`` sub-command can be used as a custom bootstrap or custom replica
|
|
creation method. You can find more information about that in
|
|
:ref:`replica_imaging_and_bootstrap`.
|
|
|
|
patroni_barman config-switch
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The ``config-switch`` sub-command is designed to be used as an ``on_role_change``
|
|
callback in Patroni. As an example, assume you are streaming WALs from your
|
|
current primary to your Barman host. In the event of a failover in the cluster
|
|
you might want to start streaming WALs from the new primary. You can accomplish
|
|
this by using ``patroni_barman config-switch`` as the ``on_role_change`` callback.
|
|
|
|
.. note::
|
|
That sub-command relies on the ``barman config-switch`` command, which is in
|
|
charge of overriding the configuration of a Barman server by applying a
|
|
pre-defined model on top of it. This command is available since Barman 3.10.
|
|
Please consult the Barman documentation for more details.
|
|
|
|
This is an example of how you can configure Patroni to apply a configuration
|
|
model in case this Patroni node is promoted to primary:
|
|
|
|
.. code:: YAML
|
|
|
|
postgresql:
|
|
callbacks:
|
|
on_role_change: >
|
|
patroni_barman
|
|
--api-url YOUR_API_URL
|
|
config-switch
|
|
--barman-server YOUR_BARMAN_SERVER_NAME
|
|
--barman-model YOUR_BARMAN_MODEL_NAME
|
|
--switch-when promoted
|
|
|
|
.. note::
|
|
``patroni_barman config-switch`` requires that you have both Barman and
|
|
``pg-backup-api`` configured in the Barman host, so it can execute a remote
|
|
``barman config-switch`` through the backup API. Also, it requires that you
|
|
have pre-configured Barman models to be applied. The above example uses a
|
|
subset of the available parameters. You can get more information running
|
|
``patroni_barman config-switch --help``, and by consulting the Barman
|
|
documentation.
|