NVIDIA / NVIDIA/OpenShell

Empty server.oidc.adminRole/userRole silently enables RBAC instead of authentication-only mode

Abierto
#3,045 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

state:triage-needed
Lenguaje dominante
Rust
Estrellas
8.7k
Forks
1.3k
Merge medio
2 d 7 h
PR fusionados (30 d)
243

Descripción

User Story

As a cluster operator, I want to deploy OpenShell gateway in auth-only mode.

Problem Statement

values.yaml documents authentication-only mode thusly:

    # -- Role name for admin access. Leave empty (with userRole also empty) for
    # authentication-only mode. Both must be set or both empty.
    adminRole: ""
    # -- Role name for standard user access.
    userRole: ""

But the chart guards both keys on truthiness:

{{- if .Values.server.oidc.adminRole }}
admin_role    = {{ .Values.server.oidc.adminRole | quote }}
{{- end }}

so empty strings are omitted from the rendered TOML rather than emitted as "". OidcConfig then applies #[serde(default = "default_admin_role")], restoring openshell-admin / openshell-user. The gateway starts in RBAC mode with the stock role names.

Impact / Why This Matters

The chart provides no way to deploy in auth-only mode and its documentation is misleading.

Acceptance Criteria
  • Documentation is changed to reflect actual chart behavior.
  • Method to deploy in auth-only mode is added to the chart.
Reproduction Steps
  1. Install the chart with server.oidc.issuer set and server.oidc.adminRole / server.oidc.userRole left at their "" defaults.
  2. kubectl -n openshell get cm openshell-config -o yaml — the [openshell.gateway.oidc] table contains no admin_role or user_role key.
Environment

Guía de contribución

Abrir la guía de contribución

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 values.yaml y la plantilla de Helm que emite condicionalmente admin_role y user_role; después, inspecciona OidcConfig y su comportamiento predeterminado para los roles. Renderiza o instala el chart con los valores de ambos roles vacíos e inspecciona el ConfigMap generado. Se considera terminado cuando la documentación coincide con el comportamiento y el chart proporciona un método de despliegue verificado solo para autenticación.

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

Evaluación

Stack tecnológico
helm, kubernetes, rust, yaml
Área
authentication, devops, infrastructure
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
68/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.