Warn or block when OCI storage uses result-derived registry without storage.oci.repository
Los mantenedores suelen responder en 2 días
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 62/100
Línea de trabajo
Comienza siguiendo la ruta de inicio del controller y el manejo de la configuración del almacenamiento OCI, centrándote en cómo se detecta la ausencia de storage.oci.repository. Confirma el comportamiento existente del registry derivado del resultado e identifica los puntos de entrada relevantes del proyecto para logging o tests. Se considera terminado cuando aparece una advertencia si el almacenamiento OCI está habilitado sin la configuración del repository, sin cambiar el comportamiento existente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
When OCI storage is enabled without storage.oci.repository, Chains derives the destination registry from TaskRun results (*IMAGE_URL / *IMAGE_DIGEST). This means pipeline authors control which registry host the Chains controller makes outbound requests to — an SSRF/egress concern in multi-tenant clusters.
The storage.oci.repository config already mitigates this by overriding result-derived registries, but it's not required and there's no warning when it's absent.
Proposal
- Log a warning at controller startup when OCI storage is enabled without
storage.oci.repositoryconfigured — something like: "OCI storage is using result-derived registries. In multi-tenant deployments, setstorage.oci.repositoryto restrict the destination registry." - Consider a future option like
storage.oci.allow-result-derived-registry: true|false(default true for backwards compatibility) that lets operators explicitly opt in or out of result-derived registries.
Context
Validated on a live cluster: a TaskRun with IMAGE_URL pointing to an internal service caused the Chains controller to make outbound OCI registry requests (GET /v2/, GET /v2/.../manifests/...) to that host from the controller's network context.
The existing storage.oci.repository config is the right fix, but it should be framed as security-critical for multi-tenant deployments in documentation (#1661).
Related: #1661 (trust model documentation)
/kind feature
- Lenguaje dominante
- Go
- Estrellas
- 279
- Forks
- 171
- Merge medio
- 2 d 4 h
- PR fusionados (30 d)
- 70
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 tektoncd/chains
-
Add missing fields in `config.md` docsPosiblemente ocupada @cvas22 la tomó hace 19 días. Abiertokind/feature lifecycle/frozen
Dificultad 1/5 1-3 horas Aptitud para principiantes 65/100
tektoncd/chains#748 · 3 comentarios ·
Los mantenedores suelen responder en 2 días
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 42/100
tektoncd/chains#2024 · 2 reacciones ·
Los mantenedores suelen responder en 2 días
-
Bug: MarkSigned called despite signer-load or format-not-found failures (signed=true with no signature)Posiblemente ocupada @anithapriyanatarajan la tomó hace 119 días. Abiertokind/bug
tektoncd/chains#1796 · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
Warn when non-default TUF mirror URL is configuredQuizá libre de nuevo @anithapriyanatarajan la tomó hace 167 días y no hay ningún pull request abierto. Abiertokind/feature
tektoncd/chains#1665 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
kind/feature
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 2 días
Todos los issues de tektoncd/chains
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
Los mantenedores suelen responder en 2 días
-
build: make check-linter version tests deterministicPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
GitHub webhook is not subscribed to release events, so `event: release` never triggersPosiblemente ocupada @qsun la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
woodpecker-ci/woodpecker#7542 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
zilliztech/milvus-backup#1386 ·
Los mantenedores suelen responder en 1 día