This collection allows you to manage your netbird servers.
- ansible ~=9.2.0
- requests ~=2.31.0 (If using the inventory plugin)
Applying this role will install the netbird client on the target machine.
This is a dynamic inventory generated based on the configuration in the netbird API.
---
plugin: dominion_solutions.netbird.netbird
api_url: https://api.netbird.io/api/
api_key: nbp_this_is_a_fake_api_key
netbird_groups:
- Development
strict: No---
plugin: dominion_solutions.netbird.netbird
api_key: nbp_this_is_a_fake_api_key
api_url: https://netbird.example.com/api/
netbird_connected: TrueThis example gets all peers in the All group and builds the additional connected and ssh_hosts groups, based on the keys.
---
plugin: dominion_solutions.netbird.netbird
api_key: nbp_this_is_a_fake_api_key
api_url: https://netbird.example.com/api/
netbird_connected: False
leading_separator: No
netbird_groups:
- "All"
groups:
connected: connected
ssh_hosts: ssh_enabled
strict: No
keyed_groups:
compose:
ansible_ssh_host: label
ansible_ssh_port: 22Fields are taken directly from the responses at the Netbird Peers API unless otherwise indicated
| Field | Type | Notes |
|---|---|---|
| label | string |
label is a field generated as part of the inventory as an alias to the dns_label field. |
| id | string |
|
| name | string |
|
| ip | string |
|
| connected | boolean |
|
| last_seen | string |
This is is an ISO-8601 UTC Date Time String |
| os | string |
An OS Identifier such as Linux Mint 21.3 or Alpine Linux 3.19.1 |
| version | string |
The version of the Netbird Client that is running on the Peer |
| groups | object |
The groups object. This is parsed into the the groups in the inventory by name. |
| enabled | boolean |
|
| user_id | string |
|
| hostname | string |
The hostname part of the FQDN |
| ui_version | string |
Blank if there's no UI client installed, otherwise a version for the UI such as netbird-desktop-ui/0.25.7 |
| dns_label | string |
The Fully Qualified Domain Name for this peer. |
| login_expiration_enabled | boolean |
Is this peer exempt from login expiration? |
| login_expired | boolean |
Is the login for this expired? |
| last_login | string |
|
| approval_required | boolean |
|
| accessible_peers_count | integer |
Please see CONTRIBUTING.md