Getting Started with Ansible Galaxy
- ansible
- getting-started
- ansible-galaxy
- ansible-collections
- ansible-galaxy-module
In this tutorial we show you how to use Ansible Galaxy. Ansible Galaxy is a tool that seeks to give visibility to one of Ansible’s most exciting features: reusable roles for server configuration or the installation of applications. Many users share roles on Ansible Galaxy.
Ansible roles consist of playbooks that group multiple tasks into one container. They allow the performance of automation tasks with clean directory structures.
You may need certain IAM permissions to carry out some actions described on this page. This means:
- you are the Owner of the Scaleway Organization in which the actions will be carried out, or
- you are an IAM user of the Organization, with a policy granting you the necessary permission sets
- You have an account and are logged into the Scaleway console
- You have a Scaleway Instance running Ubuntu Linux
- You are familiar with Ansible and Ansible-Apache
- You have Ansible-Apache installed on your local computer.
Creating a LAMP server with Ansible roles
To use roles in Ansible playbooks, you must first download them.
-
Install Apache, MySQL and PHP.
ansible-galaxy install geerlingguy.apache geerlingguy.mysql geerlingguy.phpNote:In this example we use
geerlinguy
’s role, which is a software developer involved in many open source development communities. The latest version will be dowloaded if you do not specify which one you want to download. Add the version after the role name to specify a version. Example:geerlingguy.apache,1.0.0
orgeerlingguy.mysql,1.0.0
.If you want to use other roles, check out geerlinguy’s Ansible profile.
-
Create an Ansible playbook named
lamp.yml
with the following contents:---- hosts: allroles:- geerlingguy.mysql- geerlingguy.apache- geerlingguy.php -
Run the playbook against a host
ansible-playbook lamp.yml
The LAMP server is now created.
Creating a Solr server with Ansible roles
Apache Solr is a fast open-source Java search server. Solr enables you to easily create search engines that search websites, databases and files.
For more information on Solr, refer to the Solr official documentation.
- Install Java, tomcat6, Solr with an ansible-galaxy command. We will use the role from
geerlinguy
who is a software developer involved in many open source development communities. Check geerlinguy for many other roles.ansible-galaxy install geerlingguy.java geerlingguy.tomcat6 geerlingguy.solr - Create a playbook named
solr.yml
with the following contents:---- hosts: allroles:- geerlingguy.java- geerlingguy.tomcat6- geerlingguy.solr - Run the playbook against a host
ansible-playbook solr.yml
The Solr server is now created.
Helpful Galaxy commands
Some other helpful ansible-galaxy
commands are:
ansible-galaxy list
displays a list of installed roles, with version numbersansible-galaxy remove [role]
removes an installed roleansible-galaxy init
can be used to create a role template suitable for submission to Ansible Galaxy
Additionally, you can configure the default path where Ansible roles are downloaded by editing your ansible.cfg
configuration file (normally located in /etc/ansible/ansible.cfg
) and setting a roles_path in the [defaults] section.
For more information on Galaxy commands, refer to the official documentation.