community.general.gitlab_runners inventory – Ansible dynamic inventory plugin for GitLab runners.
Note
This inventory plugin is part of the community.general collection (version 9.4.0).
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
You need further requirements to be able to use this inventory plugin,
see Requirements for details.
To use it in a playbook, specify: community.general.gitlab_runners
.
Synopsis
Reads inventories from the GitLab API.
Uses a YAML configuration file gitlab_runners.[yml|yaml].
Requirements
The below requirements are needed on the local controller node that executes this inventory.
python-gitlab > 1.8.0
Parameters
Parameter |
Comments |
---|---|
GitLab token for logging in. Configuration:
|
|
Create vars from jinja2 expressions. Default: |
|
filter runners from GitLab API Choices:
Configuration:
|
|
Add hosts to group based on Jinja2 conditionals. Default: |
|
Add hosts to group based on the values of a variable. Default: |
|
The default value when the host variable’s value is an empty string. This option is mutually exclusive with |
|
The key from input dictionary used to generate groups. |
|
parent group for keyed group. |
|
A keyed group name will start with this prefix. Default: |
|
separator used to build the keyed group name. Default: |
|
Set this option to This option is mutually exclusive with Choices:
|
|
Use in conjunction with By default, a keyed group that does not have a prefix or a separator provided will have a name that starts with an underscore. This is because the default prefix is Set this option to If the group name is derived from a mapping the separator is still used to concatenate the items. To not use a separator in the group name at all, set the separator for the keyed group to an empty string instead. Choices:
|
|
The name of this plugin, it should always be set to ‘gitlab_runners’ for this plugin to recognize it as it’s own. Choices:
|
|
The URL of the GitLab server, with protocol (i.e. http or https). Configuration:
|
|
If Since it is possible to use facts in the expressions they might not always be available and we ignore those errors by default. Choices:
|
|
Merge extra vars into the available variables for composition (highest precedence). Choices:
Configuration:
|
|
Toggle to (not) include all available nodes metadata Choices:
|
Examples
# gitlab_runners.yml
plugin: community.general.gitlab_runners
host: https://gitlab.com
# Example using constructed features to create groups and set ansible_host
plugin: community.general.gitlab_runners
host: https://gitlab.com
strict: false
keyed_groups:
# add e.g. amd64 hosts to an arch_amd64 group
- prefix: arch
key: 'architecture'
# add e.g. linux hosts to an os_linux group
- prefix: os
key: 'platform'
# create a group per runner tag
# e.g. a runner tagged w/ "production" ends up in group "label_production"
# hint: labels containing special characters will be converted to safe names
- key: 'tag_list'
prefix: tag