Skip to content

teamapps-org/ansible-collection-teamapps-general

Repository files navigation

Ansible Collection - teamapps.general

generic roles for different tools of an organization or company

Installation

Official Ansible Documentation for using collections

Add to your requirements.yml:

# requirements.yml

collections:
  # current unreleased from git source, requires ansible 2.10 or higher
  - name: git+https://github.com/teamapps-org/ansible-collection-teamapps-general.git
    type: git
    version: main

Run ansible-galaxy collection install -r requirements.yml -f

Tip: You can specify the installation path for collections in your project in ansible.cfg before running the command above.

# ansible.cfg
[defaults]
collections_path = collections

Usage

The roles in this collection can be used by using their full name, prefixed with teamapps.general

Check the defaults.yml of the roles for information on how to configure them.

# Ansible Playbook
# site.yml

- name: Zammad Helpdesk Play
  hosts: yourhost.example.com
  vars:
    letsencrypt_email: mail@example.com
    zammad_domain: help.example.com
  roles:
    - role: teamapps.general.webproxy
    - role: teamapps.general.zammad
      tags: zammad

Development setup

We use pipenv to install ansible and dependency package.

First time Setup

This is my current way I do it on Ubuntu. There are other ways to install ansible and manage the python dependencies.

cd ansible-collection-teamapps-general # where you cloned this repository
sudo apt install python3-pip
# set PATH so it includes user's ~/.local/bin
echo $PATH | grep '\.local/bin' || echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.profile && export PATH="$HOME/.local/bin:$PATH"
pip3 install --user --upgrade pip pipenv
pipenv shell --three
pipenv sync
# check ansible working correctly
ansible --version

Loading pipenv

cd ansible-collection-teamapps-general # where you cloned this repository
pipenv shell

update ansible and other python packages

  • Update your pip and pipenv packages: pip3 install --user --upgrade pip pipenv
  • To update your local packages to what's defined in the Pipfile and Pipfile.lock, run pipenv sync
  • To update the Pipfile.lock, run pipenv update
  • For a major upgrade of ansible, you will get a warning. use pipenv --rm and then pipenv sync

Run checks

Check YAML and ansible syntax

ansible-lint roles/*

License

Apache 2.0