[Feature] Run the PD, Store and Server images as a non-root user
Los mantenedores suelen responder en 1 día
@SebastianGruza ya está trabajando en esto.
Desde el 20/9/2026.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- docker, helm, java, kubernetes
- Área
- devops, infrastructure, security
Línea de trabajo
Locate the Dockerfiles and entrypoints for the PD, Store and Server images, then inspect how their data, log and temporary directories are created and used. Build each image and verify the Java process runs as the fixed user without permission errors; document the PVC upgrade note and ensure the Helm chart's security contexts can adopt the new defaults.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Feature Description (功能描述)
The published hugegraph/pd, hugegraph/store and hugegraph/server images all run their Java process as root: none of the three declares a USER, checked against the current latest image configs on Docker Hub (registry config blob, .config.User empty on all three, 2026-09-17).
Why it matters on Kubernetes:
- A namespace under the
restrictedPod Security Standard rejects these pods outright (runAsNonRoot != true). - The Helm chart in #3132 cannot set
runAsNonRoot: trueorreadOnlyRootFilesystem: trueas defaults; it documents this in its Limitations and ships the remaining hardening it can (allowPrivilegeEscalation: false,capabilities.drop: [ALL],seccompProfile: RuntimeDefault). - Security scanners (kube-score, polaris, kubescape) flag every workload for it, which any adopter evaluating the chart sees on day one; the 2026-09-10 chart test campaign recorded it as a failing kubescape NSA control on both branches.
Proposal:
- Create a fixed-UID user in each Dockerfile (the toolchain's Hubble image can follow the same pattern later) and
chownthe data and log directories to it. - Declare
USERin the image and keep the entrypoints from writing outside the data, log and temp directories, soreadOnlyRootFilesystembecomes possible as a follow-up. - Ship it in a minor release with an upgrade note: existing PVC data written as root needs a one-time
chown, or an initContainer /fsGroupnote in the chart.
The chart side is ready to adopt this the release it lands: podSecurityContext and securityContext are fully configurable per component today, so only the defaults would change.
- Lenguaje dominante
- Java
- Estrellas
- 3.2k
- Forks
- 641
- Merge medio
- 2 d 4 h
- PR fusionados (30 d)
- 31
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 apache/hugegraph
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
apache/hugegraph#3231 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[Bug] Prometheus metrics format bugQuizá libre de nuevo @cui2022 la tomó hace 60 días y no hay ningún pull request abierto. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
apache/hugegraph#3142 · 7 comentarios ·
Los mantenedores suelen responder en 1 día
-
[Bug] First Gremlin query can poison ConditionQuery initializationPosiblemente ocupada @contrueCT la tomó hoy. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
Los mantenedores suelen responder en 1 día
-
[Bug] CI accepts obsolete PR targets after retargeting or force-pushPosiblemente ocupada @contrueCT la tomó hoy. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 1 día
Todos los issues de apache/hugegraph
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
apache/rocketmq-dashboard#6110 ·
Los mantenedores suelen responder en 4 días
-
`Processing lsp` never exits and leaves orphaned processesPosiblemente ocupada @overcast302 la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
processing/processing4#1578 · 1 comentario ·
-
ASM is not up-to-dateAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 60/100
Los mantenedores suelen responder en 1 día
-
[BUG] S3 CORS responses omit Access-Control-Allow-Credentials for matched originsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
floci-io/floci#5369 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
securityHeaders replaces a route's own Content-Security-Policy (0.9.9; weakens embedders' pages)Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día