SYMBOL INDEX (209 symbols across 30 files) FILE: cmd/healthcheck/main.go function main (line 12) | func main() { FILE: cmd/socket-proxy/bindmount.go type mountType (line 41) | type mountType constant mountTypeBind (line 45) | mountTypeBind mountType = "bind" type containerCreateRequest (line 50) | type containerCreateRequest struct type containerHostConfig (line 54) | type containerHostConfig struct type swarmServiceSpec (line 59) | type swarmServiceSpec struct type swarmTaskSpec (line 63) | type swarmTaskSpec struct type swarmContainerSpec (line 67) | type swarmContainerSpec struct type mountMount (line 71) | type mountMount struct function checkBindMountRestrictions (line 82) | func checkBindMountRestrictions(allowedBindMounts []string, r *http.Requ... function checkContainer (line 113) | func checkContainer(allowedBindMounts []string, r *http.Request) error { function checkService (line 129) | func checkService(allowedBindMounts []string, r *http.Request) error { function checkHostConfigBindMounts (line 153) | func checkHostConfigBindMounts(allowedBindMounts []string, hostConfig *c... function validateBindMount (line 178) | func validateBindMount(allowedBindMounts []string, bind string) error { function validateBindMountSource (line 187) | func validateBindMountSource(allowedBindMounts []string, source string) ... function readAndRestoreBody (line 204) | func readAndRestoreBody(r *http.Request) ([]byte, error) { FILE: cmd/socket-proxy/bindmount_test.go function skipIfNotUnix (line 10) | func skipIfNotUnix(t *testing.T) { function TestValidateBindMountSource (line 19) | func TestValidateBindMountSource(t *testing.T) { function TestIsPathAllowed (line 54) | func TestIsPathAllowed(t *testing.T) { function TestValidateBindMount (line 90) | func TestValidateBindMount(t *testing.T) { function TestCheckBindMountRestrictions (line 120) | func TestCheckBindMountRestrictions(t *testing.T) { FILE: cmd/socket-proxy/checksocketconnection.go constant dialTimeout (line 11) | dialTimeout = 5 function checkSocketAvailability (line 14) | func checkSocketAvailability(socketPath string) error { function startSocketWatchdog (line 28) | func startSocketWatchdog(socketPath string, interval int64, stopOnWatchd... function healthCheckServer (line 45) | func healthCheckServer(socketPath string) { FILE: cmd/socket-proxy/handlehttprequest.go function handleHTTPRequest (line 16) | func handleHTTPRequest(w http.ResponseWriter, r *http.Request) { function matchURL (line 44) | func matchURL(allowedURIs []*regexp.Regexp, requestURI string) bool { function determineAllowList (line 54) | func determineAllowList(r *http.Request) (config.AllowList, bool) { function isAllowedClient (line 86) | func isAllowedClient(clientIPStr string) (bool, error) { function sendHTTPError (line 125) | func sendHTTPError(w http.ResponseWriter, status int) { function communicateBlockedRequest (line 130) | func communicateBlockedRequest(w http.ResponseWriter, r *http.Request, r... FILE: cmd/socket-proxy/main.go constant programURL (line 23) | programURL = "github.com/wollomatic/socket-proxy" constant logAddSource (line 24) | logAddSource = false function main (line 33) | func main() { FILE: internal/config/config.go constant allowedDockerLabelPrefix (line 27) | allowedDockerLabelPrefix = "socket-proxy.allow." constant defaultAllowFrom (line 30) | defaultAllowFrom = "127.0.0.1/32" constant defaultAllowHealthcheck (line 31) | defaultAllowHealthcheck = false constant defaultLogJSON (line 32) | defaultLogJSON = false constant defaultLogLevel (line 33) | defaultLogLevel = "INFO" constant defaultListenIP (line 34) | defaultListenIP = "127.0.0.1" constant defaultProxyPort (line 35) | defaultProxyPort = uint(2375) constant defaultSocketPath (line 36) | defaultSocketPath = "/var/run/docker.sock" constant defaultShutdownGraceTime (line 37) | defaultShutdownGraceTime = uint(10) constant defaultWatchdogInterval (line 38) | defaultWatchdogInterval = uint(0) constant defaultStopOnWatchdog (line 39) | defaultStopOnWatchdog = false constant defaultProxySocketEndpoint (line 40) | defaultProxySocketEndpoint = "" constant defaultProxySocketEndpointFileMode (line 41) | defaultProxySocketEndpointFileMode = uint(0o600) constant defaultAllowBindMountFrom (line 42) | defaultAllowBindMountFrom = "" constant defaultProxyContainerName (line 43) | defaultProxyContainerName = "" type Config (line 46) | type Config struct method UpdateAllowLists (line 299) | func (cfg *Config) UpdateAllowLists() { type AllowListRegistry (line 62) | type AllowListRegistry struct method PrintNetworks (line 371) | func (allowLists *AllowListRegistry) PrintNetworks() { method PrintDefault (line 381) | func (allowLists *AllowListRegistry) PrintDefault(logJSON bool) { method PrintByIP (line 386) | func (allowLists *AllowListRegistry) PrintByIP(logJSON bool) { method FindByIP (line 395) | func (allowLists *AllowListRegistry) FindByIP(ip string) (AllowList, b... method initByIP (line 403) | func (allowLists *AllowListRegistry) initByIP(ctx context.Context, doc... method updateFromEvent (line 449) | func (allowLists *AllowListRegistry) updateFromEvent( method add (line 473) | func (allowLists *AllowListRegistry) add( method remove (line 527) | func (allowLists *AllowListRegistry) remove(containerID string) []stri... type AllowList (line 69) | type AllowList struct method Print (line 543) | func (allowList AllowList) Print(ip string, logJSON bool) { type methodRegex (line 76) | type methodRegex struct function InitConfig (line 95) | func InitConfig() (*Config, error) { function compileRegexp (line 596) | func compileRegexp(regex, method, configLocation string) (*regexp.Regexp... function newMethodRegexes (line 605) | func newMethodRegexes() []methodRegex { function effectiveMethodParams (line 616) | func effectiveMethodParams(params arrayParams) []param { function parseAllowedBindMounts (line 624) | func parseAllowedBindMounts(allowBindMountFromString string) ([]string, ... function listSocketProxyNetworks (line 636) | func listSocketProxyNetworks(socketPath, proxyContainerName string) ([]s... function getSocketProxyContainerSummary (line 650) | func getSocketProxyContainerSummary(socketPath, proxyContainerName strin... function extractLabelData (line 687) | func extractLabelData(cntr container.Summary) (map[string][]*regexp.Rege... FILE: internal/config/config_test.go function resetFlagsForTest (line 16) | func resetFlagsForTest(t *testing.T, args []string) func() { function Test_extractLabelData (line 32) | func Test_extractLabelData(t *testing.T) { function regexMapsEqual (line 103) | func regexMapsEqual(a, b map[string][]*regexp.Regexp) bool { function TestInitConfig_AllowMethodFlagOverridesEnv (line 131) | func TestInitConfig_AllowMethodFlagOverridesEnv(t *testing.T) { function TestInitConfig_ShutdownGraceTimeTooLarge (line 153) | func TestInitConfig_ShutdownGraceTimeTooLarge(t *testing.T) { function TestInitConfig_WatchdogIntervalTooLarge (line 166) | func TestInitConfig_WatchdogIntervalTooLarge(t *testing.T) { FILE: internal/config/env.go constant spAllowPrefix (line 7) | spAllowPrefix = "SP_ALLOW_" function getAllowFromEnv (line 15) | func getAllowFromEnv(env []string) map[string][]string { FILE: internal/config/env_test.go function Test_getAllowFromEnv (line 8) | func Test_getAllowFromEnv(t *testing.T) { FILE: internal/config/param.go type from (line 8) | type from constant fromEnv (line 11) | fromEnv from = 1 constant fromParam (line 12) | fromParam from = 2 type param (line 15) | type param struct type arrayParams (line 20) | type arrayParams method String (line 25) | func (a *arrayParams) String() string { method Set (line 33) | func (a *arrayParams) Set(value string) error { FILE: internal/docker/api/common.go constant DefaultVersion (line 11) | DefaultVersion = "1.51" FILE: internal/docker/api/types/container/container.go type Summary (line 10) | type Summary struct FILE: internal/docker/api/types/container/network_settings.go type NetworkSettingsSummary (line 14) | type NetworkSettingsSummary struct FILE: internal/docker/api/types/container/options.go type ListOptions (line 11) | type ListOptions struct FILE: internal/docker/api/types/error_response.go type ErrorResponse (line 10) | type ErrorResponse struct FILE: internal/docker/api/types/events/events.go type Type (line 11) | type Type type Action (line 14) | type Action constant ActionCreate (line 17) | ActionCreate Action = "create" constant ActionStart (line 18) | ActionStart Action = "start" constant ActionRestart (line 19) | ActionRestart Action = "restart" constant ActionStop (line 20) | ActionStop Action = "stop" constant ActionCheckpoint (line 21) | ActionCheckpoint Action = "checkpoint" constant ActionPause (line 22) | ActionPause Action = "pause" constant ActionUnPause (line 23) | ActionUnPause Action = "unpause" constant ActionAttach (line 24) | ActionAttach Action = "attach" constant ActionDetach (line 25) | ActionDetach Action = "detach" constant ActionResize (line 26) | ActionResize Action = "resize" constant ActionUpdate (line 27) | ActionUpdate Action = "update" constant ActionRename (line 28) | ActionRename Action = "rename" constant ActionKill (line 29) | ActionKill Action = "kill" constant ActionDie (line 30) | ActionDie Action = "die" constant ActionOOM (line 31) | ActionOOM Action = "oom" constant ActionDestroy (line 32) | ActionDestroy Action = "destroy" constant ActionRemove (line 33) | ActionRemove Action = "remove" constant ActionCommit (line 34) | ActionCommit Action = "commit" constant ActionTop (line 35) | ActionTop Action = "top" constant ActionCopy (line 36) | ActionCopy Action = "copy" constant ActionArchivePath (line 37) | ActionArchivePath Action = "archive-path" constant ActionExtractToDir (line 38) | ActionExtractToDir Action = "extract-to-dir" constant ActionExport (line 39) | ActionExport Action = "export" constant ActionImport (line 40) | ActionImport Action = "import" constant ActionSave (line 41) | ActionSave Action = "save" constant ActionLoad (line 42) | ActionLoad Action = "load" constant ActionTag (line 43) | ActionTag Action = "tag" constant ActionUnTag (line 44) | ActionUnTag Action = "untag" constant ActionPush (line 45) | ActionPush Action = "push" constant ActionPull (line 46) | ActionPull Action = "pull" constant ActionPrune (line 47) | ActionPrune Action = "prune" constant ActionDelete (line 48) | ActionDelete Action = "delete" constant ActionEnable (line 49) | ActionEnable Action = "enable" constant ActionDisable (line 50) | ActionDisable Action = "disable" constant ActionConnect (line 51) | ActionConnect Action = "connect" constant ActionDisconnect (line 52) | ActionDisconnect Action = "disconnect" constant ActionReload (line 53) | ActionReload Action = "reload" constant ActionMount (line 54) | ActionMount Action = "mount" constant ActionUnmount (line 55) | ActionUnmount Action = "unmount" constant ActionExecCreate (line 65) | ActionExecCreate Action = "exec_create" constant ActionExecStart (line 74) | ActionExecStart Action = "exec_start" constant ActionExecDie (line 75) | ActionExecDie Action = "exec_die" constant ActionExecDetach (line 76) | ActionExecDetach Action = "exec_detach" constant ActionHealthStatus (line 87) | ActionHealthStatus Action = "health_status" constant ActionHealthStatusRunning (line 88) | ActionHealthStatusRunning Action = "health_status: running" constant ActionHealthStatusHealthy (line 89) | ActionHealthStatusHealthy Action = "health_status: healthy" constant ActionHealthStatusUnhealthy (line 90) | ActionHealthStatusUnhealthy Action = "health_status: unhealthy" type Actor (line 98) | type Actor struct type Message (line 104) | type Message struct type ListOptions (line 111) | type ListOptions struct FILE: internal/docker/api/types/filters/errors.go type invalidFilter (line 11) | type invalidFilter struct method Error (line 16) | func (e invalidFilter) Error() string { method InvalidParameter (line 29) | func (e invalidFilter) InvalidParameter() {} FILE: internal/docker/api/types/filters/parse.go type Args (line 17) | type Args struct method Keys (line 37) | func (args Args) Keys() []string { method MarshalJSON (line 46) | func (args Args) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 63) | func (args Args) UnmarshalJSON(raw []byte) error { method Get (line 68) | func (args Args) Get(key string) []string { method Add (line 81) | func (args Args) Add(key, value string) { method Del (line 90) | func (args Args) Del(key, value string) { method Len (line 100) | func (args Args) Len() int { method MatchKVList (line 106) | func (args Args) MatchKVList(key string, sources map[string]string) bo... method Match (line 134) | func (args Args) Match(field, source string) bool { method GetBoolOrDefault (line 155) | func (args Args) GetBoolOrDefault(key string, defaultValue bool) (bool... method ExactMatch (line 175) | func (args Args) ExactMatch(key, source string) bool { method UniqueExactMatch (line 188) | func (args Args) UniqueExactMatch(key, source string) bool { method FuzzyMatch (line 204) | func (args Args) FuzzyMatch(key, source string) bool { method Contains (line 219) | func (args Args) Contains(field string) bool { method Validate (line 226) | func (args Args) Validate(accepted map[string]bool) error { method WalkValues (line 238) | func (args Args) WalkValues(field string, op func(value string) error)... method Clone (line 251) | func (args Args) Clone() (newArgs Args) { type KeyValuePair (line 22) | type KeyValuePair struct function NewArgs (line 28) | func NewArgs(initialArgs ...KeyValuePair) Args { function ToJSON (line 54) | func ToJSON(a Args) (string, error) { FILE: internal/docker/api/types/network/endpoint.go type EndpointSettings (line 9) | type EndpointSettings struct method Copy (line 22) | func (es *EndpointSettings) Copy() *EndpointSettings { FILE: internal/docker/api/types/types.go type Ping (line 10) | type Ping struct FILE: internal/docker/api/types/versions/compare.go function compare (line 15) | func compare(v1, v2 string) int { function LessThan (line 48) | func LessThan(v, other string) bool { FILE: internal/docker/client/client.go constant DefaultDockerHost (line 31) | DefaultDockerHost = "unix:///var/run/docker.sock" constant DummyHost (line 34) | DummyHost = "api.moby.localhost" constant fallbackAPIVersion (line 41) | fallbackAPIVersion = "1.24" type Client (line 45) | type Client struct method Close (line 165) | func (cli *Client) Close() error { method checkVersion (line 177) | func (cli *Client) checkVersion(ctx context.Context) error { method getAPIPath (line 199) | func (cli *Client) getAPIPath(ctx context.Context, p string, query url... method negotiateAPIVersionPing (line 212) | func (cli *Client) negotiateAPIVersionPing(pingResponse types.Ping) { function CheckRedirect (line 103) | func CheckRedirect(_ *http.Request, via []*http.Request) error { function NewClientWithOpts (line 113) | func NewClientWithOpts(ops ...Opt) (*Client, error) { function defaultHTTPClient (line 147) | func defaultHTTPClient(hostURL *url.URL) (*http.Client, error) { function ParseHostURL (line 237) | func ParseHostURL(host string) (*url.URL, error) { FILE: internal/docker/client/container_list.go method ContainerList (line 18) | func (cli *Client) ContainerList(ctx context.Context, options container.... FILE: internal/docker/client/errors.go type errConnectionFailed (line 14) | type errConnectionFailed struct method Error (line 19) | func (e errConnectionFailed) Error() string { method Unwrap (line 23) | func (e errConnectionFailed) Unwrap() error { function IsErrConnectionFailed (line 28) | func IsErrConnectionFailed(err error) bool { function connectionFailed (line 34) | func connectionFailed(host string) error { FILE: internal/docker/client/events.go method Events (line 21) | func (cli *Client) Events(ctx context.Context, options events.ListOption... function buildEventsQueryParams (line 73) | func buildEventsQueryParams(options events.ListOptions) (url.Values, err... FILE: internal/docker/client/options.go type Opt (line 16) | type Opt function WithHost (line 19) | func WithHost(host string) Opt { function WithAPIVersionNegotiation (line 40) | func WithAPIVersionNegotiation() Opt { FILE: internal/docker/client/ping.go method Ping (line 22) | func (cli *Client) Ping(ctx context.Context) (types.Ping, error) { function parsePingResponse (line 57) | func parsePingResponse(cli *Client, resp *http.Response) (types.Ping, er... FILE: internal/docker/client/request.go method get (line 25) | func (cli *Client) get(ctx context.Context, path string, query url.Value... method buildRequest (line 29) | func (cli *Client) buildRequest(ctx context.Context, method, path string... method sendRequest (line 49) | func (cli *Client) sendRequest(ctx context.Context, method, path string,... method doRequest (line 66) | func (cli *Client) doRequest(req *http.Request) (*http.Response, error) { method checkResponseErr (line 98) | func (cli *Client) checkResponseErr(serverResp *http.Response) (retErr e... method addHeaders (line 184) | func (cli *Client) addHeaders(req *http.Request, headers http.Header) *h... function ensureReaderClosed (line 208) | func ensureReaderClosed(response *http.Response) { FILE: internal/go-connections/sockets/sockets.go constant defaultTimeout (line 19) | defaultTimeout = 10 * time.Second constant maxUnixSocketPathSize (line 20) | maxUnixSocketPathSize = len(syscall.RawSockaddrUnix{}.Path) function ConfigureTransport (line 30) | func ConfigureTransport(tr *http.Transport, proto, addr string) error { function configureUnixTransport (line 52) | func configureUnixTransport(tr *http.Transport, addr string) error {