puppet-prod/modules/libs/lib/facter/psql_is_slave.rb

17 lines
496 B
Ruby

# frozen_string_literal: true
Facter.add(:psql_is_slave) do
confine enc_role: [
'roles::infra::sql::patroni',
'roles::infra::sql::shared',
'roles::infra::puppetdb::sql'
]
setcode do
# Command to check if PostgreSQL is in recovery mode
command = 'sudo -iu postgres psql -tAc "select pg_is_in_recovery()"'
# Execute the command and map the output to a boolean value
{ 't' => true, 'f' => false }[Facter::Core::Execution.execute(command, on_fail: nil)]
end
end