systemli.apt_repositories
apt_repositories
在 Debian 和衍生版中添加第三方软件源,并固定它们的包。 遵循 Debian wiki 的指南。
默认使用 deb822 格式,但也支持单行格式(手册页)。
需求
Debian 9+ 或 Ubuntu 18.04+。其他版本的 Debian/Ubuntu 可能也支持,但未经过测试。
角色变量
apt_repositories:
- url: https://...
key: |
-----BEGIN PGP PUBLIC KEY BLOCK-----
MY_ARMORED_KEY
...
其他可能的变量(及其默认值)为:
apt_repositories:
- url: https://...
filename: "{{ item.url|urlsplit('hostname') }}"
types: deb
suites: "{{ ansible_distribution_release }}"
components: main
packages: []
key_path: # 使用角色 `files` 目录中的文件路径,而不是 `key`
此外,它还支持 preset
值。示例见 vars/gitlab.yml
。
预设可以部分覆盖。
当前预设:
- caddy
- gitlab
- grafana
- jitsi
- prosody
- sury
- torproject
欢迎提交合并请求!
示例剧本
- hosts: server
roles:
- systemli.apt_repositories
vars:
apt_repositories:
- filename: packages.gitlab.com
url: https://packages.gitlab.com/gitlab/gitlab-ce/debian/
key: "{{ gitlab_ce_key }}"
packages:
- gitlab-ce
或
- hosts: server
roles:
- systemli.apt_repositories
vars:
apt_repositories:
- preset: gitlab
或者只需将其作为 ansible-galaxy
的依赖项添加:
# meta/main.yml
...
dependencies:
- role: systemli.apt_repositories
vars:
apt_repositories:
- filename: download.jitsi.org
url: https://download.jitsi.org/
key_path: jitsi-archive-keyring.gpg
suites: stable/
components: ''
packages: "{{ jitsi_meet_packages }}"
许可证
GPLv3
作者信息
systemli.org