Skip to content

Commit

Permalink
Update consent resources
Browse files Browse the repository at this point in the history
Remove LOG_LEVEL and DEBUG_FLAGS from the user consent resource list

See: #145
  • Loading branch information
bhou-crto committed Jan 15, 2025
1 parent 240c781 commit a9a3a30
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 25 deletions.
4 changes: 2 additions & 2 deletions gh-pages/content/en/docs/overview/resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ AUTH_TOKEN=${COLA_AUTH_TOKEN}
| USERNAME | Yes | the username collected from `login` command |
| PASSWORD | Yes | the password collected from `login` command |
| AUTH_TOKEN | Yes | the authentication token collected from `login` command |
| LOG_LEVEL | Yes | the log level of command launcher |
| DEBUG_FLAGS | Yes | the debug flags defined in command launcher's config |
| LOG_LEVEL | No | the log level of command launcher |
| DEBUG_FLAGS | No | the debug flags defined in command launcher's config |
| PACKAGE_DIR | No | the absolute path to the package directory |
| FULL_COMMAND_NAME | No | the name of the command executed (includes app and group) |
48 changes: 25 additions & 23 deletions internal/frontend/default-frontend.go
Original file line number Diff line number Diff line change
Expand Up @@ -322,11 +322,7 @@ func (self *defaultFrontend) executeCommand(group, name string, args []string, i
return 1, errors.New(EXECUTABLE_NOT_DEFINED)
}

envCtx := self.getCmdEnvContext(initialEnvCtx, consent)

// Resources that do not depend on consent:
envCtx = append(envCtx, fmt.Sprintf("%s=%s", self.appCtx.CmdPackageDirEnvVar(), iCmd.PackageDir()))
envCtx = append(envCtx, fmt.Sprintf("%s=%s", self.appCtx.FullCmdNameEnvVar(), self.getFullCommandName(group, name)))
envCtx := self.getCmdEnvContext(iCmd, initialEnvCtx, consent)

exitCode, err := iCmd.Execute(envCtx, args...)
if err != nil {
Expand All @@ -343,7 +339,7 @@ func (self *defaultFrontend) executeValidArgsOfCommand(group, name string, args
return "", err
}

envCtx := self.getCmdEnvContext([]string{
envCtx := self.getCmdEnvContext(iCmd, []string{
fmt.Sprintf("%s=%s", self.appCtx.EnvVarName("TO_COMPLETE"), toComplete),
}, []string{})

Expand All @@ -362,7 +358,7 @@ func (self *defaultFrontend) executeFlagValuesOfCommand(group, name string, flag
return "", err
}

envCtx := self.getCmdEnvContext([]string{}, []string{})
envCtx := self.getCmdEnvContext(iCmd, []string{}, []string{})

_, output, err := iCmd.ExecuteFlagValuesCmd(envCtx, flagCmd, args...)
if err != nil {
Expand Down Expand Up @@ -486,9 +482,10 @@ func parseFlagDefinition(line string) (string, string, string, string, string) {
return name, short, description, flagType, defaultValue
}

func (self *defaultFrontend) getCmdEnvContext(envVars []string, consents []string) []string {
func (self *defaultFrontend) getCmdEnvContext(cmd command.Command, envVars []string, consents []string) []string {
vars := append([]string{}, envVars...)

/* append environment variables that requires consent */
for _, item := range consents {
switch item {
case consent.USERNAME:
Expand All @@ -515,21 +512,6 @@ func (self *defaultFrontend) getCmdEnvContext(envVars []string, consents []strin
if token != "" {
vars = append(vars, fmt.Sprintf("%s=%s", self.appCtx.AuthTokenEnvVar(), token))
}
case consent.LOG_LEVEL:
// append log level from configuration
logLevel := viper.GetString(config.LOG_LEVEL_KEY)
vars = append(vars, fmt.Sprintf("%s=%s",
self.appCtx.LogLevelEnvVar(),
logLevel,
))
case consent.DEBUG_FLAGS:
// append debug flags from configuration
debugFlags := os.Getenv(self.appCtx.DebugFlagsEnvVar())
vars = append(vars, fmt.Sprintf("%s=%s,%s",
self.appCtx.DebugFlagsEnvVar(),
debugFlags,
viper.GetString(config.DEBUG_FLAGS_KEY),
))
default:
value, err := helper.GetSecret(strings.ToLower(item))
if err != nil {
Expand All @@ -541,6 +523,26 @@ func (self *defaultFrontend) getCmdEnvContext(envVars []string, consents []strin
}
}

/* append environment variables that do not requires consent */
// append log level from configuration
logLevel := viper.GetString(config.LOG_LEVEL_KEY)
vars = append(vars, fmt.Sprintf("%s=%s",
self.appCtx.LogLevelEnvVar(),
logLevel,
))

// append debug flags from configuration
debugFlags := os.Getenv(self.appCtx.DebugFlagsEnvVar())
vars = append(vars, fmt.Sprintf("%s=%s,%s",
self.appCtx.DebugFlagsEnvVar(),
debugFlags,
viper.GetString(config.DEBUG_FLAGS_KEY),
))

// append package dir and full command name
vars = append(vars, fmt.Sprintf("%s=%s", self.appCtx.CmdPackageDirEnvVar(), cmd.PackageDir()))
vars = append(vars, fmt.Sprintf("%s=%s", self.appCtx.FullCmdNameEnvVar(), self.getFullCommandName(cmd.RuntimeGroup(), cmd.RuntimeName())))

// Enable variable with prefix [binary_name] and COLA
// TODO: remove it when in version 1.8 all variables are migrated to COLA prefix
outputVars := []string{}
Expand Down

0 comments on commit a9a3a30

Please sign in to comment.