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
repository: "" # a plugin repository, optional
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.6.2
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.6.2
asdf_user: ci
asdf_plugins:
- name: erlang
- name: elixir
- name: nodejs
versions: ["8.11.3"]
global: "8.11.3"
roles:
- asdf
Licensed under the MIT License.