Documentation
¶
Index ¶
- func InitStandaloneFileWatcher(path string, events chan *store.Event)
- func ReadAndReload(path string, events chan *store.Event)
- type Admin
- type AdminKey
- type AdminListen
- type Apisix
- type ApisixConfigurationStandalone
- type Config
- type Control
- type DataEncryption
- type Deployment
- type Discovery
- type Etcd
- type EtcdTLS
- type GraphQL
- type Listen
- type NodeListen
- type PluginAttr
- type PluginMetadata
- type Proxy
- type ProxyCache
- type RoleTraditionalConfig
- type Route
- type Router
- type SSL
- type Service
- type Ssl
- type StreamProxy
- type TcpListen
- type Upstream
- type Zone
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ReadAndReload ¶
Types ¶
type Admin ¶
type Admin struct { AdminKeyRequired bool `mapstructure:"admin_key_required"` AdminKey []AdminKey `mapstructure:"admin_key"` EnableAdminCORS bool `mapstructure:"enable_admin_cors"` AllowAdmin []string `mapstructure:"allow_admin"` AdminListen AdminListen `mapstructure:"admin_listen"` AdminAPIVersion string `mapstructure:"admin_api_version"` }
type AdminListen ¶
type Apisix ¶
type Apisix struct { NodeListen []NodeListen `mapstructure:"node_listen"` EnableAdmin bool `mapstructure:"enable_admin"` EnableDevMode bool `mapstructure:"enable_dev_mode"` EnableReuseport bool `mapstructure:"enable_reuseport"` ShowUpstreamStatusInResponseHeader bool `mapstructure:"show_upstream_status_in_response_header"` EnableIpv6 bool `mapstructure:"enable_ipv6"` EnableServerTokens bool `mapstructure:"enable_server_tokens"` ProxyCache ProxyCache `mapstructure:"proxy_cache"` Router Router `mapstructure:"router"` ProxyMode string `mapstructure:"proxy_mode"` StreamProxy StreamProxy `mapstructure:"stream_proxy"` DnsResolver []string `mapstructure:"dns_resolver"` DnsResolverValid int `mapstructure:"dns_resolver_valid"` ResolverTimeout int `mapstructure:"resolver_timeout"` EnableResolvSearchOpt bool `mapstructure:"enable_resolv_search_opt"` Ssl Ssl `mapstructure:"ssl"` EnableControl bool `mapstructure:"enable_control"` Control Control `mapstructure:"control"` DisableSyncConfigurationDuringStart bool `mapstructure:"disable_sync_configuration_during_start"` DataEncryption DataEncryption `mapstructure:"data_encryption"` }
type ApisixConfigurationStandalone ¶
type ApisixConfigurationStandalone struct { Routes []*Route `json:"routes,omitempty" yaml:"routes,omitempty"` Services []*Service `json:"services,omitempty" yaml:"services,omitempty"` PluginMetadatas []*PluginMetadata `json:"plugin_metadata,omitempty" yaml:"plugin_metadata,omitempty"` SSLs []*SSL `json:"ssls,omitempty" yaml:"ssls,omitempty"` }
type Config ¶
type Config struct { Debug bool `mapstructure:"debug"` Apisix Apisix `mapstructure:"apisix"` // NOTE: the section nginx_config is not supported in this version // use proxy instead Proxy Proxy `mapstructure:"proxy"` Discovery Discovery `mapstructure:"discovery"` GraphQL GraphQL `mapstructure:"graphql"` Plugins []string `mapstructure:"plugins"` StreamPlugins []string `mapstructure:"stream_plugins"` // PluginAttr PluginAttr `mapstructure:"plugin_attr"` PluginAttr map[string]map[string]interface{} `mapstructure:"plugin_attr"` Deployment Deployment `mapstructure:"deployment"` }
var GlobalConfig *Config
type DataEncryption ¶
type Deployment ¶
type Deployment struct { // TODO: add validation here Role string `mapstructure:"role"` RoleTraditional RoleTraditionalConfig `mapstructure:"role_traditional"` // TODO: role_data_plane, role_control_plane Admin Admin `mapstructure:"admin"` Etcd Etcd `mapstructure:"etcd"` }
type Etcd ¶
type Etcd struct { Host []string `mapstructure:"host"` Prefix string `mapstructure:"prefix"` // TODO: not support yet Timeout int `mapstructure:"timeout"` WatchTimeout int `mapstructure:"watch_timeout"` ResyncDelay int `mapstructure:"resync_delay"` HealthCheckTimeout int `mapstructure:"health_check_timeout"` StartupRetry int `mapstructure:"startup_retry"` User string `mapstructure:"user"` Password string `mapstructure:"password"` // TODO: not support yet TLS EtcdTLS `mapstructure:"tls"` }
type NodeListen ¶
type PluginAttr ¶
type PluginAttr map[string]interface{}
type PluginMetadata ¶
type PluginMetadata struct { runtime.RawExtension `json:",inline" yaml:",inline"` ID string `json:"id" yaml:"id"` }
func (*PluginMetadata) MarshalYAML ¶
func (pm *PluginMetadata) MarshalYAML() (interface{}, error)
MarshalYAML is serializing method for plugin_metadata
func (*PluginMetadata) UnmarshalYAML ¶
func (pm *PluginMetadata) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML is serializing method for plugin_metadata
type Proxy ¶
type Proxy struct { // keepalive_timeout: 60s // client_header_timeout: 60s DialerTimeout int `mapstructure:"dialer_timeout"` DialerKeepAlive int `mapstructure:"dialer_keep_alive"` IdleConnTimeout int `mapstructure:"idle_conn_timeout"` TLSHandshakeTimeout int `mapstructure:"tls_handshake_timeout"` ExpectContinueTimeout int `mapstructure:"expect_continue_timeout"` ResponseHeaderTimeout int `mapstructure:"response_header_timeout"` MaxIdleConnsPerHost int `mapstructure:"max_idle_conns_per_host"` }
section: proxy
type ProxyCache ¶
type RoleTraditionalConfig ¶
type RoleTraditionalConfig struct {
ConfigProvider string `mapstructure:"config_provider"`
}
type Route ¶
type Route struct { apisixv1.Route `json:",inline" yaml:",inline"` Status *int `json:"status,omitempty" yaml:"status,omitempty"` Upstream *Upstream `json:"upstream,omitempty" yaml:"upstream,omitempty"` ServiceID string `json:"service_id,omitempty" yaml:"service_id,omitempty"` CreateTime int64 `json:"create_time,omitempty" yaml:"create_time,omitempty"` UpdateTime int64 `json:"update_time,omitempty" yaml:"update_time,omitempty"` }
type Service ¶
type Service struct { apisixv1.Metadata `json:",inline" yaml:",inline"` Upstream *Upstream `json:"upstream,omitempty" yaml:"upstream,omitempty"` EnableWebsocket bool `json:"enable_websocket,omitempty" yaml:"enable_websocket,omitempty"` Hosts []string `json:"hosts,omitempty" yaml:"hosts,omitempty"` Plugins apisixv1.Plugins `json:"plugins" yaml:"plugins"` CreateTime int64 `json:"create_time,omitempty" yaml:"create_time,omitempty"` UpdateTime int64 `json:"update_time,omitempty" yaml:"update_time,omitempty"` }
type Ssl ¶
type Ssl struct { Enable bool `mapstructure:"enable"` Listen []Listen `mapstructure:"listen"` SslTrustedCertificate string `mapstructure:"ssl_trusted_certificate"` SslProtocols []string `mapstructure:"ssl_protocols"` SslCiphers string `mapstructure:"ssl_ciphers"` SslSessionTickets bool `mapstructure:"ssl_session_tickets"` }
type StreamProxy ¶
type Upstream ¶
type Upstream struct { Type *string `json:"type,omitempty" yaml:"type,omitempty"` DiscoveryType *string `json:"discovery_type,omitempty" yaml:"discovery_type,omitempty"` ServiceName *string `json:"service_name,omitempty" yaml:"service_name,omitempty"` HashOn *string `json:"hash_on,omitempty" yaml:"hash_on,omitempty"` Key *string `json:"key,omitempty" yaml:"key,omitempty"` Checks *apisixv1.UpstreamHealthCheck `json:"checks,omitempty" yaml:"checks,omitempty"` Nodes apisixv1.UpstreamNodes `json:"nodes" yaml:"nodes"` Scheme *string `json:"scheme,omitempty" yaml:"scheme,omitempty"` Retries *int `json:"retries,omitempty" yaml:"retries,omitempty"` RetryTimeout *int `json:"retry_timeout,omitempty" yaml:"retry_timeout,omitempty"` PassHost *string `json:"pass_host,omitempty" yaml:"pass_host,omitempty"` UpstreamHost *string `json:"upstream_host,omitempty" yaml:"upstream_host,omitempty"` Timeout *apisixv1.UpstreamTimeout `json:"timeout,omitempty" yaml:"timeout,omitempty"` }
Click to show internal directories.
Click to hide internal directories.