sgaunet.gh_role_installer
Rôle Ansible : gh_role_installer
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