DEBOPS.APT_PROXY(5)

NAME
debops.apt_proxy - Manage HTTP/HTTPS/FTP proxy for APT with Ansible

SYNOPSIS

debops service/apt_proxy [--limit group,host,...] [--diff] [--check] [--tags tag1,tag2,...] [--skip-tags tag1,tag2,...] [<ansible-playbook options>] ...

DESCRIPTION

This role manages the HTTP/HTTPS/FTP proxy configuration for APT. You can define what proxy to use, what hosts should be connected to directly, as well as set additional APT configuration options related to proxies as needed.

The role also features proxy online detection support to silently skip/ignore temporally offline proxies which can make sense for workstations and home servers.

GETTING STARTED

  Default configuration

The role will enable APT proxy support automatically if http_proxy, https_proxy or ftp_proxy environment variables are set on a given host. They can be configured using the debops.environment Ansible role.

Unfortunately using the above environment variables directly through sudo is problematic. To mitigate that, you can use the inventory__*_environment variables configured in the playbook to provide the correct variables to the role. See the debops-playbooks documentation for more details.

  Example inventory

The debops.apt_proxy role is included by default in the common.yml DebOps playbook, you don't need to add hosts to any groups to enable it.

  Example playbook

If you are using this role without DebOps, here's an example Ansible playbook that uses the debops.apt_proxy role:

---
- name: Configure APT proxy
  collections: [ 'debops.debops', 'debops.roles01',
                 'debops.roles02', 'debops.roles03' ]
  hosts: [ 'debops_all_hosts', 'debops_service_apt_proxy' ]
  become: True
  environment: '{{ inventory__environment | d({})
                   | combine(inventory__group_environment | d({}))
                   | combine(inventory__host_environment  | d({})) }}'
  roles:
    - role: apt_proxy
      tags: [ 'role::apt_proxy', 'skip::apt_proxy' ]

  Ansible tags

You can use Ansible --tags or --skip-tags parameters to limit what tasks are performed during Ansible run. This can be used after a host was first configured to speed up playbook execution, when you are sure that most of the configuration is already in the desired state.

Available role tags:

role::apt_proxy
    Main role tag, should be used in the playbook to execute all tasks.

AUTHOR
Maciej Delmanowski, Robin Schneider

COPYRIGHT
2014-2022, Maciej Delmanowski, Nick Janetakis, Robin Schneider and others