sgaunet.gh_role_installer

Ansible Rolle: gh_role_installer

GitHub-Version

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

Installieren
ansible-galaxy install sgaunet.gh_role_installer
GitHub Repository
Lizenz
mit
Downloads
394
Besitzer