Попытка заменить apt_key в Ansible playbook

У меня есть рабочая книга для создания Ubuntu 20.04 VPS, а затем установка программного обеспечения, включая Docker.

Я пытаюсь использовать его для Ubuntu 22.04 VPS.

Это работает, но при использовании APT я получаю предупреждения о том, что «Ключ хранится в устаревшей связке ключей trust.gpg», потому что я использую устаревший ключ apt.

Моя старая книга содержит:

      - name: Add docker signing key
  apt_key:
    url: https://download.docker.com/linux/ubuntu/gpg
    state: present
- name: Add docker repository
  apt_repository:
    repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu jammy stable
    state: present

После некоторых исследований я подумал, что могу заменить приведенное выше следующим:

      - name: Add docker signing key (new GPG method)
  get_url:
    url: https://download.docker.com/linux/ubuntu/gpg
    dest: /etc/apt/keyrings/docker.gpg
    mode: '0644'
    force: true 
- name: Add docker repository
  apt_repository:
    repo: deb [signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
    state: present

Ключ хранится в /etc/apt/keyrings/docker.gpg, однако я получаю следующую ошибку:

          TASK [Add docker repository] *********
    fatal: [node1]: FAILED! => changed=false
 msg: 'Failed to update apt cache: W:GPG error: https://download.docker.com/linux/ubuntu jammy InRelease: The following signatures couldn''t be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8, E:The repository ''https://download.docker.com/linux/ubuntu jammy InRelease'' is not signed.

Я не знаю, что я делаю неправильно.

1 ответ

Решил это. Мне просто нужно было изменить расширение файла ключа с .gpg на .asc , и тогда все заработало нормально.

Другие вопросы по тегам