-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathconcrete.dtd
More file actions
100 lines (84 loc) · 3.21 KB
/
concrete.dtd
File metadata and controls
100 lines (84 loc) · 3.21 KB
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
<!ENTITY % CONCRETE.version "-//BURO.ASIA//CONCRETE//CONFIG" >
<!ENTITY % NS.prefixed "IGNORE" >
<!ENTITY % CONCRETE.prefix "concrete" >
<!ENTITY % CONCRETE.global.attrs.prefixed "INCLUDE" >
<?doc type="doctype" role="title" { Concrete Configuration } ?>
<!-- Root -->
<!ELEMENT concrete (options?,databases*,plugins+,authentication*,users*,ruleset*) >
<!ATTLIST concrete configuration (production | debug | any) "any" >
<!-- Server options -->
<!ELEMENT options (threads?,ssl?)+ >
<!ATTLIST options profile (production | debug | any) "any" >
<!ELEMENT threads EMPTY >
<!ATTLIST threads number CDATA #REQUIRED >
<!-- SSL default certificate, private key, CA file, password -->
<!ELEMENT ssl EMPTY >
<!ATTLIST ssl cert CDATA #IMPLIED
key CDATA #IMPLIED
ca CDATA #IMPLIED
password CDATA #IMPLIED >
<!-- Databases list -->
<!ELEMENT databases (database+) >
<!ATTLIST databases profile (production | debug | any) "any" >
<!-- Database configuration -->
<!ELEMENT database (location?,credentials?,connections,option*) >
<!ATTLIST database name CDATA #REQUIRED
driver CDATA #REQUIRED
id CDATA #REQUIRED >
<!ELEMENT location EMPTY >
<!ATTLIST location host CDATA #REQUIRED
port CDATA #REQUIRED >
<!ELEMENT credentials EMPTY >
<!ATTLIST credentials login CDATA #REQUIRED
password CDATA #REQUIRED >
<!ELEMENT connections EMPTY >
<!ATTLIST connections number CDATA #REQUIRED >
<!-- Plugins list -->
<!ELEMENT plugins (plugin+) >
<!ATTLIST plugins path CDATA #REQUIRED
profile (production | debug | any) "any" >
<!-- Plugin configuration -->
<!ELEMENT plugin (redundancy?,ssl?,(listen|option)*) >
<!ATTLIST plugin image CDATA #REQUIRED
id CDATA #REQUIRED >
<!ELEMENT redundancy EMPTY >
<!ATTLIST redundancy master CDATA #REQUIRED
port CDATA #REQUIRED >
<!ELEMENT listen EMPTY >
<!ATTLIST listen port CDATA #REQUIRED
type (tcp | udp | ssl) "tcp"
addr CDATA #IMPLIED >
<!-- Option -->
<!ELEMENT option EMPTY >
<!ATTLIST option name CDATA #REQUIRED
value CDATA #IMPLIED >
<!-- Authentication methods -->
<!ELEMENT authentication (method+) >
<!ATTLIST authentication profile (production | debug | any) "any" >
<!ELEMENT method (driver?,option*) >
<!ATTLIST method driver CDATA #REQUIRED
name NMTOKEN #REQUIRED >
<!-- Users credentials -->
<!ELEMENT users (user+) >
<!ATTLIST users profile (production | debug | any) "any" >
<!ELEMENT user EMPTY >
<!ATTLIST user name NMTOKEN #REQUIRED
password CDATA #REQUIRED >
<!-- Ruleset -->
<!ELEMENT ruleset (resource*) >
<!ATTLIST ruleset policy (allow | deny) "deny"
profile (production | debug | any) "any" >
<!-- Resources -->
<!ELEMENT resource (policy+) >
<!ATTLIST resource match CDATA #REQUIRED >
<!-- Policies -->
<!ELEMENT policy (exception*) >
<!ATTLIST policy default (allow | deny) "deny" >
<!-- Exception -->
<!ELEMENT exception (but*) >
<!ATTLIST exception auth CDATA #REQUIRED
user CDATA #IMPLIED
blob CDATA #IMPLIED >
<!ELEMENT but EMPTY >
<!ATTLIST but user CDATA #IMPLIED
blob CDATA #IMPLIED >