DevOps Tools/Configuration/Ansible/Playbook Examples

From r00tedvw.com wiki
Jump to: navigation, search

Overview | Continuous Integration (CI) | Source Control Management (SCM) | Containerization | Configuration | Integration
Ansible | Playbook Examples

Contents

Playbook Examples

CentOS - ensure certain packages are installed

This uses the yum module

~$ sudo cat /etc/ansible/playbooks/centos_base_packages.yml
- hosts: centos
  tasks:
    - name: ensure a list of packages installed
      yum:
        name: "{{ packages }}"
      vars:
        packages:
        - telnet
        - net-tools
        - vim
        - tcpdump
        - bind-utils
        - redhat-lsb-core
        - wget
        - nfs-utils
        - policycoreutils-python
        - setroubleshoot
        - setools

~$  ansible-playbook /etc/ansible/playbooks/centos_base_packages.yml

CentOS - update the hosts file from template

This uses the template module and requires that a template already be created. The template can be a plain host file without variables, will be static, and will replace any existing hosts file in place.

~$ sudo cat /etc/ansible/playbooks/hosts.yml
- hosts: centos
  tasks:
    - name: host file
      template:
        src: /etc/ansible/templates/hosts.j2
        dest: /etc/hosts

Linux - Set the permissions for all files and folders within a directory recursively

This uses the file module. It should be noted that while it will set the execution bit on directories (if there is none), it will not do so on files UNLESS at least (1) execution bit is already set.

$ cat /etc/ansible/playbooks/ansible_permissions.yml
- hosts: ansible
  tasks:
    - name: ansible permissions
      file:
        #state: directory
        path: /etc/ansible
        owner: root
        group: root
        mode: u=rwX,g=rX,o=rX
        recurse: yes
Personal tools
Namespaces

Variants
Actions
Navigation
Mediawiki
Confluence
DevOps Tools
Ubuntu
Ubuntu 22
Mac OSX
Oracle Linux
AWS
Windows
OpenVPN
Grafana
InfluxDB2
TrueNas
OwnCloud
Pivotal
osTicket
OTRS
phpBB
WordPress
VmWare ESXI 5.1
Crypto currencies
HTML
CSS
Python
Java Script
PHP
Raspberry Pi
Canvas LMS
Kaltura Media Server
Plex Media Server
MetaSploit
Zoneminder
ShinobiCE
Photoshop CS2
Fortinet
Uploaded
Certifications
General Info
Games
Meal Plans
NC Statutes
2020 Election
Volkswagen
Covid
NCDMV
Toolbox