Closed Zamiell closed 6 years ago
We'll be tracking 2. in #481.
But for 1. I'd like to ask you to run cd /root/.password-store-InfoSec && git remote -v
.
The code for initializing the git remote looks correct on first sight and even if there was an underlying error it should at least print an error.
Hey dom. Sure thing.
[root@localhost .password-store-InfoSec]# git remote -v
origin https://github.com/Zamiell/test.git (fetch)
origin https://github.com/Zamiell/test.git (push)
So why does gopass not think I have a remote?
Oh, it took me a while to spot the mistake.
You didn't specify a git remote for your local root store, only for the team store (InfoSec
) which should be mounted at InfoSec/
. Later on you try to create an new password in the root store (because foo/bar
doesn't start with InfoSec/
). Obviously this root store doesn't have a remote so it can't push.
We can definitely discuss UX and documentation, but the implementation works as expected.
Ok, that makes sense. So in a team based environment, the user is expected to type the full team name as a prefix for every single gopass command? That seems rather cumbersome.
Reflecting on this, I think that in total, there are 4 use cases for gopass:
1) Users who ONLY use gopass for their team (.password-store-team
)
2) Users who use gopass for their team + personal passwords (.password-store-team
& .password-store
)
3) Users who use gopass for two or more teams (.password-store-team1
& password-store-team2
)
4) Users who use gopass for two or more teams + personal passwords (.password-store-team1
& password-store-team2
& .password-store
)
The current scheme seems great for number 2, number 3, and number 4. But for number 1 it stinks. And wouldn't we expect number 1 to be the most numerous / default, especially considering the stated audience at the top of README.md?
Assuming I understand this problem correctly, I'll go ahead and begin to brainstorm some possible improvements here. The first thing that comes to mind is that gopass can actually dynamically detect use case number 1 at runtime, can't it? If .password-store
is empty and only one .password-store-foo
style directory exists, then its use case 1. And then gopass would be smart enough to not require the team prefix.
That is a pretty good summary, sounds correct.
Of course we also support use case 1. You can add a remote to your root store use only this store. Then you don't need to prefix your secrets.
The current recommended way to bootstrap such an setup is to use gopass clone <team-git-repo>
.
I think the only issue here is that we don't make this easy/possible with the onboarding wizard.
Right now we only offer three use cases in the wizard: a) Local/Personal store only (w/ or w/o git remote) b) Create a local store and a new team (w/ git remote) c) Join an existing team (w/ git remote)
We offer no option to ONLY join an existing team. This should be easy to add if that would help you.
Your other use cases are of course also possible, but you'd first have to to through the wizard for the first team and then add additional mounts for the other teams.
I see. Ok, so it sounds like the onboarding wizard should expand the "Create a Team" option. After the user selects "Create a Team" from the menu, it should ask:
Will this team's password store be the only password store that you will use on this system?
If not, you will have to specify the team prefix before every gopass command. [Y\n]
And if yes, initialize it to .password-store
.
Something along those lines?
And yes, entirely separately, the onboarding wizard should have an option to ONLY join an existing team.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
I decided to give Gopass another try on a fresh CentOS install on a VM.
Steps to reproduce: 1) Type the
gopass
command. Go through the entire wizard. Output is as follows:Ok, so far so good. Now, 2) Create a new password:
So two separate issues here:
1) Even though I specified a remote URL for Git during the onboarding wizard, it did not seem to stick. Any tips? Seems to just be a bug.
2) By default, if there is no clipboard available on the system, the program should NOT print out a 20 line error message to me. A more reasonable approach: how about it just gives a one line warning? An even more reasonable approach: it writes "warnonnoclipboard: false" to the "config.yml" file after the first warning so that the user is not constantly spammed with warnings about not having a clipboard installed on the machine every single time they execute a
gopass
command.These both feel like non-CentOS specific bugs to me, but if necessary I can confirm on other platforms.