Skip to content

Latest commit

 

History

History
590 lines (553 loc) · 222 KB

index.md

File metadata and controls

590 lines (553 loc) · 222 KB

These Ansible roles are simple in style and work well together on many distributions and many Ansible version.

A monthly test to see of the role still works on the current distributions. Some roles contain a version that requires frequent changes and tests. To better understand what distributions and their versions are tested, have a look at the relations page.

Role name GitHub Action GitLab CI Version Downloads
aide Ansible Molecule gitlab version downloads
alternatives github gitlab version downloads
anaconda github gitlab version downloads
ansible github pipeline status version downloads
ansible_lint github pipeline status version downloads
apache Ansible Molecule pipeline status version downloads
apt_autostart github pipeline status version downloads
apt_repository Ansible Molecule pipeline status version downloads
atom github gitlab version downloads
auditd github gitlab version downloads
autofs github gitlab version downloads
auto_update Ansible Molecule gitlab version downloads
azure_cli Ansible Molecule gitlab version downloads
backup github gitlab version downloads
bootstrap Ansible Molecule pipeline status version downloads
buildtools github gitlab version downloads
ca Ansible Molecule gitlab version downloads
cargo Ansible Molecule gitlab version downloads
ca_certificates github gitlab version downloads
centos_base Ansible Molecule gitlab version downloads
certbot github gitlab version downloads
collectd github gitlab version downloads
common Ansible Molecule gitlab version downloads
consul github gitlab version downloads
core_dependencies github gitlab version downloads
cron github gitlab version downloads
debug github gitlab version downloads
desktop github gitlab version downloads
diskspace github gitlab version downloads
dns github gitlab version downloads
dnsmasq github gitlab version downloads
docker github gitlab version downloads
docker_ce Ansible Molecule gitlab version downloads
dotfiles github gitlab version downloads
dsvpn github gitlab version downloads
earlyoom github pipeline status version downloads
eclipse github pipeline status version downloads
elasticsearch github pipeline status version downloads
elasticsearch_curator github pipeline status version downloads
elastic_repo github pipeline status version downloads
environment github pipeline status version downloads
epel github pipeline status version downloads
etherpad github gitlab version downloads
facts github gitlab version downloads
fail2ban github pipeline status version downloads
filesystem Ansible Molecule gitlab version downloads
firefox github gitlab version downloads
fish github gitlab version downloads
forensics github gitlab version downloads
git github gitlab version downloads
gitlab github gitlab version downloads
gitlab_ce github gitlab version downloads
gitlab_ee github gitlab version downloads
glusterfs github gitlab version downloads
gnome github gitlab version downloads
go github gitlab version downloads
haproxy github gitlab version downloads
hashicorp github gitlab version downloads
httpd github gitlab version downloads
hostname Ansible Molecule gitlab version downloads
icingaweb2 github gitlab version downloads
influxdb2 github gitlab version downloads
investigate github gitlab version downloads
irslackd github gitlab version downloads
java github gitlab version downloads
jenkins github gitlab version downloads
jitsi Ansible Molecule gitlab version downloads
keepalived github gitlab version downloads
kernel github gitlab version downloads
kibana github gitlab version downloads
kubectl github gitlab version downloads
locale Ansible Molecule gitlab version downloads
logrotate github gitlab version downloads
lynis github gitlab version downloads
maintenance github gitlab version downloads
mate github gitlab version downloads
mediawiki github gitlab version downloads
metricbeat Ansible Molecule gitlab version downloads
microsoft_repository_keys github gitlab version downloads
modprobe github gitlab version downloads
molecule github gitlab version downloads
moodle github gitlab version downloads
mount github gitlab version downloads
mssql github gitlab version downloads
mysql github gitlab version downloads
nfs github gitlab version downloads
nginx github gitlab version downloads
node_red github gitlab version downloads
npm github gitlab version downloads
ntp github gitlab version downloads
openssh github gitlab version downloads
openssl github gitlab version downloads
openvpn github gitlab version downloads
owncloud github gitlab version downloads
perforce github gitlab version downloads
pip github gitlab version downloads
php github gitlab version downloads
php_fpm github gitlab version downloads
podman github gitlab version downloads
postfix github gitlab version downloads
postgres github gitlab version downloads
powertools github gitlab version downloads
prometheus github gitlab version downloads
puppet github gitlab version downloads
python_pip github gitlab version downloads
rclone github gitlab version downloads
reboot github gitlab version downloads
redis github gitlab version downloads
remi github pipeline status version downloads
repo_epel github pipeline status version downloads
restore github gitlab version downloads
rpmfusion github gitlab version downloads
roundcubemail github gitlab version downloads
ruby github gitlab version downloads
scl github gitlab version downloads
security github gitlab version downloads
sensu github gitlab version downloads
selinux github gitlab version downloads
service github gitlab version downloads
setuptools github gitlab version downloads
snmpd github gitlab version downloads
solr github pipeline status version downloads
sosreport github pipeline status version downloads
ssh_chroot_jail github pipeline status version downloads
storage github gitlab version downloads
sudo github gitlab version downloads
ssh_keys github gitlab version downloads
supervisor github gitlab version downloads
swap github gitlab version downloads
sysctl github gitlab version downloads
systemd github gitlab version downloads
teams github gitlab version downloads
terraform github gitlab version downloads
telegraf github gitlab version downloads
tftpd github pipeline status version downloads
test_connection github gitlab version downloads
thunderbird github gitlab version downloads
timezone github gitlab version downloads
tomcat github gitlab version downloads
transmission github gitlab version downloads
travis github gitlab version downloads
tune2fs github gitlab version downloads
turn github gitlab version downloads
types github gitlab version downloads
qemu github gitlab version downloads
ulimit github gitlab version downloads
umask Ansible Molecule gitlab version downloads
update github gitlab version downloads
update_package_cache github gitlab version downloads
update_pip_packages github gitlab version downloads
upgrade github gitlab version downloads
unowned_files github gitlab version downloads
users github gitlab version downloads
vagrant github gitlab version downloads
varnish github gitlab version downloads
vault Ansible Molecule gitlab version downloads
vector github gitlab version downloads
victoriametrics github pipeline status version downloads
victoriametrics_cluster github gitlab version downloads
xinetd github gitlab version downloads
zabbix_agent github gitlab version downloads
zabbix_proxy github gitlab version downloads
zabbix_repository github gitlab version downloads
zabbix_server github gitlab version downloads
zabbix_web github gitlab version downloads

Most roles have a "soft dependency" described in requirements.yml. You can choose to use those roles if you like them. Here is an overview of these soft dependencies.

The dependencies are soft for these reasons:

  • Better re-usability.
  • Easier to fork.
  • Let system developer assume a start-state of a machine.

Because these dependencies are loose, you have to include them in your playbook yourself:

- name: make the best machine ever
  hosts: all
  become: yes

  roles:
    - role: buluma.bootstrap
    - role: buluma.java
    - role: buluma.tomcat

Some roles have a hard dependencies on another role, mainly for a shared handler or variables set in the parent role, used in the child role. More details on how to use these roles. These hard dependencies are describe in meta/main.yml under dependencies.

Role Depends on Reason
ca httpd inherited variable
common reboot A reboot is used in tasks/main.yml with include_role.
openvpn selinux SELinux is configured in tasks/main.yml with include_role.
openvpn ca OpenSSL keys are created in tasks/main.yml with include_role.
php httpd handler
phpmyadmin httpd handler
roundcubemail httpd handler
selinux reboot A reboot is used in tasks/main.yml with include_role.
spamassassin rsyslog handler
tftpd xinetd handler
update reboot A reboot is used in tasks/main.yml with include_role.
zabbix httpd handler & inherited variable

A page describing how I release considering these dependencies.

Ansible tests are being executed using the following components

Component Build status
docker-alpine-openrc alpine build status
docker-archlinux-systemd docker build
docker-amazonlinux-systemd amazonlinux build status
docker-centos-systemd centos build status
docker-debian-systemd debian build status
docker-fedora-systemd fedora build status
docker-opensuse-systemd opensuse build status
docker-oraclelinux-systemd oraclelinux build status
docker-redhat-systemd redhat build status
docker-ubuntu-systemd ubuntu build status
Collection Function
roles All roles from buluma.github.io
Component Status
Github Action Molecule Yaml Lint
Github Action Galaxy Yaml Lint
Github Action Gitlab Yaml Lint
Github Action RPM build Yaml Lint
Github Action Graphviz Yaml Lint
docker-github-action-molecule Build and Push Container
docker-github-action-galaxy Build and Push Container
docker-github-action-graphviz build-push

I use a few tools to maintain the software I create.

Tool Usage
ansible-generate Generate lots of file for ansible roles based on a few input files.
ansible-probe Test ansible roles on different distributions and version.
ansible-tester Try roles against vagrant machines before pushing or releasing.
pre-commit Some pre-commit hooks to test Ansible code.

Unit tests and integration tests are use to verify the quality of the roles, read more about testing

See the overview of issues and pull requests.

The goal is to let all Ansible roles work on as many distributions as possible, but this is sometimes not possible. For each distribution, the current and previous release is tested. A role may work on diferent distributions, like Red Hat Enterprise Linux (RHEL), but it's not tested against it. By default these Linux distributions are included in the tests:

Distribution Version(s)
Archlinux latest
Alpine latest & edge*
CentOS 7 & latest
Debian stable & unstable*
Fedora latest & rawhide*
OpenSUSE leap & tumbleweed
Ubuntu latest, devel* & rolling
  • = These are experimental, builds are done for informative purposes and may fail.

The goal is to let all roles work on these Ansible version:

  • 2.8
  • 2.9
  • 2.10
  • 2.11
  • 2.12
  • devel (which is allowed to fail)

See errors? Please help and make a merge request on git.