Support for docker secrets exported as environment variables
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
Inizia tracciando il modo in cui Docker CLI analizza e inoltra le definizioni dei secret, quindi determina se l’esportazione delle variabili d’ambiente appartenga a questo repository oppure all’implementazione engine o Swarm di Docker. Per considerare il lavoro completato, è necessario avere una sintassi di configurazione concordata, aver chiarito il comportamento insieme al mount del file esistente e avere test che coprano l’opzione proposta.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Docker secrets are intentionally mounted into containers as files under /run/secrets/, which is a secure default. However, many applications and frameworks expect configuration via environment variables rather than files. As a result, users frequently resort to workarounds like:
entrypoint: >
sh -c "export API_KEY=$(cat /run/secrets/api_key) && exec myapp"
This pattern is widely used and effectively gives the container an environment variable anyway — just with more boilerplate and no additional security compared to a built-in feature.
Providing an optional way to export a secret as an environment variable would significantly improve ergonomics in cases where this pattern is required.
Kubernetes, for example, supports this functionality:
https://kubernetes.io/docs/tasks/inject-data-application/distribute-credentials-secure/#define-a-container-environment-variable-with-data-from-a-single-secret
Docker could offer an equivalent mechanism with a syntax like:
secrets:
- secret: api_key
as_env: APP_API_KEY
This would avoid shell-based workarounds while keeping the current file-mount behavior as the default.
For example, in co-op cloud, which packages open source applications using docker swarm, there are many applications which require secrets as environment variables and this would be a great improvement on app packaging.
- Lingua principale
- Go
- Stelle
- 6.1k
- Fork
- 2.2k
- Merge medio
- 1g 10h
- PR unite (30g)
- 47
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di docker/cli
-
kind/bug status/0-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
kind/bug status/0-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
kind/feature status/0-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
kind/bug status/0-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Issue simili
-
area/dev-productivity area/disaster-recovery area/ipcei kind/enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
🤔 refinement needed
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
equinor/radix-operator#1979 ·
-
help wanted kind/documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
liquidmetal-dev/flintlock#1239 ·