MCPcopy Index your code
hub / github.com/docker-flow/docker-flow-proxy

github.com/docker-flow/docker-flow-proxy @18.07.06-72

Chat with this repo
repository ↗ · DeepWiki ↗ · release 18.07.06-72 ↗ · + Follow
701 symbols 2,225 edges 46 files 139 documented · 20% updated 7mo ago18.07.06-72 · 2018-07-06★ 3201 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Docker Flow Proxy

GitHub release license Docker Pulls Go Report Card

The goal of the Docker Flow Proxy project is to provide an easy way to reconfigure proxy every time a new service is deployed, or when a service is scaled. It does not try to "reinvent the wheel", but to leverage the existing leaders and combine them through an easy to use integration. It uses HAProxy as a proxy and adds custom logic that allows on-demand reconfiguration.

Supported archetectures are:

  • linux-amd64
  • linux-arm

Please visit the project documentation for more info or join the #df-proxy Slack channel in DevOps20 if you have any questions, suggestions, or problems.

Buy Me a Coffee at ko-fi.com

Extension points exported contracts — how you extend this code

Reloader (Interface)
Reloader defines the interface for reloading HAProxy [12 implementers]
actions/reload.go
Reconfigurable (Interface)
Reconfigurable defines mandatory interface [4 implementers]
actions/reconfigure.go
Fetchable (Interface)
Fetchable defines interface that fetches information from other sources [3 implementers]
actions/fetch.go
Certer (Interface)
Certer defines the interface that must be implemented by any struct that deals with certificates. [3 implementers]
server/cert.go
ServiceParameterProvider (Interface)
ServiceParameterProvider defines common interface for translating parameters into structs. [2 implementers]
proxy/types.go
Configer (Interface)
Configer defines the interface that must be implemented by any struct that deals with proxy configuration. [2 implementers]
server/config.go
Server (Interface)
Server defines interface used for creating DFP Web server TODO: Move to server package
server.go
Removable (Interface)
Removable defines functions that must be implemented by any struct in charge of removing services from the proxy.
actions/remove.go

Core symbols most depended-on inside this repo

NewHaProxy
called by 69
proxy/ha_proxy.go
AddService
called by 47
proxy/ha_proxy.go
Get
called by 45
server/config.go
CreateConfigFromTemplates
called by 35
proxy/proxy.go
GetString
called by 33
proxy/types.go
CreateConfigFromTemplates
called by 33
proxy/ha_proxy.go
NewCert
called by 30
server/cert.go
GetTemplates
called by 27
actions/reconfigure.go

Shape

Method 545
Function 75
Struct 66
Interface 13
TypeAlias 2

Languages

Go100%

Modules by API surface

proxy/ha_proxy_test.go98 symbols
actions/reconfigure_test.go68 symbols
server/server_test.go62 symbols
server/cert_test.go53 symbols
server_test.go50 symbols
integration_tests/integration_swarm_test.go35 symbols
server/server.go26 symbols
proxy/types.go25 symbols
proxy/ha_proxy.go25 symbols
metrics/exporter.go19 symbols
server/cert.go17 symbols
proxy/types_test.go17 symbols

For agents

$ claude mcp add docker-flow-proxy \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact