Migrate environment variable reads to CLI package #23
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.
Summary
Migrated all environment variable reads to the CLI package and centralized the processing logic. This improves code organization, testability, and eliminates redundant parsing throughout the codebase.
Changes
Environment Variable Centralization
os.Getenv()
calls to CLI package: All environment variable reads now happen in a single locationSudoData
struct: Holds processed environment data with both raw and computed valuesreadSudoData()
function: Centralizes environment variable reading, parsing, and validationInteger-Based Processing
readSudoData()
and used as integers throughoutstrconv.Atoi()
calls from TLS, jail, and namespace packagesstring
toint
across all packagesCode Organization
EnvConfig
parameters instead of reading environment variables directlyToTLSEnvConfig()
andToJailEnvConfig()
for clean data conversionstrconv
imports where no longer neededEnvironment Variables Handled
SUDO_USER
- Original username when running under sudoSUDO_UID
- Original user ID (parsed to int)SUDO_GID
- Original group ID (parsed to int)XDG_CONFIG_HOME
- XDG config directory pathTesting
Benefits