go feature: "init:true" prevents any further use cases that require "init:false", such as running systemd as PID1
Les mainteneurs répondent en général sous 1 jour
@v-Kaniska244 y travaille déjà.
Depuis le 5/11/2026.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 55/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- Active
- Domaine
- devops, infrastructure
Piste de recherche
Start by reading the Go feature's devcontainer-feature.json and trace how its init setting is combined with devcontainer.json settings. Check whether the feature needs init: true for process cleanup, then compare the behavior with the use case in the issue. Done means either users can disable init for the Go feature or its reason is documented.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
The go feature's devcontainer-feature.json sets "init": true. Unfortunately, I couldn't find any documentation, commit message or issue that explains the reason(ing) behind this forced setting. Because of the way the CLI merges init, no devcontainer.json can turn it back off. Any devcontainer that needs its own PID1, such as systemd, can't use the go feature.
Use Case
Running systemd as PID1 in a devcontainer to test against certain systemd behavior tied to PID1 as opposed to running systemd as non-PID1. For example:
{
"build": { "dockerfile": "Dockerfile" }, // ENTRYPOINT ["/usr/lib/systemd/systemd"]
"overrideCommand": false,
"init": false,
"privileged": true,
"features": {
"ghcr.io/devcontainers/features/go:1": {}
}
}
Without the go feature this works: the CLI's /bin/sh -c '… exec "$@"' wrapper execs the image's ENTRYPOINT, so systemd becomes PID1.
But when adding the go feature, the CLI combines init from devcontainer.json and all features so that any true wins. The container is then started with --init, tini becomes PID1, and systemd refuses to start because it isn't PID1. The explicit "init": false in devcontainer.json is ignored.
- The Go definition this feature replaced (
microsoft/vscode-dev-containers,containers/go) used only--cap-add=SYS_PTRACE --security-opt seccomp=unconfined, without--init. - Might
init: truebe set so that leftover processes get cleaned up (for example after Delve kills a debugged program, or child processes fromgo testandgopls)? - Feature metadata can't depend on options, so users have no way to opt out today.
Would it be possible to remove this setting? If not, could you please document the reason why it is needed with this feature?
- Langage dominant
- Shell
- Étoiles
- 1.6k
- Forks
- 627
- Merge moyen
- 1 j 19 h
- PR mergées (30 j)
- 5
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de devcontainers/features
-
Terraform feature fails to install due to tflint checksumPeut-être pris @v-Kaniska244 l’a pris il y a 6 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
devcontainers/features#1757 · 1 commentaire · 1 réaction · 2 personnes assignées ·
Les mainteneurs répondent en général sous 1 jour
-
python: signature verification can never succeed for Python 3.14+Peut-être pris @V-Subhankar-infy l’a pris aujourd’hui. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 52/100
devcontainers/features#1764 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
docker-outside-of-docker: processes started before the entrypoint's `groupmod` keep stale groups and cannot use the socketPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 18/100
devcontainers/features#1760 ·
Les mainteneurs répondent en général sous 1 jour
-
Can the onCreateCommand be run background and use the Output tab instead of the Terminal tab?Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 38/100
devcontainers/features#1754 ·
Les mainteneurs répondent en général sous 1 jour
-
use mise for java feature installation or make sdkman configuable to download JDK from mirrosOuverte
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
devcontainers/features#1730 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de devcontainers/features
Issues similaires
-
Shell framework build fails at "copy the shader libraries": the iOS shader libraries are now one file b-<chain>.imgPeut-être pris @xiaofeng-han l’a pris aujourd’hui. Ouvertebuild ios
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
clawsweeper:fix-shape-clear clawsweeper:needs-maintainer-review clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:other issue-rating: 🦞 diamond lobster P2
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
openclaw/crabbox#3058 · 1 commentaire · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
needs-triage S3: minor
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
manaflow-ai/cmux#36796 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
YunoHost-Apps/snappymail_ynh#205 ·
-
ai bug priority-low
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour