Skip to content
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

Setting config options for substores not working #1567

Closed
ibot3 opened this issue Sep 2, 2020 · 13 comments · Fixed by #2395
Closed

Setting config options for substores not working #1567

ibot3 opened this issue Sep 2, 2020 · 13 comments · Fixed by #2395
Assignees
Labels
feature Enhancements and new features help-wanted
Milestone

Comments

@ibot3
Copy link

ibot3 commented Sep 2, 2020

Summary

The gopass config --store <store> key value command sets the config option globally and not on the mount.

And why is the autosync option not available anymore? How can I disable the automatic sync?

Environment

  • OS: Arch
  • gopass Version: 1.10.1
  • Installation method: repo
@AnomalRoil
Copy link
Member

Having individual settings for different mounts was deprecated in 1.10 actually.
I don't remember the exact rational, but the goal is to simplify the codebase and to have as little settings as possible.

Autosync should become the default I think, but @dominikschulz is the one who knowns the details.

@dominikschulz
Copy link
Member

Setting config options per mount has been removed. It complicated implementation and UX for little benefit.
AutoSync is now enabled by default. If you don't want sync remove the remotes.

@ibot3
Copy link
Author

ibot3 commented Sep 10, 2020

The --store option should be removed from the help page if the feature has been removed.
However, this feature is important for me, because not all users of a substore are using gopass. And one substore I use, stores the public keys in a different location than gopass would with the exportkeys function. So I would like to disable exportkeys for this substore but let it enabled for the others.

And I want to disable autosync because it slows down my workflow as the syncing is done synchronously. I replaced the autosync by a systemd timer that runs every 30 minutes.
If it is done directly, creating and editing passwords takes too long, especially when using a YubiKey, which slows down the crypto operations.

So I will have to go back to 1.9.x

@AnomalRoil
Copy link
Member

@dominikschulz I can see how having mount-specific config options can be useful.
Should we have a user-story with this ^ usecase and include it back?

I don't know how much complexity to the config handling it added? Most of the code is still able to handle it I'd guess.

For the autosync, if we don't want to have a config option we could maybe have a environment variable to disable it?

Meanwhile if you don't want to have the exportkey stuff messing with your substore, you could add the exportkey .public-keys folder to your .gitignore I guess?

(BTW, exportkey is not well documented, we might want to document what triggers it and how it behaves. Possibly add a way to specify a different location for its exportation?)

@dominikschulz
Copy link
Member

We certainly want to slow down our main use cases too much. Maybe having an option for autosync might be useful, but it should default to on. Environment variables are also OK. I'd prefer that for rarely used features.

The .gitignore workaround for exportkeys sounds good to me. Not sure if it's worth reintorducing the sub-store config compliexity (which was very annoying) just for that.

@ibot3
Copy link
Author

ibot3 commented Sep 19, 2020

The problem is that the workaround is not working.
Gopass creates the commits despite the folder being listed in the .gitignore file.

@dominikschulz
Copy link
Member

If it's already track by git you might need to remove it first. Then it shuoldn't show up on the remotes anymore. But of course the folder will still be created locally.

@ibot3
Copy link
Author

ibot3 commented Sep 20, 2020

It's not tracked by git, but the commits are created nevertheless. And my .gitignore file is correct.

@dominikschulz
Copy link
Member

Ha, yes. You are right. Sorry.
To work around some strange failure modes of git, we have added --force to git add.
Of course this will then ignore your .gitignore.

Seems like we need to find another way.

Actually I was considering to drop this feature, but I'm not entirely sure.
In certain settings it can help a lot.

Maybe we should have it enabled by default but provide some escape hatch, like checking if a special file in that mount exists and skipping key exports if we find it or so. But I'd really like to avoid reintroducing this cumbersome per-mount config options.

@AnomalRoil AnomalRoil added this to the 1.11.1 milestone Jan 12, 2021
@dominikschulz dominikschulz modified the milestones: 1.12.0, 1.12.1 Jan 21, 2021
@dominikschulz dominikschulz added feature Enhancements and new features help-wanted labels Feb 11, 2021
@lrxw
Copy link

lrxw commented Mar 16, 2021

So, currently is autosync removed completely? I want to sync my stores, but not on every command I use. If I want to set autosync to false globally I get:

> gopass config autosync false

Error: Error setting config value

It's still mentioned in the docs.

@morningspace
Copy link
Contributor

morningspace commented Mar 30, 2021

this cumbersome per-mount config options.

@dominikschulz I wonder why that's cumbersome. It looks to me that's a common case from end users perspective, just like git config, where it has both the global config and per-repo config (optional), and the per-repo one can overwrite the global one.

@AnomalRoil
Copy link
Member

The way we did config and per-store config previously was cumbersome. But IMO we could probably come up with a better scheme.

For example, for the "per-repo" config: what if someone set just one option in a given repo?
Should we copy the entire current config to that repo and change just that value? Or should we make sure that we supprot "partial" config, where if a repo override just one option, the others are taken from the global config and if the global config isn't specifying everything we use the default value?

IMO I'd say the second way is "best", but it would currently require a complete re-write of the config handling.

@morningspace
Copy link
Contributor

I like the idea of "partial" config, as it appears that where there's a change at global level, it doesn't have to copy over all the stuff to all config files at the child level.

@dominikschulz dominikschulz mentioned this issue Nov 2, 2022
13 tasks
@dominikschulz dominikschulz self-assigned this Nov 4, 2022
dominikschulz added a commit to dominikschulz/gopass that referenced this issue Nov 6, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes gopasspw#1567
Fixes gopasspw#1764
Fixes gopasspw#1819
Fixes gopasspw#1878
Fixes gopasspw#2387

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
dominikschulz added a commit that referenced this issue Nov 9, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes #1567
Fixes #1764
Fixes #1819
Fixes #1878
Fixes #2387

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
dominikschulz added a commit to dominikschulz/gopass that referenced this issue Nov 12, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes gopasspw#1567
Fixes gopasspw#1764
Fixes gopasspw#1819
Fixes gopasspw#1878
Fixes gopasspw#2387

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>
dominikschulz added a commit to dominikschulz/gopass that referenced this issue Nov 17, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes gopasspw#1567
Fixes gopasspw#1764
Fixes gopasspw#1819
Fixes gopasspw#1878
Fixes gopasspw#2387

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>
dominikschulz added a commit to dominikschulz/gopass that referenced this issue Nov 18, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes gopasspw#1567
Fixes gopasspw#1764
Fixes gopasspw#1819
Fixes gopasspw#1878
Fixes gopasspw#2387

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>
dominikschulz added a commit to dominikschulz/gopass that referenced this issue Nov 18, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes gopasspw#1567
Fixes gopasspw#1764
Fixes gopasspw#1819
Fixes gopasspw#1878
Fixes gopasspw#2387

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>
dominikschulz added a commit to dominikschulz/gopass that referenced this issue Nov 18, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes gopasspw#1567
Fixes gopasspw#1764
Fixes gopasspw#1819
Fixes gopasspw#1878
Fixes gopasspw#2387

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>
dominikschulz added a commit to dominikschulz/gopass that referenced this issue Nov 19, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes gopasspw#1567
Fixes gopasspw#1764
Fixes gopasspw#1819
Fixes gopasspw#1878
Fixes gopasspw#2387
Fixes gopasspw#2418

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>
dominikschulz added a commit to dominikschulz/gopass that referenced this issue Nov 20, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes gopasspw#1567
Fixes gopasspw#1764
Fixes gopasspw#1819
Fixes gopasspw#1878
Fixes gopasspw#2387
Fixes gopasspw#2418

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>
dominikschulz added a commit to dominikschulz/gopass that referenced this issue Nov 20, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes gopasspw#1567
Fixes gopasspw#1764
Fixes gopasspw#1819
Fixes gopasspw#1878
Fixes gopasspw#2387
Fixes gopasspw#2418

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>
dominikschulz added a commit to dominikschulz/gopass that referenced this issue Nov 20, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes gopasspw#1567
Fixes gopasspw#1764
Fixes gopasspw#1819
Fixes gopasspw#1878
Fixes gopasspw#2387
Fixes gopasspw#2418

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>
dominikschulz added a commit to dominikschulz/gopass that referenced this issue Nov 24, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes gopasspw#1567
Fixes gopasspw#1764
Fixes gopasspw#1819
Fixes gopasspw#1878
Fixes gopasspw#2387
Fixes gopasspw#2418

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>
dominikschulz added a commit to dominikschulz/gopass that referenced this issue Nov 25, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes gopasspw#1567
Fixes gopasspw#1764
Fixes gopasspw#1819
Fixes gopasspw#1878
Fixes gopasspw#2387
Fixes gopasspw#2418

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>

address comments

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
dominikschulz added a commit to dominikschulz/gopass that referenced this issue Nov 25, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes gopasspw#1567
Fixes gopasspw#1764
Fixes gopasspw#1819
Fixes gopasspw#1878
Fixes gopasspw#2387
Fixes gopasspw#2418

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>

address comments

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
dominikschulz added a commit to dominikschulz/gopass that referenced this issue Nov 25, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes gopasspw#1567
Fixes gopasspw#1764
Fixes gopasspw#1819
Fixes gopasspw#1878
Fixes gopasspw#2387
Fixes gopasspw#2418

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>

address comments

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
dominikschulz added a commit to dominikschulz/gopass that referenced this issue Nov 25, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes gopasspw#1567
Fixes gopasspw#1764
Fixes gopasspw#1819
Fixes gopasspw#1878
Fixes gopasspw#2387
Fixes gopasspw#2418

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>

address comments

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
dominikschulz added a commit to dominikschulz/gopass that referenced this issue Nov 25, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes gopasspw#1567
Fixes gopasspw#1764
Fixes gopasspw#1819
Fixes gopasspw#1878
Fixes gopasspw#2387
Fixes gopasspw#2418

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>

address comments

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
dominikschulz added a commit that referenced this issue Nov 25, 2022
This commit adds yet another config handler for gopass. It is based on
the format used by git itself. This has the potential to address a lot
of long standing issues, but it also causes a lot of changes to how we
handle configuration, so bugs are inevitable.

Fixes #1567
Fixes #1764
Fixes #1819
Fixes #1878
Fixes #2387
Fixes #2418

RELEASE_NOTES=[BREAKING] New config format based on git config.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Co-authored-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>

address comments

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Enhancements and new features help-wanted
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants