sgaunet.gh_role_installer

Rol de Ansible: gh_role_installer

Lanzamiento en GitHub

Un Rol de Ansible que instala versiones desde GitHub. Ha sido creado para instalar binarios de lanzamientos de GitHub. Está diseñado para configurar solo binarios simples (programados en Go o Rust) y no para instalar software complejo.

Puedes usarlo para configurar herramientas como:

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

Requisitos

Ninguno.

Variables del Rol

Las variables disponibles se enumeran a continuación; solo gh_role_installer_tmp_directory y gh_role_installer_binary_path están configuradas por defecto:

gh_role_installer_version: "latest"   # latest es un valor especial para obtener la última versión (se usará la API de GitHub para obtener la última versión)
gh_role_installer_os: "linux"         # nombre del sistema operativo, usado para descargar la versión
gh_role_installer_arch: "amd64"       # arquitectura, usada para descargar la versión
gh_role_installer_repository: "sgaunet/jwt-cli"
# url de la versión, utilizada para descargar la versión, ten cuidado, version_to_install es un valor especial que será reemplazado por la versión a instalar
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 es verdadero, la versión es un archivo comprimido, se descargará y se extraerá
gh_role_installer_binary_name: "jwt-cli"     # nombre del binario a instalar
gh_role_installer_cmd_to_get_version: "jwt-cli version"  # comando para obtener la versión del binario instalado
gh_role_installer_tmp_directory: "{{ lookup('env', 'TMPDIR') | default('/tmp', true) }}" # directorio temporal para descargar la versión
gh_role_installer_binary_path: "/usr/local/bin/{{ gh_role_installer_binary_name }}"  # directorio donde se instalará el binario

Dependencias

Ninguna.

Ejemplo 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 }}"

El rol también contiene variables para instalar herramientas misceláneas. Consulta la lista de herramientas disponibles en esta documentación.

Licencia

MIT

Instalar
ansible-galaxy install sgaunet.gh_role_installer
Licencia
mit
Descargas
394
Propietario