initial commit
This commit is contained in:
@@ -0,0 +1,370 @@
|
||||
package routers
|
||||
|
||||
import (
|
||||
beego "github.com/beego/beego/v2/server/web"
|
||||
"github.com/beego/beego/v2/server/web/context/param"
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Put",
|
||||
Router: `/`,
|
||||
AllowHTTPMethods: []string{"put"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Get",
|
||||
Router: `/`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetBackup",
|
||||
Router: `/backup`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "PutBackup",
|
||||
Router: `/backup`,
|
||||
AllowHTTPMethods: []string{"put"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetBackupProgress",
|
||||
Router: `/backup/progress`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "RunBackup",
|
||||
Router: `/backup/run`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetBackupTargets",
|
||||
Router: `/backup/targets`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "AddBackupTarget",
|
||||
Router: `/backup/targets`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "DeleteBackupTarget",
|
||||
Router: `/backup/targets/:tid`,
|
||||
AllowHTTPMethods: []string{"delete"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "PutBackupTarget",
|
||||
Router: `/backup/targets/:tid`,
|
||||
AllowHTTPMethods: []string{"put"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetBackupTarget",
|
||||
Router: `/backup/targets/:tid`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetBackupTargetProgress",
|
||||
Router: `/backup/targets/:tid/progress`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "RunBackupTarget",
|
||||
Router: `/backup/targets/:tid/run`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Scan",
|
||||
Router: `/scan`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "AddUpdate",
|
||||
Router: `/updates`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetUpdates",
|
||||
Router: `/updates`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "DeleteUpdate",
|
||||
Router: `/updates/:id`,
|
||||
AllowHTTPMethods: []string{"delete"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodeController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodeController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetUpdate",
|
||||
Router: `/updates/:id`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetAll",
|
||||
Router: `/`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Post",
|
||||
Router: `/`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Get",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Put",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"put"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Delete",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"delete"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:NodesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:NodesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetAggregated",
|
||||
Router: `/aggregated`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Post",
|
||||
Router: `/`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetAll",
|
||||
Router: `/`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Get",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Put",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"put"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Delete",
|
||||
Router: `/:id`,
|
||||
AllowHTTPMethods: []string{"delete"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Backup",
|
||||
Router: `/:id/backup`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetBackupProgress",
|
||||
Router: `/:id/backup/progress`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetBackupTargets",
|
||||
Router: `/:id/backup/targets`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "AddBackupTarget",
|
||||
Router: `/:id/backup/targets`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetBackupTarget",
|
||||
Router: `/:id/backup/targets/:tid`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "PutBackupTarget",
|
||||
Router: `/:id/backup/targets/:tid`,
|
||||
AllowHTTPMethods: []string{"put"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "DeleteBackupTarget",
|
||||
Router: `/:id/backup/targets/:tid`,
|
||||
AllowHTTPMethods: []string{"delete"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetBackupTargetProgress",
|
||||
Router: `/:id/backup/targets/:tid/progress`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "RunBackupTarget",
|
||||
Router: `/:id/backup/targets/:tid/run`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Start",
|
||||
Router: `/:id/start`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"] = append(beego.GlobalControllerRouter["nodemaster/controllers:ServicesController"],
|
||||
beego.ControllerComments{
|
||||
Method: "Stop",
|
||||
Router: `/:id/stop`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
// @APIVersion 1.0.0
|
||||
// @Title NodeMaster API
|
||||
// @Description API for managing a node, its services, and a cluster of remote nodes.
|
||||
// @Contact yves.cerezal@irt-saintexupery.com
|
||||
// @License Apache 2.0
|
||||
// @LicenseUrl http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
package routers
|
||||
|
||||
import (
|
||||
"nodemaster/controllers"
|
||||
|
||||
beego "github.com/beego/beego/v2/server/web"
|
||||
"github.com/beego/beego/v2/server/web/filter/cors"
|
||||
)
|
||||
|
||||
func init() {
|
||||
// The API has no authentication of its own, so CORS is intentionally
|
||||
// scoped to explicit origins (never "*") and only enabled in dev mode
|
||||
// for now — enabling it for other run modes, with an operator-supplied
|
||||
// origin list, is tracked as a follow-up hardening task.
|
||||
if beego.BConfig.RunMode == "dev" {
|
||||
origins, err := beego.AppConfig.Strings("corsalloworigins")
|
||||
if err != nil || len(origins) == 0 {
|
||||
origins = []string{"http://localhost:*"}
|
||||
}
|
||||
beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
|
||||
AllowOrigins: origins,
|
||||
AllowMethods: []string{"GET", "POST", "PUT", "DELETE"},
|
||||
AllowHeaders: []string{"Origin", "Content-Type"},
|
||||
}))
|
||||
}
|
||||
|
||||
ns := beego.NewNamespace("/v1",
|
||||
beego.NSNamespace("/node",
|
||||
beego.NSInclude(
|
||||
&controllers.NodeController{},
|
||||
),
|
||||
),
|
||||
beego.NSNamespace("/nodes",
|
||||
beego.NSInclude(
|
||||
&controllers.NodesController{},
|
||||
),
|
||||
),
|
||||
beego.NSNamespace("/services",
|
||||
beego.NSInclude(
|
||||
&controllers.ServicesController{},
|
||||
),
|
||||
),
|
||||
)
|
||||
beego.AddNamespace(ns)
|
||||
}
|
||||
Reference in New Issue
Block a user