Skip to content

Evaluate `gitlab.redis.password.enabled` properly as a string, not a boolean

Jason Young requested to merge 4740-workhorse-external-redis-pass-failure into master

What does this MR do?

This addresses the case where global.redis.{auth|password}.enabled is false - yet the workhorse configmap includes Password anyway, and configure attempts to read a non-existent file.

Return an explicit “true” string from template

It appears that `if include "gitlab.redis.password.enabled" $`
cannot be evaluated as a boolean as the return is a string.

This returns an explicit string that we can use with a `eq “true”`

Changelog: fixed
Signed-off-by: Jason Young <jyoung@gitlab.com>

Related issues

Closes #4740 (closed)

Checklist

See Definition of done.

For anything in this list which will not be completed, please provide a reason in the MR discussion.

Required

  • Merge Request Title and Description are up to date, accurate, and descriptive
  • MR targeting the appropriate branch
  • MR has a green pipeline on GitLab.com
  • When ready for review, MR is labeled "~workflow::ready for review" per the Distribution MR workflow

Expected (please provide an explanation if not completing)

  • Test plan indicating conditions for success has been posted and passes
  • Documentation created/updated
  • Tests added
  • Integration tests added to GitLab QA
  • Equivalent MR/issue for omnibus-gitlab opened
  • Validate potential values for new configuration settings. Formats such as integer 10, duration 10s, URI scheme://user:passwd@host:port may require quotation or other special handling when rendered in a template and written to a configuration file.

Test Plan/Success criteria

  1. Set global.redis.auth.enabled=false or global.redis.password.enabled=false
  2. Observe that no Password= entry is templated in the workhorse-config.toml.tpl section of the workhorse ConfigMap
Edited by Jason Young

Merge request reports