mirror of
https://github.com/saltstack-formulas/postgres-formula.git
synced 2025-04-10 23:01:45 +00:00

Solves #327: postgresql-common conflicts with pgdg-keyring Co-authored-by: teankie <remcomank@eleven.nl>
69 lines
1.7 KiB
Text
69 lines
1.7 KiB
Text
{%- from tpldir + "/map.jinja" import postgres with context -%}
|
|
{%- from tpldir + "/macros.jinja" import format_kwargs with context -%}
|
|
|
|
{%- if 'pkg_repo' in postgres -%}
|
|
{% set pg_common_version = salt['pkg.version']('postgresql-common') %}
|
|
|
|
{%- if postgres.use_upstream_repo == true -%}
|
|
|
|
{%- if postgres.add_profile -%}
|
|
postgresql-profile:
|
|
file.managed:
|
|
- name: /etc/profile.d/postgres.sh
|
|
- user: root
|
|
- group: root
|
|
- mode: 644
|
|
- template: jinja
|
|
- source: salt://postgres/templates/postgres.sh.j2
|
|
- defaults:
|
|
bin_dir: {{ postgres.bin_dir }}
|
|
{%- endif %}
|
|
|
|
postgresql-pkg-deps:
|
|
pkg.installed:
|
|
- pkgs: {{ postgres.pkgs_deps | json }}
|
|
|
|
# Add upstream repository for your distro
|
|
{% if grains.os_family == 'Debian' %}
|
|
{% if salt['pkg.version_cmp'](pg_common_version, '246') <= 0 %}
|
|
postgresql-repo-keyring:
|
|
pkg.installed:
|
|
- sources:
|
|
- pgdg-keyring: {{ postgres.pkg_repo_keyring }}
|
|
- require_in:
|
|
- pkgrepo: postgresql-repo
|
|
{%- endif %}
|
|
{%- endif %}
|
|
|
|
postgresql-repo:
|
|
pkgrepo.managed:
|
|
{{- format_kwargs(postgres.pkg_repo) }}
|
|
- require:
|
|
- pkg: postgresql-pkg-deps
|
|
|
|
{%- else -%}
|
|
|
|
# Remove the repo configuration (and GnuPG key) as requested
|
|
postgresql-repo:
|
|
pkgrepo.absent:
|
|
- name: {{ postgres.pkg_repo.name }}
|
|
{%- if 'pkg_repo_keyid' in postgres %}
|
|
- keyid: {{ postgres.pkg_repo_keyid }}
|
|
{%- endif %}
|
|
|
|
{% if grains.os_family == 'Debian' %}
|
|
postgresql-repo-keyring:
|
|
pkg.removed:
|
|
- name: pgdg-keyring
|
|
{%- endif -%}
|
|
|
|
{%- endif -%}
|
|
|
|
{%- elif grains.os not in ('Windows', 'MacOS',) %}
|
|
|
|
postgresql-repo:
|
|
test.show_notification:
|
|
- text: |
|
|
PostgreSQL does not provide package repository for {{ salt['grains.get']('osfinger', grains.os) }}
|
|
|
|
{%- endif %}
|