feat: add shared pgsql instance (#328)
- add shared pgsql instance - use patroni Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/328
This commit is contained in:
parent
99b312669b
commit
d1e63ad18b
3
hieradata/roles/infra/sql/shared.eyaml
Normal file
3
hieradata/roles/infra/sql/shared.eyaml
Normal file
@ -0,0 +1,3 @@
|
||||
profiles::sql::patroni::superuser_password: ENC[PKCS7,MIIBmQYJKoZIhvcNAQcDoIIBijCCAYYCAQAxggEhMIIBHQIBADAFMAACAQEwDQYJKoZIhvcNAQEBBQAEggEAGYcNr4b5SHlNF1v77ExV4bzITYfqQtFPUsqqH9iVD7urUtjEcNH3QJPUtJRIAglByjx5KxB5YVkQp5VRE3nb5ZrhQN3sSgBi0iRNbZaX7S4KVZCfUN+8ksl+UO3LqyaZPcBu7HRTOBEiuuXAEepSgLOk/Bn7gRPrwZtxdVoefxBT2s9WA4b8v0DV1JixYUSo+TVpJdQIRlvZIZUa4SPl9tDpv1eI8IDY7eSMa8wuceSlvLT9a4ADstD4mI4dfhuoa0HZXSBPsTPpMBdtN2gmXR/rX8WvQ0oiCTvPI0qv8R3J6x22bufI8Ph+xcQiDgBgRaHGVl0bbvCGcozX9kRHtTBcBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBCNCAOWU34Ty+/IdzGXqInAgDAzzjKG7/exifZE2SkyovA/iWzwmc1Z2Kptw0xladrM4YhrnOt66JIka6Yo1S94k4o=]
|
||||
profiles::sql::patroni::replication_password: ENC[PKCS7,MIIBmQYJKoZIhvcNAQcDoIIBijCCAYYCAQAxggEhMIIBHQIBADAFMAACAQEwDQYJKoZIhvcNAQEBBQAEggEAne8vHHDkqrzEQLRXW+nQn5ZviLn3uAGi2a2RM+FGY809k3ortUGjZL+GIGe4Gu47mMTQOuuC2kuxzu4iqRzoj/D3Usldlx1LSWf60GrVLwX86Rp9h+9FuVNEqG17r6bA9iTp99ZrZ0tYFT9Ib7Gfo7Tq4Ke80qI4q/vDDAaJXtv19s8Z51miYD7epC3bysjOVLtRnU7y6Cwod+yBDE768KVmy6fVpGrM4Z6OK9ppYXfhvxrtqSuu5jFZyy/tBepRKPu0NcD7zzCeKYGNBaF6p77EsExAHamh76arlYyIOK+31ZM5ujvzL/d2JYKdIX5W0wsrn828NE1xOIDuxrMxXTBcBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBD8sRkp64N+Gzp4l3UUMEwjgDCSbEQr31HEWZBRLkDXjuOz9P+njEPdRCXELY2ARxoIIylhGw3dmxSzfRyh/EyELt4=]
|
||||
profiles::sql::patroni::postgres_exporter_pass: ENC[PKCS7,MIIBmQYJKoZIhvcNAQcDoIIBijCCAYYCAQAxggEhMIIBHQIBADAFMAACAQEwDQYJKoZIhvcNAQEBBQAEggEALkVTQluDB82R+V7jQXgzaNVvMsbU2bxEPHnirYn3qJ05zobJqPjKMl0bDveNfMBCI2wM9vXTiEKeIgqFI4w99T5dOc4n+uRUcVkz7yNcxXTrIbaVF5PKVDASylEmvqRJHj3i2IU8WgePKc6VcvVGf3Wv6nh/uMcKXU1//shpV/04MqL7zhDdSEbiOam2Ki02UKaT4FMQsAkhubDPQjgfbIiWUY1+kLGmvCcG3kd1ET/vzWYNO7EPc6xk7+EDNBJ9nIf2vOsGRW1h/xLuRiB7dtUDovjgaJXwfJ+jpAK2JwrxE8nmmbnFcxxTt7tBAx0L50R61gwRVnUnPWXC4lX3ozBcBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBDSBkjfKfXTt83PnrbvMq7ggDBLWwqQ0x0OheiIefkEZc7EKc5p04OugadO5rfuHieZ0vu4lAh24OoHpy/SlqONh4I=]
|
||||
47
hieradata/roles/infra/sql/shared.yaml
Normal file
47
hieradata/roles/infra/sql/shared.yaml
Normal file
@ -0,0 +1,47 @@
|
||||
---
|
||||
hiera_include:
|
||||
- profiles::sql::patroni
|
||||
|
||||
profiles::packages::include:
|
||||
python3-devel: {}
|
||||
libpq5-devel: {}
|
||||
postgresql-devel: {}
|
||||
|
||||
postgresql_config_entries:
|
||||
max_connections: 300
|
||||
shared_buffers: '256MB'
|
||||
|
||||
profiles::sql::patroni::cluster_name: "patroni-shared-%{facts.environment}"
|
||||
profiles::sql::patroni::postgres_exporter_enabled: true
|
||||
profiles::sql::patroni::postgres_exporter_user: postgres_exporter
|
||||
profiles::sql::patroni::pgsql_version: "17"
|
||||
|
||||
python::manage_dev_package: false
|
||||
|
||||
profiles::consul::client::node_rules:
|
||||
- resource: service
|
||||
segment: "%{hiera('profiles::sql::patroni::cluster_name')}"
|
||||
disposition: write
|
||||
- resource: service_prefix
|
||||
segment: "%{hiera('profiles::sql::patroni::cluster_name')}"
|
||||
disposition: write
|
||||
- resource: key_prefix
|
||||
segment: "service/%{hiera('profiles::sql::patroni::cluster_name')}"
|
||||
disposition: write
|
||||
- resource: session_prefix
|
||||
segment: ""
|
||||
disposition: write
|
||||
|
||||
profiles::yum::global::repos:
|
||||
postgresql-17:
|
||||
name: postgresql-17
|
||||
descr: postgresql-17 repository
|
||||
target: /etc/yum.repos.d/postgresql.repo
|
||||
baseurl: https://packagerepo.service.consul/postgresql/rhel%{facts.os.release.major}/17-daily/%{facts.os.architecture}/os
|
||||
gpgkey: https://packagerepo.service.consul/postgresql/rhel%{facts.os.release.major}/17-daily/%{facts.os.architecture}/os/PGDG-RPM-GPG-KEY-RHEL
|
||||
postgresql-common:
|
||||
name: postgresql-common
|
||||
descr: postgresql-common repository
|
||||
target: /etc/yum.repos.d/postgresql.repo
|
||||
baseurl: https://packagerepo.service.consul/postgresql/rhel%{facts.os.release.major}/common-daily/%{facts.os.architecture}/os
|
||||
gpgkey: https://packagerepo.service.consul/postgresql/rhel%{facts.os.release.major}/common-daily/%{facts.os.architecture}/os/PGDG-RPM-GPG-KEY-RHEL
|
||||
10
site/roles/manifests/infra/sql/shared.pp
Normal file
10
site/roles/manifests/infra/sql/shared.pp
Normal file
@ -0,0 +1,10 @@
|
||||
# a role to deploy the shared postgresql service
|
||||
class roles::infra::sql::shared {
|
||||
if $facts['firstrun'] {
|
||||
include profiles::defaults
|
||||
include profiles::firstrun::init
|
||||
}else{
|
||||
include profiles::defaults
|
||||
include profiles::base
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user