stackabletech / stackabletech/opa-operator

User Info Fetcher: Enable TLS with WebPKI trust by default

Abierto
#517 4 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Rust
Estrellas
21
Forks
5
Merge medio
12 h 44 min
PR fusionados (30 d)
11

Descripción

Currently, the following configuration leads to the HTTP client connecting without TLS:

apiVersion: opa.stackable.tech/v1alpha1
kind: OpaCluster
metadata:
  name: test-opa
spec:
  clusterConfig:
    userInfo:
      backend:
        keycloak:
          hostname: keycloak.example.com
          clientCredentialsSecret: opa-infofetcher-keycloak-secret
          adminRealm: master
          userRealm: master

And to enable TLS, you have to jump through a few hoops by adding:

          tls:
            verification:
              server:
                caCert:
                  webPki: {}

In this day-in-age, I think it is expected to default to TLS (and the CRA requires secure-by-default).

So I propose that we impl Default for tls:

impl Default for TlsVerification {
    fn default() -> Self {
        Self::Server(TlsServerVerification {
            ca_cert: CaCert::WebPki {},
        })
    }
}

... and explicit steps are to be taken to disable TLS or to ignore verification (or set internal PKI), eg:

          tls: null 

or

          tls:
            verification:
              none: {}

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con la configuración TlsVerification y el backend userInfo de Keycloak descritos en el issue; después, sigue cómo se deserializan las configuraciones TLS y se aplican al cliente HTTP. Verifica que, de forma predeterminada, se use la confianza de WebPKI, mientras que las configuraciones explícitas null, none e internal-PKI mantengan su comportamiento previsto; añade o actualiza las pruebas pertinentes si el repositorio las proporciona.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
rust
Área
networking, security
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.