/ansible-workstation-common

Common tasks for installing and configuring Fedora Workstation and MacOS

Primary LanguageJinjaMIT LicenseMIT

GitHub branch checks state Ansible Role Ansible Role

DEPRECATION NOTICE:

Times have changed and so has the need for this Ansible workstation configuration. I have used it with my team for over 4 years to have a very feature-rich development environment deployed on either Fedora Workstation or MacOS. Eventually we moved to using Docker Compose based configurations (like Warden), because the maintanence burden was getting quite high, especially for MacOS. This repository has been archived and should be seen as a library of all kinds of Ansible stuff.

Workstation Common

Common tasks for installing and configuring Fedora Workstation and MacOS. It's a development stack using:

  • PHP (7.3, 7.4 and 8.0)
  • Node.js
  • NGINX (automatically tested and reloaded using nginx_config_reloader)
  • MariaDB
  • Redis
  • Dnsmasq
  • Elasticsearch
  • Mailcatcher

All the other sugar included, such as:

  • Docker
  • Google Chrome
  • AWS CLI
  • Composer
  • Magerun
  • Spotify
  • Steam
  • Many other tweaks.

This project is tested and running on:

  • Fedora Workstation 33
  • MacOS (in development, tests need to be added)

Requirements

A running instance of Fedora Workstation/MacOS with ssh key access.

Role Variables

Too many to list here, please see defaults/main.yml.

Dependencies

Running Tests

pip install -r install.txt
molecule test

Example Playbook

Example filename: workstation.yml.

- hosts: localhost
  connection: local
  become_method: sudo
  vars:
    primary_user: john
    primary_group: john
  roles:
    - tdgroot.workstation_common

Running the role on your system

  1. Create a playbook as described above.
  2. Install the role with ansible-galaxy install tdgroot.workstation_common.
  3. Run command echo localhost > hosts.
  4. Run command ansible-playbook -K <playbook.yml>.

License

MIT