aoh

A tool for running Ansible playbooks with `curl <url> | python` commands
git clone https://git.ashermorgan.net/aoh/
Log | Files | Refs | README

playbooks.yml (2624B)


      1 main.yml: # The playbook name
      2 
      3   # The path to the playbook. Relative paths are interpreted as relative to
      4   # $AOH_PLAYBOOKS_FILE. Defaults to the playbook name.
      5   path: my-playbook.yml
      6 
      7   # The hostname to assign to clients. If set to null, clients are assigned the
      8   # hostname that they report for themselves, which could be spoofed. Defaults
      9   # to null.
     10   host: my-host
     11 
     12   # The groups to assign to clients, in addition to the "aoh" group and any
     13   # groups defined in inventory files.
     14   groups:
     15     - group1
     16     - group2
     17 
     18   # A dictionary of environment variables to pass to ansible-playbook. Note that
     19   # the ANSIBLE_FORCE_COLOR and ANSIBLE_NOCOLOR variables are not supported here
     20   # as they are parsed client-side.
     21   env:
     22     ANSIBLE_PIPELINING: 'true'
     23 
     24   # Whether to restrict play execution to the AoH client only using
     25   # ansible-playbook's --limit option. If enabled, the --limit option must not
     26   # be present in allow_opts or extra_args. Defaults to true.
     27   limit: true
     28 
     29   # Whether to require a password to execute the playbook. Passwords must be
     30   # specified separately in the $AOH_PASSWORDS_FILE file (see the playbook
     31   # passwords section below). Defaults to false.
     32   password: true
     33 
     34   # Whether ansible-playbook output is sent to the client. Defaults to true.
     35   output: true
     36 
     37   # A list of ansible-playbooks options that users are allowed to invoke. Short
     38   # and long option forms must be specified separately. The following options
     39   # are allowed by default:
     40   #   --ask-become-pass / -K
     41   #   --ask-pass / -k
     42   #   --ask-vault-password / --ask-vault-pass / -J
     43   #   --check / -C
     44   #   --diff / -D
     45   #   --list-tags
     46   #   --skip-tags
     47   #   --start-at-task
     48   #   --tags / -t
     49   allow_opts:
     50     - '--become-method'
     51 
     52   # A list of ansible-playbook options that users are not allowed to invoke,
     53   # overriding the default allowed options.
     54   block_opts:
     55     - '--list-tags'
     56 
     57   # Whether to allow clients to use Jinja expressions in ansible-playbook
     58   # arguments. Defaults to false.
     59   jinja_args: false
     60 
     61   # A list of additional arguments to pass to ansible-playbook. These are not
     62   # subject to the allow_opts/block_opts/jinja_args restrictions. Note that the
     63   # --inventory option is not supported and the env.ANSIBLE_INVENTORY playbook
     64   # option should be used instead for specifying inventory files.
     65   extra_args:
     66     - '--diff'
     67 
     68   # The description displayed on the playbook web page, which is located at
     69   # /<playbook name>. Defaults to null, which disables the playbook web page.
     70   web_description: 'Run the main.yml playbook with a single command:'
     71 
     72 another-playbook.yml:
     73   # and so on...