diff --git a/servers/puppet/modules/humbug/files/trac.ini b/servers/puppet/modules/humbug/files/trac.ini
new file mode 100644
index 0000000000..a60f15d8c4
--- /dev/null
+++ b/servers/puppet/modules/humbug/files/trac.ini
@@ -0,0 +1,220 @@
+# -*- coding: utf-8 -*-
+
+[attachment]
+max_size = 262144
+max_zip_size = 2097152
+render_unsafe_content = false
+
+[browser]
+color_scale = True
+downloadable_paths = /trunk, /branches/*, /tags/*
+hide_properties = svk:merge
+intermediate_color =
+intermediate_point =
+newest_color = (255, 136, 136)
+oldest_color = (136, 136, 255)
+oneliner_properties = trac:summary
+render_unsafe_content = false
+wiki_properties = trac:description
+
+[changeset]
+max_diff_bytes = 10000000
+max_diff_files = 0
+wiki_format_messages = true
+
+[components]
+humbug_trac = enabled
+
+[header_logo]
+alt = Humbug
+height = 100
+src = site/humbug_logo.png
+width = 100
+link =
+
+[inherit]
+htdocs_dir =
+plugins_dir =
+templates_dir =
+
+[logging]
+log_level = DEBUG
+log_type = file
+
+[mainnav]
+tickets.href = /report/10
+wiki.label = Home
+
+[milestone]
+stats_provider = DefaultTicketGroupStatsProvider
+
+[mimeviewer]
+max_preview_size = 262144
+mime_map = text/x-dylan:dylan, text/x-idl:ice, text/x-ada:ads:adb
+mime_map_patterns = text/plain:README|INSTALL|COPYING.*
+pygments_default_style = trac
+pygments_modes =
+tab_width = 8
+treat_as_binary = application/octet-stream, application/pdf, application/postscript, application/msword,application/rtf,
+
+[notification]
+admit_domains =
+always_notify_owner = false
+always_notify_reporter = false
+always_notify_updater = true
+ambiguous_char_width = single
+batch_subject_template = $prefix Batch modify: $tickets_descr
+email_sender = SmtpEmailSender
+ignore_domains =
+mime_encoding = none
+sendmail_path = sendmail
+smtp_always_bcc =
+smtp_always_cc =
+smtp_default_domain =
+smtp_enabled = false
+smtp_from = trac@localhost
+smtp_from_author = false
+smtp_from_name =
+smtp_password =
+smtp_port = 25
+smtp_replyto = trac@localhost
+smtp_server = localhost
+smtp_subject_prefix = __default__
+smtp_user =
+ticket_subject_template = $prefix #$ticket.id: $summary
+use_public_cc = false
+use_short_addr = false
+use_tls = false
+
+[project]
+admin =
+admin_trac_url = .
+descr =
+footer = Visit the Trac open source project at
http://trac.edgewall.org/
+icon = common/trac.ico
+name = wiki
+url =
+
+[query]
+default_anonymous_query = status!=closed&cc~=$USER
+# These queries are easiest to understand in the trac UI
+default_query = status=accepted&status=assigned&status=new&status=reopened&report=10&order=priority&col=id&col=component&col=summary&col=status&col=owner&col=priority&col=time&col=keywords&order=priority
+
+# Old query:
+# default_query = status=assigned&status=accepted&status=new&status=reopened&milestone=No&group=component&col=id&col=summary&col=status&col=owner&col=priority&col=milestone&col=time&order=priority
+
+
+items_per_page = 500
+ticketlink_query = ?status=!closed
+
+[report]
+items_per_page = 500
+items_per_page_rss = 0
+
+[revisionlog]
+default_log_limit = 100
+graph_colors = ['#cc0', '#0c0', '#0cc', '#00c', '#c0c', '#c00']
+
+[roadmap]
+stats_provider = DefaultTicketGroupStatsProvider
+
+[search]
+min_query_length = 3
+
+[ticket]
+default_cc =
+default_component = Uncategorized
+default_description =
+default_keywords =
+default_milestone =
+default_owner = < default >
+default_priority = standard
+default_resolution = fixed
+default_severity =
+default_summary =
+default_type = defect
+default_version =
+max_comment_size = 262144
+max_description_size = 262144
+preserve_newlines = default
+restrict_owner = false
+workflow = ConfigurableTicketWorkflow
+
+[ticket-workflow]
+accept = new,assigned,accepted,reopened -> accepted
+accept.operations = set_owner_to_self
+accept.permissions = TICKET_MODIFY
+leave = * -> *
+leave.default = 1
+leave.operations = leave_status
+reassign = new,assigned,accepted,reopened -> assigned
+reassign.operations = set_owner
+reassign.permissions = TICKET_MODIFY
+reopen = closed -> reopened
+reopen.operations = del_resolution
+reopen.permissions = TICKET_CREATE
+resolve = new,assigned,accepted,reopened -> closed
+resolve.operations = set_resolution
+resolve.permissions = TICKET_MODIFY
+
+[timeline]
+abbreviated_messages = True
+changeset_collapse_events = false
+changeset_long_messages = false
+changeset_show_files = 0
+default_daysback = 30
+max_daysback = 90
+newticket_formatter = oneliner
+ticket_show_details = false
+
+[trac]
+auth_cookie_lifetime = 0
+auth_cookie_path =
+authz_file =
+authz_module_name =
+auto_preview_timeout = 2.0
+auto_reload = False
+backup_dir = db
+base_url =
+check_auth_ip = false
+database = sqlite:db/trac.db
+debug_sql = False
+default_charset = utf-8
+default_date_format =
+default_dateinfo_format = relative
+default_handler = QueryModule
+default_language =
+default_timezone =
+genshi_cache_size = 128
+htdocs_location =
+ignore_auth_case = false
+jquery_location =
+jquery_ui_location =
+jquery_ui_theme_location =
+mainnav = tickets, newticket, search
+metanav = login, logout, prefs, help, about
+mysqldump_path = mysqldump
+never_obfuscate_mailto = false
+permission_policies = DefaultPermissionPolicy, LegacyAttachmentPolicy
+permission_store = DefaultPermissionStore
+pg_dump_path = pg_dump
+repository_dir =
+repository_sync_per_request = (default)
+repository_type = svn
+resizable_textareas = true
+secure_cookies = False
+show_email_addresses = false
+show_ip_addresses = false
+timeout = 20
+use_base_url_for_redirect = False
+
+[versioncontrol]
+allowed_repository_dir_prefixes =
+
+[wiki]
+ignore_missing_pages = false
+max_size = 262144
+render_unsafe_content = false
+safe_schemes = cvs, file, ftp, git, irc, http, https, news, sftp, smb, ssh, svn, svn+ssh
+split_page_names = false
+
diff --git a/servers/puppet/modules/humbug/manifests/trac.pp b/servers/puppet/modules/humbug/manifests/trac.pp
index ff07abd7b1..4eee4ee92a 100644
--- a/servers/puppet/modules/humbug/manifests/trac.pp
+++ b/servers/puppet/modules/humbug/manifests/trac.pp
@@ -11,5 +11,19 @@ class humbug::trac {
],
ensure => present,
}
- #TODO: Need to install our trac config
+ file { "/home/humbug/trac/conf/trac.ini":
+ owner => "humbug",
+ group => "humbug",
+ source => "puppet:///modules/humbug/trac.ini",
+ require => User['humbug'],
+ }
+ file { '/home/humbug/trac/plugins/humbug_trac.py':
+ ensure => 'link',
+ target => '/home/humbug/humbug/api/integrations/trac/humbug_trac.py',
+ }
+ file { '/home/humbug/trac/plugins/humbug_trac_config.py':
+ ensure => 'link',
+ target => '/home/humbug/humbug/bots/humbug_trac_config.py',
+ }
+ # TODO: Add downloading and installing trac at /home/humbug/trac
}