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

关于项目

Add third-party repositories on Debian in a secure way

安装
ansible-galaxy install systemli.apt_repositories
许可证
gpl-3.0
下载
36.7k
拥有者
Your friendly tech collective