1 <?xml version="1.0" encoding="utf-8"?>
2 <application id="baculum" mode="Normal">
4 <using namespace="Application.Class.*" />
5 <using namespace="System.Data.ActiveRecord.*" />
6 <using namespace="System.I18N.*" />
9 <module id="request" class="THttpRequest" EnableCookieValidation="true" />
11 <module id="request" class="THttpRequest" UrlManager="friendly-url" />
12 <module id="friendly-url" class="System.Web.TUrlMapping" EnableCustomUrl="true" UrlPrefix="/">
13 <url ServiceParameter="Home" pattern="/" />
14 <url ServiceParameter="ConfigurationWizard" pattern="wizard/" />
15 <url ServiceParameter="RestoreWizard" pattern="restore/" />
16 <url ServiceParameter="BaculumError" pattern="message/{error}/" parameters.error="\d+" />
17 <url ServiceParameter="Monitor" pattern="monitor/" />
18 <!-- START Directors -->
19 <url ServiceParameter="API.Directors" pattern="directors/" />
20 <!-- END Directors -->
21 <!-- START Clients (file daemons) -->
22 <url ServiceParameter="API.Clients" pattern="clients/" />
23 <url ServiceParameter="API.Client" pattern="clients/{id}/" parameters.id="\d+" />
24 <url ServiceParameter="API.Clients" pattern="clients/limit/{limit}/" parameters.limit="\d+" />
25 <url ServiceParameter="API.ClientsShow" pattern="clients/show/" />
26 <url ServiceParameter="API.ClientShow" pattern="clients/show/{id}/" parameters.id="\d+" />
27 <url ServiceParameter="API.ClientStatus" pattern="clients/status/{id}/" parameters.id="\d+" />
28 <!-- END Clients (file daemons) -->
29 <!-- START Storages (storage daemons) -->
30 <url ServiceParameter="API.Storages" pattern="storages/" />
31 <url ServiceParameter="API.Storage" pattern="storages/{id}/" parameters.id="\d+" />
32 <url ServiceParameter="API.Storages" pattern="storages/limit/{limit}/" parameters.limit="\d+" />
33 <url ServiceParameter="API.StoragesShow" pattern="storages/show/" />
34 <url ServiceParameter="API.StorageShow" pattern="storages/show/{id}/" parameters.id="\d+" />
35 <url ServiceParameter="API.StorageStatus" pattern="storages/status/{id}/" parameters.id="\d+" />
36 <url ServiceParameter="API.StorageMount" pattern="storages/mount/{id}/{drive}/{slot}/" parameters.id="\d+" parameters.drive="\d+" parameters.slot="\d+" />
37 <url ServiceParameter="API.StorageUmount" pattern="storages/umount/{id}/{drive}/" parameters.id="\d+" parameters.drive="\d+" />
38 <url ServiceParameter="API.StorageRelease" pattern="storages/release/{id}/{drive}/" parameters.id="\d+" parameters.drive="\d+" />
39 <!-- END Storages (storage daemons) -->
40 <!-- START Volumes (media) -->
41 <url ServiceParameter="API.Volumes" pattern="volumes/" />
42 <url ServiceParameter="API.Volume" pattern="volumes/{id}/" parameters.id="\d+" />
43 <url ServiceParameter="API.Volumes" pattern="volumes/limit/{limit}/" parameters.limit="\d+" />
44 <url ServiceParameter="API.VolumePrune" pattern="volumes/prune/{id}/" parameters.id="\d+" />
45 <url ServiceParameter="API.VolumePurge" pattern="volumes/purge/{id}/" parameters.id="\d+" />
46 <!-- END Volumes (media) -->
48 <url ServiceParameter="API.Pools" pattern="pools/" />
49 <url ServiceParameter="API.Pool" pattern="pools/{id}/" parameters.id="\d+" />
50 <url ServiceParameter="API.Pools" pattern="pools/limit/{limit}/" parameters.limit="\d+" />
51 <url ServiceParameter="API.PoolUpdate" pattern="pools/update/{id}/" parameters.id="\d+" />
52 <url ServiceParameter="API.PoolUpdateVolumes" pattern="pools/update/volumes/{id}/" parameters.id="\d+" />
53 <url ServiceParameter="API.PoolsShow" pattern="pools/show/" />
54 <url ServiceParameter="API.PoolShow" pattern="pools/show/{id}/" parameters.id="\d+" />
57 <url ServiceParameter="API.Jobs" pattern="jobs/" />
58 <url ServiceParameter="API.JobTasks" pattern="jobs/tasks/" />
59 <url ServiceParameter="API.JobTasks" pattern="jobs/tasks/limit/{limit}/" parameters.limit="\d+" />
60 <url ServiceParameter="API.Job" pattern="jobs/{id}/" parameters.id="\d+" />
61 <url ServiceParameter="API.Jobs" pattern="jobs/limit/{limit}/" parameters.limit="\d+" />
62 <url ServiceParameter="API.JobsRecent" pattern="jobs/recent/{name}/{clientid}/" parameters.name=".+" parameters.clientid="\d+" />
63 <url ServiceParameter="API.JobEstimate" pattern="jobs/estimate/" />
64 <url ServiceParameter="API.JobRun" pattern="jobs/run/" />
65 <url ServiceParameter="API.JobCancel" pattern="jobs/cancel/{id}/" parameters.id="\d+"/>
66 <url ServiceParameter="API.JobsShow" pattern="jobs/show/" />
67 <url ServiceParameter="API.JobShow" pattern="jobs/show/{id}/" parameters.id="\d+" />
68 <url ServiceParameter="API.JobShow" pattern="jobs/show/name/{name}/" parameters.name=".+" />
69 <url ServiceParameter="API.RestoreRun" pattern="jobs/restore/" />
72 <url ServiceParameter="API.BVFSUpdate" pattern="bvfs/update/{id}/" parameters.id="[\d\,]+" />
73 <url ServiceParameter="API.BVFSLsDirs" pattern="bvfs/lsdirs/{id}/" parameters.id="[\d\,]+" parameters.path=".+" />
74 <url ServiceParameter="API.BVFSLsDirs" pattern="bvfs/lsdirs/{id}/limit/{limit}/" parameters.id="[\d\,]+" parameters.path=".+" parameters.limit="\d+" />
75 <url ServiceParameter="API.BVFSLsDirs" pattern="bvfs/lsdirs/{id}/limit/{limit}/{offset}/" parameters.id="[\d\,]+" parameters.path=".+" parameters.limit="\d+" parameters.offset="\d+" />
76 <url ServiceParameter="API.BVFSLsFiles" pattern="bvfs/lsfiles/{id}/" parameters.id="[\d\,]+" parameters.path=".+" />
77 <url ServiceParameter="API.BVFSLsFiles" pattern="bvfs/lsfiles/{id}/limit/{limit}/" parameters.id="[\d\,]+" parameters.path=".+" parameters.limit="\d+" />
78 <url ServiceParameter="API.BVFSLsFiles" pattern="bvfs/lsfiles/{id}/limit/{limit}/{offset}/" parameters.id="[\d\,]+" parameters.path=".+" parameters.limit="\d+" parameters.offset="\d+" />
79 <url ServiceParameter="API.BVFSVersions" pattern="bvfs/versions/{client}/{jobid}/{pathid}/{filenameid}/" parameters.client=".+" parameters.jobid="\d+" parameters.pathid="\d+" parameters.filenameid="\d+" />
80 <url ServiceParameter="API.BVFSGetJobids" pattern="bvfs/getjobids/{id}/" parameters.id="[\d\,]+" />
81 <url ServiceParameter="API.BVFSRestore" pattern="bvfs/restore/" />
82 <url ServiceParameter="API.BVFSClearCache" pattern="bvfs/clear/" />
85 <url ServiceParameter="API.JobLog" pattern="joblog/{id}/" parameters.id="\d+" />
87 <url ServiceParameter="API.FileSets" pattern="filesets/" />
88 <url ServiceParameter="API.FileSet" pattern="filesets/{id}/" parameters.id="\d+" />
89 <url ServiceParameter="API.ConsoleCommand" pattern="console/" />
91 <module id="globalization" class="TGlobalization">
92 <translation type="gettext" source="Application.Lang" marker="@@" autosave="false" cache="false" DefaultCulture="en" />
94 <module id="log" class="System.Util.TLogRouter">
95 <route class="TFileLogRoute" Categories="Execute, External, Application, General, Security" LogPath="Application.Data" LogFile="baculum.dbg" MaxFileSize="1000" MaxLogFiles="5" />
99 <service id="page" class="TPageService" BasePath="Application.Pages" DefaultPage="Home">
101 <module id="users" class="Application.Class.BaculumUsersManager" />
102 <module id="auth" class="System.Security.TAuthManager" UserManager="users" />
103 <module id="configuration" class="Application.Class.ConfigurationManager" />
104 <module id="logging" class="Application.Class.Logging" />
105 <module id="api" class="Application.Class.API" />
106 <module id="db" class="Application.Class.Database" />
107 <module id="bconsole" class="Application.Class.Bconsole" />
108 <module id="version" class="Application.Class.VersionManager" />
109 <module id="client" class="Application.Class.ClientManager" />
110 <module id="storage" class="Application.Class.StorageManager" />
111 <module id="volume" class="Application.Class.VolumeManager" />
112 <module id="pool" class="Application.Class.PoolManager" />
113 <module id="job" class="Application.Class.JobManager" />
114 <module id="fileset" class="Application.Class.FileSetManager" />
115 <module id="joblog" class="Application.Class.LogManager" />
116 <module id="misc" class="Application.Class.Miscellaneous" />