DevOps Tools/Configuration/Ansible/Playbook Examples

From r00tedvw.com wiki
(Difference between revisions)
Jump to: navigation, search
 
(5 intermediate revisions by one user not shown)
Line 4: Line 4:
 
==CentOS - ensure certain packages are installed==
 
==CentOS - ensure certain packages are installed==
 
This uses the '''yum''' module
 
This uses the '''yum''' module
  <nowiki>~$ cat /etc/ansible/playbooks/centos_base_packages.yml
+
  <nowiki>~$ sudo cat /etc/ansible/playbooks/centos_base_packages.yml
 
- hosts: centos
 
- hosts: centos
 
   tasks:
 
   tasks:
Line 25: Line 25:
  
 
~$  ansible-playbook /etc/ansible/playbooks/centos_base_packages.yml</nowiki>
 
~$  ansible-playbook /etc/ansible/playbooks/centos_base_packages.yml</nowiki>
 +
 +
==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.
 +
<nowiki>~$ sudo cat /etc/ansible/playbooks/hosts.yml
 +
- hosts: centos
 +
  tasks:
 +
    - name: host file
 +
      template:
 +
        src: /etc/ansible/templates/hosts.j2
 +
        dest: /etc/hosts</nowiki>
 +
 +
==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.
 +
<nowiki>$ 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</nowiki>

Latest revision as of 19:09, 31 January 2019

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

Contents

[edit] Playbook Examples

[edit] 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

[edit] 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

[edit] 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
Open Source Products
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