sous-chefs / rsyslog

Development repository for the rsyslog cookbook
https://supermarket.chef.io/cookbooks/rsyslog
Apache License 2.0
65 stars 199 forks source link

Add postgresql recipe #56

Closed chewi closed 9 years ago

chewi commented 10 years ago

This allows rsyslog to be run with a PostgreSQL backend. It currently assumes that rsyslog will run on the same instance as PostgreSQL. Changing this will probably require the recipe to be split in two.

I would have liked to have used peer authentication, negating the need for the database user to have a random password assigned but the database cookbook currently prevents this. This is being discussed.

Common server configuration (currently just RELP) has been moved into 34-server.conf with 35-postgresql.conf holding the PostgreSQL-specific parts. Given that 35-server-per-host.conf should not exist at the same time, I considered having these share the same name but I didn't want to break existing installs.

Bats tests have been added and these pass on CentOS 5.10 and 6.5. The Chef run fails on Fedora but this is to be due to problems with the postgresql cookbook.

I bolstered the Bats tests by sharing some of the tests between suites. I would have used "load" but Busser only copies the specific suite to the instance so symlinks seemed like the best solution, short of simply duplicating the tests. This cookbook is not relevant to Windows so hopefully this is not a problem.

NOTE: This needs #38, #50, and #53 to be merged first. These are all simple fixes.

tas50 commented 9 years ago

This change is really out of the scope of the 99.9% use for this cookbook and adds to the complexity of the overall cookbook. It's a useful scenario, but it should probably be part of it's own cookbook.