-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
fix(cli) properly look for serf in known paths #1997
Conversation
log.debug("searching for 'serf' executable") | ||
|
||
if kong_config.serf_path then | ||
serf_search_paths = { kong_config.serf_path } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This shouldn't override all of the other potential locations. Maybe it should be replaced with:
table.insert(serf_search_paths, 1, kong_config.serf_path)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought about it - if I explicitly tell Kong to look into that path and it's not found, shouldn't an error be returned even if it's found somewhere else?
Does the serf_path
property mean:
- search into
serf_path
in addition to the standard paths? - look explicitly into
serf_path
and if it doesn't exist, return an error?
Seems like (2) would be a more expected behavior?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(1) would be a more expected behavior, similar to the shell's $PATH
but also to the Lua's LUA_PATH
and LUA_CPATH
properties, also configurable from the Kong configuration.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's also less error prone.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in other cases we said that if the user specifies a value, then not being able to honor that value is an error. We've had this discussion before.
If I would specify an argument "xyz" and the application starts and ends up running with "123" instead, that would be bad imo.
so it ought to be the nr 2. My 2cts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This goes against all the other path variables in the shell and this project -_-
Summary
Our distributions put the
serf
executable in a known path at/usr/local/bin/serf
. Adds this path as a known path (like we do forresty
) when searching for Serf, ifserf_path
is not specified in the configuration file.Full changelog
serf
in known paths, ifserf_path
is not specified.Issues resolved
Fix #1953