postgres-formula/postgres/osfamilymap.yaml
Javier Bértoli 7bba14a61c fix(opensuse): fix repo key parameter
Also, fix tests for the different RedHat's family members
2022-02-04 20:57:30 -03:00

229 lines
5.5 KiB
YAML

# -*- coding: utf-8 -*-
# vim: ft=yaml
---
{% import_yaml "postgres/repo.yaml" as repo %}
{% set release = repo.version|replace('.', '') %}
Arch:
use_upstream_repo: false
conf_dir: /var/lib/postgres/data
data_dir: /var/lib/postgres/data
pkg_client: postgresql-libs
pkg_dev: postgresql
Debian:
pkgs_deps: ['python3-apt']
pkg_repo:
humanname: PostgreSQL Official Repository
file: /etc/apt/sources.list.d/pgdg.list
pkg_repo_keyring: 'https://download.postgresql.org/pub/repos/apt/pool/main/p/pgdg-keyring/pgdg-keyring_2018.2_all.deb'
pkg_repo_keyid: ACCC4CF8
{% if repo.use_upstream_repo == true %}
pkg_dev: ''
{% else %}
pkg_dev: postgresql-server-dev-all
{% endif %}
FreeBSD:
{% if repo.version|float >= 9.6 %}
user: &freebsd-user postgres
group: &freebsd-group postgres
conf_dir: {{ '/var/db/postgres/data' ~ release }}
data_dir: {{ '/var/db/postgres/data' ~ release }}
{% else %}
user: &freebsd-user pgsql
group: &freebsd-group pgsql
conf_dir: /usr/local/pgsql/data
data_dir: /usr/local/pgsql/data
{% endif %}
pkg_libpq_dev: null #not in freebsd
pkg_client: postgresql{{ release }}-client
pkg: postgresql{{ release }}-server
prepare_cluster:
user: *freebsd-user
group: *freebsd-group
service:
flags: -w -s -m fast
sysrc: True
OpenBSD:
conf_dir: /var/postgresql/data
data_dir: /var/postgresql/data
user: _postgresql
service:
flags: -w -s -m fast
sysrc: True
RedHat:
pkg_repo:
name: pgdg{{ release }}
humanname: PostgreSQL {{ repo.version }} $releasever - $basearch
gpgcheck: 1
gpgkey: 'https://download.postgresql.org/pub/repos/yum/RPM-GPG-KEY-PGDG-{{ release }}'
baseurl: 'https://download.postgresql.org/pub/repos/yum/{{ repo.version }}/redhat/rhel-$releasever-$basearch'
pkgs_deps:
- libicu
{%- if grains.get('osmajorrelease', 0) == 7 %}
- systemd-sysv
{%- endif %}
pkg_python: python3-psycopg2
{% if repo.use_upstream_repo == true %}
{% set data_dir = '/var/lib/pgsql/' ~ repo.version ~ '/data' %}
fromrepo: pgdg{{ release }}
pkg: postgresql{{ release }}-server
pkg_client: postgresql{{ release }}
pkg_libs: postgresql{{ release }}-libs
pkg_dev: postgresql{{ release }}-devel
conf_dir: {{ data_dir }}
data_dir: {{ data_dir }}
service:
name: postgresql-{{ repo.version }}
# Alternatives system
linux:
altpriority: 30
# directory containing PostgreSQL client executables
bin_dir: /usr/pgsql-{{ repo.version }}/bin
dev_bins:
- ecg
client_bins:
- clusterdb
- createdb
- createlang
- createuser
- dropdb
- droplang
- dropuser
- pg_archivecleanup
- pg_basebackup
- pg_config
- pg_dump
- pg_dumpall
- pg_isready
- pg_receivexlog
- pg_restore
- pg_rewind
- pg_test_fsync
- pg_test_timing
- pg_upgrade
- pg_xlogdump
- pgbench
- psql
- reindexdb
- vacuumdb
server_bins:
- initdb
- pg_controldata
- pg_ctl
- pg_resetxlog
- postgres
- postgresql{{ release }}-check-db-dir
- postgresql{{ release }}-setup
- postmaster
{% else %}
pkg: postgresql-server
pkg_client: postgresql
{% endif %}
pkg_libpq_dev: libpqxx-devel
pkg_dev_deps:
- perl-Time-HiRes
- libicu-devel
- perl-IPC-Run
- perl-Test-Simple
Suse:
pkg_repo:
name: pgdg-sles-{{ release }}
humanname: PostgreSQL {{ repo.version }} $releasever - $basearch
# works for postgres 11 onwards
baseurl: 'https://download.postgresql.org/pub/repos/zypp/{{ repo.version }}/suse/sles-$releasever-$basearch'
gpgkey: 'https://download.postgresql.org/pub/repos/zypp/{{ repo.version }}/suse/sles-$releasever-$basearch/repodata/repomd.xml.key'
gpgcheck: 1
gpgautoimport: True
{% if repo.use_upstream_repo == true %}
{% set data_dir = '/var/lib/pgsql/' ~ repo.version ~ '/data' %}
fromrepo: pgdg-sles-{{ release }}
pkg: postgresql{{ release }}-server
pkg_client: postgresql{{ release }}
pkg_dev: postgresql{{ release }}-devel
pkg_libs: postgresql{{ release }}-libs
conf_dir: {{ data_dir }}
data_dir: {{ data_dir }}
service:
name: postgresql-{{ repo.version }}
# Alternatives system
linux:
altpriority: 30
# directory containing PostgreSQL client executables
bin_dir: /usr/pgsql-{{ repo.version }}/bin
dev_bins:
- ecg
client_bins:
- pg_archivecleanup
- pg_config
- pg_isready
- pg_receivexlog
- pg_rewind
- pg_test_fsync
- pg_test_timing
- pg_upgrade
- pg_xlogdump
- pgbench
server_bins:
- initdb
- pg_controldata
- pg_ctl
- pg_resetxlog
- postgres
- postgresql{{ release }}-check-db-dir
- postgresql{{ release }}-setup
- postmaster
{% else %}
pkg: postgresql-server
pkg_client: postgresql
{% endif %}
pkg_libpq_dev: libpqxx
{%- if grains.os == 'MacOS' %}
## jinja check avoids rendering noise/failure on Linux
MacOS:
{%- if repo.use_upstream_repo == 'homebrew' %}
service:
name: homebrew.mxcl.postgresql
{%- elif repo.use_upstream_repo == 'postgresapp' %}
service:
name: com.postgresapp.Postgres2
{%- endif %}
pkg: postgresql
pkg_client:
pkg_libpq_dev:
userhomes: /Users
user: {{ repo.user }}
group: {{ repo.group }}
conf_dir: /Users/{{ repo.user }}/Library/AppSupport/postgres_{{ repo.use_upstream_repo }}
data_dir: /Users/{{ repo.user }}/Library/AppSupport/postgres_{{ repo.use_upstream_repo }}
prepare_cluster:
user: {{ repo.user }}
group: {{ repo.group }}
# macos limits
limits:
soft: 64000
hard: 64000
{%- endif %}
# vim: ft=sls