Permalink
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
ansible-examples/language_features/ansible_pull.yml
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
56 lines (43 sloc)
1.7 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ansible-pull setup | |
# | |
# on remote hosts, set up ansible to run periodically using the latest code | |
# from a particular checkout, in pull based fashion, inverting Ansible's | |
# usual push-based operating mode. | |
# | |
# This particular pull based mode is ideal for: | |
# | |
# (A) massive scale out | |
# (B) continual system remediation | |
# | |
# DO NOT RUN THIS AGAINST YOUR HOSTS WITHOUT CHANGING THE repo_url | |
# TO SOMETHING YOU HAVE PERSONALLY VERIFIED | |
# | |
# | |
--- | |
- hosts: pull_mode_hosts | |
remote_user: root | |
vars: | |
# schedule is fed directly to cron | |
schedule: '*/15 * * * *' | |
# User to run ansible-pull as from cron | |
cron_user: root | |
# File that ansible will use for logs | |
logfile: /var/log/ansible-pull.log | |
# Directory to where repository will be cloned | |
workdir: /var/lib/ansible/local | |
# Repository to check out -- YOU MUST CHANGE THIS | |
# repo must contain a local.yml file at top level | |
#repo_url: git://github.com/sfromm/ansible-playbooks.git | |
repo_url: SUPPLY_YOUR_OWN_GIT_URL_HERE | |
tasks: | |
- name: Install ansible | |
yum: pkg=ansible state=installed | |
- name: Create local directory to work from | |
file: path={{workdir}} state=directory owner=root group=root mode=0751 | |
- name: Copy ansible inventory file to client | |
copy: src=/etc/ansible/hosts dest=/etc/ansible/hosts | |
owner=root group=root mode=0644 | |
- name: Create crontab entry to clone/pull git repository | |
template: src=templates/etc_cron.d_ansible-pull.j2 dest=/etc/cron.d/ansible-pull owner=root group=root mode=0644 | |
- name: Create logrotate entry for ansible-pull.log | |
template: src=templates/etc_logrotate.d_ansible-pull.j2 dest=/etc/logrotate.d/ansible-pull owner=root group=root mode=0644 |