Skip to content
This repository was archived by the owner on Jun 29, 2023. It is now read-only.

CB-13978: Show a warning when cbd looks up Profiles from the PATH. #739

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

brycederriso
Copy link

Closes CB-13978.

@brycederriso brycederriso self-assigned this Aug 31, 2021
@brycederriso
Copy link
Author

Made a mistake, still testing this.

@brycederriso brycederriso marked this pull request as draft August 31, 2021 18:02
@brycederriso
Copy link
Author

Ganesh pointed out that this doesn't gracefully deal with . in the $PATH.

Further, I'm getting errors when running this locally:

 cbd start
[DEBUG][init-profile             ] Use existing profile: Profile
++ sort -u
+++ echo /Users/brycederriso/bin:/Users/brycederriso/Library/Python/3.7/bin:/Users/brycederriso/go//bin:/Users/brycederriso/bin:/Users/brycederriso/Library/Python/3.7/bin:/Users/brycederriso/go/bin:/usr/local/opt/[email protected]/bin:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/gnu-sed/libexec/gnubin:/Users/brycederriso/Library/Python/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/brycederriso/bin:/Users/brycederriso/Library/Python/3.7/bin:/Users/brycederriso/go//bin:/Users/brycederriso/go/bin:/usr/local/opt/[email protected]/bin:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/gnu-sed/libexec/gnubin:/usr/local/sbin:/usr/local/go/bin:/Users/brycederriso/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/local/go/bin:/Users/brycederriso/.local/bin
+++ sed 's/:/ /g'
++ find /Users/brycederriso/bin /Users/brycederriso/Library/Python/3.7/bin /Users/brycederriso/go//bin /Users/brycederriso/bin /Users/brycederriso/Library/Python/3.7/bin /Users/brycederriso/go/bin /usr/local/opt/[email protected]/bin /usr/local/opt/findutils/libexec/gnubin /usr/local/opt/grep/libexec/gnubin /usr/local/opt/gnu-sed/libexec/gnubin /Users/brycederriso/Library/Python/3.7/bin /usr/local/bin /usr/bin /bin /usr/sbin /sbin /Users/brycederriso/bin /Users/brycederriso/Library/Python/3.7/bin /Users/brycederriso/go//bin /Users/brycederriso/go/bin /usr/local/opt/[email protected]/bin /usr/local/opt/findutils/libexec/gnubin /usr/local/opt/grep/libexec/gnubin /usr/local/opt/gnu-sed/libexec/gnubin /usr/local/sbin /usr/local/go/bin /Users/brycederriso/.local/bin /usr/local/sbin /usr/local/bin /usr/local/go/bin /Users/brycederriso/.local/bin -name Profile
+ PROFILES_ON_PATH='/Users/brycederriso/bin/Profile
/Users/brycederriso/bin/test/Profile
/usr/local/bin/Profile'
2021/08/31 13:07:07 exit status 1

@brycederriso
Copy link
Author

An example of the output:

$ cbd ps
[WARN] Multiple Profiles found on your path will be used, this might not be desirable: /Users/brycederriso/bin/Profile
      Name                     Command               State                    Ports
-----------------------------------------------------------------------------------------------------
cbreak_commondb_1   /bin/bash -c cd /var/lib/p ...   Up      0.0.0.0:5432->5432/tcp,:::5432->5432/tcp
cbreak_vault_1      docker-entrypoint.sh server      Up      0.0.0.0:8200->8200/tcp,:::8200->8200/tcp

It's not perfect, but at least gives a warning.

@brycederriso brycederriso marked this pull request as ready for review September 9, 2021 19:50
@@ -275,7 +275,10 @@ init-profile() {
if [ -f $CBD_PROFILE ]; then
debug "Use existing profile: $CBD_PROFILE"
if [[ "$CBD_PROFILE" != *\/* ]]; then
debug "$CBD_PROFILE file will be searched in your $PATH not just the current directory"
PROFILES_ON_PATH="$(find $(echo $PATH | sed 's/:/ /g') -name 'Profile' -maxdepth 1 2>/dev/null | sort -u)" || true # for some reason I have to or true this

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have concerns about not quoting $PATH. If a directory in the path has space looks like it is treated as two separate directories. I am suspecting that is causing find to return 1 because of which you have to "or true" it?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants