thehardwarestore.ai

where AI agents shop for the right tools

$ show jittering/traefik-kop

[account ↗] [repo ↗] APPLICATION ★ 519 27 ● active (last update 5 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

traefik-kop is a dynamic service discovery agent that bridges Docker containers and Traefik reverse proxy via a Redis store. It runs as a container or service with access to the Docker socket, monitors container events (and polls for missed events), extracts Traefik-relevant labels (with support for custom prefixes and namespaces), and writes the corresponding service configuration to Redis in a format consumable by Traefik's Redis provider. The application handles IP address resolution (including host IP, container network IPs, and user-specified overrides), port mapping from container to host ports, and supports features like load balancer merging across multiple nodes and Redis Sentinel for high availability. Built in Go, it leverages the Traefik library's Docker provider architecture but extends it to persist configuration to Redis instead of direct Traefik integration, enabling multi-host Docker environments to share a single Traefik instance for ingress.

RATING8.6/10
QUALITY8.0/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS11
VELOCITY0.76
OPEN ISSUES5
CLOSED ISSUES67
LAST COMMIT5 months ago
github.com/abbot/go-http-auth (go) =>
github.com/gorilla/mux (go) =>
github.com/mailgun/minheap (go) =>
github.com/BurntSushi/toml (go) v1.5.0
github.com/alicebob/miniredis/v2 (go) v2.37.0
github.com/docker/cli (go) v29.0.0+incompatible
github.com/docker/docker (go) v28.5.2+incompatible
github.com/docker/go-connections (go) v0.6.0
github.com/echovault/sugardb (go) v0.17.0
github.com/gofiber/fiber/v2 (go) v2.52.9
github.com/pkg/errors (go) v0.9.1
github.com/redis/go-redis/v9 (go) v9.16.0
github.com/rs/zerolog (go) v1.34.0
github.com/ryanuber/go-glob (go) v1.0.0
github.com/sirupsen/logrus (go) v1.9.3
github.com/stretchr/testify (go) v1.11.1
github.com/traefik/paerser (go) v0.2.2
github.com/traefik/traefik/v3 (go) v3.6.1
github.com/urfave/cli/v2 (go) v2.27.7
github.com/valyala/fasthttp (go) v1.68.0
golang.org/x/exp (go) v0.0.0-20251017212417-90e834f514db
gopkg.in/yaml.v3 (go) v3.0.1
cloud.google.com/go/auth (go) v0.17.0
cloud.google.com/go/auth/oauth2adapt (go) v0.2.8
cloud.google.com/go/compute/metadata (go) v0.9.0
dario.cat/mergo (go) v1.0.1
github.com/AdamSLevy/jsonrpc2/v14 (go) v14.1.0
github.com/Azure/azure-sdk-for-go (go) v68.0.0+incompatible
github.com/Azure/azure-sdk-for-go/sdk/azcore (go) v1.19.1
github.com/Azure/azure-sdk-for-go/sdk/azidentity (go) v1.13.0
github.com/Azure/azure-sdk-for-go/sdk/internal (go) v1.11.2
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns (go) v1.2.0
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns (go) v1.3.0
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph (go) v0.9.0
github.com/Azure/go-autorest (go) v14.2.0+incompatible
github.com/Azure/go-autorest/autorest (go) v0.11.30
github.com/Azure/go-autorest/autorest/adal (go) v0.9.23
github.com/Azure/go-autorest/autorest/azure/auth (go) v0.5.13
github.com/Azure/go-autorest/autorest/azure/cli (go) v0.4.6
github.com/Azure/go-autorest/autorest/date (go) v0.3.0
github.com/Azure/go-autorest/autorest/to (go) v0.4.1
github.com/Azure/go-autorest/logger (go) v0.2.1
github.com/Azure/go-autorest/tracing (go) v0.6.0
github.com/AzureAD/microsoft-authentication-library-for-go (go) v1.5.0
github.com/HdrHistogram/hdrhistogram-go (go) v1.1.2
github.com/Masterminds/goutils (go) v1.1.1
github.com/Masterminds/semver/v3 (go) v3.3.1
github.com/Masterminds/sprig/v3 (go) v3.2.3
github.com/Microsoft/go-winio (go) v0.6.2
github.com/VividCortex/gohistogram (go) v1.0.0
github.com/akamai/AkamaiOPEN-edgegrid-golang/v11 (go) v11.1.0
github.com/alibabacloud-go/alibabacloud-gateway-spi (go) v0.0.5
github.com/alibabacloud-go/darabonba-openapi/v2 (go) v2.1.13
github.com/alibabacloud-go/debug (go) v1.0.1
github.com/alibabacloud-go/tea (go) v1.3.13
github.com/alibabacloud-go/tea-utils/v2 (go) v2.0.7
github.com/aliyun/credentials-go (go) v1.4.7
github.com/andybalholm/brotli (go) v1.2.0
github.com/armon/go-metrics (go) v0.4.1
github.com/aws/aws-sdk-go-v2 (go) v1.39.4
github.com/aws/aws-sdk-go-v2/config (go) v1.31.15
github.com/aws/aws-sdk-go-v2/credentials (go) v1.18.19
github.com/aws/aws-sdk-go-v2/feature/ec2/imds (go) v1.18.11
github.com/aws/aws-sdk-go-v2/internal/configsources (go) v1.4.11
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 (go) v2.7.11
github.com/aws/aws-sdk-go-v2/internal/ini (go) v1.8.4
github.com/aws/aws-sdk-go-v2/service/ec2 (go) v1.203.1
github.com/aws/aws-sdk-go-v2/service/ecs (go) v1.53.15
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding (go) v1.13.2
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url (go) v1.13.11
github.com/aws/aws-sdk-go-v2/service/lightsail (go) v1.50.2
github.com/aws/aws-sdk-go-v2/service/route53 (go) v1.59.1
github.com/aws/aws-sdk-go-v2/service/ssm (go) v1.56.13
github.com/aws/aws-sdk-go-v2/service/sso (go) v1.29.8
github.com/aws/aws-sdk-go-v2/service/ssooidc (go) v1.35.3
github.com/aws/aws-sdk-go-v2/service/sts (go) v1.38.9
github.com/aws/smithy-go (go) v1.23.1
github.com/aziontech/azionapi-go-sdk (go) v0.143.0
github.com/baidubce/bce-sdk-go (go) v0.9.250
github.com/benbjohnson/clock (go) v1.3.5
github.com/beorn7/perks (go) v1.0.1
github.com/boltdb/bolt (go) v1.3.1
github.com/boombuler/barcode (go) v1.0.1-0.20190219062509-6c824513bacc
github.com/bytedance/sonic (go) v1.12.0
github.com/cenkalti/backoff/v4 (go) v4.3.0
github.com/cenkalti/backoff/v5 (go) v5.0.3
github.com/cespare/xxhash/v2 (go) v2.3.0
github.com/clbanning/mxj/v2 (go) v2.7.0
github.com/containerd/errdefs (go) v1.0.0
github.com/containerd/errdefs/pkg (go) v0.3.0
github.com/containous/alice (go) v0.0.0-20181107144136-d83ebdd94cbd
github.com/coreos/go-semver (go) v0.3.1
github.com/coreos/go-systemd/v22 (go) v22.5.0
github.com/cpuguy83/go-md2man/v2 (go) v2.0.7
github.com/davecgh/go-spew (go) v1.1.2-0.20180830191138-d8f796af33cc
github.com/deepmap/oapi-codegen (go) v1.9.1
github.com/desertbit/timer (go) v0.0.0-20180107155436-c41aec40b27f
github.com/dgryski/go-rendezvous (go) v0.0.0-20200823014737-9f7001d12a5f
github.com/dimchansky/utfbom (go) v1.1.1
github.com/distribution/reference (go) v0.6.0
Files by Type (count)
YAML
28
Go
24
Markdown
3
Dockerfile
2
Makefile
2
Other (.mod)
2
Docker Ignore
1
Git Ignore
1
Other (no ext)
1
TOML
1
Other (.sum)
1
Shell
1
Files by Type (size)
Other (.sum)
189KB
Go
127KB
YAML
29KB
Markdown
28KB
Other (.mod)
21KB
TOML
13KB
Other (no ext)
1KB
Makefile
1KB
Dockerfile
469B
Shell
315B
Git Ignore
115B
Docker Ignore
86B

The LLM identified 1 files worth highlighting for reuse:

A reusable HTTP proxy that filters Docker API labels by a specified prefix, enabling coexistence of Traefik and traefik-kop on the same host by stripping the prefix from labels and removing non-prefixed Traefik labels. Demonstrates non-obvious skill in API interception and transformation.

file: docker_proxy.go ↗ | tags: #proxy #label-filtering
Last analyzed: 2026-07-31 08:35:34.857549
Next check: 2026-08-07 08:35:34.833555
$ submit: