-
Notifications
You must be signed in to change notification settings - Fork 524
enter: better control over copied host envvars #1695
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
45mg
wants to merge
7
commits into
89luca89:main
Choose a base branch
from
45mg:enter-envvar-control
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
977fab6
enter: better control over copied host envvars
41f27be
Update distrobox-enter
89luca89 25c4248
Update distrobox-enter
89luca89 7e5c8ec
Update distrobox-enter
89luca89 d3e69cb
Update distrobox-enter
89luca89 344a24c
Update docs/usage/distrobox-enter.md
89luca89 0da2ea8
Update docs/usage/distrobox-enter.md
89luca89 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -107,6 +107,8 @@ headless=0 | |
| # There's no need for them to pass the --root flag option in such cases. | ||
| [ "$(id -ru)" -eq 0 ] && rootful=1 || rootful=0 | ||
| skip_workdir=0 | ||
| no_envvars=0 | ||
| additional_envvars="" | ||
| verbose=0 | ||
| clean_path=0 | ||
| version="1.8.1.2.1" | ||
|
|
@@ -188,6 +190,9 @@ Options: | |
| --clean-path: reset PATH inside container to FHS standard | ||
| --no-tty/-T: do not instantiate a tty | ||
| --no-workdir/-nw: always start the container from container's home directory | ||
| --no-envvars: don't copy host environment variables (default is to copy whenever reasonable) | ||
| --additional-envvars: comma-separated list of additional host environment variables to copy | ||
| (overrides --no-envvars) | ||
|
89luca89 marked this conversation as resolved.
Outdated
|
||
| --additional-flags/-a: additional flags to pass to the container manager command | ||
| --help/-h: show this message | ||
| --root/-r: launch podman/docker/lilipod with root privileges. Note that if you need root this is the preferred | ||
|
|
@@ -231,6 +236,17 @@ while :; do | |
| shift | ||
| skip_workdir=1 | ||
| ;; | ||
| --no-envvars) | ||
| shift | ||
| no_envvars=1 | ||
| ;; | ||
| --additional-envvars) | ||
| if [ -n "$2" ]; then | ||
| additional_envvars="$2" | ||
| shift | ||
| shift | ||
| fi | ||
| ;; | ||
|
89luca89 marked this conversation as resolved.
Outdated
|
||
| -n | --name) | ||
| if [ -n "$2" ]; then | ||
| container_name="$2" | ||
|
|
@@ -429,14 +445,21 @@ generate_enter_command() | |
|
|
||
| # Loop through all the environment vars | ||
| # and export them to the container. | ||
| set +o xtrace | ||
| # disable logging for this snippet, or it will be too talkative. | ||
| for i in $(printenv | grep '=' | grep -Ev ' |"|`|\$' | | ||
| grep -Ev '^(CONTAINER_ID|FPATH|HOST|HOSTNAME|HOME|PATH|PROFILEREAD|SHELL|XDG_SEAT|XDG_VTNR|XDG_.*_DIRS|^_)'); do | ||
| # We filter the environment so that we do not have strange variables, | ||
| # multiline or containing spaces. | ||
| # We also NEED to ignore the HOME variable, as this is set at create time | ||
| # and needs to stay that way to use custom home dirs. | ||
| if [ "${no_envvars}" -eq 0 ]; then | ||
|
89luca89 marked this conversation as resolved.
Outdated
|
||
| set +o xtrace | ||
| # disable logging for this snippet, or it will be too talkative. | ||
| for i in $(printenv | grep '=' | grep -Ev ' |"|`|\$' | | ||
|
Owner
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. After #1811 this needs to be reworked |
||
| grep -Ev '^(CONTAINER_ID|FPATH|HOST|HOSTNAME|HOME|PATH|PROFILEREAD|SHELL|XDG_SEAT|XDG_VTNR|XDG_.*_DIRS|^_)'); do | ||
| # We filter the environment so that we do not have strange variables, | ||
| # multiline or containing spaces. | ||
| # We also NEED to ignore the HOME variable, as this is set at create time | ||
| # and needs to stay that way to use custom home dirs. | ||
| result_command="${result_command} | ||
| --env=${i}" | ||
| done | ||
| fi | ||
| # Export all environment variables passed via --additional-envvars | ||
| for i in $(echo "$additional_envvars" | sed 's/,/ /g'); do | ||
| result_command="${result_command} | ||
| --env=${i}" | ||
| done | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -18,8 +18,12 @@ If using it inside a script, an application, or a service, you can specify the | |||||
|
|
||||||
| --name/-n: name for the distrobox default: my-distrobox | ||||||
| --/-e: end arguments execute the rest as command to execute at login default: default ${USER}'s shell | ||||||
| --clean-path: reset PATH inside container to FHS standard | ||||||
| --no-tty/-T: do not instantiate a tty | ||||||
| --no-workdir/-nw: always start the container from container's home directory | ||||||
| --no-envvars: don't copy host environment variables (default is to copy whenever reasonable) | ||||||
|
89luca89 marked this conversation as resolved.
Outdated
|
||||||
| --additional-envvars: comma-separated list of additional host environment variables to copy | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| (overrides --no-envvars) | ||||||
|
89luca89 marked this conversation as resolved.
Outdated
|
||||||
| --additional-flags/-a: additional flags to pass to the container manager command | ||||||
| --help/-h: show this message | ||||||
| --root/-r: launch podman/docker/lilipod with root privileges. Note that if you need root this is the preferred | ||||||
|
|
||||||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.