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: True
This 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: 22
Fields 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