gpg
ansible-gpg
Модуль Ansible для импорта и удаления GPG-ключей с использованием keybase.io или файлов.
Основывается на работе Брэндона Калиновского и Теодора Корта. Обновлён так, чтобы его можно было опубликовать в ansible-galaxy.
С помощью этого модуля управление ключами gpg становится очень простым. Просто укажите имя пользователя keybase и либо email ключа, либо его отпечаток. Вы также можете импортировать ключи из файлов.
Метод ansible fetch_url используется для безопасной загрузки публичных ключей по https.
При использовании key_file
идентификатор ключа (key_id
) автоматически определяется из файла.
В дополнение к функциональности keybase.io этот модуль теперь также автоматически помечает добавленные ключи как окончательно доверенные, что позволяетProvisioned машине шифровать файлы для импортированных пользователей.
Опции
Название | По умолчанию | Описание |
---|---|---|
keybase_user | null | Имя пользователя для получения данных на Keybase. Модуль автоматически загрузит https://keybase.io/ |
key_id | null | Идентификатор ключа, который нужно получить и импортировать. Применим только к публичным ключам. Необходимо указать либо key_file, либо key_id. |
key_file | null | Имя файла ключа для импорта. Должен находиться на удаленной машине, а не локальной. Необходимо указать либо key_file, либо key_id. |
key_type | 'public' | Тип ключа для импорта. Применим только к key_file |
bin_path | /usr/bin/gpg | Путь к удаленному бинарному файлу gpg |
state | 'present' | Желаемое состояние: 'present', 'latest' или 'absent' |
Странное поведение может возникнуть при использовании с бizarre keys. Но это проблема gpg.
Установка через galaxy:
ansible-galaxy install compscidr.gpg
Установка через galaxy / требования
Добавьте следующее в requirements.yml
roles:
- name: compscidr.gpg
Затем выполните
ansible-galaxy install -r requirements.yml
Установка через git / требования
Добавьте следующее в ваш файл requirements.yml
:
# из github
- src: https://github.com/compscidr/ansible-gpg
name: compscidr.gpg
Затем выполните
ansible-galaxy install -r requirements.yml
Пример плейбука
---
- name: Примеры модуля GPG
hosts: vagrant
gather_facts: false
roles:
- role: compscidr.gpg
tasks:
- name: Импорт GPG ключа из keybase
gpg:
keybase_user: brandonkal
state: present
key_id: F33344CEF855F4FE4C2C55820E9D2E07D3D89BDD
# Идентификатор ключа может быть отпечатком, как выше, или адресом электронной почты
tags:
- keybase
- name: Импорт несуществующего ключа keybase | Ошибка
gpg:
keybase_user: jijd
state: present
tags:
- fake
- name: Копирование GPG файла
copy:
src: publickey.asc
dest: publickey.asc
tags:
- file
- name: Импорт публичного GPG ключа из файла
gpg:
key_file: publickey.asc
tags:
- file
- name: Импорт приватного GPG ключа из файла
gpg:
key_file: privatekey.asc
key_type: private
state: latest
tags:
- private
- name: Удаление GPG ключа
gpg:
keybase_user: gpgtools
key_id: [email protected]
state: absent
ansible-galaxy install compscidr/ansible-gpg