Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mmul-it/ansible
MMUL Ansible Roles
https://github.com/mmul-it/ansible
ansible graylog kubernetes mongodb
Last synced: 5 days ago
JSON representation
MMUL Ansible Roles
- Host: GitHub
- URL: https://github.com/mmul-it/ansible
- Owner: mmul-it
- License: mit
- Created: 2020-02-26T10:35:33.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-01-18T17:28:33.000Z (10 months ago)
- Last Synced: 2024-01-18T19:29:28.379Z (10 months ago)
- Topics: ansible, graylog, kubernetes, mongodb
- Language: Jinja
- Size: 8.9 MB
- Stars: 5
- Watchers: 5
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MMUL Ansible roles
This collection of roles can be used to implement various cloud native
solutions:* [Azure](roles/azure): automate tasks on Azure;
* [Graylog](roles/graylog-server): a clustered Graylog/MongoDB/Elasticsearch
solution;
* [MaxScale](roles/maxscale): a MariaDB MaxScale instance (suitable also for
Azure MaxScale);
* [Redis](roles/redis): a Redis cluster implementation;A specific README will be (soon, if not present) available for each role.
## Using the roles
For each of the role there is an Ansible plugin that will invoke everything that
is needed to accomplish its scope.### Preparing the environment
The best way to run everything is by using Python virtual environments and
Ansible Collections.First of all you need to clone this repository:
```console
user@lab ~ # git clone https://github.com/mmul-it/ansible
Cloning into 'ansible'...
remote: Enumerating objects: 2572, done.
remote: Counting objects: 100% (449/449), done.
remote: Compressing objects: 100% (199/199), done.
remote: Total 2572 (delta 269), reused 363 (delta 222), pack-reused 2123
Receiving objects: 100% (2572/2572), 9.10 MiB | 8.77 MiB/s, done.
Resolving deltas: 100% (1345/1345), done.
```Then you will create your Python virtual environment:
```console
user@lab ~ # python3 -m virtualenv ansible-env
Running virtualenv with interpreter /usr/bin/python2
New python executable in /root/ansible-env/bin/python2
Also creating executable in /root/ansible-env/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.# source ansible-env/bin/activate
(ansible-env) user@lab ~ #(ansible-env) user@lab ~ # python3 -m pip install --upgrade pip
```And then you'll be ready to install the Python requirements:
```console
(ansible-env) user@lab ~ # pip3 install -r ansible/requirements.txt
Requirement already satisfied: ansible in /usr/lib/python3.6/site-packages (from -r ansible/requirements.txt (line 1)) (2.10.7)
Requirement already satisfied: ansible-vault in /usr/lib/python3.6/site-packages (from -r ansible/requirements.txt (line 2)) (1.2.0)
Requirement already satisfied: azure-cli in /usr/lib/python3.6/site-packages (from -r ansible/requirements.txt (line 3)) (2.25.0)
...
...
Installing collected packages: rsa, cachetools, google-auth, kubernetes
Successfully installed cachetools-4.2.4 google-auth-2.13.0 kubernetes-24.2.0 rsa-4.9
```And finally the Ansible collections:
```console
(ansible-env) user@lab ~ # ansible-galaxy install -r ansible/collections/requirements.yml
Starting galaxy collection install process
Process install dependency map
...
...
kubernetes.core (2.3.2) was installed successfully
```Now you should be ready to use `ansible-playbook` to execute the desired
playbooks.### Launching the playbooks
Supposing that you want to install a Kubernetes environment, you'll need to pass
an inventory (we will rely on `lab`) like this:```console
$ ansible-playbook \
-i $HOME/ansible/inventory/lab \
$HOME/ansible/kubernetes.yml
```## Authors
This project was created and is maintained by
[Raoul Scarazzini](https://github.com/rascasoft) and has contributions from
other users. Thanks to everyone who will contribute in the future, you're more
than welcome!## License
MIT License