Commit graph

136 commits

Author SHA1 Message Date
Denys Havrysh
783041b8cc Separate states for baking VM or container image 2017-01-08 17:41:12 +02:00
Denys Havrysh
186e972075 Use `bake_image` Pillar setting to control PG startup behavior 2017-01-07 16:19:14 +02:00
Denys Havrysh
d48f6f2a50 Make sure the service is enabled on "deb"-based operating systems 2017-01-06 16:54:33 +02:00
Denys Havrysh
87f6cd880c Make clean state run by explicitly checking if init system is available 2017-01-06 16:37:07 +02:00
Denys Havrysh
d4ed4be16e Attempt to start and manage PostgreSQL service even if init system fails 2017-01-06 16:33:40 +02:00
Denys Havrysh
a291d40ef1 Fix and set useful backup extension for postgresql.conf file 2016-12-19 12:29:14 +02:00
Denys Havrysh
ab38a069fa Workaround a bug in saltstack/salt#37935 for release v2016.11.0 2016-12-01 16:11:37 +02:00
Forrest
dc1861b67f Merge pull request #129 from vutny/manage-postgres-with-client
[REFACTORING] Add `postgres.manage` state to provision DB objects
2016-10-20 09:12:30 -07:00
Denys Havrysh
74ddea8bdb [REFACTORING] Add postgres.manage state to provision DB objects 2016-10-20 12:54:39 +03:00
Marc-Alexandre Chan
a04fe4681b Fix missing spaces in long pg_hba.conf lines
In generated pg_hba.conf, fix missing spaces between arguments if an argument is longer than the column width allotted to that argument in the line.
2016-10-09 07:29:52 -04:00
Denys Havrysh
234a76f1e9 Manage PostgreSQL entities with client.sls states 2016-10-04 14:38:21 +03:00
Denys Havrysh
9518737477 Move setting client_bins item to the osmap lookup dict 2016-10-03 14:04:26 +03:00
Denys Havrysh
d5dcac95a7 RedHat: make client binaries available in $PATH 2016-09-26 18:03:11 +03:00
Denys Havrysh
84713e8fea Set use_upstream_repo: True by default 2016-09-23 17:50:57 +03:00
Denys Havrysh
b4edec9f43 Ensure upstream repo is configured or absent depending on use_upstream_repo 2016-09-22 17:05:25 +03:00
Toby Brain
b043047af4 Support only including postgres.client 2016-09-22 11:22:24 +10:00
Denys Havrysh
0bb5e69b8d Debian: make codenamemap even if lsb-release pkg not installed 2016-09-19 17:22:07 +03:00
Mike Brannigan
e2cf9e96d7 ensure template compatible with python 2 2016-09-15 08:20:24 -05:00
Denys Havrysh
c79dfeb6ec Make setting use_upstream_repo install PostgreSQL 9.5 by default 2016-09-13 16:42:36 +03:00
Denys Havrysh
8c4dc07467 Map Pillar dicts for PostgreSQL entities to the Salt state arguments 2016-09-09 18:02:47 +03:00
Denys Havrysh
1ec55e0b96 Better ACL handling in the pg_hba.conf file 2016-09-06 14:44:35 +03:00
Denys Havrysh
c285f1006c Introduce osmajorreleasemap for RedHat release specific commands 2016-09-05 13:49:33 +03:00
Denys Havrysh
8db04833c2 Set sane defaults when use_upstream_repo and version Pillars are set 2016-09-04 15:26:46 +03:00
Denys Havrysh
7307ab8dc9 Fix SLS rendering because of pkgs_extra Jinja var isn't set by default 2016-09-02 11:14:09 +03:00
Nicole Scherfenberg
2e26b6f606 fixes formula to comply to its spec
The reworks in merge #110 broke this formulas kitchen based specs.
This MR changes a few minor things, mostly  pillar.example and other inconsistent documentations.
Also, the use of db_user for `postgres_tablespace.present` and `postgres_database.present` now fits the states options, as db_password etc can be specified as well.
2016-08-05 20:44:45 +02:00
Marco Badan
e7f82a1981 Fix typo 2016-08-02 22:50:16 +02:00
Forrest
767b418822 Merge pull request #110 from dynjnelson/master
revamp cluster initialization, fix usage of user/owner/runas/db_user, add dependencies
2016-08-01 12:45:48 -07:00
Vladislav Malakhin
05aae61812 Update upstream.sls
Fix package name for Debian upstream
2016-07-25 16:27:06 +07:00
Jon Nelson
1c72c7c3a1 - for encoding, lc_type, and lc_collate, only set them on the database if
they are explicitly supplied. Otherwise use the postgres database
  defaults.
2016-07-19 10:10:07 -05:00
Jon Nelson
7a7396fcb2 remove explicit LC_ALL environment variable setting that only works on some distros 2016-07-19 10:09:39 -05:00
Jon Nelson
9b5526a680 - add 'runas', 'user', and 'owner' to all database object creation
(where appropriate)
- add missing 'requires' on database objects (schemas require databases,
  databases require users, etc....)
- alter structure of schema and extension configuration:
  now schema and extension configuration follows the other items in that
  they are expected to be *dictionaries* where the key is the name of
  the object and the value is another subdictionary of configuration.
2016-07-11 19:14:31 -05:00
Jon Nelson
0220b67a85 - re-arrange cluster initialization to a set of variables in a dictionary
which control three things:
    1. should we initialize?
    2. if so, how?
    3. what environment variables and user to use
  The approach taken is very similar to what the Apache formula uses, namely:
  a default dictionary which is over-ridden by:
     os-specific defaults,
     then os codename defaults,
     then os finger defaults,
     and finally user-specified pillar values
- this also adds support for grains['osfinger']
2016-07-11 15:29:11 -05:00
Tim Goodaire
c16c78a38e Removed leading spaces 2016-07-08 16:03:55 -04:00
Tim Goodaire
153c0d64bb Simplify codenamemap 2016-07-08 11:25:59 -04:00
Javier Bértoli
9719e2354e Allow to specify a tablespace for a database
* Tablespaces have to be created before the databases
* Add pillar examples
* Add tests
2016-06-08 07:36:28 -03:00
Gilles Dartiguelongue
c1ea789690 Switch version specific Debian pkg_dev to "virtual" package
This package depends on the proper version per release.
2016-06-07 12:07:32 +02:00
Gilles Dartiguelongue
749d2f2e12 Drop redundant -D datadir from Arch initdb command 2016-06-07 12:07:32 +02:00
Gilles Dartiguelongue
e0ed6b6e77 Kill create_cluster pillar switch, refs: #100
It is just a variant of init_db. A more correct solution would be to
support configuring a different initdb command while passing values from
the pillar by default like version. This would make it truly generic but
is probably not achievable given current pillar self-referencing
capabilities (ie. none).

Thus, I decided to make it OS family specific since Debian provides its
own tools to manage clusters, etc. Gentoo also has a specific way to
initialize a new cluster which does not fit with commands.initdb so
the current if/elif would be extended when support is added for Gentoo.
2016-06-07 12:00:50 +02:00
Gilles Dartiguelongue
6ab619f8c5 Set pkg_dev for all debian variants 2016-06-06 14:45:27 +02:00
Gilles Dartiguelongue
ddf0e4733b Set datadir for Debian family OSes, refs: #100 2016-06-06 14:37:51 +02:00
Gilles Dartiguelongue
4a00acf26a Split postgresql-cluster-prepared in two states, refs: #100
Previous write up lead the two pillar settings overwriting each other in the same state.
We can now properly select whether to create a cluster and/or initialize a new database.

Also the commands will not fail if both settings are false as found on Debian family OSes
as this is taken care of by the packaging system for main cluster.
2016-06-06 14:37:51 +02:00
Gilles Dartiguelongue
8ddfbd2403 Add codenamemap entry for Ubuntu Wily Werewolf 2016-06-06 14:13:47 +02:00
Alex Powell
dca04c76d1 Adding pkg dependency for directory permissions. 2016-06-05 12:55:00 +01:00
Niels Abspoel
d046fe9909 fix client package on archlinux 2016-05-25 23:06:12 +02:00
Niels Abspoel
f1a45675d0 add archlinux defaults 2016-05-25 22:16:59 +02:00
Niels Abspoel
efba14c7a2 Merge pull request #93 from tgoodaire/master
Allow initdb to be run as other users, cleanup of dependencies
2016-05-25 21:57:35 +02:00
Tim Goodaire
3ee730996b Cleanup, including restructuring and renaming 2016-05-25 12:12:48 -04:00
Dennis Ahrens
52f27d2df7 Reload postgresql server instead of restarting it
In case of changes in postgresql.conf and pg_hba.conf the
postgresql will now reload instead of restart.
2016-05-25 11:12:53 +02:00
Tim Goodaire
fac8b6b936 Rename runtime_dir to data_dir 2016-05-24 11:40:14 -04:00
Tim Goodaire
e4bb5bf133 Improvements to initdb stuff 2016-05-24 11:02:30 -04:00