Egress: explicit TCP rules for named in-cluster services (databases, brokers)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- go, kubernetes
- Área
- backend, networking
Línea de trabajo
Start with docs/egress-traffic.md and trace the actor TCP egress path through the Envoy dataplane and egress gateway. Identify where hostname and port rules are configured and how destinations are resolved; the issue proposes forwarding raw TCP bytes and limiting destinations to Service IPs or an operator CIDR allowlist. Done means explicit rules support named TCP destinations and ports without inspecting the connection.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Use case
We run test workloads as actors. The tests need backing services such as PostgreSQL and a Kafka-compatible broker. docs/egress-traffic.md asks for an issue with the use case for blocked egress traffic, so here it is.
Today actor TCP egress is redirected to atunnel. The egress gateway supports HTTP/1.1, h2c, intercepted HTTPS and TLS passthrough. Any other TCP connection is accepted and then closed with no bytes. A PostgreSQL SSLRequest sent to a cluster Service through the gateway gets an HTTP 400 back.
So these services must run as extra containers inside the actor. Then all containers share one loopback, and ports collide between the services and the code under test. We hit this with two services that both bind the same admin port.
Request
An explicit TCP rule, for example:
rules:
- tcp:
hostnames: [postgres.my-namespace.svc.cluster.local]
ports: {numbers: [5432]}
- The gateway forwards the bytes without inspecting them. It decides once per connection, on the resolved name and port, so server-first protocols (PostgreSQL, MySQL, SSH) work.
- An operator can limit these rules to destinations that resolve to cluster Service IPs, or to a configured CIDR allowlist.
This differs from #1341: it does not sniff and does not pass unknown traffic through. A port carries TCP only when a rule names that port.
Tested on v0.6.0, Envoy dataplane, GKE 1.36.
- Lenguaje dominante
- Go
- Estrellas
- 5.9k
- Forks
- 637
- Merge medio
- 2 d 1 h
- PR fusionados (30 d)
- 523
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de agent-substrate/substrate
-
Clean up the ko retry testsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertoarea/dev-infra area/reliability area/tests kind/cleanup
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
agent-substrate/substrate#3461 ·
Los mantenedores suelen responder en 1 día
-
egress: drop the empty-provider check in providerCredentialPosiblemente ocupada @cloudonly la tomó hace 3 días. Abiertoarea/network kind/cleanup
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
agent-substrate/substrate#3428 ·
Los mantenedores suelen responder en 1 día
-
kubectl-ate create actor-template -f <file> fails with useless errorPosiblemente ocupada @cloudonly la tomó hace 4 días. Abiertoarea/cli kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
agent-substrate/substrate#3406 ·
Los mantenedores suelen responder en 1 día
-
k8s-credential-provider manifest is missing ate-otel-config envFrom, failing OTLP metric exports to [::1]:4317 / 127.0.0.1:4317 every 60sPosiblemente ocupada @ericcurtin la tomó hace 5 días. Abiertoarea/dev-infra area/observability area/security kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
agent-substrate/substrate#3282 ·
Los mantenedores suelen responder en 1 día
-
filecachegc.runPass suppresses eviction logs when FreedBytes < target and consecutiveShortfalls > 3Posiblemente ocupada @ericcurtin la tomó hace 4 días. Abiertoarea/node area/observability area/storage kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
agent-substrate/substrate#3281 ·
Los mantenedores suelen responder en 1 día
Todos los issues de agent-substrate/substrate
Issues similares
-
bug good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
[mesheryctl] design delete fails when passing file or URL as positional argumentPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertocomponent/mesheryctl kind/bug language/go
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
meshery/meshery#22772 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
backend security size:S
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
limitlessprojects/Go-Hybrid#3342 ·
Los mantenedores suelen responder en 1 día
-
status/ready type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
buildpacks/pack#2733 ·
Los mantenedores suelen responder en 1 día