Allow mutual TLS with registry with redirects to the object storage
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 38/100
Línea de trabajo
Comienza rastreando la extracción del chart OCI de source-controller cuando .spec.certSecretRef proporciona una CA y, a continuación, compara su gestión de certificados con internal/tlsutil/tls.go de Helm alrededor de las líneas 112-116. Reproduce la redirección a S3 usando la configuración de registro proporcionada y define como terminado que la extracción a través de la redirección tenga éxito, con el comportamiento de los certificados documentado y probado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Environment:
- OCI registry with redirect on pull configured
- source-controller
v1.7.4
Problem statement
Registry with "redirect on pull" here means that when getting the image registry will not give the client a blob directly, but rather a 302 code with a location if this blob on the object storage.
The concrete case is local registry certificate signed by the internal CA which gets passed to in .spec.certSecretRef of a HelmRepository (repositiry type is oci). When chart image gets pulled registry redirects the client (source-controlelr) to the AWS S3 server with a proper trusted PKI certificate.
This results in a situation where source-controller checks the validity of the certificate of the object storage server using the CA certificate provided earlier in the HelmRelease object. This will obviously fail:
chart pull error: failed to download chart for remote reference: failed
to get ''oci://registry/charts/kcm-templates:1.1.0-rc5'':
failed to copy: httpReadSeeker: failed open: failed to do request: Get "https://s3.eu-west-3.amazonaws.com/docker/registry/v2/blobs/sha256/f6/f631: tls: failed to verify certificate: x509: certificate is valid for *.s3.eu-west-3.amazonaws.com,
s3.eu-west-3.amazonaws.com, *.s3-eu-west-3.amazonaws.com, s3-eu-west-3.amazonaws.com,
This pull works with helm cli for example, because helm adds custom certificate to the pool of the system certs and checks the validity against the pool and not just a single CA certificate (ref: https://github.com/helm/helm/blob/main/internal/tlsutil/tls.go#L112-L116).
The request
Flux should allow that types of environments, either by adding system certificate pool implicitly (as in case of helm) or with an additional flag to enable it.
As I understood the current behavior (single certificate check) is to address certain security-related scenarios. But in the previously described environment it's becomes inconvenient and to overcome this it's required to mount custom certificate directly to the source-controller pod, which will add it to the certificate pool by go runtime.
- Lenguaje dominante
- Go
- Estrellas
- 283
- Forks
- 258
- Merge medio
- 1 d 17 h
- PR fusionados (30 d)
- 15
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin 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 fluxcd/source-controller
-
Improve documentation on debugging the controller locallyQuizá libre de nuevo @Bryandero98 la tomó hace 29 días y no hay ningún pull request abierto. Abiertoarea/docs good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
fluxcd/source-controller#666 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
area/oci enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
fluxcd/source-controller#2180 ·
Los mantenedores suelen responder en 1 día
-
`OCIRepository`/cosign verification: support TSA-only trusted roots (no transparency log) for private Sigstore instances like GitHub Artifact AttestationsPosiblemente ocupada @stealthybox la tomó hace 142 días. Abiertoarea/oci area/security enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
fluxcd/source-controller#2167 · 4 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
fluxcd/source-controller#2150 ·
Los mantenedores suelen responder en 1 día
-
GitRepository `.spec.ref.commit` + `.spec.ref.branch` does not shallow clone, contrary to the docsAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 42/100
fluxcd/source-controller#2146 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de fluxcd/source-controller
Issues similares
-
perf(translator): Claude→Responses stream re-validates the whole request body on every SSE chunkAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
router-for-me/CLIProxyAPI#6665 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
superplanehq/superplane#8557 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
copilot-api domain:platform go
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
docs: clarify gh api -f vs -F and @-file expansion in the gh skillPosiblemente ocupada @MatiasOlivera la tomó hoy. Abiertoenhancement
Dificultad 2/5 Medio día Aptitud para principiantes 62/100
cli/cli#14701 · 2 comentarios ·
Los mantenedores suelen responder en 1 día