1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
community.general/changelogs/fragments
patchback[bot] 3d2caf3933
passwordstore: Add configurable locking (#4194) (#4243)
* passwordstore: Add configurable locking

Passwordstore cannot be accessed safely in parallel, which causes
various issues:

- When accessing the same path, multiple different secrets are
  returned when the secret didn't exist (missing=create).
- When accessing the same _or different_ paths, multiple pinentry
  dialogs will be spawned by gpg-agent sequentially, having to enter
  the password for the same gpg key multiple times in a row.
- Due to issues in gpg dependencies, accessing gpg-agent in parallel
  is not reliable, causing plays to fail (this can be fixed by adding
  `auto-expand-secmem` to _~/.gnupg/gpg-agent.conf_ though).

These problems have been described in various github issues in the past,
e.g., ansible/ansible#23816 and ansible/ansible#27277.

This cannot be worked around in playbooks by users in a non-error-prone
way.

It is addressed by adding new configuration options:

- lock:
  - readwrite: Lock all operations
  - write: Only lock write operations (default)
  - none: Disable locking
- locktimeout: Time to wait for getting a lock (s/m/h suffix)
  (defaults to 15m)

These options can also be set in ansible.cfg, e.g.:

    [passwordstore_lookup]
    lock=readwrite
    locktimeout=30s

Also, add a note about modifying gpg-agent.conf.

* Tidy up locking config

There is no reason why lock configuration should be part of self.paramvals.
Now locking and its configuration happen all in one place.

* Change timeout description wording to the suggested value.

* Rearrange plugin setup, apply PR feedback

(cherry picked from commit 2416b81aa4)

Co-authored-by: grembo <freebsd@grem.de>
2022-02-21 21:37:47 +01:00
..
.keep Rename changelogs/fragments/.empty -> changelogs/fragments/.keep 2020-08-07 08:17:57 +02:00
4.5.0.yml Prepare 4.5.0 release. 2022-02-19 23:32:28 +01:00
3703-force-install-homebrew-cask.yml homebrew_cask: reinstall when force is install option (#4090) (#4145) 2022-02-02 21:54:52 +01:00
3907-pacman-speedup.yml request for comments - pacman: speed up most operations when working with a package list (#3907) (#4176) 2022-02-09 12:35:26 +01:00
3916-fix-vdo-options-type.yml vdo: Remove unused variable (#4163) (#4170) 2022-02-07 20:49:16 +01:00
4029-proxmox-refactor.yml Refactor all Proxmox modules to use shared module_utils. (#4029) (#4164) 2022-02-07 17:48:11 +01:00
4061-fix-mail-recipient-encoding.yml mail: fix the encoding of the mail senders and recipients name (#4061) (#4229) 2022-02-18 22:59:04 +01:00
4086-rework_of_gitlab_proyect_variable_over_gitlab_group_variable.yml Rework of gitlab_project_variable over gitlab_group_variable (#4086) (#4226) 2022-02-18 20:52:36 +00:00
4105-opentelemetry_plugin-enrich_jira_hetzner_jenkins_services.yaml opentelemetry: enrich services for jenkins, hetzner or jira (#4105) (#4190) 2022-02-12 09:17:26 +00:00
4106-proxmox-efidisk0-support.yaml [modules/cloud/misc/proxmox_kvm] Adding EFI disk support (#4106) (#4209) 2022-02-16 22:52:58 +01:00
4136-gitlab_runner-make-project-owned-mutually-exclusive.yml gitlab_runner: Make owned and project mutually exclusive (#4136) (#4210) 2022-02-17 13:29:19 +01:00
4150-gitlab-project-variable-absent-fix.yml gitlab_project_variable: Allow delete without value (#4150) (#4157) 2022-02-05 21:20:41 +01:00
4151-dconf-catch-psutil-nosuchprocess.yaml dconf: Skip processes that disappeared while we inspected them (#4153) (#4182) 2022-02-10 07:47:47 +01:00
4154-ini_file_changed.yml ini_file: Don't report changed=true when removing if nothing is changed. (#4155) (#4214) 2022-02-17 13:50:57 +01:00
4168-add-keycloak-url-timeout.yml Updated keycloak.py to allow defining connection timeout value (#4168) (#4178) (#4198) 2022-02-14 19:56:01 +01:00
4179-linode-inventory-cache.yaml feat: support cache in Linode inventory (#4179) (#4234) 2022-02-18 23:33:44 +01:00
4183-fix-yum_versionlock.yaml [PR #4183/f5ec7373 backport][stable-4] yum_versionlock: Fix entry matching (#4228) 2022-02-18 23:19:39 +01:00
4191-proxmox-add-win11.yml proxmox_kvm: add win11 to ostype (#4191) (#4193) 2022-02-12 18:32:12 +01:00
4192-improve-passwordstore-consistency.yml passwordstore: Prevent using path as password (#4192) (#4218) 2022-02-17 21:33:18 +01:00
4194-configurable-passwordstore-locking.yml passwordstore: Add configurable locking (#4194) (#4243) 2022-02-21 21:37:47 +01:00
4206-imc-rest-module.yaml Fix module failure due to itertools.izip_longest (#4211) (#4238) 2022-02-20 09:53:42 +01:00
4219-passwordstore-locale-fix.yml passwordstore: Fix error detection for non-English locales (#4219) (#4221) 2022-02-17 22:21:12 +01:00
4232-text-converter-import.yml Fix some more instances of ansible.module_utils._text. (#4232) (#4233) 2022-02-19 08:21:01 +01:00