summaryrefslogtreecommitdiffstats
path: root/docs/man/man1/ansible-pull.1.asciidoc.in
blob: 12a38f674b4d9e7beb146e78954dacddbc3fcd62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
ansible(1)
=========
:doctype:manpage
:man source:   Ansible
:man version:  %VERSION%
:man manual:   System administration commands

NAME
----
ansible-pull - set up a remote copy of ansible on each managed node


SYNOPSIS
--------
ansible -d DEST -U URL [options] [ <filename.yml> ]


DESCRIPTION
-----------

*Ansible* is an extra-simple tool/framework/API for doing \'remote things' over
SSH.

Use ansible-pull to set up a remote copy of ansible on each managed
node, each set to run via cron and update playbook source via
a source repository. This inverts the default *push* architecture of
ansible into a *pull* architecture, which has near-limitless scaling
potential.

The setup playbook can be tuned to change the cron frequency, logging
locations, and parameters to ansible-pull.

This is useful both for extreme scale-out as well as periodic
remediation. Usage of the 'fetch' module to retrieve logs from
ansible-pull runs would be an excellent way to gather and analyze
remote logs from ansible-pull.


OPTIONAL ARGUMENT
-----------------

*filename.yml*::

The name of one the YAML format files to run as an ansible playbook.  This can
be a relative path within the checkout.  If not provided, ansible-pull
will look for a playbook based on the host's fully-qualified domain name, on the
host hostname and finally a playbook named *local.yml*.


OPTIONS
-------

*-d* 'DEST', *--directory=*'DEST'::

Directory to checkout repository into. If not provided, a subdirectory of
~/.ansible/pull/ will be used.

*-U* 'URL', *--url=*'URL'::

URL of the playbook repository to checkout.

*-C* 'CHECKOUT', *--checkout=*'CHECKOUT'::

Branch/Tag/Commit to checkout.  If not provided, uses default behavior
of module used to check out playbook repository.

*-f*, *--force*::

Force running of playbook even if unable to update playbook repository.  This
can be useful, for example, to enforce run-time state when a network
connection may not always be up or possible.

*-i* 'PATH', *--inventory=*'PATH'::

The 'PATH' to the inventory hosts file.  This can be a relative path within
the checkout.

*--purge*::

Purge the checkout after the playbook is run.

*-m* 'NAME', *--module-name=*'NAME'::

Module used to checkout playbook repository.  Defaults to git.

*-o*, *--only-if-changed*::

Run the playbook only if the repository has changed

AUTHOR
------

Ansible was originally written by Michael DeHaan. See the AUTHORS file
for a complete list of contributors.


COPYRIGHT
---------

Copyright © 2012, Michael DeHaan

Ansible is released under the terms of the GPLv3 License.


SEE ALSO
--------

*ansible*(1), *ansible-playbook*(1), *ansible-doc*(1)

Extensive documentation as well as IRC and mailing list info
is available on the ansible home page: <https://ansible.github.com/>