buluma.varnish

Ansible-Rolle varnish

Varnish für Linux.

GitHub Version Issues Pull Requests Downloads
github Version Issues PullRequests Ansible Role

Beispiel-Playbook

Dieses Beispiel stammt aus molecule/default/converge.yml und wird bei jedem Push, Pull-Request und Release getestet.

---
- name: Konvergenz
  hosts: all
  become: true
  gather_facts: true
  vars:
    varnish_apt_use_packagecloud: false

  pre_tasks:
    - name: Aktualisiere apt-Cache.
      apt: update_cache=yes cache_valid_time=600
      when: ansible_os_family == 'Debian'
      changed_when: false

    - name: Überprüfe, ob die Datei python3.11 EXTERNALLY-MANAGED existiert
      ansible.builtin.stat:
        path: /usr/lib/python3.11/EXTERNALLY-MANAGED
      register: externally_managed_file_py311

    - name: Benenne die Datei python3.11 EXTERNALLY-MANAGED um, wenn sie existiert
      ansible.builtin.command:
        cmd: mv /usr/lib/python3.11/EXTERNALLY-MANAGED /usr/lib/python3.11/EXTERNALLY-MANAGED.old
      when: externally_managed_file_py311.stat.exists
      args:
        creates: /usr/lib/python3.11/EXTERNALLY-MANAGED.old

    - name: Überprüfe, ob die Datei python3.12 EXTERNALLY-MANAGED existiert
      ansible.builtin.stat:
        path: /usr/lib/python3.12/EXTERNALLY-MANAGED
      register: externally_managed_file_py312

    - name: Benenne die Datei python3.12 EXTERNALLY-MANAGED um, wenn sie existiert
      ansible.builtin.command:
        cmd: mv /usr/lib/python3.12/EXTERNALLY-MANAGED /usr/lib/python3.12/EXTERNALLY-MANAGED.old
      when: externally_managed_file_py312.stat.exists
      args:
        creates: /usr/lib/python3.12/EXTERNALLY-MANAGED.old

  roles:
    - role: buluma.systemd
      systemd_default_target: multi-user.target
    - role: buluma.httpd
    - role: buluma.varnish

Die Maschine muss vorbereitet werden. In CI geschieht dies mit molecule/default/prepare.yml:

---
- name: Vorbereitung
  hosts: all
  gather_facts: false
  become: true

  roles:
    - role: buluma.bootstrap

  tasks:
    - name: Aktualisiere apt-Cache.
      ansible.builtin.apt: update_cache=true cache_valid_time=600
      when: ansible_os_family == 'Debian'

    - name: Stelle sicher, dass die Build-Abhängigkeiten installiert sind.
      ansible.builtin.yum:
        name:
          - logrotate
          - systemd-sysv
        state: present
      when: ansible_os_family == 'RedHat'

    - name: Stelle sicher, dass curl installiert ist.
      ansible.builtin.package: name=curl state=present

Siehe auch eine vollständige Erklärung und Beispiel zur Verwendung dieser Rollen.

Rollen-Variablen

Die Standardwerte für die Variablen sind in defaults/main.yml festgelegt:

---
varnish_package_name: "varnish"
varnish_modules_package_name: ""
varnish_version: "7.5"

varnish_use_default_vcl: true
varnish_default_vcl_template_path: default.vcl.j2

varnish_default_backend_host: "127.0.0.1"
varnish_default_backend_port: "8080"

varnish_listen_address: ""
varnish_listen_port: "80"
varnish_secret: "14bac2e6-1e34-4770-8078-974373b76c90"
varnish_config_path: /etc/varnish
varnish_limit_nofile: 131072

varnish_admin_listen_host: "127.0.0.1"
varnish_admin_listen_port: "6082"

varnish_storage: "file,/var/lib/varnish/varnish_storage.bin,256M"
varnish_pidfile: /run/varnishd.pid

varnishd_extra_options: ""

varnish_enabled_services:
  - varnish

# Verwende das Packagecloud-Repo anstelle des Standard-Distribution-Repos
varnish_apt_use_packagecloud: true

# Stelle sicher, dass das Packagecloud-Repo auf RHEL/CentOS verwendet wird.
varnish_packagecloud_repo_yum_repository_priority: "1"

# Nur unter RedHat / CentOS verwendet.
varnish_yum_repo_baseurl: "https://packagecloud.io/varnishcache/{{ varnish_packagecloud_repo }}/el/{{ ansible_distribution_major_version|int }}/$basearch"

# Nur unter Debian / Ubuntu verwendet.
varnish_apt_repo: "deb https://packagecloud.io/varnishcache/{{ varnish_packagecloud_repo }}/packages/{{ ansible_distribution | lower }}/ {{ ansible_distribution_release }} main"
# deb https://packagecloud.io/varnishcache/varnish60lts/$ID/ $VERSION_CODENAME main

# Optional kannst du zusätzliche Backends definieren.
# varnish_backends:
#   apache:
#     host: 10.0.2.2
#     port: 80
#   nodejs:
#     host: 10.0.2.3
#     port: 80

# Optional kannst du vhosts definieren, die auf verschiedene Backends zeigen.
# varnish_vhosts:
#   example.com:
#     backend: apache
#   nodejs.example.com:
#     backend: nodejs

Anforderungen

Status der verwendeten Rollen

Die folgenden Rollen werden zur Vorbereitung eines Systems verwendet. Du kannst dein System auf andere Weise vorbereiten.

Anforderung GitHub Version
buluma.bootstrap Ansible Molecule Version
buluma.systemd Ansible Molecule Version
buluma.core_dependencies Ansible Molecule Version
buluma.httpd Ansible Molecule Version

Kontext

Diese Rolle ist Teil vieler kompatibler Rollen. Sieh dir die Dokumentation dieser Rollen für weitere Informationen an.

Hier ist eine Übersicht über verwandte Rollen:

dependencies

Kompatibilität

Diese Rolle wurde mit diesen Container-Bildern getestet:

Container Tags
Ubuntu focal, jammy, noble
Debian bullseye

Die Mindestversion von Ansible, die benötigt wird, ist 2.12. Tests wurden durchgeführt für:

  • Die vorherige Version.
  • Die aktuelle Version.
  • Die Entwicklungsversion.

Wenn du Probleme findest, melde diese bitte in GitHub

Änderungshistorie

Rollenhistorie

Lizenz

Apache-2.0

Autoreninformationen

Shadow Walker

Installieren
ansible-galaxy install buluma.varnish
GitHub Repository
Lizenz
apache-2.0
Downloads
7.6k
Besitzer
DevOps Engineer