diff --git a/hieradata/roles/infra/sql/shared.eyaml b/hieradata/roles/infra/sql/shared.eyaml new file mode 100644 index 0000000..0ea317c --- /dev/null +++ b/hieradata/roles/infra/sql/shared.eyaml @@ -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=] diff --git a/hieradata/roles/infra/sql/shared.yaml b/hieradata/roles/infra/sql/shared.yaml new file mode 100644 index 0000000..455d871 --- /dev/null +++ b/hieradata/roles/infra/sql/shared.yaml @@ -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 diff --git a/site/roles/manifests/infra/sql/shared.pp b/site/roles/manifests/infra/sql/shared.pp new file mode 100644 index 0000000..2921fa4 --- /dev/null +++ b/site/roles/manifests/infra/sql/shared.pp @@ -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 + } +}