Documentation ¶
Index ¶
Constants ¶
View Source
const ( NETWORK_SOCKET_UNIX = "unix" NETWORK_SOCKET_TCP = "tcp" URI_UNIX_PREFIX = "unix://" URL_HTTP_SCHEME = "http://" URL_HTTPS_SCHEME = "https://" )
View Source
const ( AGENT_PORT_DEFAULT = 9902 AGENT_ADMIN_MODE_DEFAULT = "tcp" AGENT_ADMIN_UDS_PATH_DEFAULT = "/var/run/ecs/appnet_admin.sock" AGENT_POLL_ENVOY_READINESS_INTERVAL_S_DEFAULT = 5 AGENT_POLL_ENVOY_READINESS_TIMEOUT_S_DEFAULT = 180 ENABLE_STATS_SNAPSHOT_DEFAULT = false ENVOY_USE_HTTP_CLIENT_TO_FETCH_AWS_CREDENTIALS_DEFAULT = false ENVOY_SERVER_SCHEME = "http" ENVOY_SERVER_HOSTNAME = "127.0.0.1" ENVOY_RESTART_COUNT_DEFAULT = 0 ENVOY_RESTART_COUNT_MAX = 10 ENVOY_ADMIN_PORT_DEFAULT = 9901 ENVOY_ADMIN_MODE_DEFAULT = "tcp" ENVOY_ADMIN_UDS_PATH = "/tmp/envoy_admin.sock" ENVOY_ADMIN_UDS_FILE_MODE_DEFAULT = 384 // decimal form of file permission 0600 (octal) ENVOY_READY_ENDPOINT_URL = "/ready" ENVOY_STATS_ENDPOINT_URL = "/stats" ENVOY_LOGGING_ENDPOINT_URL = "/logging" ENVOY_PROMETHEUS_QUERY_STRING = "?format=prometheus" APPMESH_FILTER_STRING = "filter=appmesh" ENVOY_LISTENER_DRAINING_ENDPOINT_URL = "/drain_listeners" ENVOY_CONCURRENCY_DEFAULT = -1 // we will not set concurrency [envoy --concurrency] by default. ENVOY_CONCURRENCY_FOR_RELAY_DEFAULT = "1" // For relay we are defaulting it to 1 DISABLE_HOT_RESTART_DEFAULT = true // agent relay mode ENABLE_RELAY_MODE_FOR_XDS_DEFAULT = false APPNET_RELAY_LISTENER_UDS_PATH_DEFAULT = "/tmp/relay_xds.sock" RELAY_STREAM_IDLE_TIMEOUT_DEFAULT = "2400s" // Default is set to 40 min, whereas Envoy default is 5 min. RELAY_BUFFER_LIMIT_BYTES_DEFAULT = 10485760 // Default is set to 10MB, whereas Envoy default is 1 MB. APPNET_MANAGEMENT_PORT_DEFAULT = 443 // agent handled endpoints AGENT_STATS_ENDPOINT_URL = "/stats/prometheus" AGENT_STATUS_ENDPOINT_URL = "/status" AGENT_LISTENER_DRAIN_ENDPOINT_URL = "/drain_listeners" APPNET_USER_AGENT = "appnetClient/1.0" AGENT_LOGGING_ENDPOINT_URL = "/enableLogging" AGENT_LOG_IDENTIFIER = "AppNet Agent" // Note that if the environment variable controlling the // logging destination (APPNET_ENVOY_LOG_DESTINATION) is // not set, or is set to an empty string, we will not alter // the output destination. It remains as stdout/stderr ENVOY_LOG_DESTINATION_DEFAULT = "" ENVOY_LOG_FILE_NAME_DEFAULT = "appnet_envoy.log" AGENT_MAX_LOG_FILE_SIZE_DEFAULT = 1.0 AGENT_MAX_LOG_RETENTION_DEFAULT = 5 // PID polling timers PID_POLL_INTERVAL_MS_DEFAULT = 100 PID_POLL_INTERVAL_MS_MIN = 100 PID_POLL_INTERVAL_MS_MAX = 1000 // HealthCheck polling timers // See https://sim.amazon.com/issues/LATTICE-BE-6236 // We are reducing the frequency to poll health check HC_POLL_INTERVAL_MS_DEFAULT = 10000 HC_POLL_INTERVAL_MS_MIN = 2000 HC_POLL_INTERVAL_MS_MAX = 30000 HC_DISCONNECTED_TIMEOUT_S_DEFAULT = 604800 // 1 week HC_DISCONNECTED_TIMEOUT_S_MIN = 3600 HC_DISCONNECTED_TIMEOUT_S_MAX = 604800 // ECS stopTimeout is 30sec by default and can be set to maximum 120sec LISTENER_DRAIN_WAIT_TIME_SEC_DEFAULT = 20 LISTENER_DRAIN_WAIT_TIME_SEC_MIN = 5 LISTENER_DRAIN_WAIT_TIME_SEC_MAX = 110 // Wait 3 seconds for Envoy to exit, before we kill it PID_STOP_DELAY_SEC = 3 AGENT_ADDRESS_DEFAULT = "[::]" AGENT_LOGGING_RESET_TIMEOUT_S_DEFAULT = 300 // Rate limiter constants TPS_LIMIT = 10 BURST_TPS_LIMIT = 20 )
Variables ¶
View Source
var AdminModeStrToEnumMap = map[string]SocketType{ "uds": UDS, "tcp": TCP, }
Functions ¶
This section is empty.
Types ¶
type AgentConfig ¶
type AgentConfig struct { CommandPath string CommandArgs []string AgentHttpPort int AgentHttpAddress string AgentAdminUdsPath string AgentAdminMode SocketType AgentLoglevelReset time.Duration AgentPollEnvoyReadiness bool AgentPollEnvoyReadinessInterval int AgentPollEnvoyReadinessTimeout int EnvoyRestartCount int EnvoyServerScheme string EnvoyServerHostName string EnvoyServerAdminPort int EnvoyServerAdminUdsPath string EnvoyAdminMode SocketType EnvoyReadyUrl string EnvoyServerStatsUrl string EnableStatsSnapshot bool EnvoyListenerDrainUrl string EnvoyLoggingUrl string EnvoyLoggingDestination string EnvoyLogFileName string EnvoyLogLevel string EnvoyConfigPath string EnvoyConcurrency int ClusterIPMapping string ListenerPortMapping string MaxLogFileSizeMB float64 MaxLogCount int DisableHotRestart bool XdsEndpointUdsPath string // Relay Mode EnableRelayModeForXds bool AppNetManagementDomainName string AppNetManagementPort int AppNetRelayListenerUdsPath string RelayStreamIdleTimeout string RelayBufferLimitBytes int // Libcurl deprecation Envoy reloadable feature flag EnvoyUseHttpClientToFetchAwsCredentials bool // Poll intervals PidPollInterval time.Duration HcPollInterval time.Duration HcDisconnectedTimeout time.Duration ListenerDrainWaitTime time.Duration StopProcessWaitTime time.Duration // fields that are not controllable by the user OutputFileDescriptors []uintptr }
func (*AgentConfig) ParseFlags ¶
func (config *AgentConfig) ParseFlags(args []string)
func (*AgentConfig) SetDefaults ¶
func (config *AgentConfig) SetDefaults()
Click to show internal directories.
Click to hide internal directories.