func buildAdmin()

in agent/envoy_bootstrap/envoy_bootstrap.go [455:493]


func buildAdmin(agentConfig config.AgentConfig) (*boot.Admin, error) {
	accessLogConfig, err := buildAdminAccessLogConfig()
	if err != nil {
		return nil, err
	}
	switch agentConfig.EnvoyAdminMode {
	case config.UDS:
		return &boot.Admin{
			AccessLog: []*accesslog.AccessLog{
				accessLogConfig,
			},
			Address: buildSocketPipe_WithMode(config.ENVOY_ADMIN_UDS_PATH, config.ENVOY_ADMIN_UDS_FILE_MODE_DEFAULT),
		}, nil
	default:
		port, err := env.OrInt("ENVOY_ADMIN_ACCESS_PORT", 9901)
		if err != nil {
			return nil, err
		}

		enable_ipv6, err := env.Truthy("ENVOY_ADMIN_ACCESS_ENABLE_IPV6")
		if err != nil {
			return nil, err
		}

		var addr string
		if enable_ipv6 {
			addr = "::"
		} else {
			addr = "0.0.0.0"
		}

		return &boot.Admin{
			AccessLog: []*accesslog.AccessLog{
				accessLogConfig,
			},
			Address: buildTcpSocketAddr(addr, port, enable_ipv6),
		}, nil
	}
}