@@ -25,59 +25,67 @@ func (s *GaiaHandler) InitHandlers(e *echo.Echo) error {
2525
2626// --- Register handlers at echo instance ---
2727
28+ // API router group.
29+ apiGrp := e .Group (p )
30+
31+ // API router group with auth middleware.
32+ apiAuthGrp := e .Group (p ,AuthMiddleware (& AuthConfig {
33+ RoleCategories :rolehelper .DefaultUserRoles ,
34+ }))
35+
2836// Endpoints for Gaia primary instance
2937if gaia .Cfg .Mode == gaia .ModeServer {
3038// Users
31- e .POST (p + "login" ,UserLogin )
32- e . GET ( p + "users" , UserGetAll )
33- e . POST ( p + "user/password " ,UserChangePassword )
34- e . DELETE ( p + "user/:username " ,UserDelete )
35- e . GET ( p + "user/:username/permissions " ,UserGetPermissions )
36- e . PUT ( p + "user/:username/permissions" ,UserPutPermissions )
37- e . POST ( p + "user" ,UserAdd )
38- e . PUT ( p + "user/:username/reset-trigger-token " ,UserResetTriggerToken )
39-
40- perms := e . Group ( p + "permission" )
41- perms .GET ("" ,PermissionGetAll )
39+ apiGrp .POST ("login" ,UserLogin )
40+
41+ apiAuthGrp . GET ( "users " ,UserGetAll )
42+ apiAuthGrp . POST ( "user/password " ,UserChangePassword )
43+ apiAuthGrp . DELETE ( "user/:username" ,UserDelete )
44+ apiAuthGrp . GET ( "user/:username/permissions" ,UserGetPermissions )
45+ apiAuthGrp . PUT ( "user/:username/permissions " ,UserPutPermissions )
46+ apiAuthGrp . POST ( "user" ,UserAdd )
47+ apiAuthGrp . PUT ( "user/:username/reset-trigger-token" , UserResetTriggerToken )
48+
49+ apiAuthGrp .GET ("permission " ,PermissionGetAll )
4250
4351// Pipelines
4452// Create pipeline provider
4553pipelineProvider := pipelines .NewPipelineProvider (pipelines.Dependencies {
4654Scheduler :s .deps .Scheduler ,
4755PipelineService :s .deps .PipelineService ,
4856})
49- e .POST (p + "pipeline" ,pipelineProvider .CreatePipeline )
50- e .POST (p + "pipeline/gitlsremote" ,pipelineProvider .PipelineGitLSRemote )
51- e .GET (p + "pipeline/name" ,pipelineProvider .PipelineNameAvailable )
52- e . POST ( p + "pipeline/githook " ,GitWebHook )
53- e .GET (p + "pipeline/created " ,pipelineProvider .CreatePipelineGetAll )
54- e .GET (p + "pipeline" ,pipelineProvider .PipelineGetAll )
55- e . GET ( p + "pipeline/:pipelineid" ,pipelineProvider .PipelineGet )
56- e . PUT ( p + "pipeline/:pipelineid" ,pipelineProvider .PipelineUpdate )
57- e . DELETE ( p + "pipeline/:pipelineid" ,pipelineProvider .PipelineDelete )
58- e . POST ( p + "pipeline/:pipelineid/start " ,pipelineProvider .PipelineStart )
59- e . POST ( p + "pipeline/:pipelineid/:pipelinetoken/trigger " ,pipelineProvider .PipelineTrigger )
60- e . PUT ( p + "pipeline/:pipelineid/reset-trigger-token " ,pipelineProvider .PipelineResetToken )
61- e . GET ( p + "pipeline/latest " ,pipelineProvider . PipelineGetAllWithLatestRun )
62- e .POST (p + "pipeline/periodicschedules " ,pipelineProvider .PipelineCheckPeriodicSchedules )
57+ apiAuthGrp .POST ("pipeline" ,pipelineProvider .CreatePipeline )
58+ apiAuthGrp .POST ("pipeline/gitlsremote" ,pipelineProvider .PipelineGitLSRemote )
59+ apiAuthGrp .GET ("pipeline/name" ,pipelineProvider .PipelineNameAvailable )
60+ apiAuthGrp . GET ( "pipeline/created " ,pipelineProvider . CreatePipelineGetAll )
61+ apiAuthGrp .GET ("pipeline" ,pipelineProvider .PipelineGetAll )
62+ apiAuthGrp .GET ("pipeline/:pipelineid " ,pipelineProvider .PipelineGet )
63+ apiAuthGrp . PUT ( "pipeline/:pipelineid" ,pipelineProvider .PipelineUpdate )
64+ apiAuthGrp . DELETE ( "pipeline/:pipelineid" ,pipelineProvider .PipelineDelete )
65+ apiAuthGrp . POST ( "pipeline/:pipelineid/start " ,pipelineProvider .PipelineStart )
66+ apiAuthGrp . PUT ( "pipeline/:pipelineid/reset-trigger-token " ,pipelineProvider .PipelineResetToken )
67+ apiAuthGrp . GET ( "pipeline/latest " ,pipelineProvider .PipelineGetAllWithLatestRun )
68+ apiAuthGrp . POST ( "pipeline/periodicschedules " ,pipelineProvider .PipelineCheckPeriodicSchedules )
69+ apiGrp . POST ( "pipeline/githook " ,GitWebHook )
70+ apiGrp .POST ("pipeline/:pipelineid/:pipelinetoken/trigger " ,pipelineProvider .PipelineTrigger )
6371
6472// Settings
65- e .POST (p + "settings/poll/on" ,SettingsPollOn )
66- e .POST (p + "settings/poll/off" ,SettingsPollOff )
67- e .GET (p + "settings/poll" ,SettingsPollGet )
73+ apiAuthGrp .POST ("settings/poll/on" ,SettingsPollOn )
74+ apiAuthGrp .POST ("settings/poll/off" ,SettingsPollOff )
75+ apiAuthGrp .GET ("settings/poll" ,SettingsPollGet )
6876
6977// PipelineRun
70- e .POST (p + "pipelinerun/:pipelineid/:runid/stop" ,pipelineProvider .PipelineStop )
71- e .GET (p + "pipelinerun/:pipelineid/:runid" ,pipelineProvider .PipelineRunGet )
72- e .GET (p + "pipelinerun/:pipelineid" ,pipelineProvider .PipelineGetAllRuns )
73- e .GET (p + "pipelinerun/:pipelineid/latest" ,pipelineProvider .PipelineGetLatestRun )
74- e .GET (p + "pipelinerun/:pipelineid/:runid/log" ,pipelineProvider .GetJobLogs )
78+ apiAuthGrp .POST ("pipelinerun/:pipelineid/:runid/stop" ,pipelineProvider .PipelineStop )
79+ apiAuthGrp .GET ("pipelinerun/:pipelineid/:runid" ,pipelineProvider .PipelineRunGet )
80+ apiAuthGrp .GET ("pipelinerun/:pipelineid" ,pipelineProvider .PipelineGetAllRuns )
81+ apiAuthGrp .GET ("pipelinerun/:pipelineid/latest" ,pipelineProvider .PipelineGetLatestRun )
82+ apiAuthGrp .GET ("pipelinerun/:pipelineid/:runid/log" ,pipelineProvider .GetJobLogs )
7583
7684// Secrets
77- e .GET (p + "secrets" ,ListSecrets )
78- e .DELETE (p + "secret/:key" ,RemoveSecret )
79- e .POST (p + "secret" ,SetSecret )
80- e .PUT (p + "secret/update" ,SetSecret )
85+ apiAuthGrp .GET ("secrets" ,ListSecrets )
86+ apiAuthGrp .DELETE ("secret/:key" ,RemoveSecret )
87+ apiAuthGrp .POST ("secret" ,SetSecret )
88+ apiAuthGrp .PUT ("secret/update" ,SetSecret )
8189}
8290
8391// Worker
@@ -86,20 +94,17 @@ func (s *GaiaHandler) InitHandlers(e *echo.Echo) error {
8694Scheduler :s .deps .Scheduler ,
8795Certificate :s .deps .Certificate ,
8896})
89- e .GET (p + "worker/secret" ,workerProvider .GetWorkerRegisterSecret )
90- e . POST ( p + "worker/register " ,workerProvider .RegisterWorker )
91- e .GET (p + "worker/status " ,workerProvider .GetWorkerStatusOverview )
92- e . GET ( p + "worker" ,workerProvider .GetWorker )
93- e . DELETE ( p + "worker/:workerid " ,workerProvider .DeregisterWorker )
94- e .POST (p + "worker/secret " ,workerProvider .ResetWorkerRegisterSecret )
97+ apiAuthGrp .GET ("worker/secret" ,workerProvider .GetWorkerRegisterSecret )
98+ apiAuthGrp . GET ( "worker/status " ,workerProvider .GetWorkerStatusOverview )
99+ apiAuthGrp .GET ("worker" ,workerProvider .GetWorker )
100+ apiAuthGrp . DELETE ( "worker/:workerid " ,workerProvider .DeregisterWorker )
101+ apiAuthGrp . POST ( "worker/secret " ,workerProvider .ResetWorkerRegisterSecret )
102+ apiGrp .POST ("worker/register " ,workerProvider .RegisterWorker )
95103
96104// Middleware
97105e .Use (middleware .Recover ())
98- //e.Use(middleware.Logger())
106+ // e.Use(middleware.Logger())
99107e .Use (middleware .BodyLimit ("32M" ))
100- e .Use (AuthMiddleware (& AuthConfig {
101- RoleCategories :rolehelper .DefaultUserRoles ,
102- }))
103108
104109// Extra options
105110e .HideBanner = true