I've had a look through the list archives and seen a couple of mentions
of this but nothing recent and thought I'd ask again in case there is
something new out there.

What are people doing to manage reproducable deployments of RT other
than just dumping the database of a production machine and loading on a
development one.

I am using puppet currently to deploy RT.

Puppet does a good job of getting RT installed and running.

I am struggling with how to manage the RT configuration itself, the
stuff that is done from within the web interface or from initialdata
using rt-setup-database.

We use vagrant for the development environment and the ideal situation
is that running "vagrant up" will bring up a copy of RT running the
latest config.

I want all changes on the production machines done not by the web
interface but in some sort of reproducable way.

What I have so far is a hacked up solution using a custom script to call
rt_setup_database and using my own custom fragments to init the data.

The main issue here is I wanted it to be idempotent so if called from
puppet no harm is done if it has already made the change.

So far I'm doing ugly things like using the @Init section to check if a
particular change exists in the database already and not making it if it
does.  This also prevents adding multiple entries for things when the
code is run multiple times.

My solution is working although it feels clunky.

I guess one better option would be a full puppet implementation modeling all of
Rt's configuration.  That just felt like a job far too big to tackle :(.

Does anyone have any suggestions or stories of how they are managing
this situation?

Kind regards

Bart Bunting - URSYS
PH: 02 87452811
Mbl: 0409560005
RT 4.4 and RTIR Training Sessions https://bestpractical.com/training
* Los Angeles - September, 2016

Reply via email to