An Ansible Role that installs asdf version manager with plugins.
None
Available variables are listed below, along with default values (see defaults/main.yml
). The variable asdf_plugins
specifies a list of plugins to install:
asdf_plugins: []
Each plugin can be given in the following format:
asdf_plugins:
- name: "erlang" # a plugin name
versions: # a list of versions to install
- 18.3
- 20.1
global: 20.1 # set as a global version, optional
The variable asdf_user
sets a user for which the role is installed:
asdf_user: "deploy"
The variable asdf_legacy_version_file
specifies if plugins which support this feature should read the version files used by other version managers (e.g. .ruby-version
in the case of Ruby's rbenv).
asdf_legacy_version_file: "yes"
The variable asdf_plugin_dependencies
sets packages which are needed for plugins (see defaults/main.yml
):
asdf_plugin_dependencies: []
The variable asdf_version
sets the git tag of asdf:
asdf_version: v0.4.3
None
Playbook example is given below:
- hosts: web
roles:
- role: ansible-role-asdf
asdf_plugins:
- name: "erlang"
versions: ["18.3", "20.1"]
global: "20.1"
- name: "elixir"
versions: "1.3.1"
A more complex example for CentOS is:
- name: install asdf
hosts: '*'
become: true
vars:
asdf_version: v0.4.3
asdf_user: ci
asdf_plugins:
- name: erlang
- name: elixir
- name: nodejs
versions: ["8.11.3"]
global: "8.11.3"
asdf_optional_dependencies:
# Erlang
- gcc
- glibc-devel
- make
- ncurses-devel
- openssl-devel
- autoconf
- pam-devel
- perl
# Node.js
- gpg
- perl-Digest-SHA
roles:
- asdf
Licensed under the MIT License.