postgres-formula/postgres/codenamemap.yaml
2018-06-05 16:12:08 +01:00

78 lines
2.6 KiB
YAML

### Set parameters based on PostgreSQL version supplied with particular distro
{% import_yaml "postgres/repo.yaml" as repo %}
{# Generate lookup dictionary map for OS and derivative distributions
name: distro codename
version: PostgreSQL release version
codename: optional grain value if `name` does not match the one returned by `oscodename` grain
#}
{% macro debian_codename(name, version, codename=none) %}
{# use upstream version if configured #}
{% if repo.use_upstream_repo == true %}
{% set version = repo.version %}
{% set fromrepo = repo.fromrepo or name + '-pgdg' %}
{% else %}
{% set fromrepo = name %}
{% endif %}
{{ codename|default(name, true) }}:
# PostgreSQL packages are mostly downloaded from `main` repo component
fromrepo: {{ fromrepo }}
pkg_repo:
name: 'deb http://apt.postgresql.org/pub/repos/apt {{ name }}-pgdg main {{ version }}'
pkg: postgresql-{{ version }}
pkg_client: postgresql-client-{{ version }}
conf_dir: /etc/postgresql/{{ version }}/main
prepare_cluster:
command: pg_createcluster {{ version }} main
test: test -f /var/lib/postgresql/{{ version }}/main/PG_VERSION && test -f /etc/postgresql/{{ version }}/main/postgresql.conf
user: root
{% endmacro %}
{% macro fedora_codename(name, version, codename=none) %}
{# use upstream version if configured #}
{% if repo.use_upstream_repo == true %}
{% set fromrepo = repo.fromrepo or name + '-pgdg' %}
{% set version = repo.version %}
{% else %}
{% set fromrepo = name %}
{% endif %}
{{ codename|default(name, true) }}:
# PostgreSQL packages are mostly downloaded from `main` repo component
fromrepo: {{ name }}
pkg_repo:
baseurl: 'https://download.postgresql.org/pub/repos/yum/{{ version }}/fedora/fedora-$releasever-$basearch'
{% endmacro %}
## Debian GNU/Linux
{{ debian_codename('wheezy', '9.1') }}
{{ debian_codename('jessie', '9.4') }}
{{ debian_codename('stretch', '9.6') }}
# `oscodename` grain has long distro name
# if `lsb-release` package not installed
{{ debian_codename('wheezy', '9.1', 'Debian GNU/Linux 7 (wheezy)') }}
{{ debian_codename('jessie', '9.4', 'Debian GNU/Linux 8 (jessie)') }}
{{ debian_codename('stretch', '9.6', 'Debian GNU/Linux 9 (stretch)') }}
## Ubuntu
{{ debian_codename('trusty', '9.3') }}
{{ debian_codename('xenial', '9.5') }}
{{ debian_codename('artful', '9.6') }}
{{ debian_codename('bionic', '10') }}
{{ debian_codename('cosmic', '10') }}
## Fedora
# `oscodename` grain has long distro name
{{ fedora_codename('Fedora-27', '9.6', 'Fedora 27 (Twenty Seven)') }}
{{ fedora_codename('Fedora-26', '9.6', 'Fedora 26 (Twenty Six)') }}
# vim: ft=sls