diff --git a/api/api.go b/api/api.go index 51e1304b..391149e1 100644 --- a/api/api.go +++ b/api/api.go @@ -15,8 +15,9 @@ var ( ) type Response struct { - Code int `json:"code,omitempty"` - Msg string `json:"msg,omitempty"` + Code int `json:"code,omitempty"` + Msg string `json:"msg,omitempty"` + Data interface{} `json:"data,omitempty"` } type Options struct { @@ -58,66 +59,98 @@ func Register(r *gin.Engine, opts *Options) { config.POST("/reload", reloadConfig) + config.GET("/services", getServiceList) + config.GET("/services/:service", getService) config.POST("/services", createService) config.PUT("/services/:service", updateService) config.DELETE("/services/:service", deleteService) + config.GET("/chains", getChainList) + config.GET("/chains/:chain", getChain) config.POST("/chains", createChain) config.PUT("/chains/:chain", updateChain) config.DELETE("/chains/:chain", deleteChain) + config.GET("/hops", getHopList) + config.GET("/hops/:hop", getHop) config.POST("/hops", createHop) config.PUT("/hops/:hop", updateHop) config.DELETE("/hops/:hop", deleteHop) + config.GET("/authers", getAutherList) + config.GET("/authers/:auther", getAuther) config.POST("/authers", createAuther) config.PUT("/authers/:auther", updateAuther) config.DELETE("/authers/:auther", deleteAuther) + config.GET("/admissions", getAdmissionList) + config.GET("/admissions/:admission", getAdmission) config.POST("/admissions", createAdmission) config.PUT("/admissions/:admission", updateAdmission) config.DELETE("/admissions/:admission", deleteAdmission) + config.GET("/bypasses", getBypassList) + config.GET("/bypasses/:bypass", getBypass) config.POST("/bypasses", createBypass) config.PUT("/bypasses/:bypass", updateBypass) config.DELETE("/bypasses/:bypass", deleteBypass) + config.GET("/resolvers", getResolverList) + config.GET("/resolvers/:resolver", getResolver) config.POST("/resolvers", createResolver) config.PUT("/resolvers/:resolver", updateResolver) config.DELETE("/resolvers/:resolver", deleteResolver) + config.GET("/hosts", getHostsList) + config.GET("/hosts/:hosts", getHosts) config.POST("/hosts", createHosts) config.PUT("/hosts/:hosts", updateHosts) config.DELETE("/hosts/:hosts", deleteHosts) + config.GET("/ingresses", getIngressList) + config.GET("/ingresses/:ingress", getIngress) config.POST("/ingresses", createIngress) config.PUT("/ingresses/:ingress", updateIngress) config.DELETE("/ingresses/:ingress", deleteIngress) + config.GET("/routers", getRouterList) + config.GET("/routers/:router", getRouter) config.POST("/routers", createRouter) config.PUT("/routers/:router", updateRouter) config.DELETE("/routers/:router", deleteRouter) + config.GET("/observers", getObserverList) + config.GET("/observers/:observer", getObserver) config.POST("/observers", createObserver) config.PUT("/observers/:observer", updateObserver) config.DELETE("/observers/:observer", deleteObserver) + config.GET("/recorders", getRecorderList) + config.GET("/recorders/:recorder", getRecorder) config.POST("/recorders", createRecorder) config.PUT("/recorders/:recorder", updateRecorder) config.DELETE("/recorders/:recorder", deleteRecorder) + config.GET("/sds", getSDList) + config.GET("/sds/:sd", getSD) config.POST("/sds", createSD) config.PUT("/sds/:sd", updateSD) config.DELETE("/sds/:sd", deleteSD) + config.GET("/limiters", getLimiterList) + config.GET("/limiters/:limiter", getLimiter) config.POST("/limiters", createLimiter) config.PUT("/limiters/:limiter", updateLimiter) config.DELETE("/limiters/:limiter", deleteLimiter) + config.GET("/climiters", getConnLimiterList) + config.GET("/climiters/:limiter", getConnLimiter) config.POST("/climiters", createConnLimiter) config.PUT("/climiters/:limiter", updateConnLimiter) config.DELETE("/climiters/:limiter", deleteConnLimiter) + config.GET("/rlimiters", getRateLimiterList) + config.GET("/rlimiters/:limiter", getRateLimiter) config.POST("/rlimiters", createRateLimiter) config.PUT("/rlimiters/:limiter", updateRateLimiter) config.DELETE("/rlimiters/:limiter", deleteRateLimiter) diff --git a/api/config_admission.go b/api/config_admission.go index 5f0fb93a..64a3d611 100644 --- a/api/config_admission.go +++ b/api/config_admission.go @@ -11,6 +11,93 @@ import ( "github.com/go-gost/x/registry" ) +// swagger:parameters getAdmissionListRequest +type getAdmissionListRequest struct { +} + +// successful operation. +// swagger:response getAdmissionListResponse +type getAdmissionListResponse struct { + // in: body + Data admissionList +} + +type admissionList struct { + Count int `json:"count"` + List []*config.AdmissionConfig `json:"list"` +} + +func getAdmissionList(ctx *gin.Context) { + // swagger:route GET /config/admissions Admission getAdmissionListRequest + // + // Get admission list. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getAdmissionListResponse + + var req getAdmissionListRequest + ctx.ShouldBindQuery(&req) + + list := config.Global().Admissions + + var resp getAdmissionListResponse + resp.Data = admissionList{ + Count: len(list), + List: list, + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + +// swagger:parameters getAdmissionRequest +type getAdmissionRequest struct { + // in: path + // required: true + Admission string `uri:"admission" json:"admission"` +} + +// successful operation. +// swagger:response getAdmissionResponse +type getAdmissionResponse struct { + // in: body + Data *config.AdmissionConfig +} + +func getAdmission(ctx *gin.Context) { + // swagger:route GET /config/admissions/{admission} Admission getAdmissionRequest + // + // Get admission. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getAdmissionResponse + + var req getAdmissionRequest + ctx.ShouldBindUri(&req) + + var resp getAdmissionResponse + + for _, admission := range config.Global().Admissions { + if admission == nil { + continue + } + if admission.Name == req.Admission { + resp.Data = admission + } + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + // swagger:parameters createAdmissionRequest type createAdmissionRequest struct { // in: body diff --git a/api/config_auther.go b/api/config_auther.go index 1a76165b..a1aa8649 100644 --- a/api/config_auther.go +++ b/api/config_auther.go @@ -11,6 +11,93 @@ import ( "github.com/go-gost/x/registry" ) +// swagger:parameters getAutherListRequest +type getAutherListRequest struct { +} + +// successful operation. +// swagger:response getAutherListResponse +type getAutherListResponse struct { + // in: body + Data autherList +} + +type autherList struct { + Count int `json:"count"` + List []*config.AutherConfig `json:"list"` +} + +func getAutherList(ctx *gin.Context) { + // swagger:route GET /config/authers Auther getAutherListRequest + // + // Get auther list. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getAutherListResponse + + var req getAutherListRequest + ctx.ShouldBindQuery(&req) + + list := config.Global().Authers + + var resp getAutherListResponse + resp.Data = autherList{ + Count: len(list), + List: list, + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + +// swagger:parameters getAutherRequest +type getAutherRequest struct { + // in: path + // required: true + Auther string `uri:"auther" json:"auther"` +} + +// successful operation. +// swagger:response getAutherResponse +type getAutherResponse struct { + // in: body + Data *config.AutherConfig +} + +func getAuther(ctx *gin.Context) { + // swagger:route GET /config/authers/{auther} Auther getAutherRequest + // + // Get auther. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getAutherResponse + + var req getAutherRequest + ctx.ShouldBindUri(&req) + + var resp getAutherResponse + + for _, auther := range config.Global().Authers { + if auther == nil { + continue + } + if auther.Name == req.Auther { + resp.Data = auther + } + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + // swagger:parameters createAutherRequest type createAutherRequest struct { // in: body diff --git a/api/config_bypass.go b/api/config_bypass.go index c4e7e0f7..ed6de415 100644 --- a/api/config_bypass.go +++ b/api/config_bypass.go @@ -11,6 +11,93 @@ import ( "github.com/go-gost/x/registry" ) +// swagger:parameters getBypassListRequest +type getBypassListRequest struct { +} + +// successful operation. +// swagger:response getBypassListResponse +type getBypassListResponse struct { + // in: body + Data bypassList +} + +type bypassList struct { + Count int `json:"count"` + List []*config.BypassConfig `json:"list"` +} + +func getBypassList(ctx *gin.Context) { + // swagger:route GET /config/bypasses Bypass getBypassListRequest + // + // Get bypass list. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getBypassListResponse + + var req getBypassListRequest + ctx.ShouldBindQuery(&req) + + list := config.Global().Bypasses + + var resp getBypassListResponse + resp.Data = bypassList{ + Count: len(list), + List: list, + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + +// swagger:parameters getBypassRequest +type getBypassRequest struct { + // in: path + // required: true + Bypass string `uri:"bypass" json:"bypass"` +} + +// successful operation. +// swagger:response getBypassResponse +type getBypassResponse struct { + // in: body + Data *config.BypassConfig +} + +func getBypass(ctx *gin.Context) { + // swagger:route GET /config/bypasses/{bypass} Bypass getBypassRequest + // + // Get bypass. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getBypassResponse + + var req getBypassRequest + ctx.ShouldBindUri(&req) + + var resp getBypassResponse + + for _, bypass := range config.Global().Bypasses { + if bypass == nil { + continue + } + if bypass.Name == req.Bypass { + resp.Data = bypass + } + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + // swagger:parameters createBypassRequest type createBypassRequest struct { // in: body diff --git a/api/config_chain.go b/api/config_chain.go index 80bbfd15..de4baf20 100644 --- a/api/config_chain.go +++ b/api/config_chain.go @@ -12,6 +12,93 @@ import ( "github.com/go-gost/x/registry" ) +// swagger:parameters getChainListRequest +type getChainListRequest struct { +} + +// successful operation. +// swagger:response getChainListResponse +type getChainListResponse struct { + // in: body + Data chainList +} + +type chainList struct { + Count int `json:"count"` + List []*config.ChainConfig `json:"list"` +} + +func getChainList(ctx *gin.Context) { + // swagger:route GET /config/chains Chain getChainListRequest + // + // Get chain list. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getChainListResponse + + var req getChainListRequest + ctx.ShouldBindQuery(&req) + + list := config.Global().Chains + + var resp getChainListResponse + resp.Data = chainList{ + Count: len(list), + List: list, + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + +// swagger:parameters getChainRequest +type getChainRequest struct { + // in: path + // required: true + Chain string `uri:"chain" json:"chain"` +} + +// successful operation. +// swagger:response getChainResponse +type getChainResponse struct { + // in: body + Data *config.ChainConfig +} + +func getChain(ctx *gin.Context) { + // swagger:route GET /config/chains/{chain} Chain getChainRequest + // + // Get chain. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getChainResponse + + var req getChainRequest + ctx.ShouldBindUri(&req) + + var resp getChainResponse + + for _, chain := range config.Global().Chains { + if chain == nil { + continue + } + if chain.Name == req.Chain { + resp.Data = chain + } + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + // swagger:parameters createChainRequest type createChainRequest struct { // in: body diff --git a/api/config_conn_limiter.go b/api/config_conn_limiter.go index 492cd621..6c948c5f 100644 --- a/api/config_conn_limiter.go +++ b/api/config_conn_limiter.go @@ -11,6 +11,93 @@ import ( "github.com/go-gost/x/registry" ) +// swagger:parameters getConnLimiterListRequest +type getConnLimiterListRequest struct { +} + +// successful operation. +// swagger:response getConnLimiterListResponse +type getConnLimiterListResponse struct { + // in: body + Data connLimiterList +} + +type connLimiterList struct { + Count int `json:"count"` + List []*config.LimiterConfig `json:"list"` +} + +func getConnLimiterList(ctx *gin.Context) { + // swagger:route GET /config/climiters Limiter getConnLimiterListRequest + // + // Get conn limiter list. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getConnLimiterListResponse + + var req getConnLimiterListRequest + ctx.ShouldBindQuery(&req) + + list := config.Global().CLimiters + + var resp getConnLimiterListResponse + resp.Data = connLimiterList{ + Count: len(list), + List: list, + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + +// swagger:parameters getConnLimiterRequest +type getConnLimiterRequest struct { + // in: path + // required: true + Limiter string `uri:"limiter" json:"limiter"` +} + +// successful operation. +// swagger:response getConnLimiterResponse +type getConnLimiterResponse struct { + // in: body + Data *config.LimiterConfig +} + +func getConnLimiter(ctx *gin.Context) { + // swagger:route GET /config/climiters/{limiter} Limiter getConnLimiterRequest + // + // Get conn limiter. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getConnLimiterResponse + + var req getConnLimiterRequest + ctx.ShouldBindUri(&req) + + var resp getConnLimiterResponse + + for _, limiter := range config.Global().CLimiters{ + if limiter == nil { + continue + } + if limiter.Name == req.Limiter { + resp.Data = limiter + } + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + // swagger:parameters createConnLimiterRequest type createConnLimiterRequest struct { // in: body diff --git a/api/config_hop.go b/api/config_hop.go index 28fdb3c5..a29d516b 100644 --- a/api/config_hop.go +++ b/api/config_hop.go @@ -12,6 +12,93 @@ import ( "github.com/go-gost/x/registry" ) +// swagger:parameters getHopListRequest +type getHopListRequest struct { +} + +// successful operation. +// swagger:response getHopListResponse +type getHopListResponse struct { + // in: body + Data hopList +} + +type hopList struct { + Count int `json:"count"` + List []*config.HopConfig `json:"list"` +} + +func getHopList(ctx *gin.Context) { + // swagger:route GET /config/hops Hop getHopListRequest + // + // Get hop list. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getHopListResponse + + var req getHopListRequest + ctx.ShouldBindQuery(&req) + + list := config.Global().Hops + + var resp getHopListResponse + resp.Data = hopList{ + Count: len(list), + List: list, + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + +// swagger:parameters getHopRequest +type getHopRequest struct { + // in: path + // required: true + Hop string `uri:"hop" json:"hop"` +} + +// successful operation. +// swagger:response getHopResponse +type getHopResponse struct { + // in: body + Data *config.HopConfig +} + +func getHop(ctx *gin.Context) { + // swagger:route GET /config/hops/{hop} Hop getHopRequest + // + // Get hop. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getHopResponse + + var req getHopRequest + ctx.ShouldBindUri(&req) + + var resp getHopResponse + + for _, hop := range config.Global().Hops { + if hop == nil { + continue + } + if hop.Name == req.Hop { + resp.Data = hop + } + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + // swagger:parameters createHopRequest type createHopRequest struct { // in: body diff --git a/api/config_hosts.go b/api/config_hosts.go index 5688690c..5180d08c 100644 --- a/api/config_hosts.go +++ b/api/config_hosts.go @@ -11,6 +11,93 @@ import ( "github.com/go-gost/x/registry" ) +// swagger:parameters getHostsListRequest +type getHostsListRequest struct { +} + +// successful operation. +// swagger:response getHostsListResponse +type getHostsListResponse struct { + // in: body + Data hostsList +} + +type hostsList struct { + Count int `json:"count"` + List []*config.HostsConfig `json:"list"` +} + +func getHostsList(ctx *gin.Context) { + // swagger:route GET /config/hosts Hosts getHostsListRequest + // + // Get hosts list. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getHostsListResponse + + var req getHostsListRequest + ctx.ShouldBindQuery(&req) + + list := config.Global().Hosts + + var resp getHostsListResponse + resp.Data = hostsList{ + Count: len(list), + List: list, + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + +// swagger:parameters getHostsRequest +type getHostsRequest struct { + // in: path + // required: true + Hosts string `uri:"hosts" json:"hosts"` +} + +// successful operation. +// swagger:response getHostsResponse +type getHostsResponse struct { + // in: body + Data *config.HostsConfig +} + +func getHosts(ctx *gin.Context) { + // swagger:route GET /config/hosts/{hosts} Hosts getHostsRequest + // + // Get hosts. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getHostsResponse + + var req getHostsRequest + ctx.ShouldBindUri(&req) + + var resp getHostsResponse + + for _, hosts := range config.Global().Hosts { + if hosts == nil { + continue + } + if hosts.Name == req.Hosts { + resp.Data = hosts + } + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + // swagger:parameters createHostsRequest type createHostsRequest struct { // in: body diff --git a/api/config_ingress.go b/api/config_ingress.go index a6bb8f78..b6685a50 100644 --- a/api/config_ingress.go +++ b/api/config_ingress.go @@ -11,6 +11,93 @@ import ( "github.com/go-gost/x/registry" ) +// swagger:parameters getIngressListRequest +type getIngressListRequest struct { +} + +// successful operation. +// swagger:response getIngressListResponse +type getIngressListResponse struct { + // in: body + Data ingressList +} + +type ingressList struct { + Count int `json:"count"` + List []*config.IngressConfig `json:"list"` +} + +func getIngressList(ctx *gin.Context) { + // swagger:route GET /config/ingresses Ingress getIngressListRequest + // + // Get ingress list. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getIngressListResponse + + var req getIngressListRequest + ctx.ShouldBindQuery(&req) + + list := config.Global().Ingresses + + var resp getIngressListResponse + resp.Data = ingressList{ + Count: len(list), + List: list, + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + +// swagger:parameters getIngressRequest +type getIngressRequest struct { + // in: path + // required: true + Ingress string `uri:"ingress" json:"ingress"` +} + +// successful operation. +// swagger:response getIngressResponse +type getIngressResponse struct { + // in: body + Data *config.IngressConfig +} + +func getIngress(ctx *gin.Context) { + // swagger:route GET /config/ingresses/{ingress} Ingress getIngressRequest + // + // Get ingress. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getIngressResponse + + var req getIngressRequest + ctx.ShouldBindUri(&req) + + var resp getIngressResponse + + for _, ingress := range config.Global().Ingresses { + if ingress == nil { + continue + } + if ingress.Name == req.Ingress { + resp.Data = ingress + } + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + // swagger:parameters createIngressRequest type createIngressRequest struct { // in: body diff --git a/api/config_limiter.go b/api/config_limiter.go index 471b54ae..88473de0 100644 --- a/api/config_limiter.go +++ b/api/config_limiter.go @@ -11,6 +11,93 @@ import ( "github.com/go-gost/x/registry" ) +// swagger:parameters getLimiterListRequest +type getLimiterListRequest struct { +} + +// successful operation. +// swagger:response getLimiterListResponse +type getLimiterListResponse struct { + // in: body + Data limiterList +} + +type limiterList struct { + Count int `json:"count"` + List []*config.LimiterConfig `json:"list"` +} + +func getLimiterList(ctx *gin.Context) { + // swagger:route GET /config/limiters Limiter getLimiterListRequest + // + // Get limiter list. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getLimiterListResponse + + var req getLimiterListRequest + ctx.ShouldBindQuery(&req) + + list := config.Global().Limiters + + var resp getLimiterListResponse + resp.Data = limiterList{ + Count: len(list), + List: list, + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + +// swagger:parameters getLimiterRequest +type getLimiterRequest struct { + // in: path + // required: true + Limiter string `uri:"limiter" json:"limiter"` +} + +// successful operation. +// swagger:response getLimiterResponse +type getLimiterResponse struct { + // in: body + Data *config.LimiterConfig +} + +func getLimiter(ctx *gin.Context) { + // swagger:route GET /config/limiters/{limiter} Limiter getLimiterRequest + // + // Get limiter. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getLimiterResponse + + var req getLimiterRequest + ctx.ShouldBindUri(&req) + + var resp getLimiterResponse + + for _, limiter := range config.Global().Limiters { + if limiter == nil { + continue + } + if limiter.Name == req.Limiter { + resp.Data = limiter + } + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + // swagger:parameters createLimiterRequest type createLimiterRequest struct { // in: body diff --git a/api/config_observer.go b/api/config_observer.go index d3024c4a..a8e0f7d2 100644 --- a/api/config_observer.go +++ b/api/config_observer.go @@ -11,6 +11,93 @@ import ( "github.com/go-gost/x/registry" ) +// swagger:parameters getObserverListRequest +type getObserverListRequest struct { +} + +// successful operation. +// swagger:response getObserverListResponse +type getObserverListResponse struct { + // in: body + Data observerList +} + +type observerList struct { + Count int `json:"count"` + List []*config.ObserverConfig `json:"list"` +} + +func getObserverList(ctx *gin.Context) { + // swagger:route GET /config/observers Observer getObserverListRequest + // + // Get observer list. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getObserverListResponse + + var req getObserverListRequest + ctx.ShouldBindQuery(&req) + + list := config.Global().Observers + + var resp getObserverListResponse + resp.Data = observerList{ + Count: len(list), + List: list, + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + +// swagger:parameters getObserverRequest +type getObserverRequest struct { + // in: path + // required: true + Observer string `uri:"observer" json:"observer"` +} + +// successful operation. +// swagger:response getObserverResponse +type getObserverResponse struct { + // in: body + Data *config.ObserverConfig +} + +func getObserver(ctx *gin.Context) { + // swagger:route GET /config/observers/{observer} Observer getObserverRequest + // + // Get observer. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getObserverResponse + + var req getObserverRequest + ctx.ShouldBindUri(&req) + + var resp getObserverResponse + + for _, observer := range config.Global().Observers { + if observer == nil { + continue + } + if observer.Name == req.Observer { + resp.Data = observer + } + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + // swagger:parameters createObserverRequest type createObserverRequest struct { // in: body diff --git a/api/config_rate_limiter.go b/api/config_rate_limiter.go index 15cb0e47..60a2f7b8 100644 --- a/api/config_rate_limiter.go +++ b/api/config_rate_limiter.go @@ -11,6 +11,93 @@ import ( "github.com/go-gost/x/registry" ) +// swagger:parameters getRateLimiterListRequest +type getRateLimiterListRequest struct { +} + +// successful operation. +// swagger:response getRateLimiterListResponse +type getRateLimiterListResponse struct { + // in: body + Data rateLimiterList +} + +type rateLimiterList struct { + Count int `json:"count"` + List []*config.LimiterConfig `json:"list"` +} + +func getRateLimiterList(ctx *gin.Context) { + // swagger:route GET /config/rlimiters Limiter getRateLimiterListRequest + // + // Get rate limiter list. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getRateLimiterListResponse + + var req getRateLimiterListRequest + ctx.ShouldBindQuery(&req) + + list := config.Global().CLimiters + + var resp getRateLimiterListResponse + resp.Data = rateLimiterList{ + Count: len(list), + List: list, + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + +// swagger:parameters getRateLimiterRequest +type getRateLimiterRequest struct { + // in: path + // required: true + Limiter string `uri:"limiter" json:"limiter"` +} + +// successful operation. +// swagger:response getRateLimiterResponse +type getRateLimiterResponse struct { + // in: body + Data *config.LimiterConfig +} + +func getRateLimiter(ctx *gin.Context) { + // swagger:route GET /config/rlimiters/{limiter} Limiter getRateLimiterRequest + // + // Get conn limiter. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getRateLimiterResponse + + var req getRateLimiterRequest + ctx.ShouldBindUri(&req) + + var resp getRateLimiterResponse + + for _, limiter := range config.Global().CLimiters{ + if limiter == nil { + continue + } + if limiter.Name == req.Limiter { + resp.Data = limiter + } + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + // swagger:parameters createRateLimiterRequest type createRateLimiterRequest struct { // in: body diff --git a/api/config_recorder.go b/api/config_recorder.go index 189f2c26..0be3e698 100644 --- a/api/config_recorder.go +++ b/api/config_recorder.go @@ -11,6 +11,93 @@ import ( "github.com/go-gost/x/registry" ) +// swagger:parameters getRecorderListRequest +type getRecorderListRequest struct { +} + +// successful operation. +// swagger:response getRecorderListResponse +type getRecorderListResponse struct { + // in: body + Data recorderList +} + +type recorderList struct { + Count int `json:"count"` + List []*config.RecorderConfig `json:"list"` +} + +func getRecorderList(ctx *gin.Context) { + // swagger:route GET /config/recorders Recorder getRecorderListRequest + // + // Get recorder list. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getRecorderListResponse + + var req getRecorderListRequest + ctx.ShouldBindQuery(&req) + + list := config.Global().Recorders + + var resp getRecorderListResponse + resp.Data = recorderList{ + Count: len(list), + List: list, + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + +// swagger:parameters getRecorderRequest +type getRecorderRequest struct { + // in: path + // required: true + Recorder string `uri:"recorder" json:"recorder"` +} + +// successful operation. +// swagger:response getRecorderResponse +type getRecorderResponse struct { + // in: body + Data *config.RecorderConfig +} + +func getRecorder(ctx *gin.Context) { + // swagger:route GET /config/recorders/{recorder} Recorder getRecorderRequest + // + // Get recorder. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getRecorderResponse + + var req getRecorderRequest + ctx.ShouldBindUri(&req) + + var resp getRecorderResponse + + for _, recorder := range config.Global().Recorders { + if recorder == nil { + continue + } + if recorder.Name == req.Recorder { + resp.Data = recorder + } + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + // swagger:parameters createRecorderRequest type createRecorderRequest struct { // in: body diff --git a/api/config_resolver.go b/api/config_resolver.go index f46988c9..29201692 100644 --- a/api/config_resolver.go +++ b/api/config_resolver.go @@ -11,6 +11,93 @@ import ( "github.com/go-gost/x/registry" ) +// swagger:parameters getResolverListRequest +type getResolverListRequest struct { +} + +// successful operation. +// swagger:response getResolverListResponse +type getResolverListResponse struct { + // in: body + Data resolverList +} + +type resolverList struct { + Count int `json:"count"` + List []*config.ResolverConfig `json:"list"` +} + +func getResolverList(ctx *gin.Context) { + // swagger:route GET /config/resolvers Resolver getResolverListRequest + // + // Get resolver list. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getResolverListResponse + + var req getResolverListRequest + ctx.ShouldBindQuery(&req) + + list := config.Global().Resolvers + + var resp getResolverListResponse + resp.Data = resolverList{ + Count: len(list), + List: list, + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + +// swagger:parameters getResolverRequest +type getResolverRequest struct { + // in: path + // required: true + Resolver string `uri:"resolver" json:"resolver"` +} + +// successful operation. +// swagger:response getResolverResponse +type getResolverResponse struct { + // in: body + Data *config.ResolverConfig +} + +func getResolver(ctx *gin.Context) { + // swagger:route GET /config/resolvers/{resolver} Resolver getResolverRequest + // + // Get resolver. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getResolverResponse + + var req getResolverRequest + ctx.ShouldBindUri(&req) + + var resp getResolverResponse + + for _, resolver := range config.Global().Resolvers { + if resolver == nil { + continue + } + if resolver.Name == req.Resolver { + resp.Data = resolver + } + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + // swagger:parameters createResolverRequest type createResolverRequest struct { // in: body diff --git a/api/config_router.go b/api/config_router.go index 5ad84f59..fbb07d35 100644 --- a/api/config_router.go +++ b/api/config_router.go @@ -11,6 +11,93 @@ import ( "github.com/go-gost/x/registry" ) +// swagger:parameters getRouterListRequest +type getRouterListRequest struct { +} + +// successful operation. +// swagger:response getRouterListResponse +type getRouterListResponse struct { + // in: body + Data routerList +} + +type routerList struct { + Count int `json:"count"` + List []*config.RouterConfig `json:"list"` +} + +func getRouterList(ctx *gin.Context) { + // swagger:route GET /config/routers Router getRouterListRequest + // + // Get router list. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getRouterListResponse + + var req getRouterListRequest + ctx.ShouldBindQuery(&req) + + list := config.Global().Routers + + var resp getRouterListResponse + resp.Data = routerList{ + Count: len(list), + List: list, + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + +// swagger:parameters getRouterRequest +type getRouterRequest struct { + // in: path + // required: true + Router string `uri:"router" json:"router"` +} + +// successful operation. +// swagger:response getRouterResponse +type getRouterResponse struct { + // in: body + Data *config.RouterConfig +} + +func getRouter(ctx *gin.Context) { + // swagger:route GET /config/routers/{router} Router getRouterRequest + // + // Get router. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getRouterResponse + + var req getRouterRequest + ctx.ShouldBindUri(&req) + + var resp getRouterResponse + + for _, router := range config.Global().Routers { + if router == nil { + continue + } + if router.Name == req.Router { + resp.Data = router + } + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + // swagger:parameters createRouterRequest type createRouterRequest struct { // in: body diff --git a/api/config_sd.go b/api/config_sd.go index 944eeb18..25c1a70c 100644 --- a/api/config_sd.go +++ b/api/config_sd.go @@ -11,6 +11,93 @@ import ( "github.com/go-gost/x/registry" ) +// swagger:parameters getSDListRequest +type getSDListRequest struct { +} + +// successful operation. +// swagger:response getSDListResponse +type getSDListResponse struct { + // in: body + Data sdList +} + +type sdList struct { + Count int `json:"count"` + List []*config.SDConfig `json:"list"` +} + +func getSDList(ctx *gin.Context) { + // swagger:route GET /config/sds SD getSDListRequest + // + // Get sd list. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getSDListResponse + + var req getSDListRequest + ctx.ShouldBindQuery(&req) + + list := config.Global().SDs + + var resp getSDListResponse + resp.Data = sdList{ + Count: len(list), + List: list, + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + +// swagger:parameters getSDRequest +type getSDRequest struct { + // in: path + // required: true + SD string `uri:"sd" json:"sd"` +} + +// successful operation. +// swagger:response getSDResponse +type getSDResponse struct { + // in: body + Data *config.SDConfig +} + +func getSD(ctx *gin.Context) { + // swagger:route GET /config/sds/{sd} SD getSDRequest + // + // Get sd. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getSDResponse + + var req getSDRequest + ctx.ShouldBindUri(&req) + + var resp getSDResponse + + for _, sd := range config.Global().SDs { + if sd == nil { + continue + } + if sd.Name == req.SD { + resp.Data = sd + } + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + // swagger:parameters createSDRequest type createSDRequest struct { // in: body diff --git a/api/config_service.go b/api/config_service.go index d8c349bb..17004f36 100644 --- a/api/config_service.go +++ b/api/config_service.go @@ -11,6 +11,93 @@ import ( "github.com/go-gost/x/registry" ) +// swagger:parameters getServiceListRequest +type getServiceListRequest struct { +} + +// successful operation. +// swagger:response getServiceListResponse +type getServiceListResponse struct { + // in: body + Data serviceList +} + +type serviceList struct { + Count int `json:"count"` + List []*config.ServiceConfig `json:"list"` +} + +func getServiceList(ctx *gin.Context) { + // swagger:route GET /config/services Service getServiceListRequest + // + // Get service list. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getServiceListResponse + + var req getServiceListRequest + ctx.ShouldBindQuery(&req) + + list := config.Global().Services + + var resp getServiceListResponse + resp.Data = serviceList{ + Count: len(list), + List: list, + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + +// swagger:parameters getServiceRequest +type getServiceRequest struct { + // in: path + // required: true + Service string `uri:"service" json:"service"` +} + +// successful operation. +// swagger:response getServiceResponse +type getServiceResponse struct { + // in: body + Data *config.ServiceConfig +} + +func getService(ctx *gin.Context) { + // swagger:route GET /config/services/{service} Service getServiceRequest + // + // Get service. + // + // Security: + // basicAuth: [] + // + // Responses: + // 200: getServiceResponse + + var req getServiceRequest + ctx.ShouldBindUri(&req) + + var resp getServiceResponse + + for _, service := range config.Global().Services { + if service == nil { + continue + } + if service.Name == req.Service { + resp.Data = service + } + } + + ctx.JSON(http.StatusOK, Response{ + Data: resp.Data, + }) +} + // swagger:parameters createServiceRequest type createServiceRequest struct { // in: body diff --git a/api/swagger.yaml b/api/swagger.yaml index 78db7a7a..7db8e637 100644 --- a/api/swagger.yaml +++ b/api/swagger.yaml @@ -51,6 +51,9 @@ definitions: x-go-package: github.com/go-gost/x/config AuthConfig: properties: + file: + type: string + x-go-name: File password: type: string x-go-name: Password @@ -286,6 +289,8 @@ definitions: path: type: string x-go-name: Path + rotation: + $ref: '#/definitions/LogRotationConfig' sep: type: string x-go-name: Sep @@ -964,6 +969,8 @@ definitions: format: int64 type: integer x-go-name: Code + data: + x-go-name: Data msg: type: string x-go-name: Msg @@ -993,10 +1000,14 @@ definitions: x-go-package: github.com/go-gost/x/config RouterRouteConfig: properties: + dst: + type: string + x-go-name: Dst gateway: type: string x-go-name: Gateway net: + description: 'Deprecated: use dst instead' type: string x-go-name: Net type: object @@ -1229,6 +1240,214 @@ definitions: x-go-name: MinVersion type: object x-go-package: github.com/go-gost/x/config + admissionList: + properties: + count: + format: int64 + type: integer + x-go-name: Count + list: + items: + $ref: '#/definitions/AdmissionConfig' + type: array + x-go-name: List + type: object + x-go-package: github.com/go-gost/x/api + autherList: + properties: + count: + format: int64 + type: integer + x-go-name: Count + list: + items: + $ref: '#/definitions/AutherConfig' + type: array + x-go-name: List + type: object + x-go-package: github.com/go-gost/x/api + bypassList: + properties: + count: + format: int64 + type: integer + x-go-name: Count + list: + items: + $ref: '#/definitions/BypassConfig' + type: array + x-go-name: List + type: object + x-go-package: github.com/go-gost/x/api + chainList: + properties: + count: + format: int64 + type: integer + x-go-name: Count + list: + items: + $ref: '#/definitions/ChainConfig' + type: array + x-go-name: List + type: object + x-go-package: github.com/go-gost/x/api + connLimiterList: + properties: + count: + format: int64 + type: integer + x-go-name: Count + list: + items: + $ref: '#/definitions/LimiterConfig' + type: array + x-go-name: List + type: object + x-go-package: github.com/go-gost/x/api + hopList: + properties: + count: + format: int64 + type: integer + x-go-name: Count + list: + items: + $ref: '#/definitions/HopConfig' + type: array + x-go-name: List + type: object + x-go-package: github.com/go-gost/x/api + hostsList: + properties: + count: + format: int64 + type: integer + x-go-name: Count + list: + items: + $ref: '#/definitions/HostsConfig' + type: array + x-go-name: List + type: object + x-go-package: github.com/go-gost/x/api + ingressList: + properties: + count: + format: int64 + type: integer + x-go-name: Count + list: + items: + $ref: '#/definitions/IngressConfig' + type: array + x-go-name: List + type: object + x-go-package: github.com/go-gost/x/api + limiterList: + properties: + count: + format: int64 + type: integer + x-go-name: Count + list: + items: + $ref: '#/definitions/LimiterConfig' + type: array + x-go-name: List + type: object + x-go-package: github.com/go-gost/x/api + observerList: + properties: + count: + format: int64 + type: integer + x-go-name: Count + list: + items: + $ref: '#/definitions/ObserverConfig' + type: array + x-go-name: List + type: object + x-go-package: github.com/go-gost/x/api + rateLimiterList: + properties: + count: + format: int64 + type: integer + x-go-name: Count + list: + items: + $ref: '#/definitions/LimiterConfig' + type: array + x-go-name: List + type: object + x-go-package: github.com/go-gost/x/api + recorderList: + properties: + count: + format: int64 + type: integer + x-go-name: Count + list: + items: + $ref: '#/definitions/RecorderConfig' + type: array + x-go-name: List + type: object + x-go-package: github.com/go-gost/x/api + resolverList: + properties: + count: + format: int64 + type: integer + x-go-name: Count + list: + items: + $ref: '#/definitions/ResolverConfig' + type: array + x-go-name: List + type: object + x-go-package: github.com/go-gost/x/api + routerList: + properties: + count: + format: int64 + type: integer + x-go-name: Count + list: + items: + $ref: '#/definitions/RouterConfig' + type: array + x-go-name: List + type: object + x-go-package: github.com/go-gost/x/api + sdList: + properties: + count: + format: int64 + type: integer + x-go-name: Count + list: + items: + $ref: '#/definitions/SDConfig' + type: array + x-go-name: List + type: object + x-go-package: github.com/go-gost/x/api + serviceList: + properties: + count: + format: int64 + type: integer + x-go-name: Count + list: + items: + $ref: '#/definitions/ServiceConfig' + type: array + x-go-name: List + type: object + x-go-package: github.com/go-gost/x/api info: title: Documentation of Web API. version: 1.0.0 @@ -1274,6 +1493,17 @@ paths: tags: - Config /config/admissions: + get: + operationId: getAdmissionListRequest + responses: + "200": + $ref: '#/responses/getAdmissionListResponse' + security: + - basicAuth: + - '[]' + summary: Get admission list. + tags: + - Admission post: operationId: createAdmissionRequest parameters: @@ -1309,6 +1539,23 @@ paths: summary: Delete admission by name. tags: - Admission + get: + operationId: getAdmissionRequest + parameters: + - in: path + name: admission + required: true + type: string + x-go-name: Admission + responses: + "200": + $ref: '#/responses/getAdmissionResponse' + security: + - basicAuth: + - '[]' + summary: Get admission. + tags: + - Admission put: operationId: updateAdmissionRequest parameters: @@ -1332,6 +1579,17 @@ paths: tags: - Admission /config/authers: + get: + operationId: getAutherListRequest + responses: + "200": + $ref: '#/responses/getAutherListResponse' + security: + - basicAuth: + - '[]' + summary: Get auther list. + tags: + - Auther post: operationId: createAutherRequest parameters: @@ -1367,6 +1625,23 @@ paths: summary: Delete auther by name. tags: - Auther + get: + operationId: getAutherRequest + parameters: + - in: path + name: auther + required: true + type: string + x-go-name: Auther + responses: + "200": + $ref: '#/responses/getAutherResponse' + security: + - basicAuth: + - '[]' + summary: Get auther. + tags: + - Auther put: operationId: updateAutherRequest parameters: @@ -1390,6 +1665,17 @@ paths: tags: - Auther /config/bypasses: + get: + operationId: getBypassListRequest + responses: + "200": + $ref: '#/responses/getBypassListResponse' + security: + - basicAuth: + - '[]' + summary: Get bypass list. + tags: + - Bypass post: operationId: createBypassRequest parameters: @@ -1425,6 +1711,23 @@ paths: summary: Delete bypass by name. tags: - Bypass + get: + operationId: getBypassRequest + parameters: + - in: path + name: bypass + required: true + type: string + x-go-name: Bypass + responses: + "200": + $ref: '#/responses/getBypassResponse' + security: + - basicAuth: + - '[]' + summary: Get bypass. + tags: + - Bypass put: operationId: updateBypassRequest parameters: @@ -1448,6 +1751,17 @@ paths: tags: - Bypass /config/chains: + get: + operationId: getChainListRequest + responses: + "200": + $ref: '#/responses/getChainListResponse' + security: + - basicAuth: + - '[]' + summary: Get chain list. + tags: + - Chain post: operationId: createChainRequest parameters: @@ -1483,6 +1797,23 @@ paths: summary: Delete chain by name. tags: - Chain + get: + operationId: getChainRequest + parameters: + - in: path + name: chain + required: true + type: string + x-go-name: Chain + responses: + "200": + $ref: '#/responses/getChainResponse' + security: + - basicAuth: + - '[]' + summary: Get chain. + tags: + - Chain put: operationId: updateChainRequest parameters: @@ -1506,6 +1837,17 @@ paths: tags: - Chain /config/climiters: + get: + operationId: getConnLimiterListRequest + responses: + "200": + $ref: '#/responses/getConnLimiterListResponse' + security: + - basicAuth: + - '[]' + summary: Get conn limiter list. + tags: + - Limiter post: operationId: createConnLimiterRequest parameters: @@ -1541,6 +1883,23 @@ paths: summary: Delete conn limiter by name. tags: - Limiter + get: + operationId: getConnLimiterRequest + parameters: + - in: path + name: limiter + required: true + type: string + x-go-name: Limiter + responses: + "200": + $ref: '#/responses/getConnLimiterResponse' + security: + - basicAuth: + - '[]' + summary: Get conn limiter. + tags: + - Limiter put: operationId: updateConnLimiterRequest parameters: @@ -1564,6 +1923,17 @@ paths: tags: - Limiter /config/hops: + get: + operationId: getHopListRequest + responses: + "200": + $ref: '#/responses/getHopListResponse' + security: + - basicAuth: + - '[]' + summary: Get hop list. + tags: + - Hop post: operationId: createHopRequest parameters: @@ -1599,6 +1969,23 @@ paths: summary: Delete hop by name. tags: - Hop + get: + operationId: getHopRequest + parameters: + - in: path + name: hop + required: true + type: string + x-go-name: Hop + responses: + "200": + $ref: '#/responses/getHopResponse' + security: + - basicAuth: + - '[]' + summary: Get hop. + tags: + - Hop put: operationId: updateHopRequest parameters: @@ -1622,6 +2009,17 @@ paths: tags: - Hop /config/hosts: + get: + operationId: getHostsListRequest + responses: + "200": + $ref: '#/responses/getHostsListResponse' + security: + - basicAuth: + - '[]' + summary: Get hosts list. + tags: + - Hosts post: operationId: createHostsRequest parameters: @@ -1657,6 +2055,23 @@ paths: summary: Delete hosts by name. tags: - Hosts + get: + operationId: getHostsRequest + parameters: + - in: path + name: hosts + required: true + type: string + x-go-name: Hosts + responses: + "200": + $ref: '#/responses/getHostsResponse' + security: + - basicAuth: + - '[]' + summary: Get hosts. + tags: + - Hosts put: operationId: updateHostsRequest parameters: @@ -1680,6 +2095,17 @@ paths: tags: - Hosts /config/ingresses: + get: + operationId: getIngressListRequest + responses: + "200": + $ref: '#/responses/getIngressListResponse' + security: + - basicAuth: + - '[]' + summary: Get ingress list. + tags: + - Ingress post: operationId: createIngressRequest parameters: @@ -1715,6 +2141,23 @@ paths: summary: Delete ingress by name. tags: - Ingress + get: + operationId: getIngressRequest + parameters: + - in: path + name: ingress + required: true + type: string + x-go-name: Ingress + responses: + "200": + $ref: '#/responses/getIngressResponse' + security: + - basicAuth: + - '[]' + summary: Get ingress. + tags: + - Ingress put: operationId: updateIngressRequest parameters: @@ -1738,6 +2181,17 @@ paths: tags: - Ingress /config/limiters: + get: + operationId: getLimiterListRequest + responses: + "200": + $ref: '#/responses/getLimiterListResponse' + security: + - basicAuth: + - '[]' + summary: Get limiter list. + tags: + - Limiter post: operationId: createLimiterRequest parameters: @@ -1773,6 +2227,23 @@ paths: summary: Delete limiter by name. tags: - Limiter + get: + operationId: getLimiterRequest + parameters: + - in: path + name: limiter + required: true + type: string + x-go-name: Limiter + responses: + "200": + $ref: '#/responses/getLimiterResponse' + security: + - basicAuth: + - '[]' + summary: Get limiter. + tags: + - Limiter put: operationId: updateLimiterRequest parameters: @@ -1796,6 +2267,17 @@ paths: tags: - Limiter /config/observers: + get: + operationId: getObserverListRequest + responses: + "200": + $ref: '#/responses/getObserverListResponse' + security: + - basicAuth: + - '[]' + summary: Get observer list. + tags: + - Observer post: operationId: createObserverRequest parameters: @@ -1831,6 +2313,23 @@ paths: summary: Delete observer by name. tags: - Observer + get: + operationId: getObserverRequest + parameters: + - in: path + name: observer + required: true + type: string + x-go-name: Observer + responses: + "200": + $ref: '#/responses/getObserverResponse' + security: + - basicAuth: + - '[]' + summary: Get observer. + tags: + - Observer put: operationId: updateObserverRequest parameters: @@ -1854,6 +2353,17 @@ paths: tags: - Observer /config/recorders: + get: + operationId: getRecorderListRequest + responses: + "200": + $ref: '#/responses/getRecorderListResponse' + security: + - basicAuth: + - '[]' + summary: Get recorder list. + tags: + - Recorder post: operationId: createRecorderRequest parameters: @@ -1889,6 +2399,23 @@ paths: summary: Delete recorder by name. tags: - Recorder + get: + operationId: getRecorderRequest + parameters: + - in: path + name: recorder + required: true + type: string + x-go-name: Recorder + responses: + "200": + $ref: '#/responses/getRecorderResponse' + security: + - basicAuth: + - '[]' + summary: Get recorder. + tags: + - Recorder put: operationId: updateRecorderRequest parameters: @@ -1924,6 +2451,17 @@ paths: tags: - Reload /config/resolvers: + get: + operationId: getResolverListRequest + responses: + "200": + $ref: '#/responses/getResolverListResponse' + security: + - basicAuth: + - '[]' + summary: Get resolver list. + tags: + - Resolver post: operationId: createResolverRequest parameters: @@ -1959,6 +2497,23 @@ paths: summary: Delete resolver by name. tags: - Resolver + get: + operationId: getResolverRequest + parameters: + - in: path + name: resolver + required: true + type: string + x-go-name: Resolver + responses: + "200": + $ref: '#/responses/getResolverResponse' + security: + - basicAuth: + - '[]' + summary: Get resolver. + tags: + - Resolver put: operationId: updateResolverRequest parameters: @@ -1982,6 +2537,17 @@ paths: tags: - Resolver /config/rlimiters: + get: + operationId: getRateLimiterListRequest + responses: + "200": + $ref: '#/responses/getRateLimiterListResponse' + security: + - basicAuth: + - '[]' + summary: Get rate limiter list. + tags: + - Limiter post: operationId: createRateLimiterRequest parameters: @@ -2017,6 +2583,23 @@ paths: summary: Delete rate limiter by name. tags: - Limiter + get: + operationId: getRateLimiterRequest + parameters: + - in: path + name: limiter + required: true + type: string + x-go-name: Limiter + responses: + "200": + $ref: '#/responses/getRateLimiterResponse' + security: + - basicAuth: + - '[]' + summary: Get conn limiter. + tags: + - Limiter put: operationId: updateRateLimiterRequest parameters: @@ -2040,6 +2623,17 @@ paths: tags: - Limiter /config/routers: + get: + operationId: getRouterListRequest + responses: + "200": + $ref: '#/responses/getRouterListResponse' + security: + - basicAuth: + - '[]' + summary: Get router list. + tags: + - Router post: operationId: createRouterRequest parameters: @@ -2075,6 +2669,23 @@ paths: summary: Delete router by name. tags: - Router + get: + operationId: getRouterRequest + parameters: + - in: path + name: router + required: true + type: string + x-go-name: Router + responses: + "200": + $ref: '#/responses/getRouterResponse' + security: + - basicAuth: + - '[]' + summary: Get router. + tags: + - Router put: operationId: updateRouterRequest parameters: @@ -2098,6 +2709,17 @@ paths: tags: - Router /config/sds: + get: + operationId: getSDListRequest + responses: + "200": + $ref: '#/responses/getSDListResponse' + security: + - basicAuth: + - '[]' + summary: Get sd list. + tags: + - SD post: operationId: createSDRequest parameters: @@ -2133,6 +2755,23 @@ paths: summary: Delete SD by name. tags: - SD + get: + operationId: getSDRequest + parameters: + - in: path + name: sd + required: true + type: string + x-go-name: SD + responses: + "200": + $ref: '#/responses/getSDResponse' + security: + - basicAuth: + - '[]' + summary: Get sd. + tags: + - SD put: operationId: updateSDRequest parameters: @@ -2156,6 +2795,17 @@ paths: tags: - SD /config/services: + get: + operationId: getServiceListRequest + responses: + "200": + $ref: '#/responses/getServiceListResponse' + security: + - basicAuth: + - '[]' + summary: Get service list. + tags: + - Service post: operationId: createServiceRequest parameters: @@ -2191,6 +2841,23 @@ paths: summary: Delete service by name. tags: - Service + get: + operationId: getServiceRequest + parameters: + - in: path + name: service + required: true + type: string + x-go-name: Service + responses: + "200": + $ref: '#/responses/getServiceResponse' + security: + - basicAuth: + - '[]' + summary: Get service. + tags: + - Service put: operationId: updateServiceRequest parameters: @@ -2408,12 +3075,140 @@ responses: Data: {} schema: $ref: '#/definitions/Response' + getAdmissionListResponse: + description: successful operation. + schema: + $ref: '#/definitions/admissionList' + getAdmissionResponse: + description: successful operation. + schema: + $ref: '#/definitions/AdmissionConfig' + getAutherListResponse: + description: successful operation. + schema: + $ref: '#/definitions/autherList' + getAutherResponse: + description: successful operation. + schema: + $ref: '#/definitions/AutherConfig' + getBypassListResponse: + description: successful operation. + schema: + $ref: '#/definitions/bypassList' + getBypassResponse: + description: successful operation. + schema: + $ref: '#/definitions/BypassConfig' + getChainListResponse: + description: successful operation. + schema: + $ref: '#/definitions/chainList' + getChainResponse: + description: successful operation. + schema: + $ref: '#/definitions/ChainConfig' getConfigResponse: description: successful operation. headers: Config: {} schema: $ref: '#/definitions/Config' + getConnLimiterListResponse: + description: successful operation. + schema: + $ref: '#/definitions/connLimiterList' + getConnLimiterResponse: + description: successful operation. + schema: + $ref: '#/definitions/LimiterConfig' + getHopListResponse: + description: successful operation. + schema: + $ref: '#/definitions/hopList' + getHopResponse: + description: successful operation. + schema: + $ref: '#/definitions/HopConfig' + getHostsListResponse: + description: successful operation. + schema: + $ref: '#/definitions/hostsList' + getHostsResponse: + description: successful operation. + schema: + $ref: '#/definitions/HostsConfig' + getIngressListResponse: + description: successful operation. + schema: + $ref: '#/definitions/ingressList' + getIngressResponse: + description: successful operation. + schema: + $ref: '#/definitions/IngressConfig' + getLimiterListResponse: + description: successful operation. + schema: + $ref: '#/definitions/limiterList' + getLimiterResponse: + description: successful operation. + schema: + $ref: '#/definitions/LimiterConfig' + getObserverListResponse: + description: successful operation. + schema: + $ref: '#/definitions/observerList' + getObserverResponse: + description: successful operation. + schema: + $ref: '#/definitions/ObserverConfig' + getRateLimiterListResponse: + description: successful operation. + schema: + $ref: '#/definitions/rateLimiterList' + getRateLimiterResponse: + description: successful operation. + schema: + $ref: '#/definitions/LimiterConfig' + getRecorderListResponse: + description: successful operation. + schema: + $ref: '#/definitions/recorderList' + getRecorderResponse: + description: successful operation. + schema: + $ref: '#/definitions/RecorderConfig' + getResolverListResponse: + description: successful operation. + schema: + $ref: '#/definitions/resolverList' + getResolverResponse: + description: successful operation. + schema: + $ref: '#/definitions/ResolverConfig' + getRouterListResponse: + description: successful operation. + schema: + $ref: '#/definitions/routerList' + getRouterResponse: + description: successful operation. + schema: + $ref: '#/definitions/RouterConfig' + getSDListResponse: + description: successful operation. + schema: + $ref: '#/definitions/sdList' + getSDResponse: + description: successful operation. + schema: + $ref: '#/definitions/SDConfig' + getServiceListResponse: + description: successful operation. + schema: + $ref: '#/definitions/serviceList' + getServiceResponse: + description: successful operation. + schema: + $ref: '#/definitions/ServiceConfig' reloadConfigResponse: description: successful operation. headers: