Set use_upstream_repo: True by default
This commit is contained in:
@@ -37,8 +37,8 @@ applicable.
|
|||||||
The state relies on the ``postgres:use_upstream_repo`` Pillar value which could
|
The state relies on the ``postgres:use_upstream_repo`` Pillar value which could
|
||||||
be set as following:
|
be set as following:
|
||||||
|
|
||||||
* ``False`` (default): makes sure that the repository configuration is absent
|
* ``True`` (default): adds the upstream repository to install packages from
|
||||||
* ``True``: adds the upstream repository to install packages from
|
* ``False``: makes sure that the repository configuration is absent
|
||||||
|
|
||||||
The ``postgres:version`` Pillar controls which version of the PostgreSQL
|
The ``postgres:version`` Pillar controls which version of the PostgreSQL
|
||||||
packages should be installed from the upstream repository. Defaults to ``9.5``.
|
packages should be installed from the upstream repository. Defaults to ``9.5``.
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
### Set parameters based on PostgreSQL version supplied with particular distro
|
### Set parameters based on PostgreSQL version supplied with particular distro
|
||||||
|
|
||||||
{% set use_upstream_repo = salt['pillar.get']('postgres:use_upstream_repo', false) %}
|
{% import_yaml "postgres/repo.yaml" as repo %}
|
||||||
{% set upstream_version = salt['pillar.get']('postgres:version', '9.5') %}
|
|
||||||
|
|
||||||
{% macro debian_codename(name, version, codename=none) %}
|
{% macro debian_codename(name, version, codename=none) %}
|
||||||
{#
|
{#
|
||||||
@@ -17,14 +16,14 @@
|
|||||||
#}
|
#}
|
||||||
|
|
||||||
{# use upstream version if configured #}
|
{# use upstream version if configured #}
|
||||||
{% if use_upstream_repo %}
|
{% if repo.use_upstream_repo %}
|
||||||
{% set version = upstream_version %}
|
{% set version = repo.version %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{{ codename|default(name, true) }}:
|
{{ codename|default(name, true) }}:
|
||||||
# PostgreSQL packages are mostly downloaded from `main` repo component
|
# PostgreSQL packages are mostly downloaded from `main` repo component
|
||||||
pkg_repo:
|
pkg_repo:
|
||||||
name: 'deb http://apt.postgresql.org/pub/repos/apt {{ name }}-pgdg main {{ upstream_version }}'
|
name: 'deb http://apt.postgresql.org/pub/repos/apt {{ name }}-pgdg main {{ repo.version }}'
|
||||||
pkg: postgresql-{{ version }}
|
pkg: postgresql-{{ version }}
|
||||||
pkg_client: postgresql-client-{{ version }}
|
pkg_client: postgresql-client-{{ version }}
|
||||||
conf_dir: /etc/postgresql/{{ version }}/main
|
conf_dir: /etc/postgresql/{{ version }}/main
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
|
# Default lookup dictionary
|
||||||
|
|
||||||
postgres:
|
postgres:
|
||||||
use_upstream_repo: False
|
use_upstream_repo: True
|
||||||
|
version: '9.5'
|
||||||
pkg: postgresql
|
pkg: postgresql
|
||||||
pkgs_extra: []
|
pkgs_extra: []
|
||||||
pkg_client: postgresql-client
|
pkg_client: postgresql-client
|
||||||
|
|||||||
@@ -1,33 +1,36 @@
|
|||||||
|
{% import_yaml "postgres/repo.yaml" as repo %}
|
||||||
|
|
||||||
{% if grains['os_family'] == 'RedHat' %}
|
{% if grains['os_family'] == 'RedHat' %}
|
||||||
|
|
||||||
### RedHat releases
|
### RedHat releases
|
||||||
|
|
||||||
{% if salt['pillar.get']('postgres:use_upstream_repo', False) %}
|
{% if repo.use_upstream_repo %}
|
||||||
{% set version = salt['pillar.get']('postgres:version', '9.5') %}
|
|
||||||
{% set data_dir = '/var/lib/pgsql/' ~ version ~ '/data' %}
|
{% set data_dir = '/var/lib/pgsql/' ~ repo.version ~ '/data' %}
|
||||||
|
|
||||||
# PostgreSQL from upstream repository
|
# PostgreSQL from upstream repository
|
||||||
|
|
||||||
default:
|
default:
|
||||||
prepare_cluster:
|
prepare_cluster:
|
||||||
user: postgres
|
user: postgres
|
||||||
command: /usr/pgsql-{{ version }}/bin/initdb -D {{ data_dir }}
|
command: /usr/pgsql-{{ repo.version }}/bin/initdb -D {{ data_dir }}
|
||||||
test: test -f {{ data_dir }}/PG_VERSION
|
test: test -f {{ data_dir }}/PG_VERSION
|
||||||
env: {}
|
env: {}
|
||||||
'6':
|
'6':
|
||||||
prepare_cluster:
|
prepare_cluster:
|
||||||
user: root
|
user: root
|
||||||
command: service postgresql-{{ version }} initdb
|
command: service postgresql-{{ repo.version }} initdb
|
||||||
test: test -f {{ data_dir }}/PG_VERSION
|
test: test -f {{ data_dir }}/PG_VERSION
|
||||||
env: {}
|
env: {}
|
||||||
'7':
|
'7':
|
||||||
prepare_cluster:
|
prepare_cluster:
|
||||||
user: root
|
user: root
|
||||||
command: /usr/pgsql-{{ version }}/bin/postgresql95-setup initdb
|
command: /usr/pgsql-{{ repo.version }}/bin/postgresql95-setup initdb
|
||||||
test: test -f {{ data_dir }}/PG_VERSION
|
test: test -f {{ data_dir }}/PG_VERSION
|
||||||
env: {}
|
env: {}
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
||||||
{% set data_dir = '/var/lib/pgsql/data' %}
|
{% set data_dir = '/var/lib/pgsql/data' %}
|
||||||
|
|
||||||
# PostgreSQL from OS repositories
|
# PostgreSQL from OS repositories
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{% set version = salt['pillar.get']('postgres:version', '9.5') %}
|
{% import_yaml "postgres/repo.yaml" as repo %}
|
||||||
{% set release = version|replace('.', '') %}
|
|
||||||
|
{% set release = repo.version|replace('.', '') %}
|
||||||
|
|
||||||
Arch:
|
Arch:
|
||||||
conf_dir: /var/lib/postgres/data
|
conf_dir: /var/lib/postgres/data
|
||||||
@@ -29,17 +30,17 @@ OpenBSD:
|
|||||||
RedHat:
|
RedHat:
|
||||||
pkg_repo:
|
pkg_repo:
|
||||||
name: pgdg{{ release }}
|
name: pgdg{{ release }}
|
||||||
humanname: PostgreSQL {{ version }} $releasever - $basearch
|
humanname: PostgreSQL {{ repo.version }} $releasever - $basearch
|
||||||
baseurl: 'https://download.postgresql.org/pub/repos/yum/{{ version }}/redhat/rhel-$releasever-$basearch'
|
baseurl: 'https://download.postgresql.org/pub/repos/yum/{{ repo.version }}/redhat/rhel-$releasever-$basearch'
|
||||||
gpgcheck: 1
|
gpgcheck: 1
|
||||||
gpgkey: 'https://download.postgresql.org/pub/repos/yum/RPM-GPG-KEY-PGDG-{{ release }}'
|
gpgkey: 'https://download.postgresql.org/pub/repos/yum/RPM-GPG-KEY-PGDG-{{ release }}'
|
||||||
|
|
||||||
{% if salt['pillar.get']('postgres:use_upstream_repo', false) %}
|
{% if repo.use_upstream_repo %}
|
||||||
|
|
||||||
pkg: postgresql{{ release }}-server
|
pkg: postgresql{{ release }}-server
|
||||||
pkg_client: postgresql{{ release }}
|
pkg_client: postgresql{{ release }}
|
||||||
conf_dir: /var/lib/pgsql/{{ version }}/data
|
conf_dir: /var/lib/pgsql/{{ repo.version }}/data
|
||||||
service: postgresql-{{ version }}
|
service: postgresql-{{ repo.version }}
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
||||||
|
|||||||
11
postgres/repo.yaml
Normal file
11
postgres/repo.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# This file allows to get PostgreSQL version and upstream repo settings
|
||||||
|
# early from Pillar to set correct lookup dictionaty items
|
||||||
|
|
||||||
|
{% import_yaml "postgres/defaults.yaml" as defaults %}
|
||||||
|
|
||||||
|
use_upstream_repo: {{ salt['pillar.get']('postgres:use_upstream_repo',
|
||||||
|
defaults.postgres.use_upstream_repo) }}
|
||||||
|
version: {{ salt['pillar.get']('postgres:version',
|
||||||
|
defaults.postgres.version) }}
|
||||||
|
|
||||||
|
# vim: ft=sls
|
||||||
Reference in New Issue
Block a user