tomereli.proxy
Ansible 角色:代理
这是一个配置 Linux 代理服务器设置的 Ansible 角色。
需求
无。
角色变量
可用的变量如下所示,以及默认值(请参见 defaults/main.yml
):
http_proxy: "{{ ansible_env.http_proxy }}"
https_proxy: "{{ ansible_env.https_proxy }}"
ftp_proxy: "{{ ansible_env.ftp_proxy }}"
no_proxy: "{{ ansible_env.no_proxy }}"
代理变量默认从主机获取,使用 ansible_env
。如果配置的代理与主机不同,可以覆盖这些变量。它们用于设置 /etc/environment
和包管理器(apt/yum)代理。
install_docker_service_proxy: true
install_docker_containers_proxy: true
install_docker_service_proxy
变量控制是否安装 Docker 服务代理(/etc/systemd/system/docker.service.d/proxy.conf
),这使得 Docker 服务在代理服务器后面运行时能够访问互联网——这意味着 Docker 可以从互联网上获取镜像。
install_docker_containers_proxy
变量控制是否为指定用户安装 Docker 容器代理(~/.docker/config.json
)。这使得 Docker 容器在代理后面能够访问互联网。
依赖关系
无。
示例剧本
以下剧本为 root
和 tomereli
用户设置系统和用户代理,使用来自主机的代理环境变量:
- hosts: all
roles:
- role: tomereli.proxy
vars:
users:
- username: root
- username: tomereli
以下剧本仅使用给定的代理设置设置系统代理:
- hosts: all
roles:
- role: tomereli.proxy
vars:
http_proxy: 'http://example-proxy-server.com:911/'
https_proxy: 'http://example-proxy-server.com:911/'
ftp_proxy: 'http://example-proxy-server.com:911/'
no_proxy: 'localhost'
许可证
MIT / BSD
作者信息
该角色由 Tomer Arbel-Eliyahu 于 2020 年创建。