-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathconfig_example.edn
142 lines (133 loc) · 5.89 KB
/
config_example.edn
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
;; Copyright (c) 2022-2023 Bastien Guerry <bzg@gnu.org>
;; SPDX-License-Identifier: EPL-2.0
;; License-Filename: LICENSES/EPL-2.0.txt
{
;; Information on the mailbox to monitor
:inbox-user #env WOOF_INBOX_USER
:inbox-server #env WOOF_INBOX_SERVER
:inbox-password #env WOOF_INBOX_PASSWORD
:inbox-folder #env WOOF_INBOX_FOLDER
;; Information on the mail server for sending emails
:smtp-host #env WOOF_SMTP_HOST
:smtp-port #long #env WOOF_SMTP_PORT
:smtp-login #env WOOF_SMTP_LOGIN
:smtp-password #env WOOF_SMTP_PASSWORD
:smtp-use-tls #env WOOF_SMTP_USE_TLS
;; General information on the application
:baseurl #or [#env WOOF_BASEURL "http://localhost:3000"]
:port #long #or [#env WOOF_PORT 3000]
;; Default application state
:defaults
{:maintenance false ;; Is the application under maintenance?
:notifications false ;; Shall the application send notification emails?
}
;; Default application administrator
:admin-address "bzg@bzg.fr" ;; This address gets admin permissions
:admin-username "Big Bad Woof" ;; This name is not really mine
;; Sources are typically public mailing lists or private mailboxes
;; :source is a map of key-value with the key being a string (the
;; email address) and the value being a map of parameters for this
;; source.
:sources
{ ;; The email address of the list, here a public mailing list
"~bzg/woof@lists.sr.ht"
{:slug "woof-public"
:doc "Documentation string for this source"
;; Possibly set archive formatting strings
;; :archived-message-format "lists.sr.ht/~bzg/wooff/<%s>"
;; :archived-message-format-raw "lists.sr.ht/~bzg/wooff/<%s>/raw"
;;
;; The UI for this source can be set independently
:ui {:title "Liste ~bzg/wooff"
:project-name "Wooff"
:project-url "https://bzg.fr"
;; E.g. you can restrict the formats for exposed data:
;; :data-formats {:rss true}
}}
;; The email address of the list, here a private mail alias
"woof-private@bzg.fr"
{:slug "woof-private"
;; This source will not be listed in the sources page
:hidden true
:watch { ;; Only watch request for this private source
:request {:subject-prefix ["FR"]
:triggers {:acked ["Approved"]
:owned ["Handled"]
:closed ["Done" "Canceled"]}}}
:ui { ;; Only expose .org data
:data-formats {:org true}
:pages {:index
;; Only display the date column in the index page
;; Note that the vote column is never displayed in the index page
{:columns #{:date}}
:request
{:columns #{:priority :date :vote :refs-count :status}
:reports #{:unapproved-requests :approved-requests :handled-requests}}
:overview false}}
}}
;; On top of per-source formatting string, you can define a fall-back
;; formatting string for all sources -- note that both should contain
;; two %s (one for the list, one for the email):
;;
;; :archived-list-message-raw-format "https://public-list-archive.org/%s/<%s>/raw"
;; :archived-list-message-format "https://public-list-archive.org/%s/<%s>"
;; Generic UI settings for all sources
:ui {:enabled true ;; When false, don't start https service
:title "Example woof instance"
:project-name "Example project name"
:project-url "https://project.org"
:contribute-url "https://project.org/contribute"
:support-url "https://project.org/support"
:data-formats {:rss true
:json true
:org true
:md true}
:pages
{;; The "index" is the default tab, displayed as "All". You can
;; set the columns for this default tab.
;; :index {:columns #{:priority :vote :from :date :related-refs :refs-count :status}}
:news
;; What kind of reports go in news?
{:reports
;; :unreleased-changes :releases :latest-released-changes :announcements :blogs
#{:unreleased-changes
:releases
:latest-released-changes
:announcements
:blogs}}
:bug
;; Below is the list of aliases for what can count as "bug"
;; - :confirmed-bugs :acked-bugs
;; - :unconfirmed-bugs :unacked-bugs
;; - :handled-bugs :owned-bugs
;; - :unhandled-bugs :unowned-bugs
;; - :fixed-bugs :closed-bugs
;; - :canceled-bugs :closed-bugs
;; - :unfixed-bugs :unclosed-bugs
;; - :uncanceled-bugs :unclosed-bugs
{:reports #{:unconfirmed-bugs :confirmed-bugs :handled-bugs}}
:patch
;; Below is the list of aliases for what can count as "patch"
;; - :approved-patches :unacked-patches
;; - :unapproved-patches :unacked-patches
;; - :handled-patches :owned-patches
;; - :unhandled-patches :unowned-patches
;; - :applied-patches :closed-patches
;; - :canceled-patches :closed-patches
;; - :unapplied-patches :unclosed-patches
;; - :uncanceled-patches :unclosed-patches
{:reports #{:unapproved-patches :approved-patches :handled-patches}}
:request
;; Below is the list of aliases for what can count as "request"
;; - :approved-requests :acked-requests
;; - :unapproved-requests :unacked-requests
;; - :handled-requests :owned-requests
;; - :unhandled-requests :unowned-requests
;; - :done-requests :closed-requests
;; - :canceled-requests :closed-requests
;; - :uncanceled-requests :unclosed-requests
;; - :undone-requests :unclosed-requests
{:reports #{:unapproved-requests :approved-requests :handled-requests}}
;; Shall we provide a page with some insights?
:overview false}}
}