From a4e184b79cebf8018803d657c622939654f76653 Mon Sep 17 00:00:00 2001 From: noelmcloughlin Date: Mon, 9 Apr 2018 14:59:49 +0100 Subject: [PATCH] fromrepo support --- postgres/codenamemap.yaml | 9 ++++++++- postgres/defaults.yaml | 4 ++++ postgres/dev.sls | 6 ++++++ postgres/osfamilymap.yaml | 2 ++ postgres/python.sls | 3 +++ postgres/repo.yaml | 7 +++---- postgres/server/init.sls | 3 +++ 7 files changed, 29 insertions(+), 5 deletions(-) diff --git a/postgres/codenamemap.yaml b/postgres/codenamemap.yaml index 0b049e2..6946ff2 100644 --- a/postgres/codenamemap.yaml +++ b/postgres/codenamemap.yaml @@ -18,12 +18,18 @@ {# use upstream version if configured #} {% if repo.use_upstream_repo == true %} {% set version = repo.version %} + {% set fromrepo = repo.fromrepo or name + '-pgdg' %} + {% set pkg_dev = '' %} + {% else %} + {% set fromrepo = name %} + {% set pkg_dev = 'postgresql-server-dev-all' %} {% 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 {{ repo.version }}' + 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 @@ -55,6 +61,7 @@ {{ 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' diff --git a/postgres/defaults.yaml b/postgres/defaults.yaml index e737366..f35cbc0 100644 --- a/postgres/defaults.yaml +++ b/postgres/defaults.yaml @@ -57,6 +57,10 @@ postgres: bake_image: False + fromrepo: + pkg_repo: + name: [] + users: {} tablespaces: {} databases: {} diff --git a/postgres/dev.sls b/postgres/dev.sls index c9f330b..c757ad5 100644 --- a/postgres/dev.sls +++ b/postgres/dev.sls @@ -6,12 +6,18 @@ install-postgres-dev-package: pkg.installed: - name: {{ postgres.pkg_dev }} + {% if postgres.fromrepo %} + - fromrepo: {{ postgres.fromrepo }} + {% endif %} {% endif %} {% if postgres.pkg_libpq_dev %} install-postgres-libpq-dev: pkg.installed: - name: {{ postgres.pkg_libpq_dev }} + {% if postgres.fromrepo %} + - fromrepo: {{ postgres.fromrepo }} + {% endif %} {% endif %} {% endif %} diff --git a/postgres/osfamilymap.yaml b/postgres/osfamilymap.yaml index 6d241ac..dbb3a28 100644 --- a/postgres/osfamilymap.yaml +++ b/postgres/osfamilymap.yaml @@ -39,6 +39,7 @@ RedHat: {% 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 @@ -112,6 +113,7 @@ Suse: {% if repo.use_upstream_repo == true %} {% set lib_dir = '/var/lib/pgsql/' ~ repo.version ~ '/data' %} + fromrepo: pgdg-sles-{{ release }} pkg: postgresql{{ release }}-server pkg_client: postgresql{{ release }} pkg_dev: postgresql{{ release }}-devel diff --git a/postgres/python.sls b/postgres/python.sls index a206bfc..171062c 100644 --- a/postgres/python.sls +++ b/postgres/python.sls @@ -3,3 +3,6 @@ postgresql-python: pkg.installed: - name: {{ postgres.pkg_python}} + {% if postgres.fromrepo %} + - fromrepo: {{ postgres.fromrepo }} + {% endif %} diff --git a/postgres/repo.yaml b/postgres/repo.yaml index 1d87463..46b1fa9 100644 --- a/postgres/repo.yaml +++ b/postgres/repo.yaml @@ -3,10 +3,9 @@ {% 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) }} +use_upstream_repo: {{ salt['pillar.get']('postgres:use_upstream_repo', defaults.postgres.use_upstream_repo) }} +version: {{ salt['pillar.get']('postgres:version', defaults.postgres.version) }} +fromrepo: {{ salt['pillar.get']('postgres:fromrepo', defaults.postgres.fromrepo) }} #Early lookup for system user on MacOS {% if grains.os == 'MacOS' %} diff --git a/postgres/server/init.sls b/postgres/server/init.sls index daf9d1b..1789425 100644 --- a/postgres/server/init.sls +++ b/postgres/server/init.sls @@ -23,6 +23,9 @@ postgresql-server: - require: - pkgrepo: postgresql-repo {%- endif %} + {%- if postgres.fromrepo %} + - fromrepo: {{ postgres.fromrepo }} + {%- endif %} {%- if grains.os == 'MacOS' %} #Register as Launchd LaunchAgent for system users - require_in: