patroni
: Manages a Patroni instance
patroni_dcs_config
: Manages Patroni DCS configuration optionspatronictl_config
: Abstract type to configure other types
Manages a Patroni instance
The following parameters are available in the patroni
class:
scope
namespace
hostname
dcs_loop_wait
dcs_ttl
dcs_retry_timeout
dcs_maximum_lag_on_failover
dcs_master_start_timeout
dcs_synchronous_mode
dcs_synchronous_mode_strict
dcs_postgresql_use_pg_rewind
dcs_postgresql_use_slots
dcs_postgresql_recovery_conf
dcs_postgresql_parameters
bootstrap_method
initdb_data_checksums
initdb_encoding
initdb_locale
bootstrap_pg_hba
bootstrap_users
bootstrap_post_bootstrap
bootstrap_post_init
superuser_username
superuser_password
replication_username
replication_password
callback_on_reload
callback_on_restart
callback_on_role_change
callback_on_start
callback_on_stop
pgsql_connect_address
pgsql_create_replica_methods
pgsql_data_dir
pgsql_config_dir
pgsql_bin_dir
pgsql_listen
pgsql_use_unix_socket
pgsql_pgpass_path
pgsql_recovery_conf
pgsql_custom_conf
pgsql_parameters
pgsql_pg_hba
pgsql_pg_ctl_timeout
pgsql_use_pg_rewind
pgsql_remove_data_directory_on_rewind_failure
pgsql_replica_method
manage_postgresql_repo
use_consul
consul_host
consul_url
consul_port
consul_scheme
consul_token
consul_verify
consul_register_service
consul_service_check_interval
consul_consistency
consul_cacert
consul_cert
consul_key
consul_dc
consul_checks
use_etcd
etcd_host
etcd_hosts
etcd_url
etcd_proxyurl
etcd_srv
etcd_protocol
etcd_username
etcd_password
etcd_cacert
etcd_cert
etcd_key
use_exhibitor
exhibitor_hosts
exhibitor_poll_interval
exhibitor_port
use_kubernetes
kubernetes_namespace
kubernetes_labels
kubernetes_scope_label
kubernetes_role_label
kubernetes_use_endpoints
kubernetes_pod_ip
kubernetes_ports
restapi_ciphers
restapi_connect_address
restapi_listen
restapi_username
restapi_password
restapi_certfile
restapi_keyfile
restapi_cafile
restapi_verify_client
use_zookeeper
zookeeper_hosts
watchdog_mode
watchdog_device
watchdog_safety_margin
manage_postgresql
postgresql_version
package_name
version
install_dependencies
manage_python
install_method
install_dir
python_class_version
python_venv_version
manage_venv_package
config_path
config_owner
config_group
config_mode
service_name
service_ensure
service_enable
custom_pip_provider
is_standby
standby_cluster_host
standby_cluster_port
standby_cluster_primary_slot_name
Data type: String[1]
Refer to Patroni Global scope
setting
Data type: String[1]
Refer to Patroni Global namespace
setting
Default value: '/service/'
Data type: String
Refer to Patroni Global name
setting
Default value: $facts['networking']['hostname']
Data type: Integer
Refer to Patroni Dynamic Configuration Settings loop_wait
setting
Default value: 10
Data type: Integer
Refer to Patroni Dynamic Configuration Settings ttl
setting
Default value: 30
Data type: Integer
Refer to Patroni Dynamic Configuration Settings retry_timeout
setting
Default value: 10
Data type: Integer
Refer to Patroni Dynamic Configuration Settings maximum_lag_on_failover
setting
Default value: 1048576
Data type: Integer
Refer to Patroni Dynamic Configuration Settings master_start_timeout
setting
Default value: 300
Data type: Boolean
Refer to Patroni Dynamic Configuration Settings synchronous_mode
setting
Default value: false
Data type: Boolean
Refer to Patroni Dynamic Configuration Settings synchronous_mode_strict
setting
Default value: false
Data type: Boolean
Refer to Patroni Dynamic Configuration Settings postgresql_use_pg_rewind
setting
Default value: true
Data type: Boolean
Refer to Patroni Dynamic Configuration Settings postgresql_use_slots
setting
Default value: true
Data type: Hash
Refer to Patroni Dynamic Configuration Settings postgresql_recovery_conf
setting
Default value: {}
Data type: Hash
Refer to Patroni Dynamic Configuration Settings postgresql_parameters
setting
Default value: {}
Data type: String[1]
Refer to Bootstrap configuration settings method
setting
Default value: 'initdb'
Data type: Boolean
Refer to Bootstrap configuration settings data-checksums
setting
Default value: true
Data type: String
Refer to Bootstrap configuration settings encoding
setting
Default value: 'UTF8'
Data type: String
Refer to Bootstrap configuration settings locale
setting
Default value: 'en_US.utf8'
Data type: Array[String]
Refer to Bootstrap configuration settings pg_hba
setting
Default value:
[
'host all all 0.0.0.0/0 md5',
'host replication rep_user 0.0.0.0/0 md5',
]
Data type: Hash
Refer to Bootstrap configuration settings users
setting
Default value: {}
Data type: Variant[Undef,String]
Refer to Bootstrap configuration settings post_bootstrap
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to Bootstrap configuration settings post_init
setting
Default value: undef
Data type: String
Refer to PostgreSQL configuration settings superuser username
Default value: 'postgres'
Data type: String
Refer to PostgreSQL configuration settings superuser password
Default value: 'changeme'
Data type: String
Refer to PostgreSQL configuration settings replication username
Default value: 'rep_user'
Data type: String
Refer to PostgreSQL configuration settings replication password
Default value: 'changeme'
Data type: Variant[Undef,String]
Refer to PostgreSQL configuration settings callbacks on_reload
Default value: undef
Data type: Variant[Undef,String]
Refer to PostgreSQL configuration settings callbacks on_restart
Default value: undef
Data type: Variant[Undef,String]
Refer to PostgreSQL configuration settings callbacks on_role_change
Default value: undef
Data type: Variant[Undef,String]
Refer to PostgreSQL configuration settings callbacks on_start
Default value: undef
Data type: Variant[Undef,String]
Refer to PostgreSQL configuration settings callbacks on_stop
Default value: undef
Data type: String
Refer to PostgreSQL configuration settings connect_address
setting
Default value: "${facts['networking']['fqdn']}:5432"
Data type: Array[String]
Refer to PostgreSQL configuration settings create_replica_methods
setting
Default value: ['basebackup']
Data type: Optional[Stdlib::Unixpath]
Refer to PostgreSQL configuration settings data_dir
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to PostgreSQL configuration settings config_dir
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to PostgreSQL configuration settings bin_dir
setting
Default value: undef
Data type: String
Refer to PostgreSQL configuration settings listen
setting
Default value: '0.0.0.0:5432'
Data type: Boolean
Refer to PostgreSQL configuration settings use_unix_socket
setting
Default value: false
Data type: String
Refer to PostgreSQL configuration settings pgpass_path
setting
Default value: '/tmp/pgpass0'
Data type: Hash
Refer to PostgreSQL configuration settings recovery_conf
setting
Default value: {}
Data type: Variant[Undef,String]
Refer to PostgreSQL configuration settings custom_conf
setting
Default value: undef
Data type: Hash
Refer to PostgreSQL configuration settings parameters
setting
Default value: {}
Data type: Array[String]
Refer to PostgreSQL configuration settings pg_hba
setting
Default value: []
Data type: Integer
Refer to PostgreSQL configuration settings pg_ctl_timeout
setting
Default value: 60
Data type: Boolean
Refer to PostgreSQL configuration settings use_pg_rewind
setting
Default value: true
Data type: Boolean
Refer to PostgreSQL configuration settings remove_data_directory_on_rewind_failure
setting
Default value: false
Data type: Array[Hash]
Refer to PostgreSQL configuration settings replica_method
setting
Default value: []
Data type: Boolean
Should the postgresql module manage the package repo
Default value: true
Data type: Boolean
Boolean to use Consul for configuration storage
Default value: false
Data type: String
Refer to Consul configuration host
setting
Default value: 'localhost'
Data type: Variant[Undef,String]
Refer to Consul configuration url
setting
Default value: undef
Data type: Stdlib::Port
Refer to Consul configuration port
setting
Default value: 8500
Data type: Enum['http','https']
Refer to Consul configuration scheme
setting
Default value: 'http'
Data type: Variant[Undef,String]
Refer to Consul configuration token
setting
Default value: undef
Data type: Boolean
Refer to Consul configuration verify
setting
Default value: false
Data type: Optional[Boolean]
Refer to Consul configuration register_service
setting
Default value: undef
Data type: Optional[String]
Refer to Consul configuration service_check_interval
setting
Default value: undef
Data type: Optional[Enum['default', 'consistent', 'stale']]
Refer to Consul configuration consistency
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to Consul configuration cacert
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to Consul configuration cert
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to Consul configuration key
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to Consul configuration dc
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to Consul configuration checks
setting
Default value: undef
Data type: Boolean
Boolean to use Etcd for configuration storage
Default value: false
Data type: String
Refer to Etcd configuration host
setting
Default value: '127.0.0.1:2379'
Data type: Array[String]
Refer to Etcd configuration hosts
setting
Default value: []
Data type: Variant[Undef,String]
Refer to Etcd configuration url
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to Etcd configuration proxy
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to Etcd configuration srv
setting
Default value: undef
Data type: Enum['http','https']
Refer to Etcd configuration protocol
setting
Default value: 'http'
Data type: Variant[Undef,String]
Refer to Etcd configuration username
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to Etcd configuration password
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to Etcd configuration cacert
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to Etcd configuration cert
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to Etcd configuration key
setting
Default value: undef
Data type: Boolean
Boolean to use Exhibitor configuration storage
Default value: false
Data type: Array[String]
Refer to Exhibitor configuration hosts
setting
Default value: []
Data type: Integer
Refer to Exhibitor configuration poll_interval
setting
Default value: 10
Data type: Integer
Refer to Exhibitor configuration port
setting
Default value: 8080
Data type: Boolean
Boolean to use Kubernetes configuration storage
Default value: false
Data type: String
Refer to Kubernetes configuration namespace
setting
Default value: 'default'
Data type: Hash
Refer to Kubernetes configuration labels
setting
Default value: {}
Data type: Variant[Undef,String]
Refer to Kubernetes configuration scope_label
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to Kubernetes configuration role_label
setting
Default value: undef
Data type: Boolean
Refer to Kubernetes configuration use_endpoints
setting
Default value: false
Data type: Variant[Undef,String]
Refer to Kubernetes configuration pod_ip
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to Kubernetes configuration ports
setting
Default value: undef
Data type: Optional[String]
Refer to REST API configuration ciphers
setting
Default value: undef
Data type: String
Refer to REST API configuration connect_address
setting
Default value: "${facts['networking']['fqdn']}:8008"
Data type: String
Refer to REST API configuration listen
setting
Default value: '0.0.0.0:8008'
Data type: Variant[Undef,String]
Refer to REST API configuration username
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to REST API configuration password
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to REST API configuration certfile
setting
Default value: undef
Data type: Variant[Undef,String]
Refer to REST API configuration keyfile
setting
Default value: undef
Data type: Optional[String]
Refer to REST API configuration cafile
setting
Default value: undef
Data type: Optional[Enum['none','optional','required']]
Refer to REST API configuration verify_client
setting
Default value: undef
Data type: Boolean
Boolean to enable Zookeeper configuration storage
Default value: false
Data type: Array[String[1]]
Refer to Zookeeper configuration hosts
setting
Default value: []
Data type: Enum['off','automatic','required']
Refer to Watchdog configuration mode
setting
Default value: 'automatic'
Data type: Stdlib::Absolutepath
Refer to Watchdog configuration device
setting
Default value: '/dev/watchdog'
Data type: Integer
Refer to Watchdog configuration safety_margin
setting
Default value: 5
Data type: Boolean
Boolean to determine if postgresql is managed
Default value: true
Data type: Optional[String[1]]
Version of postgresql passed to postgresql::globals class
Default value: undef
Data type: String[1]
Patroni package name, only used when install_method
is package
Default value: 'patroni'
Data type: String[1]
Version of Patroni to install
Default value: 'present'
Data type: Array[String[1]]
Install dependencies, only used when install_method
is pip
Default value: []
Data type: Boolean
Manage Python class, only used when install_method
is pip
Default value: true
Data type: Enum['package','pip']
Install method
Default value: 'pip'
Data type: Stdlib::Absolutepath
Install directory, only used when install_method
is pip
Default value: '/opt/app/patroni'
Data type: String[1]
The version of Python to pass to Python class
Only used when install_method
is pip
Default value: '36'
Data type: String[1]
The version of Python to pass to Python virtualenv defined type
Only used when install_method
is pip
Default value: '3.6'
Data type: Boolean
Whether to manage the Python venv package
Default value: true
Data type: Stdlib::Absolutepath
Path to Patroni configuration file
Default value: '/opt/app/patroni/etc/postgresql.yml'
Data type: String[1]
Patroni configuration file owner
Default value: 'postgres'
Data type: String[1]
Patroni configuration file group
Default value: 'postgres'
Data type: Stdlib::Filemode
Patroni configuration file mode
Default value: '0600'
Data type: String[1]
Name of Patroni service
Default value: 'patroni'
Data type: Enum['running', 'stopped']
Patroni service ensure property
Default value: 'running'
Data type: Boolean
Patroni service enable property
Default value: true
Data type: Optional[String[1]]
Use custom pip path when installing pip packages
Default value: undef
Data type: Boolean
Boolean to use Standby cluster
Default value: false
Data type: String
Refer to Standby configuration host
setting
Default value: '127.0.0.1'
Data type: Stdlib::Port
Refer to Standby configuration port
setting
Default value: 5432
Data type: String[1]
Refer to Standby configuration slot
setting
Default value: 'patroni'
Manages Patroni DCS configuration options
patroni_dcs_config { 'postgresql.params.max_connections':
value => '200',
}
The following properties are available in the patroni_dcs_config
type.
The value to assign the DCS configuration
The following parameters are available in the patroni_dcs_config
type.
namevar
The DCS configuration option name
The specific backend to use for this patroni_dcs_config
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
NOTE This is a private type not intended to be used directly.
The following parameters are available in the patronictl_config
type.
patronictl config
Default value: /opt/app/patroni/etc/postgresql.yml
namevar
The name of the resource.
patronictl path
Default value: /opt/app/patroni/bin/patronictl