31 Commits

Author SHA1 Message Date
semantic-release-bot
a4c84df77e chore(release): 0.40.3 [skip ci]
## [0.40.3](https://github.com/saltstack-formulas/postgres-formula/compare/v0.40.2...v0.40.3) (2019-10-10)

### Bug Fixes

* **manage.sls:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/postgres-formula/commit/bf5b4d6))
* **python.sls:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/postgres-formula/commit/1f3cfcc))

### Continuous Integration

* **kitchen:** change `log_level` to `debug` instead of `info` ([](https://github.com/saltstack-formulas/postgres-formula/commit/7ca61f3))
* **kitchen:** install required packages to bootstrapped `opensuse` [skip ci] ([](https://github.com/saltstack-formulas/postgres-formula/commit/76e3e39))
* **kitchen:** use bootstrapped `opensuse` images until `2019.2.2` [skip ci] ([](https://github.com/saltstack-formulas/postgres-formula/commit/3a27978))
* **platform:** add `arch-base-latest` (commented out for now) [skip ci] ([](https://github.com/saltstack-formulas/postgres-formula/commit/89e4a34))
* merge travis matrix, add `salt-lint` & `rubocop` to `lint` job ([](https://github.com/saltstack-formulas/postgres-formula/commit/a0fdd48))
2019-10-10 03:39:05 +00:00
Imran Iqbal
cd6eb0be16 Merge pull request #291 from myii/ci/merge-matrix-and-add-salt-lint-and-rubocop
ci: merge travis matrix, add `salt-lint` & `rubocop` to `lint` job
2019-10-09 23:51:09 +01:00
Imran Iqbal
a0fdd48ebb ci: merge travis matrix, add salt-lint & rubocop to lint job
* Semi-automated using https://github.com/myii/ssf-formula/pull/60
2019-10-09 18:09:32 +01:00
Imran Iqbal
1f3cfccc0d fix(python.sls): fix salt-lint errors
```bash
Examining postgres/python.sls of type state
[206] Jinja variables should have spaces before and after: {{ var_name }}
postgres/python.sls:8
    - name: {{ postgres.pkg_python}}
```
2019-10-09 18:08:20 +01:00
Imran Iqbal
bf5b4d6fd7 fix(manage.sls): fix salt-lint errors
```bash
Examining postgres/manage.sls of type state
[201] Trailing whitespace
postgres/manage.sls:57

[201] Trailing whitespace
postgres/manage.sls:67
```
2019-10-09 18:08:20 +01:00
Imran Iqbal
e546fc3476 chore(yamllint): update ignored paths and add octal-values [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/59
2019-10-07 19:34:02 +01:00
Imran Iqbal
4975410ca9 chore(issues): update Bug report & Feature request templates [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/58
2019-10-07 15:28:19 +01:00
Imran Iqbal
76e3e3983d ci(kitchen): install required packages to bootstrapped opensuse [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/53
2019-10-02 00:09:21 +01:00
Imran Iqbal
3a27978204 ci(kitchen): use bootstrapped opensuse images until 2019.2.2 [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/52
2019-10-01 21:35:57 +01:00
Imran Iqbal
89e4a34d3d ci(platform): add arch-base-latest (commented out for now) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/50
2019-10-01 16:22:29 +01:00
Imran Iqbal
934e8ff250 chore(issues): provide Bug report & Feature request templates [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/48
2019-09-30 16:00:52 +01:00
Imran Iqbal
7ca61f3fbb ci(kitchen): change log_level to debug instead of info
* Automated using https://github.com/myii/ssf-formula/pull/41
2019-09-23 17:01:53 +01:00
semantic-release-bot
4c1f76f2ff chore(release): 0.40.2 [skip ci]
## [0.40.2](https://github.com/saltstack-formulas/postgres-formula/compare/v0.40.1...v0.40.2) (2019-09-13)

### Bug Fixes

* **freebsd:** no libpqdev freebsd package ([eca6d97](https://github.com/saltstack-formulas/postgres-formula/commit/eca6d97))

### Continuous Integration

* **yamllint:** add rule `empty-values` & use new `yaml-files` setting ([9796319](https://github.com/saltstack-formulas/postgres-formula/commit/9796319))
2019-09-13 22:02:38 +00:00
Nicolas Rodriguez
f99f2a0735 Merge pull request #289 from noelmcloughlin/freebsd
fix(freebsd): no libpqdev freebsd package
2019-09-13 23:48:20 +02:00
Niels Abspoel
980ae5b42e Merge pull request #287 from myii/chore/standardise-structure
ci(yamllint): add rule `empty-values` & use new `yaml-files` setting
2019-09-12 18:13:53 +02:00
N
eca6d97e59 fix(freebsd): no libpqdev freebsd package 2019-09-11 14:39:03 +01:00
semantic-release-bot
5c21924335 chore(release): 0.40.1 [skip ci]
## [0.40.1](https://github.com/saltstack-formulas/postgres-formula/compare/v0.40.0...v0.40.1) (2019-09-11)

### Continuous Integration

* use `dist: bionic` & apply `opensuse-leap-15` SCP error workaround ([fc6cbe0](https://github.com/saltstack-formulas/postgres-formula/commit/fc6cbe0))

### Documentation

* **pillar.example:** update examples for freebsd ([a799214](https://github.com/saltstack-formulas/postgres-formula/commit/a799214))
2019-09-11 10:01:48 +00:00
N
81b1ed15c0 Merge pull request #288 from noelmcloughlin/archlinux
docs(pillar.example): update examples for freebsd
2019-09-11 11:47:49 +02:00
N
a799214c34 docs(pillar.example): update examples for freebsd 2019-09-10 12:24:00 +01:00
Imran Iqbal
9796319a3f ci(yamllint): add rule empty-values & use new yaml-files setting
* Automated using https://github.com/myii/ssf-formula/pull/27
2019-09-10 05:56:02 +01:00
Niels Abspoel
6e0245a9e7 Merge pull request #286 from myii/chore/standardise-structure
ci: use `dist: bionic` & apply `opensuse-leap-15` SCP error workaround
2019-09-08 21:43:34 +02:00
Imran Iqbal
fc6cbe0ab9 ci: use dist: bionic & apply opensuse-leap-15 SCP error workaround
* Automated using https://github.com/myii/ssf-formula/pull/22
2019-09-07 03:39:43 +01:00
semantic-release-bot
4c80c3641a chore(release): 0.40.0 [skip ci]
# [0.40.0](https://github.com/saltstack-formulas/postgres-formula/compare/v0.39.1...v0.40.0) (2019-09-03)

### Features

* **archlinux:** add support, fixing rendering errors ([e970925](https://github.com/saltstack-formulas/postgres-formula/commit/e970925))
2019-09-03 18:39:35 +00:00
Niels Abspoel
3df38b1be2 Merge pull request #280 from noelmcloughlin/archlinux
feat(archlinux): add support, fixing rendering errors
2019-09-03 20:29:24 +02:00
N
e9709254c6 feat(archlinux): add support, fixing rendering errors 2019-09-03 14:36:16 +01:00
semantic-release-bot
85a5dca346 chore(release): 0.39.1 [skip ci]
## [0.39.1](https://github.com/saltstack-formulas/postgres-formula/compare/v0.39.0...v0.39.1) (2019-09-01)

### Continuous Integration

* **kitchen+travis:** replace EOL pre-salted images ([140928b](https://github.com/saltstack-formulas/postgres-formula/commit/140928b))

### Tests

* **inspec:** fix reference to `suse` after gem `train` update ([677adba](https://github.com/saltstack-formulas/postgres-formula/commit/677adba))
2019-09-01 11:09:44 +00:00
Niels Abspoel
aa96c783bb Merge pull request #285 from myii/chore/standardise-structure
ci(kitchen+travis): replace EOL pre-salted images
2019-09-01 11:42:37 +02:00
Imran Iqbal
140928bfc2 ci(kitchen+travis): replace EOL pre-salted images
* Automated using https://github.com/myii/ssf-formula/pull/16
2019-08-28 07:40:17 +01:00
Imran Iqbal
677adbae16 test(inspec): fix reference to suse after gem train update
* https://github.com/inspec/train/pull/505
2019-08-28 07:39:55 +01:00
Imran Iqbal
766596e175 Merge pull request #284 from myii/chore/standardise-structure
chore: use `semantic-release` cross-formula standard structure
2019-08-17 16:46:14 +01:00
Imran Iqbal
5160365a71 chore: use semantic-release cross-formula standard structure
* Automated using `ssf-formula` (v0.6.0)
2019-08-17 16:06:31 +01:00
25 changed files with 586 additions and 104 deletions

68
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,68 @@
---
name: Bug report
about: Create a report to help us improve
title: '[BUG] '
labels: 'bug'
assignees: ''
---
<!--
Notes:
1. Only post _bug reports_ here.
2. Use the appropriate template for _feature requests_.
3. Please direct questions to the [`#formulas` channel on Slack](https://saltstackcommunity.slack.com/messages/C7LG8SV54/), which is bridged to `#saltstack-formulas` on Freenode.
-->
## Your setup
### Formula commit hash / release tag
<!-- Please specify the formula's commit hash and/or release tag that you are using. -->
### Versions reports (master & minion)
<!-- Provided by running `salt --versions-report`. Please also mention any differences in master/minion versions. -->
### Pillar / config used
<!-- Provide links to the SLS files and/or relevant configs (be sure to remove sensitive info). -->
---
## Bug details
### Describe the bug
<!-- A clear and concise description of what the bug is. -->
### Steps to reproduce the bug
<!-- Include debug logs if possible and relevant, e.g. using `salt-minion -l debug`. -->
<!-- Alternatively, linking to Kitchen debug logs is useful, e.g. via. Travis CI. -->
<!-- Most useful is providing a failing InSpec test, which can be used to verify any proposed fix. -->
### Expected behaviour
<!-- A clear and concise description of what you expected to happen. -->
### Attempts to fix the bug
<!-- Please mention any attempts you have made to fix the bug and what the results were. -->
### Additional context
<!-- Add any other context about the problem here. -->
---
### Meta: How can this template be improved?
<!-- Feel free to suggest how this template can be improved. -->

View File

@@ -0,0 +1,42 @@
---
name: Feature request
about: Suggest an idea for this project
title: '[FEATURE] '
labels: 'enhancement'
assignees: ''
---
<!--
Notes:
1. Only post _feature requests_ here.
2. Use the appropriate template for _bug reports_.
3. Please direct questions to the [`#formulas` channel on Slack](https://saltstackcommunity.slack.com/messages/C7LG8SV54/), which is bridged to `#saltstack-formulas` on Freenode.
-->
### Is your feature request related to a problem?
<!-- A clear and concise description of what the problem is. -->
### Describe the solution you'd like
<!-- A clear and concise description of what you want to happen. -->
### Describe alternatives you've considered
<!-- Describe any alternative solutions or features you've considered. -->
### Additional context
<!-- Add any other context about the feature request here. -->
---
### Meta: How can this template be improved?
<!-- Feel free to suggest how this template can be improved. -->

10
.rubocop.yml Normal file
View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
# General overrides used across formulas in the org
Metrics/LineLength:
# Increase from default of `80`
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`)
Max: 88
# Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config`

13
.salt-lint Normal file
View File

@@ -0,0 +1,13 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
exclude_paths: []
skip_list:
# Using `salt-lint` for linting other files as well, such as Jinja macros/templates
- 205 # Use ".sls" as a Salt State file extension
# Skipping `207` and `208` because `210` is sufficient, at least for the time-being
# I.e. Allows 3-digit unquoted codes to still be used, such as `644` and `755`
- 207 # File modes should always be encapsulated in quotation marks
- 208 # File modes should always contain a leading zero
tags: []
verbosity: 1

View File

@@ -1,70 +1,101 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# vim: ft=yaml # vim: ft=yaml
--- ---
stages: ## Machine config
- test dist: bionic
- lint
- name: release
if: branch = master AND type != pull_request
sudo: required sudo: required
cache: bundler
language: ruby
dist: xenial
services: services:
- docker - docker
# Make sure the instances listed below match up with ## Language and cache config
# the `platforms` defined in `kitchen.yml` language: ruby
env: cache: bundler
matrix:
- INSTANCE: default-debian-9-develop-py3
# TODO: Re-enable this once the `systemd` service can be restarted reliably
# - INSTANCE: default-ubuntu-1804-develop-py3
# - INSTANCE: default-centos-7-develop-py3
# - INSTANCE: default-fedora-29-develop-py3
# - INSTANCE: default-opensuse-leap-15-develop-py3
# - INSTANCE: default-debian-9-2019-2-py3
# TODO: Re-enable this once the `systemd` service can be restarted reliably
# - INSTANCE: default-ubuntu-1804-2019-2-py3
- INSTANCE: default-centos-7-2019-2-py3
- INSTANCE: default-fedora-29-2019-2-py3
# - INSTANCE: default-opensuse-leap-15-2019-2-py3
# - INSTANCE: default-debian-9-2018-3-py2
- INSTANCE: default-ubuntu-1604-2018-3-py2
# - INSTANCE: default-centos-7-2018-3-py2
# - INSTANCE: default-fedora-29-2018-3-py2
- INSTANCE: default-opensuse-leap-42-2018-3-py2
# - INSTANCE: default-debian-8-2017-7-py2
# - INSTANCE: default-ubuntu-1604-2017-7-py2
- INSTANCE: default-centos-6-2017-7-py2
# - INSTANCE: default-fedora-28-2017-7-py2
# - INSTANCE: default-opensuse-leap-42-2017-7-py2
## Script to run for the test stage
script: script:
- bin/kitchen verify ${INSTANCE} - bin/kitchen verify "${INSTANCE}"
## Stages and jobs matrix
stages:
- test
- name: release
if: branch = master AND type != pull_request
jobs: jobs:
allow_failures:
- env: Lint_rubocop
fast_finish: true
include: include:
# Define the `lint` stage (runs `yamllint` and `commitlint`) ## Define the test stage that runs the linters (and testing matrix, if applicable)
- stage: lint
language: node_js # Run all of the linters in a single job (except `rubocop`)
- language: node_js
node_js: lts/* node_js: lts/*
env: Lint
name: 'Lint: salt-lint, yamllint & commitlint'
before_install: skip before_install: skip
script: script:
# Install and run `salt-lint`
- pip install --user salt-lint
- git ls-files | grep '\.sls$\|\.jinja$\|\.j2$\|\.tmpl$'
| xargs -I {} salt-lint {}
# Install and run `yamllint` # Install and run `yamllint`
- pip install --user yamllint # Need at least `v1.17.0` for the `yaml-files` setting
# yamllint disable-line rule:line-length - pip install --user yamllint>=1.17.0
- yamllint -s . .yamllint pillar.example test/salt/pillar/postgres.sls - yamllint -s .
# Install and run `commitlint` # Install and run `commitlint`
- npm install @commitlint/config-conventional -D - npm install @commitlint/config-conventional -D
- npm install @commitlint/travis-cli -D - npm install @commitlint/travis-cli -D
- commitlint-travis - commitlint-travis
# Define the release stage that runs `semantic-release` # Run the `rubocop` linter in a separate job that is allowed to fail
# Once these lint errors are fixed, this can be merged into a single job
- language: node_js
node_js: lts/*
env: Lint_rubocop
name: 'Lint: rubocop'
before_install: skip
script:
# Install and run `rubocop`
- gem install rubocop
- rubocop -d
## Define the rest of the matrix based on Kitchen testing
# Make sure the instances listed below match up with
# the `platforms` defined in `kitchen.yml`
- env: INSTANCE=default-debian-10-develop-py3
# - env: INSTANCE=default-ubuntu-1804-develop-py3
# - env: INSTANCE=default-centos-7-develop-py3
# - env: INSTANCE=default-fedora-30-develop-py3
# - env: INSTANCE=default-opensuse-leap-15-develop-py3
# - env: INSTANCE=default-amazonlinux-2-develop-py2
# - env: INSTANCE=default-arch-base-latest-develop-py2
# - env: INSTANCE=default-debian-9-2019-2-py3
# - env: INSTANCE=default-ubuntu-1804-2019-2-py3
- env: INSTANCE=default-centos-7-2019-2-py3
- env: INSTANCE=default-fedora-30-2019-2-py3
# - env: INSTANCE=default-opensuse-leap-15-2019-2-py3
# - env: INSTANCE=default-amazonlinux-2-2019-2-py2
# - env: INSTANCE=default-arch-base-latest-2019-2-py2
# - env: INSTANCE=default-debian-9-2018-3-py2
- env: INSTANCE=default-ubuntu-1604-2018-3-py2
# - env: INSTANCE=default-centos-7-2018-3-py2
# - env: INSTANCE=default-fedora-29-2018-3-py2
- env: INSTANCE=default-opensuse-leap-15-2018-3-py2
# - env: INSTANCE=default-amazonlinux-2-2018-3-py2
# - env: INSTANCE=default-arch-base-latest-2018-3-py2
# - env: INSTANCE=default-debian-8-2017-7-py2
# - env: INSTANCE=default-ubuntu-1604-2017-7-py2
- env: INSTANCE=default-centos-6-2017-7-py2
# - env: INSTANCE=default-fedora-29-2017-7-py2
# - env: INSTANCE=default-opensuse-leap-15-2017-7-py2
# - env: INSTANCE=default-amazonlinux-2-2017-7-py2
# - env: INSTANCE=default-arch-base-latest-2017-7-py2
## Define the release stage that runs `semantic-release`
- stage: release - stage: release
language: node_js language: node_js
node_js: lts/* node_js: lts/*
env: Release
name: 'Run semantic-release inc. file updates to AUTHORS, CHANGELOG & FORMULA'
before_install: skip before_install: skip
script: script:
# Update `AUTHORS.md` # Update `AUTHORS.md`

View File

@@ -6,9 +6,13 @@ extends: default
# Files to ignore completely # Files to ignore completely
# 1. All YAML files under directory `node_modules/`, introduced during the Travis run # 1. All YAML files under directory `node_modules/`, introduced during the Travis run
# 2. All YAML files heavily reliant on Jinja; these can be tackled in a subsequent PR # 2. Any SLS files under directory `test/`, which are actually state files
# 3. Any YAML files under directory `.kitchen/`, introduced during local testing
# 4. All YAML files heavily reliant on Jinja; these can be tackled in a subsequent PR
ignore: | ignore: |
node_modules/ node_modules/
test/**/states/**/*.sls
.kitchen/
pillar.example pillar.example
postgres/codenamemap.yaml postgres/codenamemap.yaml
postgres/osfamilymap.yaml postgres/osfamilymap.yaml
@@ -16,8 +20,24 @@ ignore: |
postgres/repo.yaml postgres/repo.yaml
test/salt/pillar/postgres.sls test/salt/pillar/postgres.sls
yaml-files:
# Default settings
- '*.yaml'
- '*.yml'
- .salt-lint
- .yamllint
# SaltStack Formulas additional settings
- '*.example'
- test/**/*.sls
rules: rules:
empty-values:
forbid-in-block-mappings: true
forbid-in-flow-mappings: true
line-length: line-length:
# Increase from default of `80` # Increase from default of `80`
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`) # Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`)
max: 88 max: 88
octal-values:
forbid-implicit-octal: true
forbid-explicit-octal: true

View File

@@ -4,9 +4,9 @@ This list is sorted by the number of commits per contributor in _descending_ ord
Avatar|Contributor|Contributions Avatar|Contributor|Contributions
:-:|---|:-: :-:|---|:-:
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/13322818?v=4' width='36' height='36' alt='@noelmcloughlin'>|[@noelmcloughlin](https://github.com/noelmcloughlin)|58 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>|[@myii](https://github.com/myii)|70
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>|[@myii](https://github.com/myii)|53 <img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/13322818?v=4' width='36' height='36' alt='@noelmcloughlin'>|[@noelmcloughlin](https://github.com/noelmcloughlin)|62
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>|[@aboe76](https://github.com/aboe76)|49 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>|[@aboe76](https://github.com/aboe76)|53
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1396878?v=4' width='36' height='36' alt='@gravyboat'>|[@gravyboat](https://github.com/gravyboat)|41 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1396878?v=4' width='36' height='36' alt='@gravyboat'>|[@gravyboat](https://github.com/gravyboat)|41
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/16338056?v=4' width='36' height='36' alt='@vutny'>|[@vutny](https://github.com/vutny)|31 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/16338056?v=4' width='36' height='36' alt='@vutny'>|[@vutny](https://github.com/vutny)|31
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/242396?v=4' width='36' height='36' alt='@javierbertoli'>|[@javierbertoli](https://github.com/javierbertoli)|19 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/242396?v=4' width='36' height='36' alt='@javierbertoli'>|[@javierbertoli](https://github.com/javierbertoli)|19
@@ -50,6 +50,7 @@ Avatar|Contributor|Contributions
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/296523?v=4' width='36' height='36' alt='@mkotsbak'>|[@mkotsbak](https://github.com/mkotsbak)|1 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/296523?v=4' width='36' height='36' alt='@mkotsbak'>|[@mkotsbak](https://github.com/mkotsbak)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1331128?v=4' width='36' height='36' alt='@mattysads'>|[@mattysads](https://github.com/mattysads)|1 <img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1331128?v=4' width='36' height='36' alt='@mattysads'>|[@mattysads](https://github.com/mattysads)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/3705387?v=4' width='36' height='36' alt='@mbrannigan'>|[@mbrannigan](https://github.com/mbrannigan)|1 <img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/3705387?v=4' width='36' height='36' alt='@mbrannigan'>|[@mbrannigan](https://github.com/mbrannigan)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/3433835?v=4' width='36' height='36' alt='@n-rodriguez'>|[@n-rodriguez](https://github.com/n-rodriguez)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/8399114?v=4' width='36' height='36' alt='@fortunejuggle'>|[@fortunejuggle](https://github.com/fortunejuggle)|1 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/8399114?v=4' width='36' height='36' alt='@fortunejuggle'>|[@fortunejuggle](https://github.com/fortunejuggle)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/219695?v=4' width='36' height='36' alt='@rmoorman'>|[@rmoorman](https://github.com/rmoorman)|1 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/219695?v=4' width='36' height='36' alt='@rmoorman'>|[@rmoorman](https://github.com/rmoorman)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/154676?v=4' width='36' height='36' alt='@skurfer'>|[@skurfer](https://github.com/skurfer)|1 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/154676?v=4' width='36' height='36' alt='@skurfer'>|[@skurfer](https://github.com/skurfer)|1
@@ -69,4 +70,4 @@ Avatar|Contributor|Contributions
--- ---
Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2019-08-17. Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2019-10-10.

View File

@@ -1,5 +1,65 @@
# Changelog # Changelog
## [0.40.3](https://github.com/saltstack-formulas/postgres-formula/compare/v0.40.2...v0.40.3) (2019-10-10)
### Bug Fixes
* **manage.sls:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/postgres-formula/commit/bf5b4d6))
* **python.sls:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/postgres-formula/commit/1f3cfcc))
### Continuous Integration
* **kitchen:** change `log_level` to `debug` instead of `info` ([](https://github.com/saltstack-formulas/postgres-formula/commit/7ca61f3))
* **kitchen:** install required packages to bootstrapped `opensuse` [skip ci] ([](https://github.com/saltstack-formulas/postgres-formula/commit/76e3e39))
* **kitchen:** use bootstrapped `opensuse` images until `2019.2.2` [skip ci] ([](https://github.com/saltstack-formulas/postgres-formula/commit/3a27978))
* **platform:** add `arch-base-latest` (commented out for now) [skip ci] ([](https://github.com/saltstack-formulas/postgres-formula/commit/89e4a34))
* merge travis matrix, add `salt-lint` & `rubocop` to `lint` job ([](https://github.com/saltstack-formulas/postgres-formula/commit/a0fdd48))
## [0.40.2](https://github.com/saltstack-formulas/postgres-formula/compare/v0.40.1...v0.40.2) (2019-09-13)
### Bug Fixes
* **freebsd:** no libpqdev freebsd package ([eca6d97](https://github.com/saltstack-formulas/postgres-formula/commit/eca6d97))
### Continuous Integration
* **yamllint:** add rule `empty-values` & use new `yaml-files` setting ([9796319](https://github.com/saltstack-formulas/postgres-formula/commit/9796319))
## [0.40.1](https://github.com/saltstack-formulas/postgres-formula/compare/v0.40.0...v0.40.1) (2019-09-11)
### Continuous Integration
* use `dist: bionic` & apply `opensuse-leap-15` SCP error workaround ([fc6cbe0](https://github.com/saltstack-formulas/postgres-formula/commit/fc6cbe0))
### Documentation
* **pillar.example:** update examples for freebsd ([a799214](https://github.com/saltstack-formulas/postgres-formula/commit/a799214))
# [0.40.0](https://github.com/saltstack-formulas/postgres-formula/compare/v0.39.1...v0.40.0) (2019-09-03)
### Features
* **archlinux:** add support, fixing rendering errors ([e970925](https://github.com/saltstack-formulas/postgres-formula/commit/e970925))
## [0.39.1](https://github.com/saltstack-formulas/postgres-formula/compare/v0.39.0...v0.39.1) (2019-09-01)
### Continuous Integration
* **kitchen+travis:** replace EOL pre-salted images ([140928b](https://github.com/saltstack-formulas/postgres-formula/commit/140928b))
### Tests
* **inspec:** fix reference to `suse` after gem `train` update ([677adba](https://github.com/saltstack-formulas/postgres-formula/commit/677adba))
# [0.39.0](https://github.com/saltstack-formulas/postgres-formula/compare/v0.38.0...v0.39.0) (2019-08-17) # [0.39.0](https://github.com/saltstack-formulas/postgres-formula/compare/v0.38.0...v0.39.0) (2019-08-17)

View File

@@ -1,7 +1,7 @@
name: postgres name: postgres
os: Debian, Ubuntu, Raspbian, RedHat, Fedora, CentOS, Suse, openSUSE, Gentoo, Funtoo, Arch, Manjaro, Alpine, FreeBSD, OpenBSD, Solaris, SmartOS, Windows, MacOS os: Debian, Ubuntu, Raspbian, RedHat, Fedora, CentOS, Suse, openSUSE, Gentoo, Funtoo, Arch, Manjaro, Alpine, FreeBSD, OpenBSD, Solaris, SmartOS, Windows, MacOS
os_family: Debian, RedHat, Suse, Gentoo, Arch, Alpine, FreeBSD, OpenBSD, Solaris, Windows, MacOS os_family: Debian, RedHat, Suse, Gentoo, Arch, Alpine, FreeBSD, OpenBSD, Solaris, Windows, MacOS
version: 0.39.0 version: 0.40.3
release: 1 release: 1
minimum_version: 2016.11 minimum_version: 2016.11
summary: Postgres formula summary: Postgres formula

View File

@@ -1,6 +1,7 @@
source "https://rubygems.org" # frozen_string_literal: true
source 'https://rubygems.org'
gem 'kitchen-docker', '>= 2.9' gem 'kitchen-docker', '>= 2.9'
gem 'kitchen-salt', '>= 0.6.0'
gem 'kitchen-inspec', '>= 1.1' gem 'kitchen-inspec', '>= 1.1'
gem 'kitchen-salt', '>= 0.6.0'

View File

@@ -8,22 +8,25 @@
# this file is here to facilitate running it. # this file is here to facilitate running it.
# #
require "pathname" require 'pathname'
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
Pathname.new(__FILE__).realpath) Pathname.new(__FILE__).realpath)
bundle_binstub = File.expand_path("../bundle", __FILE__) bundle_binstub = File.expand_path('bundle', __dir__)
if File.file?(bundle_binstub) if File.file?(bundle_binstub)
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
load(bundle_binstub) load(bundle_binstub)
else else
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. abort(
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.") 'Your `bin/bundle` was not generated by Bundler, '\
'so this binstub cannot run. Replace `bin/bundle` by running '\
'`bundle binstubs bundler --force`, then run this command again.'
)
end end
end end
require "rubygems" require 'rubygems'
require "bundler/setup" require 'bundler/setup'
load Gem.bin_path("test-kitchen", "kitchen") load Gem.bin_path('test-kitchen', 'kitchen')

View File

@@ -13,15 +13,15 @@ This list is sorted by the number of commits per contributor in *descending* ord
* - Avatar * - Avatar
- Contributor - Contributor
- Contributions - Contributions
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/13322818?v=4' width='36' height='36' alt='@noelmcloughlin'>`
- `@noelmcloughlin <https://github.com/noelmcloughlin>`_
- 58
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>`
- `@myii <https://github.com/myii>`_ - `@myii <https://github.com/myii>`_
- 53 - 70
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/13322818?v=4' width='36' height='36' alt='@noelmcloughlin'>`
- `@noelmcloughlin <https://github.com/noelmcloughlin>`_
- 62
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>`
- `@aboe76 <https://github.com/aboe76>`_ - `@aboe76 <https://github.com/aboe76>`_
- 49 - 53
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1396878?v=4' width='36' height='36' alt='@gravyboat'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1396878?v=4' width='36' height='36' alt='@gravyboat'>`
- `@gravyboat <https://github.com/gravyboat>`_ - `@gravyboat <https://github.com/gravyboat>`_
- 41 - 41
@@ -151,6 +151,9 @@ This list is sorted by the number of commits per contributor in *descending* ord
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/3705387?v=4' width='36' height='36' alt='@mbrannigan'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/3705387?v=4' width='36' height='36' alt='@mbrannigan'>`
- `@mbrannigan <https://github.com/mbrannigan>`_ - `@mbrannigan <https://github.com/mbrannigan>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/3433835?v=4' width='36' height='36' alt='@n-rodriguez'>`
- `@n-rodriguez <https://github.com/n-rodriguez>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/8399114?v=4' width='36' height='36' alt='@fortunejuggle'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/8399114?v=4' width='36' height='36' alt='@fortunejuggle'>`
- `@fortunejuggle <https://github.com/fortunejuggle>`_ - `@fortunejuggle <https://github.com/fortunejuggle>`_
- 1 - 1
@@ -203,4 +206,4 @@ This list is sorted by the number of commits per contributor in *descending* ord
---- ----
Auto-generated by a `forked version <https://github.com/myii/maintainer>`_ of `gaocegege/maintainer <https://github.com/gaocegege/maintainer>`_ on 2019-08-17. Auto-generated by a `forked version <https://github.com/myii/maintainer>`_ of `gaocegege/maintainer <https://github.com/gaocegege/maintainer>`_ on 2019-10-10.

View File

@@ -2,6 +2,80 @@
Changelog Changelog
========= =========
`0.40.3 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.40.2...v0.40.3>`_ (2019-10-10)
-------------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **manage.sls:** fix ``salt-lint`` errors (\ ` <https://github.com/saltstack-formulas/postgres-formula/commit/bf5b4d6>`_\ )
* **python.sls:** fix ``salt-lint`` errors (\ ` <https://github.com/saltstack-formulas/postgres-formula/commit/1f3cfcc>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **kitchen:** change ``log_level`` to ``debug`` instead of ``info`` (\ ` <https://github.com/saltstack-formulas/postgres-formula/commit/7ca61f3>`_\ )
* **kitchen:** install required packages to bootstrapped ``opensuse`` [skip ci] (\ ` <https://github.com/saltstack-formulas/postgres-formula/commit/76e3e39>`_\ )
* **kitchen:** use bootstrapped ``opensuse`` images until ``2019.2.2`` [skip ci] (\ ` <https://github.com/saltstack-formulas/postgres-formula/commit/3a27978>`_\ )
* **platform:** add ``arch-base-latest`` (commented out for now) [skip ci] (\ ` <https://github.com/saltstack-formulas/postgres-formula/commit/89e4a34>`_\ )
* merge travis matrix, add ``salt-lint`` & ``rubocop`` to ``lint`` job (\ ` <https://github.com/saltstack-formulas/postgres-formula/commit/a0fdd48>`_\ )
`0.40.2 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.40.1...v0.40.2>`_ (2019-09-13)
-------------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **freebsd:** no libpqdev freebsd package (\ `eca6d97 <https://github.com/saltstack-formulas/postgres-formula/commit/eca6d97>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **yamllint:** add rule ``empty-values`` & use new ``yaml-files`` setting (\ `9796319 <https://github.com/saltstack-formulas/postgres-formula/commit/9796319>`_\ )
`0.40.1 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.40.0...v0.40.1>`_ (2019-09-11)
-------------------------------------------------------------------------------------------------------------
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* use ``dist: bionic`` & apply ``opensuse-leap-15`` SCP error workaround (\ `fc6cbe0 <https://github.com/saltstack-formulas/postgres-formula/commit/fc6cbe0>`_\ )
Documentation
^^^^^^^^^^^^^
* **pillar.example:** update examples for freebsd (\ `a799214 <https://github.com/saltstack-formulas/postgres-formula/commit/a799214>`_\ )
`0.40.0 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.39.1...v0.40.0>`_ (2019-09-03)
-------------------------------------------------------------------------------------------------------------
Features
^^^^^^^^
* **archlinux:** add support, fixing rendering errors (\ `e970925 <https://github.com/saltstack-formulas/postgres-formula/commit/e970925>`_\ )
`0.39.1 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.39.0...v0.39.1>`_ (2019-09-01)
-------------------------------------------------------------------------------------------------------------
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **kitchen+travis:** replace EOL pre-salted images (\ `140928b <https://github.com/saltstack-formulas/postgres-formula/commit/140928b>`_\ )
Tests
^^^^^
* **inspec:** fix reference to ``suse`` after gem ``train`` update (\ `677adba <https://github.com/saltstack-formulas/postgres-formula/commit/677adba>`_\ )
`0.39.0 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.38.0...v0.39.0>`_ (2019-08-17) `0.39.0 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.38.0...v0.39.0>`_ (2019-08-17)
------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------

View File

@@ -444,3 +444,75 @@ Resulting in:
Note: This does *not* override the default value. Note: This does *not* override the default value.
Rather, the value from the pillar/config is prepended to the default. Rather, the value from the pillar/config is prepended to the default.
Using sub-directories for ``components``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If your formula is composed of several components, you may prefer to provides files under sub-directories, like in the `systemd-formula <https://github.com/saltstack-formulas/systemd-formula>`_.
.. code-block::
/srv/saltstack/systemd-formula/
systemd/
init.sls
libtofs.jinja
map.jinja
networkd/
init.sls
files/
default/
network/
99-default.link
resolved/
init.sls
files/
default/
resolved.conf
timesyncd/
init.sls
files/
Arch/
resolved.conf
Debian/
resolved.conf
default/
resolved.conf
Ubuntu/
resolved.conf
For example, the following ``formula.component.config`` SLS:
.. code-block:: sls
{%- from "formula/libtofs.jinja" import files_switch with context %}
formula configuration file:
file.managed:
- name: /etc/formula.conf
- user: root
- group: root
- mode: 644
- template: jinja
- source: {{ files_switch(['formula.conf'],
lookup='formula',
use_subpath=True
)
}}
will be rendered on a ``Debian`` minion named ``salt-formula.ci.local`` as:
.. code-block:: sls
formula configuration file:
file.managed:
- name: /etc/formula.conf
- user: root
- group: root
- mode: 644
- template: jinja
- source:
- salt://formula/component/files/salt-formula.ci.local/formula.conf
- salt://formula/component/files/Debian/formula.conf
- salt://formula/component/files/default/formula.conf
- salt://formula/files/salt-formula.ci.local/formula.conf
- salt://formula/files/Debian/formula.conf
- salt://formula/files/default/formula.conf

View File

@@ -12,9 +12,9 @@ driver:
# the `env.matrix` instances defined in `.travis.yml` # the `env.matrix` instances defined in `.travis.yml`
platforms: platforms:
## SALT `develop` ## SALT `develop`
- name: debian-9-develop-py3 - name: debian-10-develop-py3
driver: driver:
image: netmanagers/salt-develop-py3:debian-9 image: netmanagers/salt-develop-py3:debian-10
provision_command: provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com - curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop - sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
@@ -30,18 +30,39 @@ platforms:
provision_command: provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com - curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop - sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
- name: fedora-29-develop-py3 - name: fedora-30-develop-py3
driver: driver:
image: netmanagers/salt-develop-py3:fedora-29 image: netmanagers/salt-develop-py3:fedora-30
provision_command: provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com - curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop - sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
- name: opensuse-leap-15-develop-py3 - name: opensuse-leap-15-develop-py3
driver: driver:
image: netmanagers/salt-develop-py3:opensuse-leap-15 image: opensuse/leap:15
provision_command:
# yamllint disable-line rule:line-length
- zypper install -y glibc-locale net-tools net-tools-deprecated python-xml python3-pip
- systemctl enable sshd.service
run_command: /usr/lib/systemd/systemd
provisioner:
salt_bootstrap_options: -XdPfrq -x python3 git develop
salt_install: bootstrap
# Workaround to avoid intermittent failures on `opensuse-leap-15`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-develop-py2
driver:
image: netmanagers/salt-develop-py2:amazonlinux-2
provision_command: provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com - curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop - sh bootstrap-salt.sh -XdPbfrq -x python2 git develop
- name: arch-base-latest-develop-py2
driver:
image: netmanagers/salt-develop-py2:arch-base-latest
provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python2 git develop
run_command: /usr/lib/systemd/systemd run_command: /usr/lib/systemd/systemd
## SALT `2019.2` ## SALT `2019.2`
@@ -54,12 +75,30 @@ platforms:
- name: centos-7-2019-2-py3 - name: centos-7-2019-2-py3
driver: driver:
image: netmanagers/salt-2019.2-py3:centos-7 image: netmanagers/salt-2019.2-py3:centos-7
- name: fedora-29-2019-2-py3 - name: fedora-30-2019-2-py3
driver: driver:
image: netmanagers/salt-2019.2-py3:fedora-29 image: netmanagers/salt-2019.2-py3:fedora-30
- name: opensuse-leap-15-2019-2-py3 - name: opensuse-leap-15-2019-2-py3
driver: driver:
image: netmanagers/salt-2019.2-py3:opensuse-leap-15 image: opensuse/leap:15
provision_command:
# yamllint disable-line rule:line-length
- zypper install -y glibc-locale net-tools net-tools-deprecated python-xml python3-pip
- systemctl enable sshd.service
run_command: /usr/lib/systemd/systemd
provisioner:
salt_bootstrap_options: -XdPfrq -x python3 git 2019.2
salt_install: bootstrap
# Workaround to avoid intermittent failures on `opensuse-leap-15`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:amazonlinux-2
- name: arch-base-latest-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd run_command: /usr/lib/systemd/systemd
## SALT `2018.3` ## SALT `2018.3`
@@ -75,9 +114,27 @@ platforms:
- name: fedora-29-2018-3-py2 - name: fedora-29-2018-3-py2
driver: driver:
image: netmanagers/salt-2018.3-py2:fedora-29 image: netmanagers/salt-2018.3-py2:fedora-29
- name: opensuse-leap-42-2018-3-py2 - name: opensuse-leap-15-2018-3-py2
driver: driver:
image: netmanagers/salt-2018.3-py2:opensuse-leap-42 image: opensuse/leap:15
provision_command:
# yamllint disable-line rule:line-length
- zypper install -y glibc-locale net-tools net-tools-deprecated python-xml python2-pip
- systemctl enable sshd.service
run_command: /usr/lib/systemd/systemd
provisioner:
salt_bootstrap_options: -XdPfrq -x python2 git 2018.3
salt_install: bootstrap
# Workaround to avoid intermittent failures on `opensuse-leap-15`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:amazonlinux-2
- name: arch-base-latest-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd run_command: /usr/lib/systemd/systemd
## SALT `2017.7` ## SALT `2017.7`
@@ -91,17 +148,35 @@ platforms:
driver: driver:
image: netmanagers/salt-2017.7-py2:centos-6 image: netmanagers/salt-2017.7-py2:centos-6
run_command: /sbin/init run_command: /sbin/init
- name: fedora-28-2017-7-py2 - name: fedora-29-2017-7-py2
driver: driver:
image: netmanagers/salt-2017.7-py2:fedora-28 image: netmanagers/salt-2017.7-py2:fedora-29
- name: opensuse-leap-42-2017-7-py2 - name: opensuse-leap-15-2017-7-py2
driver: driver:
image: netmanagers/salt-2017.7-py2:opensuse-leap-42 image: opensuse/leap:15
provision_command:
# yamllint disable-line rule:line-length
- zypper install -y glibc-locale net-tools net-tools-deprecated python-xml python2-pip
- systemctl enable sshd.service
run_command: /usr/lib/systemd/systemd
provisioner:
salt_bootstrap_options: -XdPfrq -x python2 git 2017.7
salt_install: bootstrap
# Workaround to avoid intermittent failures on `opensuse-leap-15`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:amazonlinux-2
- name: arch-base-latest-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd run_command: /usr/lib/systemd/systemd
provisioner: provisioner:
name: salt_solo name: salt_solo
log_level: info log_level: debug
salt_install: none salt_install: none
require_chef: false require_chef: false
formula: postgres formula: postgres

View File

@@ -32,7 +32,9 @@ postgres:
# flags: -w -s -m fast # flags: -w -s -m fast
# sysrc: true # sysrc: true
pkgs_extra: pkgs_extra:
{%- if grains.os_family not in ('FreeBSD',) %}
- postgresql-contrib - postgresql-contrib
{%- endif %}
- postgresql-plpython - postgresql-plpython
# CLUSTER # CLUSTER
@@ -91,7 +93,7 @@ postgres:
config_backup: ".backup@{{ salt['status.time']('%y-%m-%d_%H:%M:%S') }}" config_backup: ".backup@{{ salt['status.time']('%y-%m-%d_%H:%M:%S') }}"
{%- endif %} {%- endif %}
{%- if grains['init'] == 'unknown' %} {%- if 'init' in grains and grains['init'] == 'unknown' %}
# If Salt is unable to detect init system running in the scope of state run, # If Salt is unable to detect init system running in the scope of state run,
# probably we are trying to bake a container/VM image with PostgreSQL. # probably we are trying to bake a container/VM image with PostgreSQL.

View File

@@ -2,7 +2,7 @@
lookup=None, lookup=None,
default_files_switch=['id', 'os_family'], default_files_switch=['id', 'os_family'],
indent_width=6, indent_width=6,
v1_path_prefix='') %} use_subpath=False) %}
{#- {#-
Returns a valid value for the "source" parameter of a "file.managed" Returns a valid value for the "source" parameter of a "file.managed"
state function. This makes easier the usage of the Template Override and state function. This makes easier the usage of the Template Override and
@@ -17,8 +17,8 @@
use as selector switch of the directories under use as selector switch of the directories under
"<path_prefix>/files" "<path_prefix>/files"
* indent_witdh: indentation of the result value to conform to YAML * indent_witdh: indentation of the result value to conform to YAML
* v1_path_prefix: (deprecated) only used for injecting a path prefix into * use_subpath: defaults to `False` but if set, lookup the source file
the source, to support older TOFS configs recursively from the current state directory up to `tplroot`
Example (based on a `tplroot` of `xxx`): Example (based on a `tplroot` of `xxx`):
@@ -64,10 +64,15 @@
{%- set src_files = src_files + source_files %} {%- set src_files = src_files + source_files %}
{#- Only add to [''] when supporting older TOFS implementations #} {#- Only add to [''] when supporting older TOFS implementations #}
{%- set path_prefix_exts = [''] %} {%- set path_prefix_exts = [''] %}
{%- if v1_path_prefix != '' %} {%- if use_subpath and tplroot != tpldir %}
{%- do path_prefix_exts.append(v1_path_prefix) %} {#- Walk directory tree to find {{ files_dir }} #}
{%- set subpath_parts = tpldir.lstrip(tplroot).lstrip('/').split('/') %}
{%- for path in subpath_parts %}
{%- set subpath = subpath_parts[0:loop.index] | join('/') %}
{%- do path_prefix_exts.append('/' ~ subpath) %}
{%- endfor %}
{%- endif %} {%- endif %}
{%- for path_prefix_ext in path_prefix_exts %} {%- for path_prefix_ext in path_prefix_exts|reverse %}
{%- set path_prefix_inc_ext = path_prefix ~ path_prefix_ext %} {%- set path_prefix_inc_ext = path_prefix ~ path_prefix_ext %}
{#- For older TOFS implementation, use `files_switch` from the config #} {#- For older TOFS implementation, use `files_switch` from the config #}
{#- Use the default, new method otherwise #} {#- Use the default, new method otherwise #}

View File

@@ -35,6 +35,7 @@ FreeBSD:
conf_dir: /usr/local/pgsql/data conf_dir: /usr/local/pgsql/data
data_dir: /usr/local/pgsql/data data_dir: /usr/local/pgsql/data
{% endif %} {% endif %}
pkg_libpq_dev: null #not in freebsd
pkg_client: postgresql{{ release }}-client pkg_client: postgresql{{ release }}-client
pkg: postgresql{{ release }}-server pkg: postgresql{{ release }}-server
prepare_cluster: prepare_cluster:

View File

@@ -5,7 +5,7 @@ include:
postgresql-python: postgresql-python:
pkg.installed: pkg.installed:
- name: {{ postgres.pkg_python}} - name: {{ postgres.pkg_python }}
{% if postgres.fromrepo %} {% if postgres.fromrepo %}
- fromrepo: {{ postgres.fromrepo }} - fromrepo: {{ postgres.fromrepo }}
{% endif %} {% endif %}

View File

@@ -39,6 +39,6 @@ postgresql-repo:
postgresql-repo: postgresql-repo:
test.show_notification: test.show_notification:
- text: | - text: |
PostgreSQL does not provide package repository for {{ grains['osfinger'] }} PostgreSQL does not provide package repository for {{ salt['grains.get']('osfinger', grains.os) }}
{%- endif %} {%- endif %}

View File

@@ -1,6 +1,6 @@
# Overide by OS # Overide by Platform
pg_port = '5432' pg_port = '5432'
if os[:family] == 'debian' or os[:name] == 'suse' if platform[:family] == 'debian' or platform[:family] == 'suse'
pg_port = '5433' pg_port = '5433'
end end

View File

@@ -1,9 +1,9 @@
# Overide by OS # Overide by Platform
service_name = 'postgresql' service_name = 'postgresql'
pg_port = 5432 pg_port = 5432
if os[:name] == 'centos' and os[:release].start_with?('6') if platform[:name] == 'centos' and platform[:release].start_with?('6')
service_name = 'postgresql-9.6' service_name = 'postgresql-9.6'
elsif os[:family] == 'debian' or os[:name] == 'suse' elsif platform[:family] == 'debian' or platform[:family] == 'suse'
pg_port = 5433 pg_port = 5433
end end

View File

@@ -15,3 +15,4 @@ supports:
- platform-name: suse - platform-name: suse
- platform-name: freebsd - platform-name: freebsd
- platform-name: amazon - platform-name: amazon
- platform-name: arch

View File

@@ -1,7 +1,7 @@
# Port to use for the cluster -- can be used to provide a non-standard port # Port to use for the cluster -- can be used to provide a non-standard port
# NOTE: If already set in the minion config, that value takes priority # NOTE: If already set in the minion config, that value takes priority
{%- if not (grains.os_family == 'Debian' or grains.osfinger == 'Leap-15') %} {%- if grains.os_family != 'Debian' and salt['grains.get']('osfinger') != 'Leap-15' %}
postgres.port: '5432' postgres.port: '5432'
{%- else %} {%- else %}
postgres.port: '5433' postgres.port: '5433'
@@ -10,7 +10,7 @@ postgres.port: '5433'
postgres: postgres:
# UPSTREAM REPO # UPSTREAM REPO
# Set True to configure upstream postgresql.org repository for YUM/APT/ZYPP # Set True to configure upstream postgresql.org repository for YUM/APT/ZYPP
{%- if not (grains.os_family == 'Debian' or grains.osfinger == 'CentOS-6') %} {%- if grains.os_family != 'Debian' and salt['grains.get']('osfinger') != 'CentOS-6' %}
use_upstream_repo: False use_upstream_repo: False
{%- else %} {%- else %}
use_upstream_repo: True use_upstream_repo: True
@@ -181,7 +181,7 @@ postgres:
public: public:
owner: localUser owner: localUser
# enable per-db extension # enable per-db extension
{%- if grains.os_family == 'Debian' and grains.osfinger != 'Debian-8' %} {%- if grains.os_family == 'Debian' and salt['grains.get']('osfinger') != 'Debian-8' %}
extensions: extensions:
uuid-ossp: uuid-ossp:
schema: 'public' schema: 'public'
@@ -194,7 +194,7 @@ postgres:
owner: localUser owner: localUser
# optional extensions to install in schema # optional extensions to install in schema
{%- if grains.os_family == 'Debian' and grains.osfinger != 'Debian-8' %} {%- if grains.os_family == 'Debian' and salt['grains.get']('osfinger') != 'Debian-8' %}
extensions: extensions:
uuid-ossp: uuid-ossp:
schema: uuid-ossp schema: uuid-ossp