Add headscale

This commit is contained in:
uumas
2026-06-08 19:36:46 +03:00
parent e28a4097a0
commit df302cf6f5
7 changed files with 191 additions and 0 deletions

View File

@@ -0,0 +1,85 @@
---
argument_specs:
main:
description: "Sets up a headscale container"
options:
headscale_domain:
description: Domain headscale should be available at
type: str
required: true
headscale_magicdns_base_domain:
description: Base domain for magic dns hostnames
type: str
required: true
headscale_policy:
description:
- Headscale policy configuration.
- See https://headscale.net/stable/ref/acls/
- This role's support for acls is currently quite limited. Waiting for headscale to release grants support.
type: dict
required: true
options:
groups:
description: >-
Groups of users. Formatted as dict where dict key is group name and
value is a list of users in the group.
type: dict
required: false
hosts:
description: Mapping of host names to ip addresses
type: dict
required: false
tagOwners:
description: Mapping of tags to lists of their owners
type: dict
required: false
acls:
description: List of acls
type: list
required: true
elements: dict
options:
action:
description: ACL action
type: str
required: true
choices:
- accept
- check
src:
description: >-
A list of sources, formatted as prefix:name:ports,
where prefix is the type of object, like tag: or group:,
name is the object name and ports is a comma separated list of ports or *
type: list
required: true
elements: str
dst:
description: A list of destinations. Same format as sources.
type: list
required: true
elements: str
proto:
description: Protocol
type: str
required: false
choices:
- tcp
- udp
- icmp
headscale_oidc_issuer_url:
description: OIDC issuer url. Leave unset to not use OIDC.
type: str
required: false
default: ""
headscale_oidc_client_id:
description: OIDC client id. Required if OIDC issuer is set.
type: str
required: false
default: ""
headscale_oidc_client_secret:
description: OIDC client secret. Required if OIDC issuer is set.
type: str
required: false
default: ""