init: Initial commit
This commit is contained in:
57
app/config/types.go
Normal file
57
app/config/types.go
Normal file
@@ -0,0 +1,57 @@
|
||||
package config
|
||||
|
||||
type Configuration struct {
|
||||
Gateway GatewayConfiguration `yaml:"gateway"`
|
||||
Apis []ApiConfiguration `yaml:"apis"`
|
||||
Routes []RouteConfiguration `yaml:"routes"`
|
||||
Proxies []ProxyConfiguration `yaml:"proxies"`
|
||||
}
|
||||
|
||||
type GatewayConfiguration struct {
|
||||
Host string `yaml:"host"`
|
||||
Port int `yaml:"port"`
|
||||
Features []string `yaml:"features"`
|
||||
}
|
||||
|
||||
type RouteConfiguration struct {
|
||||
ID string `yaml:"id"`
|
||||
Path string `yaml:"path"`
|
||||
StripPrefix struct {
|
||||
Enabled bool `yaml:"enabled"`
|
||||
Prefix string `yaml:"prefix"`
|
||||
} `yaml:"strip_prefix"`
|
||||
Security SecurityConfiguration `yaml:"security"`
|
||||
}
|
||||
|
||||
type SecurityConfiguration struct {
|
||||
Auth AuthConfiguration `yaml:"auth"`
|
||||
WAF WAFConfiguration `yaml:"waf"`
|
||||
}
|
||||
|
||||
type WAFConfiguration struct {
|
||||
Enabled bool `yaml:"enabled"`
|
||||
Methods []string `yaml:"methods"`
|
||||
}
|
||||
|
||||
type AuthConfiguration struct {
|
||||
Enabled bool `yaml:"enabled"`
|
||||
Type string `yaml:"type"`
|
||||
Header string `yaml:"header"`
|
||||
Path AuthPathConfiguration `yaml:"path"`
|
||||
}
|
||||
|
||||
type AuthPathConfiguration struct {
|
||||
Include []string `yaml:"include"`
|
||||
Exclude []string `yaml:"exclude"`
|
||||
}
|
||||
|
||||
type ProxyConfiguration struct {
|
||||
ID string `yaml:"id"`
|
||||
Host string `yaml:"host"`
|
||||
Target string `yaml:"target"`
|
||||
}
|
||||
|
||||
type ApiConfiguration struct {
|
||||
ID string `yaml:"id"`
|
||||
Target string `yaml:"target"`
|
||||
}
|
||||
Reference in New Issue
Block a user