##Overview Puppet module for managing trac instances
##Usage
To accept all defaults use this code. Note: This will setup trac with no authentication and no admins. You will need to setup your own apache auth at a more global level if you use these defaults. You will also probably want to specify at least one admin using trac::admin {'admin': }
in your manifest as well.
WARNING: The defualt also comes with the defaults of puppetlabs-apache which will purge your apache conf.d files
trac::project {'sampleproject': }
Setup where you manage the apache config
class {'trac':
manage_apache => false,
}
trac::project {'sampleproject': }
Setup using basic auth where this module manages the passwd file
trac::project {'sampleproject':
admins => ['testadmin'],
userhash => {'testadmin' => '4a7h9E5zdLJ/c',
{'testuser' => '4a7h9E5zdLJ/c'}
Setup using basic auth where your module manages the passwd file
trac::project {'sampleproject':
admins => ['testadmin'],
auth_file => '/etc/tracsecurity/passwd',
}
Setup using your own template to manage the apache authentication
Manifest:
trac::project {'sampleproject':
httpd_auth_content => template('mytracmodule/httpd/auth.erb'),
admins => ['testadmin'],
}
mytracmodule/httpd/auth.erb:
AuthType Kerberos
AuthName "EXAMPLE"
Krb5KeyTab /etc/httpd/keytabs/http.keytab
KrbMethodNegotiate On
KrbMethodK5Passwd On
KrbVerifyKDC On
KrbServiceName HTTP/trac.example.com
require valid-user
#####db_user
Default: testing
The database user who will manage the trac instance. This is used to buid the connection string for the trac.ini file.
#####db_host
Default: localhost
The host the database is running on. This is used to buid the connection string for the trac.ini file.
#####db_port
Default: 5432
The host the database is running on. This is used to buid the connection string for the trac.ini file.
#####db_schema
Default: trac
The database schema name to use
#####httpd_auth_content
Default: Configures for basic auth
#####auth_name
Default: trac
The name displayed in the BasicAuth authentication popup
#####userhash
Default: undef
Hash of {user => password}
where password is a hashed version that will be placed into the htpasswd file
#####admins
Deafult: []
A list of usernames to give the TRAC_ADMIN permission to
#####trac_title
Default: undef
The title of your project which will be displayed at the top of your trac page
#####logo_image
Default: undef
A Puppet file URL that points to the image you want displayed on your trac page. Ex. puppet:///module/mytracmodule/images/logo.png
#####logo_height
Default: undef
The height of your logo
#####logo_width
Default: undef
The width of your logo
#####logo_alttext
Default: undef
Alt tag that will be associated with your logo
##TODOs
- Add support for other database backends (currently only supports postgresql)
- Abstract ini parameter management for the defined type trac::project and allow users to pass in a hash of override or additional parameters