community.general.keyring module – Set or delete a passphrase using the Operating System’s native keyring

Note

This module is part of the community.general collection (version 8.5.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.general. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: community.general.keyring.

New in community.general 5.2.0

Synopsis

  • This module uses the keyring Python library to set or delete passphrases for a given service and username from the OS’ native keyring.

Aliases: system.keyring

Requirements

The below requirements are needed on the host that executes this module.

  • keyring (Python library)

  • gnome-keyring (application - required for headless Gnome keyring access)

  • dbus-run-session (application - required for headless Gnome keyring access)

Parameters

Parameter

Comments

keyring_password

string / required

Password to unlock keyring.

service

string / required

The name of the service.

state

string

Whether the password should exist.

Choices:

  • "present" ← (default)

  • "absent"

user_password

aliases: password

string

The password to set.

username

string / required

The user belonging to the service.

Attributes

Attribute

Support

Description

check_mode

Support: full

Can run in check_mode and return changed status prediction without modifying target.

diff_mode

Support: none

Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode.

Examples

- name: Set a password for test/test1
  community.general.keyring:
    service: test
    username: test1
    user_password: "{{ user_password }}"
    keyring_password: "{{ keyring_password }}"

- name: Delete the password for test/test1
  community.general.keyring:
    service: test
    username: test1
    user_password: "{{ user_password }}"
    keyring_password: "{{ keyring_password }}"
    state: absent

Authors

  • Alexander Hussey (@ahussey-redhat)