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"` }