Last active
June 13, 2026 11:48
-
-
Save roib20/27fde10af195cee1c1f8ac5f68be7e9b to your computer and use it in GitHub Desktop.
Example usages of the new `deb822_repository` Ansible module
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| - hosts: localhost | |
| connection: local | |
| gather_facts: true | |
| tasks: | |
| - name: Add APT repositories | |
| when: ansible_os_family == 'Debian' | |
| become: true | |
| block: | |
| - name: Add VSCode APT repository | |
| ansible.builtin.deb822_repository: | |
| name: vscode | |
| types: [deb] | |
| uris: "https://packages.microsoft.com/repos/code" | |
| signed_by: "https://packages.microsoft.com/keys/microsoft.asc" | |
| suites: [stable] | |
| components: [main] | |
| state: present | |
| enabled: yes | |
| - name: Add google APT repository | |
| ansible.builtin.deb822_repository: | |
| name: google | |
| types: [deb] | |
| uris: | |
| - "http://dl.google.com/linux/chrome/deb" | |
| - "http://dl.google.com/linux/earth/deb" | |
| signed_by: "https://dl.google.com/linux/linux_signing_key.pub" | |
| suites: [stable] | |
| components: [main] | |
| state: present | |
| enabled: yes | |
| - name: Add Kubernetes APT repository | |
| ansible.builtin.deb822_repository: | |
| name: kubernetes | |
| types: [deb] | |
| uris: "https://apt.kubernetes.io" | |
| signed_by: "https://packages.cloud.google.com/apt/doc/apt-key.gpg" | |
| suites: [kubernetes-xenial] | |
| components: [main] | |
| state: present | |
| enabled: yes | |
| - name: Add google-cloud-cli APT repository | |
| ansible.builtin.deb822_repository: | |
| name: google-cloud-cli | |
| types: [deb] | |
| uris: "https://packages.cloud.google.com/apt" | |
| signed_by: "https://packages.cloud.google.com/apt/doc/apt-key.gpg" | |
| suites: [cloud-sdk] | |
| components: [main] | |
| state: present | |
| enabled: yes | |
| - name: Add Microsoft prod APT repository (Debian) | |
| when: ansible_distribution == 'Debian' | |
| ansible.builtin.deb822_repository: | |
| name: packages-microsoft-com-prod | |
| types: [deb] | |
| uris: "https://packages.microsoft.com/{{ ansible_distribution|lower }}/{{ ansible_distribution_major_version }}/prod" | |
| signed_by: "https://packages.microsoft.com/keys/microsoft.asc" | |
| suites: ["{{ ansible_distribution_release|lower }}"] | |
| components: [main] | |
| state: present | |
| enabled: yes | |
| - name: Add Microsoft prod APT repository (Ubuntu) | |
| when: ansible_distribution == 'Ubuntu' | |
| ansible.builtin.deb822_repository: | |
| name: packages-microsoft-com-prod | |
| types: [deb] | |
| uris: "https://packages.microsoft.com/{{ ansible_distribution|lower }}/{{ ansible_distribution_version }}/prod" | |
| signed_by: "https://packages.microsoft.com/keys/microsoft.asc" | |
| suites: ["{{ ansible_distribution_release|lower }}"] | |
| components: [main] | |
| state: present | |
| enabled: yes | |
| - name: Add Tailscale stable APT repository | |
| ansible.builtin.deb822_repository: | |
| name: tailscale-stable | |
| types: [deb] | |
| uris: "https://pkgs.tailscale.com/stable/{{ ansible_distribution|lower }}" | |
| signed_by: "https://pkgs.tailscale.com/stable/{{ ansible_distribution|lower }}/{{ ansible_distribution_release|lower }}.asc" | |
| suites: ["{{ ansible_distribution_release|lower }}"] | |
| components: [main] | |
| state: present | |
| enabled: yes | |
| - name: Add Hashicorp Stable APT repository | |
| ansible.builtin.deb822_repository: | |
| name: hashicorp | |
| types: [deb] | |
| uris: "https://apt.releases.hashicorp.com" | |
| signed_by: "https://apt.releases.hashicorp.com/gpg" | |
| suites: ["{{ ansible_distribution_release|lower }}"] | |
| components: [main] | |
| state: present | |
| enabled: yes |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks for sharing. This worked for me. I had to remove old sources in
/etc/apt/sources.list.dthat were created by theansible.builtin.apt_key+ansible.builtin.apt_repositorycombo.Also LLM suggested to template
signed_bysigned_by: "https://download.docker.com/linux/{{ ansible_facts['distribution'] | lower }}/gpg"
tbh not sure the "correctness" of this change. since you said it worker for several distros. It actually worked for my Ubuntu 24.04 LTS when it was hardcoded to
debian