sgaunet.gh_role_installer
Ansible Rolle: gh_role_installer
Eine Ansible Rolle, die Releases von GitHub installiert. Sie wurde erstellt, um Binärdateien aus GitHub-Releases zu installieren. Sie ist dafür gedacht, nur einfache Binärdateien (geschrieben in Go oder Rust) einzurichten und nicht komplexe Software zu installieren.
Du kannst sie verwenden, um Werkzeuge wie:
- bat
- d2
- gini
- goreleaser
- helm
- k9s
- pgweb
- vhs
- ...
Anforderungen
Keine.
Rollenvariablen
Die verfügbaren Variablen sind unten aufgeführt. Nur gh_role_installer_tmp_directory
und gh_role_installer_binary_path
sind standardmäßig festgelegt:
gh_role_installer_version: "latest" # latest ist ein spezieller Wert, um die neueste Version zu erhalten (die GitHub-API wird verwendet, um die neueste Version abzurufen)
gh_role_installer_os: "linux" # Name des Betriebssystems, verwendet zum Herunterladen der Version
gh_role_installer_arch: "amd64" # Architektur, verwendet zum Herunterladen der Version
gh_role_installer_repository: "sgaunet/jwt-cli"
# Release-URL, verwendet zum Herunterladen der Version. Sei vorsichtig, `version_to_install` ist ein spezieller Wert, der durch die zu installierende Version ersetzt wird.
gh_role_installer_release: "https://github.com/{{ gh_role_installer_repository }}/releases/download/v{{ version_to_install }}/jwt-cli_{{ version_to_install }}_{{ gh_role_installer_os }}_{{ gh_role_installer_arch }}"
gh_role_installer_release_is_archive: false # wenn true, ist das Release ein Archiv, es wird heruntergeladen und entpackt
gh_role_installer_binary_name: "jwt-cli" # Name der zu installierenden Binärdatei
gh_role_installer_cmd_to_get_version: "jwt-cli version" # Befehl, um die Version der installierten Binärdatei zu erhalten
gh_role_installer_tmp_directory: "{{ lookup('env', 'TMPDIR') | default('/tmp', true) }}" # temporäres Verzeichnis zum Herunterladen des Releases
gh_role_installer_binary_path: "/usr/local/bin/{{ gh_role_installer_binary_name }}" # Verzeichnis, in dem die Binärdatei installiert wird
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: all
roles:
- role: sgaunet.gh_role_installer
vars:
gh_role_installer_version: "latest"
gh_role_installer_os: "unknown-linux-musl"
gh_role_installer_arch: "x86_64"
gh_role_installer_repository: "zellij-org/zellij"
gh_role_installer_release: "https://github.com/{{ gh_role_installer_repository }}/releases/download/v{{ version_to_install }}/zellij-{{ gh_role_installer_arch }}-{{ gh_role_installer_os }}.tar.gz"
gh_role_installer_release_is_archive: true
gh_role_installer_binary_name: "zellij"
gh_role_installer_cmd_to_get_version: 'zellij --version | sed "s#zellij ##g"'
# gh_role_installer_tmp_directory: "{{ lookup('env', 'TMPDIR') | default('/tmp', true) }}"
# gh_role_installer_binary_path: "/usr/local/bin/{{ gh_role_installer_binary_name }}"
Die Rolle enthält auch Variablen zur Installation verschiedener Werkzeuge. Siehe die Liste der verfügbaren Werkzeuge in dieser Dokumentation.
Lizenz
MIT