Commit graph

152 commits

Author SHA1 Message Date
Robin Bowes
1a5a4efef5 Make database validation optional 2015-01-12 16:37:21 +00:00
Ken Barber
cb71baa1e9 Merge pull request #160 from bastelfreak/fix-manage-firewall
add missing param manage_firewall
2015-01-07 13:49:03 +00:00
Ken Barber
04a133c386 Merge pull request #158 from dalen/restart_on_cert_change
Restart the service if certificates change
2015-01-07 13:44:49 +00:00
Ewoud Kohl van Wijngaarden
1c6081082e Remove unused parameters 2015-01-06 19:03:42 +01:00
Tim Meusel
4031dc7883 add missing param manage_firewall
the param manage_firewall was added in an earlier release to puppetdb::server. The class isn't called directly but via the init.pp. the puppetdb class had already the param manage_firewall but this wasn't forwarded to puppetdb::server
2015-01-05 11:16:32 +01:00
Erik Dalén
1c6f37a4ee Restart the service if certificates change 2014-12-18 17:04:56 +01:00
Andrew Roetker
36148124b6 (maint) Prune dead PE code
This commit removes some dead PE code that is no longer used to make
params a little cleaner.
2014-12-05 14:05:50 -08:00
Tim Meusel
c3cdd86d55 Add ssl_protocol param to puppetdb & puppetdb::server classes
puppetdb::server calls puppetdb::server:jetty_ini,
jetty_ini is able to set ssl_protocols, but this param isn't
present in the puppetdb::server class nor in the puppetdb class
2014-11-28 18:15:16 +00:00
Ken Barber
fd6c2a2a60 (maint) Correct path for hsqldb storage
For some reasons we switched this to use /usr/share/puppetdb/db, which has a
softlink to /var/lib/puppetdb/db. This is not aligned with the PuppetDB core
nor is it following FHS.

Signed-off-by: Ken Barber <ken@bob.sh>
2014-11-06 14:15:06 +00:00
Garrett Honeycutt
af10eedfc6 Add ability to specify SSL protocols.
This is in response to CVE-2014-3566 - POODLE
2014-10-29 19:29:15 -04:00
Stefan Andres
ed5e57ca89 Remove invisible unicode character to prevent "invalid byte sequence in US-ASCII" 2014-10-16 13:36:23 +02:00
Philip Wigg
6d58b2286e Fix use_ssl behaviour for the validator and new puppetdb_disable_ssl parameter
Previously the defined check wasn't working as expected, this patches fixes
this by relying on the check for the `puppetdb` class instead.

Tests have been added, and the README has been updated to include the new
puppetdb_disable_ssl parameter for the `puppetdb::master::config` class.
2014-10-08 12:56:46 +01:00
Ken Barber
f6f6e55b33 Cleanups, missing doc items and new test_url capability
This provides a number of cleanups as the code has been unloved for a while.

I've added the ssl-* parameters the robinbowes added in his last patch to the
docs, and found some other cleanups as well where applicable.

I've added the ability to override the test_url also, so that in the future
if a user wishes to they can customize this.

Signed-off-by: Ken Barber <ken@bob.sh>
2014-10-07 15:06:54 +01:00
Robin Bowes
8c68fc1dd2 Add the ability to a) deploy ssl keys, b) set paths to ssl keys in jetty.ini
This also adds parameters for puppetdb user/group to support PE correctly.
2014-10-07 15:04:37 +01:00
Sean Millichamp
e4d26bdd85 Fix defined() call to correctly test is_pe
defined('$::is_pe') will never evaluate to true, even if
the is_pe fact is defined. defined('$is_pe') will return the
correct results.
2014-10-03 16:49:25 -04:00
Garrett Honeycutt
95812ed192 Update jetty_ini.pp 2014-09-24 17:43:40 -04:00
Ken Barber
8ce1856222 Use str2bool for backwards compatibility, and avoid changing puppetdb_service_status
is_pe being a fact, its smarter her to coerce the value of it too a boolean, in
case we still receive the value as a string. In the future structured facts
will become the norm.

I've also removed the patch against the values for puppetdb_service_status, matching
against a bareword boolean while it looks good, if the value is indeed a boolean the
in will fail in the current parser. This can be brought up again in the future.

Signed-off-by: Ken Barber <ken@bob.sh>
2014-09-15 22:59:38 +01:00
Matthias Baur
9d607f55f3 Fix some Puppet Lint errors
Fix wrong indention
2014-09-15 21:08:34 +01:00
Ken Barber
2c00c65061 Merge pull request #136 from buzzdeee/openbsd
OpenBSD support
2014-09-05 19:02:24 +01:00
Sebastian Reitenbach
f08fe90642 OpenBSD support 2014-08-31 22:41:39 +02:00
Sebastian Reitenbach
5ed5839d48 do not manage firewall for postgres, puppetlabs/postgres module from
git has dropped that silly firewall management support.

do not document removed manage_firewall parameter anymore
2014-08-31 22:36:11 +02:00
Taylan Develioglu
66b5cc087f Fixed read-database parameters in class puppetdb 2014-08-06 10:05:53 +02:00
Taylan Develioglu
27840d6959 Add read-database support 2014-08-04 13:54:38 +02:00
Matthias Baur
9ddef32eac Fixed typo 2014-07-11 11:18:11 +02:00
Matthias Baur
eac026c658 Allow to set the manage_server parameter in the init class 2014-07-11 11:14:40 +02:00
Ken Barber
cbcf042f54 Merge pull request #127 from dalen/flexible_routes
Allow more flexible routes configuration
2014-07-01 11:50:00 +01:00
Ken Barber
c706255bc0 Merge pull request #130 from stefanandres/jetty_max_threads
implement max_threads option for jetty
2014-07-01 11:49:06 +01:00
Ken Barber
b80b921348 Merge pull request #125 from rickerc/bugs/1298605
Ensure db and db users created before validation
2014-07-01 11:48:21 +01:00
Stefan Andres
3061b90127 implement max_threads option for jetty 2014-06-26 17:15:34 +02:00
Ken Barber
456caebc31 Merge pull request #121 from jantman/conditional_db
Parameter to not manage postgresql server
2014-06-17 09:39:00 -07:00
Erik Dalén
32decebb04 Allow more flexible routes configuration 2014-05-14 14:10:58 +02:00
Mickaël Canévet
51fcc18aa8 Fix strict_variables issue 2014-04-10 15:37:20 +02:00
Mickaël Canévet
1d631e2ef4 Add strict_variables support when puppetdb is not on puppetmaster 2014-04-08 15:08:23 +02:00
Chris Ricker
209f0c6476 Ensure db and db users created before validation
Ensure that for PostgreSQL backends, the database validation functions
are not run until the initial database creation and user role creation
has been completed.

Closes-Bug: #1298605
2014-04-02 08:44:25 -07:00
Ken Barber
1bbce1830e Test against string 'true' not boolean
Because facter likes to convert booleans to strings

Signed-off-by: Ken Barber <ken@bob.sh>
2014-03-02 10:42:49 -08:00
Ken Barber
c049fba8e2 Fix is_pe declaration so it works without is_pe
Signed-off-by: Ken Barber <ken@bob.sh>
2014-02-27 17:03:21 +00:00
Reid Vandewiele
ee38594c44 Use $is_pe for PE determination
...rather than the custom logic that was used previously. Using a
uniform canon fact across all modules that need to differentiate between
PE and POSS makes unusual situations (such as having a missing
/opt/puppet/pe_version file) more, well, uniform.
2014-02-25 08:56:59 -08:00
Jason Antman
2ae8754efe conditionally do not manage the postgres server itself, so users can separately declare postgresql::server and pass whatever options they want. 2014-02-20 15:35:16 -05:00
Spencer Krum
9e4e88ecf1 Adding option to disable management of the firewall
Some users will manage the firewall externally from this module.
2014-02-14 18:34:48 +00:00
Adrian Lopez
b86270b0f3 Define parameter in puppetdb class to define postgres listen address 2014-01-12 22:57:18 +01:00
Elliott Barrere 
05cf44b937 Enable soft_write_failure setting when $puppetdb::disablessl = true
The puppet agent will refuse to run if it can’t make a secure
connection to the puppetdb server.  This setting disables that in case
SSL is disabled.
2013-12-11 14:36:32 -08:00
Elliott Barrere 
51a08a85b4 Fix issue with validator when disable_ssl = true
https://github.com/puppetlabs/puppetlabs-puppetdb/issues/106
2013-12-11 14:34:52 -08:00
Scott Duckworth
d25044f6c7 fix validation regular expressions 2013-10-29 12:15:35 -04:00
Ken Barber
c29fb59a68 Adjust memory for PuppetDB tests to avoid OOM killer
The tests were failing on Ubuntu, and I noticed that the OOM killer
was killing java. This patch increases the memory size for each
image to avoid this.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-10-27 00:52:18 +02:00
Ken Barber
603df7381d (GH-93) Switch to using puppetlabs-postgresql 3.x
This updates the module to be able to use puppetlabs-postgresql.

Since this change is a major change, it marks this patch as a breaking change.

I have prepared a suitable amount of upgrade notes for upgrading to this later
version of the module plus removed anything marked deprecated.

As cleanup, I've removed the troublesome 'tests' directory in favour of good
README.md documentation. I've also removed any puppet docs from each module
until such times as puppet docs become automated through the forge. This is
just to avoid contributors having to double their efforts - the README.md
is the authority now.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-10-21 18:43:41 +01:00
Stefan Dietrich
d6202bdda2 Disable database validation, if SSL is enabled 2013-10-19 19:56:46 +02:00
Stefan Dietrich
84c5fa79ea Add switch to configure database SSL connection
PostgreSQL supports secure connections through SSL. For PuppetDB
to connect with SSL, "?ssl=true" has to be specified on the
connection string.

This patch adds such a switch, by default PuppetDB will not use SSL
to connect to the database.
2013-10-19 19:56:46 +02:00
Garrett Honeycutt
70c73c78ba Add params to support soft_write_failure option as per Ken Barber
I can rebase these commits once the code is debugged and to your
liking.
2013-10-18 12:00:14 -04:00
Garrett Honeycutt
d440f1b3ea Add soft_write_failure to puppetdb.conf
This supports a recently added feature to PuppetDB.
2013-10-17 11:49:47 -04:00
Akos Hencz
0868426c32 Added puppetdb service control 2013-09-02 11:30:31 +02:00
Niels Abspoel
96e12396a6 add archlinux support 2013-08-19 22:25:12 +02:00
Chris Price
dd57e38c48 Merge pull request #78 from nicklewis/optional-password
Make database_password an optional parameter
2013-08-12 16:25:43 -07:00
Nick Lewis
2f12a5d7c0 Make database_password an optional parameter
In some cases it may not be possible to securely specify a password for
PuppetDB. When that is true, it's impossible to use the module to manage
PuppetDB, because specifying undef for the password will cause database
validation to fail, or for the setting in database.ini to be overridden.

This change will simply check that database_password is set, and will
skip validation and changing database.ini in the case where it is not.
2013-08-12 14:53:02 -07:00
Ken Barber
9c41392312 Add missing parameters for 1.4.0 release
This patch adds all the missing parameters now defined in the 1.4.0 release.

This includes some new database parameters mainly, but also adds gc_interval
to the `puppetdb` and `puppetdb::server` classes, as previously this wasn't
configurable using this method.

To avoid documentation duplication the Puppet headers have been removed in
favour of documenting classes from the README.md. Until such times as the
forge can turn Puppet docs into HTML automatically, this is just duplicate
noise and prone to update slippage. The README.md is more authoritative in
this area and is pubicly displayed on the forge project page so it should be
used for now.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-08-07 15:32:19 +01:00
Chris Price
4602da1e4a Minor tweaks to make the module support SUSE 2013-07-09 13:15:29 -07:00
Erik Dalén
02d0c48438 Style guideline fixes 2013-06-04 14:19:53 +02:00
Ken Barber
b45fca9689 Merge pull request #64 from cprice-puppet/feature/master/support-enabling-report-processor
Add support for enabling puppetdb report processor
2013-05-28 16:15:08 -07:00
Chris Price
148bddbf30 Add support for enabling puppetdb report processor 2013-05-23 14:54:49 -07:00
Ken Barber
a56e28a024 Merge pull request #61 from dalen/separate_db_class
Separate DB instance and DB user creation
2013-05-22 08:27:07 -07:00
Chris Price
b79214066a Use fqdn for ssl listen address instead of clientcert
Chris Barker reported that the default value of `$::clientcert`
was not the best choice for some things we were using it for
in the module; specifically, for the default value of
the jetty ssl listen address.  He suggested using `$::fqdn` instead.

This commit makes that change; rspec-system tests pass, but I'm
not 100% sure that there aren't edge cases that would be
affected by this.
2013-05-21 16:35:42 -07:00
Erik Dalén
8a30c5a11d Separate DB instance and DB user creation 2013-05-07 18:28:23 +02:00
Chris Price
7c2caf6a20 Increase default report-ttl to 14d 2013-05-02 15:00:00 -07:00
Ken Barber
15fb00c9f7 Add initial rspec-system tests and scaffolding
This adds a basic test to run the standard 1 node setup until it succeeds.

This also fixes a bug with the connection validation facilities. Before this
patch we would keep retrying the connection to PuppetDB until the timeout
expired, this patch fixes that bug making provisioning faster and well, more
reliable. I've also increased the timeout as some systems take longer than
15 seconds for PuppetDB to start.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-04-19 23:26:15 +01:00
Karel Brezina
7a1557a79f Added support for Java VM options 2013-04-12 15:24:52 +02:00
fhrbek
5f5a00f3a1 Support for remote puppetdb 2013-04-12 15:03:54 +02:00
Christian Berg
f10f4a97fb Remove trailing whitespace 2013-04-09 23:40:48 +02:00
Christian Berg
0a9d936670 Merge branch 'master' into feature/master/option_to_disable_ssl 2013-04-09 23:38:40 +02:00
Ken Barber
64aa1fec15 Also fix gc_interval
Signed-off-by: Ken Barber <ken@bob.sh>
2013-04-09 13:40:12 +01:00
fsalum
46684c4ab6 the new settings report_ttl, node_ttl and node_purge_ttl were added but they are not working, this fixes it 2013-04-09 13:38:30 +01:00
Christian Berg
28e23581c7 (#51) Add option to disable SSL in Jetty
This patch introduces the optional parameter $disable_ssl, which
defaults to false. If set to true, the settings ssl-host and ssl-port
are completely removed from the Jetty section of the PuppetDB config
files.

This disables serving of HTTPS requests by PuppetDB, which can be useful
when SSL handling is offloaded to a reverse proxy server like Apache or
Nginx, as suggested in the PuppetDB documentation (see
http://docs.puppetlabs.com/puppetdb/1.2/connect_puppet_apply.html#option-a-set-up-an-ssl-proxy-for-puppetdb).
2013-04-09 00:39:04 +02:00
Garrett Honeycutt
fc3f8dc747 allows for 0 _ttl's without time signifier and enables tests 2013-04-08 23:49:18 +02:00
Dominic Cleal
eb66b99b72 Add unit suffix to TTL settings to avoid issue #20099 2013-04-07 10:56:01 +01:00
Ken Barber
04d5bf1b56 Merge pull request #35 from nicklewis/add-ttl-settings
Add params and ini_settings for node/report/purge ttls
2013-04-04 05:22:02 -07:00
Nick Lewis
735f18fba9 Document which versions of PuppetDB the ttl settings work in 2013-02-27 16:44:40 -08:00
Karel Brezina
1d83efbcec Database name, user name and password can be set to arbitrary values. 2013-02-13 12:14:53 +01:00
Nick Lewis
9efe80b95a Add params and ini_settings for node/report/purge ttls 2013-02-06 15:25:20 -08:00
Chris Price
03a17532d5 Update docs in init.pp 2013-01-17 10:46:16 -08:00
Chris Price
de20b44101 Fix backward compatibility of manage_redhat_firewall parameter
Prior to this commit, the deprecated `manage_redhat_firewall` param
was not actually backward compatible because there were several
cases where we couldn't tell the difference between the user
explicitly specifying `false` for that parameter as opposed to
not specifying it at all.  This commit is a bit ugly because it
sets some defaults to `undef` in order to allow us to tell the
difference between the two cases, but it should resolve backwards
compatibility issues.
2013-01-17 09:59:08 -08:00
Chris Price
448f8bc996 Fix deprecation warnings around manage_redhat_firewall 2013-01-16 17:52:11 -08:00
Drew Blessing
0cf963279a 17594 - Fixes suggested by cprice-puppet 2012-11-29 07:46:05 -06:00
Drew Blessing
57445ef70f 17594 - PuppetDB - Add ability to set standard host listen address and open firewall to standard port
Prior to this commit the module did not provide a way to set a bind address for the HTTP port.  This
commit allows users to not only bind to an address and port other than localhost and 8080, but it also
opens the firewall if explicitly requested.
2012-11-14 09:00:15 -06:00
Chris Price
a72cc7c9f0 Add missing inherit for puppetdb::params
Prior to this commit if you tried to use the classes
`puppetdb::master::routes` or `puppetdb::master::storeconfigs`
directly (rather than implicitly through
`puppetdb::master::config`), you would get a failure about
`puppetdb::params` not having been evaluated.  This is because
the classes were missing an `inherits` statement; this commit
fixes both of them.
2012-10-26 11:42:40 -07:00
Chris Price
ea9b379062 Add missing inherit for puppetdb::params
Prior to this commit if you tried to use the class
`puppetdb::master::puppetdb_conf` directly (rather than
implicitly through `puppetdb::master::config`), you would
get a failure about `puppetdb::params` not having been
evaluated.  This is because the class was missing an
`inherits` statement; this commit fixes the bug.
2012-10-26 10:20:03 -07:00
Reid Vandewiele
bf0ab45620 Fix embedded db setup in Puppet Enterprise
The subname value in database.ini when using an embedded database varies
between the Puppet Enterprise package and the FOSS Puppet package.
Previously, the PuppetDB module could not successfully manage an
embedded database on a PE master. This commit adds an additional
parameter and utilization to account for this.
2012-10-17 13:28:01 -07:00
Chris Price
b119a30af5 Update manifests/master/config.pp
This just incorporates some whitespace / compatibility issues that @hunner noticed in the last pull request.
2012-10-17 09:33:29 -07:00
Chris Price
783b595fc7 Make puppetdb startup timeout configurable
In some environments, puppetdb can take longer than 10 seconds
to start up.  Prior to this commit, that value was hard coded
and the module would sometimes fail when it wouldn't have failed
with a slightly larger timeout.  This commit makes the timeout
configurable, and also increases the default value to 15 seconds.
2012-10-16 17:42:02 -07:00
Hunter Haugen
63f1c52d8b Add condition to detect PE installations and provide different parameters 2012-10-01 11:05:25 -07:00
Chris Price
b5df5d9197 Update comments and docs w/rt PE params
This is just a small add-on to Hunter's commits where he added
extra parameters to support PE.  This commit just cleans up
some of my old comments that were made irrelevant or inaccurate
due to the work that he did, and adds a bit of documentation to
the new test manifest that he created.
2012-10-01 10:46:33 -07:00
Hunter Haugen
df6f7cc345 Add parameters to enable usage of enterprise versions of PuppetDB 2012-09-28 11:03:19 -07:00
Chris Price
179b337571 Add a parameter for restarting puppet master
Prior to this commit, the module always attempted
to restart the puppet master service whenever it
managed the master config files.  This commit
disables that behavior since our acceptance nodes
don't have the service installed.
2012-09-23 10:05:00 -07:00
Chris Price
f21740b699 Pass 'manage_redhat_firewall' param through to postgres
Prior to this commit, if you allowed the puppetdb module
to manage postgres for you, it would always try to manage
the firewall for the postgres port on redhat systems.

This commit exposes that as a parameter in a few more
spots, and passes it through to the postgres module.
2012-09-21 10:47:19 -07:00
Chris Price
a65afcc1f1 Fix duplicate stanza in database_ini.pp
There was a minor problem with a merge conflict in the previous
commit.  This commit should fix it.
2012-09-20 16:59:39 -07:00
Chris Price
4360004ea2 Merge remote-tracking branch 'ghoneycutt/ticket/1.0.x/xxxx_style_updates' into maint/master/resolve-merge-conflict
Conflicts:
	manifests/server/database_ini.pp
2012-09-20 16:22:46 -07:00
Garrett Honeycutt
1aab5d98b0 complies with style guide 2012-09-20 14:46:26 -07:00
Chris Price
be683b7b5a Fix invalid subname in database.ini
For the postgres subname, the module was writing the wrong value
for the database instance name.  This commit fixes that bug.
2012-09-19 13:44:39 -07:00
Chris Price
ce3d4be317 Restart the puppet master service when necessary
Prior to this commit, users needed to be aware that the puppet
master service would need a restart if certain config files
were changed (routes.yaml, puppetdb.conf).  This commit
adds a notification that will trigger a service restart if
those files are modified.
2012-09-18 17:21:42 -07:00
Chris Price
aef363a8bb Add support for specifying the version of the puppetdb packages
Prior to this commit, all of the puppetdb packages were being
installed with 'ensure=present'.  This commit changes things
so that you can explicitly specify a version if you desire;
the default is still 'present'.
2012-09-18 15:52:10 -07:00
Chris Price
b80866ebef Add support for opening puppetdb port in firewall 2012-09-17 17:06:48 -07:00
Chris Price
8fbda3c4d6 Use ini_file to manage settings, and add validation
This commit does the following:

* Use the new inifile module to manage puppet.conf
* More comprehensive management of config files
* Validate database connectivity before applying puppetdb
  config changes
* Validate puppetdb connectivity before applying puppet
  master config changes
* Documentation
2012-09-17 15:26:32 -07:00
Stephen
5cfd53f7a3 typo 2012-09-06 16:01:26 +01:00