ansible.cfg 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517
  1. # For a full list of available options, run ansible-config list or see the
  2. # documentation: https://docs.ansible.com/ansible/latest/reference_appendices/config.html.
  3. [defaults]
  4. inventory = ./inventory.ini
  5. #library = ~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
  6. #module_utils = ~/.ansible/plugins/module_utils:/usr/share/ansible/plugins/module_utils
  7. #remote_tmp = ~/.ansible/tmp
  8. #local_tmp = ~/.ansible/tmp
  9. #forks = 5
  10. #poll_interval = 0.001
  11. #ask_pass = False
  12. #transport = smart
  13. # Plays will gather facts by default, which contain information about
  14. # the remote system.
  15. #
  16. # smart - gather by default, but don't regather if already gathered
  17. # implicit - gather by default, turn off with gather_facts: False
  18. # explicit - do not gather by default, must say gather_facts: True
  19. gathering = smart
  20. # This only affects the gathering done by a play's gather_facts directive,
  21. # by default gathering retrieves all facts subsets
  22. # all - gather all subsets
  23. # network - gather min and network facts
  24. # hardware - gather hardware facts (longest facts to retrieve)
  25. # virtual - gather min and virtual facts
  26. # facter - import facts from facter
  27. # ohai - import facts from ohai
  28. # You can combine them using comma (ex: network,virtual)
  29. # You can negate them using ! (ex: !hardware,!facter,!ohai)
  30. # A minimal set of facts is always gathered.
  31. #
  32. #gather_subset = all
  33. # some hardware related facts are collected
  34. # with a maximum timeout of 10 seconds. This
  35. # option lets you increase or decrease that
  36. # timeout to something more suitable for the
  37. # environment.
  38. #
  39. #gather_timeout = 10
  40. # Ansible facts are available inside the ansible_facts.* dictionary
  41. # namespace. This setting maintains the behaviour which was the default prior
  42. # to 2.5, duplicating these variables into the main namespace, each with a
  43. # prefix of 'ansible_'.
  44. # This variable is set to True by default for backwards compatibility. It
  45. # will be changed to a default of 'False' in a future release.
  46. #
  47. #inject_facts_as_vars = True
  48. # Paths to search for collections, colon separated
  49. # collections_paths = ~/.ansible/collections:/usr/share/ansible/collections
  50. # Paths to search for roles, colon separated
  51. #roles_path = ~/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
  52. # Host key checking is enabled by default
  53. #host_key_checking = True
  54. # You can only have one 'stdout' callback type enabled at a time. The default
  55. # is 'default'. The 'yaml' or 'debug' stdout callback plugins are easier to read.
  56. #
  57. #stdout_callback = default
  58. #stdout_callback = yaml
  59. #stdout_callback = debug
  60. # Ansible ships with some plugins that require enabling
  61. # this is done to avoid running all of a type by default.
  62. # These setting lists those that you want enabled for your system.
  63. # Custom plugins should not need this unless plugin author disables them
  64. # by default.
  65. #
  66. # Enable callback plugins, they can output to stdout but cannot be 'stdout' type.
  67. #callback_enabled = timer, mail
  68. # Determine whether includes in tasks and handlers are "static" by
  69. # default. As of 2.0, includes are dynamic by default. Setting these
  70. # values to True will make includes behave more like they did in the
  71. # 1.x versions.
  72. #
  73. #task_includes_static = False
  74. #handler_includes_static = False
  75. # Controls if a missing handler for a notification event is an error or a warning
  76. #error_on_missing_handler = True
  77. # Default timeout for connection plugins
  78. #timeout = 10
  79. # Default user to use for playbooks if user is not specified
  80. # Uses the connection plugin's default, normally the user currently executing Ansible,
  81. # unless a different user is specified here.
  82. #
  83. #remote_user = root
  84. # Logging is off by default unless this path is defined.
  85. log_path = logs/ansible.log
  86. # Default module to use when running ad-hoc commands
  87. #module_name = command
  88. # Use this shell for commands executed under sudo.
  89. # you may need to change this to /bin/bash in rare instances
  90. # if sudo is constrained.
  91. #
  92. #executable = /bin/sh
  93. # By default, variables from roles will be visible in the global variable
  94. # scope. To prevent this, set the following option to True, and only
  95. # tasks and handlers within the role will see the variables there
  96. #
  97. #private_role_vars = False
  98. # List any Jinja2 extensions to enable here.
  99. #jinja2_extensions = jinja2.ext.do,jinja2.ext.i18n
  100. # If set, always use this private key file for authentication, same as
  101. # if passing --private-key to ansible or ansible-playbook
  102. #
  103. #private_key_file = /path/to/file
  104. # If set, configures the path to the Vault password file as an alternative to
  105. # specifying --vault-password-file on the command line. This can also be
  106. # an executable script that returns the vault password to stdout.
  107. #
  108. vault_password_file = ~/.ansible_vault
  109. # Format of string {{ ansible_managed }} available within Jinja2
  110. # templates indicates to users editing templates files will be replaced.
  111. # replacing {file}, {host} and {uid} and strftime codes with proper values.
  112. #
  113. #ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S by {uid} on {host}
  114. # {file}, {host}, {uid}, and the timestamp can all interfere with idempotence
  115. # in some situations so the default is a static string:
  116. #
  117. #ansible_managed = Ansible managed
  118. # By default, ansible-playbook will display "Skipping [host]" if it determines a task
  119. # should not be run on a host. Set this to "False" if you don't want to see these "Skipping"
  120. # messages. NOTE: the task header will still be shown regardless of whether or not the
  121. # task is skipped.
  122. #
  123. #display_skipped_hosts = True
  124. # By default, if a task in a playbook does not include a name: field then
  125. # ansible-playbook will construct a header that includes the task's action but
  126. # not the task's args. This is a security feature because ansible cannot know
  127. # if the *module* considers an argument to be no_log at the time that the
  128. # header is printed. If your environment doesn't have a problem securing
  129. # stdout from ansible-playbook (or you have manually specified no_log in your
  130. # playbook on all of the tasks where you have secret information) then you can
  131. # safely set this to True to get more informative messages.
  132. #
  133. #display_args_to_stdout = False
  134. # Ansible will raise errors when attempting to dereference
  135. # Jinja2 variables that are not set in templates or action lines. Uncomment this line
  136. # to change this behavior.
  137. #
  138. #error_on_undefined_vars = False
  139. # Ansible may display warnings based on the configuration of the
  140. # system running ansible itself. This may include warnings about 3rd party packages or
  141. # other conditions that should be resolved if possible.
  142. # To disable these warnings, set the following value to False:
  143. #
  144. #system_warnings = True
  145. # Ansible may display deprecation warnings for language
  146. # features that should no longer be used and will be removed in future versions.
  147. # To disable these warnings, set the following value to False:
  148. #
  149. #deprecation_warnings = True
  150. # Ansible can optionally warn when usage of the shell and
  151. # command module appear to be simplified by using a default Ansible module
  152. # instead. These warnings can be silenced by adjusting the following
  153. # setting or adding warn=yes or warn=no to the end of the command line
  154. # parameter string. This will for example suggest using the git module
  155. # instead of shelling out to the git command.
  156. #
  157. #command_warnings = False
  158. # set plugin path directories here, separate with colons
  159. #action_plugins = /usr/share/ansible/plugins/action
  160. #become_plugins = /usr/share/ansible/plugins/become
  161. #cache_plugins = /usr/share/ansible/plugins/cache
  162. #callback_plugins = /usr/share/ansible/plugins/callback
  163. #connection_plugins = /usr/share/ansible/plugins/connection
  164. #lookup_plugins = /usr/share/ansible/plugins/lookup
  165. #inventory_plugins = /usr/share/ansible/plugins/inventory
  166. #vars_plugins = /usr/share/ansible/plugins/vars
  167. #filter_plugins = /usr/share/ansible/plugins/filter
  168. #test_plugins = /usr/share/ansible/plugins/test
  169. #terminal_plugins = /usr/share/ansible/plugins/terminal
  170. #strategy_plugins = /usr/share/ansible/plugins/strategy
  171. # Ansible will use the 'linear' strategy but you may want to try another one.
  172. #strategy = linear
  173. # By default, callbacks are not loaded for /bin/ansible. Enable this if you
  174. # want, for example, a notification or logging callback to also apply to
  175. # /bin/ansible runs
  176. #
  177. #bin_ansible_callbacks = False
  178. # Don't like cows? that's unfortunate.
  179. # set to 1 if you don't want cowsay support or export ANSIBLE_NOCOWS=1
  180. nocows = 1
  181. # Set which cowsay stencil you'd like to use by default. When set to 'random',
  182. # a random stencil will be selected for each task. The selection will be filtered
  183. # against the `cow_enabled` option below.
  184. #
  185. #cow_selection = default
  186. #cow_selection = random
  187. # When using the 'random' option for cowsay, stencils will be restricted to this list.
  188. # it should be formatted as a comma-separated list with no spaces between names.
  189. # NOTE: line continuations here are for formatting purposes only, as the INI parser
  190. # in python does not support them.
  191. #
  192. #cowsay_enabled_stencils=bud-frogs,bunny,cheese,daemon,default,dragon,elephant-in-snake,elephant,eyes,\
  193. # hellokitty,kitty,luke-koala,meow,milk,moofasa,moose,ren,sheep,small,stegosaurus,\
  194. # stimpy,supermilker,three-eyes,turkey,turtle,tux,udder,vader-koala,vader,www
  195. # Don't like colors either?
  196. # set to 1 if you don't want colors, or export ANSIBLE_NOCOLOR=1
  197. #
  198. #nocolor = 1
  199. # If set to a persistent type (not 'memory', for example 'redis') fact values
  200. # from previous runs in Ansible will be stored. This may be useful when
  201. # wanting to use, for example, IP information from one group of servers
  202. # without having to talk to them in the same playbook run to get their
  203. # current IP information.
  204. #
  205. fact_caching = jsonfile
  206. # This option tells Ansible where to cache facts. The value is plugin dependent.
  207. # For the jsonfile plugin, it should be a path to a local directory.
  208. # For the redis plugin, the value is a host:port:database triplet: fact_caching_connection = localhost:6379:0
  209. #
  210. fact_caching_connection=/tmp
  211. # retry files
  212. # When a playbook fails a .retry file can be created that will be placed in ~/
  213. # You can enable this feature by setting retry_files_enabled to True
  214. # and you can change the location of the files by setting retry_files_save_path
  215. #
  216. #retry_files_enabled = False
  217. #retry_files_save_path = ~/.ansible-retry
  218. # prevents logging of task data, off by default
  219. #no_log = False
  220. # prevents logging of tasks, but only on the targets, data is still logged on the master/controller
  221. #no_target_syslog = False
  222. # Controls whether Ansible will raise an error or warning if a task has no
  223. # choice but to create world readable temporary files to execute a module on
  224. # the remote machine. This option is False by default for security. Users may
  225. # turn this on to have behaviour more like Ansible prior to 2.1.x. See
  226. # https://docs.ansible.com/ansible/latest/user_guide/become.html#becoming-an-unprivileged-user
  227. # for more secure ways to fix this than enabling this option.
  228. #
  229. #allow_world_readable_tmpfiles = False
  230. # Controls what compression method is used for new-style ansible modules when
  231. # they are sent to the remote system. The compression types depend on having
  232. # support compiled into both the controller's python and the client's python.
  233. # The names should match with the python Zipfile compression types:
  234. # * ZIP_STORED (no compression. available everywhere)
  235. # * ZIP_DEFLATED (uses zlib, the default)
  236. # These values may be set per host via the ansible_module_compression inventory variable.
  237. #
  238. #module_compression = 'ZIP_DEFLATED'
  239. # This controls the cutoff point (in bytes) on --diff for files
  240. # set to 0 for unlimited (RAM may suffer!).
  241. #
  242. #max_diff_size = 104448
  243. # Controls showing custom stats at the end, off by default
  244. #show_custom_stats = False
  245. # Controls which files to ignore when using a directory as inventory with
  246. # possibly multiple sources (both static and dynamic)
  247. #
  248. #inventory_ignore_extensions = ~, .orig, .bak, .ini, .cfg, .retry, .pyc, .pyo
  249. # This family of modules use an alternative execution path optimized for network appliances
  250. # only update this setting if you know how this works, otherwise it can break module execution
  251. #
  252. #network_group_modules=eos, nxos, ios, iosxr, junos, vyos
  253. # When enabled, this option allows lookups (via variables like {{lookup('foo')}} or when used as
  254. # a loop with `with_foo`) to return data that is not marked "unsafe". This means the data may contain
  255. # jinja2 templating language which will be run through the templating engine.
  256. # ENABLING THIS COULD BE A SECURITY RISK
  257. #
  258. #allow_unsafe_lookups = False
  259. # set default errors for all plays
  260. #any_errors_fatal = False
  261. [inventory]
  262. # List of enabled inventory plugins and the order in which they are used.
  263. #enable_plugins = host_list, script, auto, yaml, ini, toml
  264. # Ignore these extensions when parsing a directory as inventory source
  265. #ignore_extensions = .pyc, .pyo, .swp, .bak, ~, .rpm, .md, .txt, ~, .orig, .ini, .cfg, .retry
  266. # ignore files matching these patterns when parsing a directory as inventory source
  267. #ignore_patterns=
  268. # If 'True' unparsed inventory sources become fatal errors, otherwise they are warnings.
  269. #unparsed_is_failed = False
  270. [privilege_escalation]
  271. #become = False
  272. #become_method = sudo
  273. #become_ask_pass = False
  274. ## Connection Plugins ##
  275. # Settings for each connection plugin go under a section titled '[[plugin_name]_connection]'
  276. # To view available connection plugins, run ansible-doc -t connection -l
  277. # To view available options for a connection plugin, run ansible-doc -t connection [plugin_name]
  278. # https://docs.ansible.com/ansible/latest/plugins/connection.html
  279. [paramiko_connection]
  280. # uncomment this line to cause the paramiko connection plugin to not record new host
  281. # keys encountered. Increases performance on new host additions. Setting works independently of the
  282. # host key checking setting above.
  283. #record_host_keys=False
  284. # by default, Ansible requests a pseudo-terminal for commands executed under sudo. Uncomment this
  285. # line to disable this behaviour.
  286. #pty = False
  287. # paramiko will default to looking for SSH keys initially when trying to
  288. # authenticate to remote devices. This is a problem for some network devices
  289. # that close the connection after a key failure. Uncomment this line to
  290. # disable the Paramiko look for keys function
  291. #look_for_keys = False
  292. # When using persistent connections with Paramiko, the connection runs in a
  293. # background process. If the host doesn't already have a valid SSH key, by
  294. # default Ansible will prompt to add the host key. This will cause connections
  295. # running in background processes to fail. Uncomment this line to have
  296. # Paramiko automatically add host keys.
  297. #host_key_auto_add = True
  298. [ssh_connection]
  299. # ssh arguments to use
  300. # Leaving off ControlPersist will result in poor performance, so use
  301. # paramiko on older platforms rather than removing it, -C controls compression use
  302. #ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s
  303. # The base directory for the ControlPath sockets.
  304. # This is the "%(directory)s" in the control_path option
  305. #
  306. # Example:
  307. # control_path_dir = /tmp/.ansible/cp
  308. #control_path_dir = ~/.ansible/cp
  309. # The path to use for the ControlPath sockets. This defaults to a hashed string of the hostname,
  310. # port and username (empty string in the config). The hash mitigates a common problem users
  311. # found with long hostnames and the conventional %(directory)s/ansible-ssh-%%h-%%p-%%r format.
  312. # In those cases, a "too long for Unix domain socket" ssh error would occur.
  313. #
  314. # Example:
  315. # control_path = %(directory)s/%%C
  316. #control_path =
  317. # Enabling pipelining reduces the number of SSH operations required to
  318. # execute a module on the remote server. This can result in a significant
  319. # performance improvement when enabled, however when using "sudo:" you must
  320. # first disable 'requiretty' in /etc/sudoers
  321. #
  322. # By default, this option is disabled to preserve compatibility with
  323. # sudoers configurations that have requiretty (the default on many distros).
  324. #
  325. #pipelining = False
  326. pipelining = True
  327. # Control the mechanism for transferring files (old)
  328. # * smart = try sftp and then try scp [default]
  329. # * True = use scp only
  330. # * False = use sftp only
  331. #scp_if_ssh = smart
  332. # Control the mechanism for transferring files (new)
  333. # If set, this will override the scp_if_ssh option
  334. # * sftp = use sftp to transfer files
  335. # * scp = use scp to transfer files
  336. # * piped = use 'dd' over SSH to transfer files
  337. # * smart = try sftp, scp, and piped, in that order [default]
  338. #transfer_method = smart
  339. # If False, sftp will not use batch mode to transfer files. This may cause some
  340. # types of file transfer failures impossible to catch however, and should
  341. # only be disabled if your sftp version has problems with batch mode
  342. #sftp_batch_mode = False
  343. # The -tt argument is passed to ssh when pipelining is not enabled because sudo
  344. # requires a tty by default.
  345. #usetty = True
  346. # Number of times to retry an SSH connection to a host, in case of UNREACHABLE.
  347. # For each retry attempt, there is an exponential backoff,
  348. # so after the first attempt there is 1s wait, then 2s, 4s etc. up to 30s (max).
  349. #retries = 3
  350. [persistent_connection]
  351. # Configures the persistent connection timeout value in seconds. This value is
  352. # how long the persistent connection will remain idle before it is destroyed.
  353. # If the connection doesn't receive a request before the timeout value
  354. # expires, the connection is shutdown. The default value is 30 seconds.
  355. #connect_timeout = 30
  356. # The command timeout value defines the amount of time to wait for a command
  357. # or RPC call before timing out. The value for the command timeout must
  358. # be less than the value of the persistent connection idle timeout (connect_timeout)
  359. # The default value is 30 second.
  360. #command_timeout = 30
  361. ## Become Plugins ##
  362. # Settings for become plugins go under a section named '[[plugin_name]_become_plugin]'
  363. # To view available become plugins, run ansible-doc -t become -l
  364. # To view available options for a specific plugin, run ansible-doc -t become [plugin_name]
  365. # https://docs.ansible.com/ansible/latest/plugins/become.html
  366. [sudo_become_plugin]
  367. #flags = -H -S -n
  368. #user = root
  369. [selinux]
  370. # file systems that require special treatment when dealing with security context
  371. # the default behaviour that copies the existing context or uses the user default
  372. # needs to be changed to use the file system dependent context.
  373. #special_context_filesystems=fuse,nfs,vboxsf,ramfs,9p,vfat
  374. # Set this to True to allow libvirt_lxc connections to work without SELinux.
  375. #libvirt_lxc_noseclabel = False
  376. [colors]
  377. #highlight = white
  378. #verbose = blue
  379. #warn = bright purple
  380. #error = red
  381. #debug = dark gray
  382. #deprecate = purple
  383. #skip = cyan
  384. #unreachable = red
  385. #ok = green
  386. #changed = yellow
  387. #diff_add = green
  388. #diff_remove = red
  389. #diff_lines = cyan
  390. [diff]
  391. # Always print diff when running ( same as always running with -D/--diff )
  392. #always = False
  393. # Set how many context lines to show in diff
  394. #context = 3
  395. [galaxy]
  396. # Controls whether the display wheel is shown or not
  397. #display_progress=
  398. # Validate TLS certificates for Galaxy server
  399. #ignore_certs = False
  400. # Role or collection skeleton directory to use as a template for
  401. # the init action in ansible-galaxy command
  402. #role_skeleton=
  403. # Patterns of files to ignore inside a Galaxy role or collection
  404. # skeleton directory
  405. #role_skeleton_ignore="^.git$", "^.*/.git_keep$"
  406. # Galaxy Server URL
  407. #server=https://galaxy.ansible.com
  408. # A list of Galaxy servers to use when installing a collection.
  409. #server_list=automation_hub, release_galaxy
  410. # Server specific details which are mentioned in server_list
  411. #[galaxy_server.automation_hub]
  412. #url=https://cloud.redhat.com/api/automation-hub/
  413. #auth_url=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token
  414. #token=my_ah_token
  415. #
  416. #[galaxy_server.release_galaxy]
  417. #url=https://galaxy.ansible.com/
  418. #token=my_token