sgaunet.gh_role_installer

Rôle Ansible : gh_role_installer

GitHub release

Un rôle Ansible qui installe des versions à partir de GitHub. Il a été créé pour installer des binaires depuis les versions GitHub. Il est conçu pour configurer uniquement des binaires simples (écrits en Go ou Rust) et non pour installer des logiciels complexes.

Vous pouvez l'utiliser pour configurer des outils comme :

  • bat
  • d2
  • gini
  • goreleaser
  • helm
  • k9s
  • pgweb
  • vhs
  • ...

Exigences

Aucune.

Variables du rôle

Les variables disponibles sont listées ci-dessous, seules gh_role_installer_tmp_directory et gh_role_installer_binary_path sont définies par défaut :

gh_role_installer_version: "latest"   # latest est une valeur spéciale pour obtenir la dernière version (l'API GitHub sera utilisée pour obtenir la dernière version)
gh_role_installer_os: "linux"         # nom du système d'exploitation, utilisé pour télécharger la version
gh_role_installer_arch: "amd64"       # architecture, utilisée pour télécharger la version
gh_role_installer_repository: "sgaunet/jwt-cli"
# lien de la version, utilisé pour télécharger la version, attention à version_to_install qui est une valeur spéciale qui sera remplacée par la version à installer
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  # si vrai, la version est une archive, elle sera téléchargée et extraite
gh_role_installer_binary_name: "jwt-cli"     # nom du binaire à installer
gh_role_installer_cmd_to_get_version: "jwt-cli version"  # commande pour obtenir la version du binaire installé
gh_role_installer_tmp_directory: "{{ lookup('env', 'TMPDIR') | default('/tmp', true) }}" # répertoire temporaire pour télécharger la version
gh_role_installer_binary_path: "/usr/local/bin/{{ gh_role_installer_binary_name }}"  # répertoire où le binaire sera installé

Dépendances

Aucune.

Exemple de 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 }}"

Le rôle contient également des variables pour installer des outils variés. Voir la liste des outils disponibles dans cette documentation.

Licence

MIT

Installer
ansible-galaxy install sgaunet.gh_role_installer
Licence
mit
Téléchargements
394
Propriétaire