Files
homelab-infra/infrastructure/samba-ad/ansible/group_vars/all/vars.yml
T
panxiao81 2e05b1a96a
yaml / yaml (pull_request) Failing after 25s
terraform / validate (pull_request) Successful in 51s
ansible / collection-test (pull_request) Successful in 1m27s
ansible / lint (pull_request) Successful in 3m45s
声明式管理 Proxmox API 对象与 Samba DNS 上游
2026-09-17 13:22:50 +00:00

69 lines
3.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
# Non-secret variables shared by all plays. EDIT THESE to your environment.
# Secrets live in group_vars/vault.yml (encrypted) — see vault.example.yml.
# --- Domain identity (used by both the DC and the Windows join) ---
samba_ad_realm: "AD.DDUPAN.TOP"
samba_ad_domain: "DDUPAN"
samba_ad_dc_hostname: "dc1"
samba_ad_dc_ip: "192.168.10.5"
samba_ad_dns_forwarder: "192.168.10.127" # Blocky:DN42 条件转发及公网解析
samba_ad_reverse_zone: "10.168.192.in-addr.arpa" # reverse of 192.168.10.0/24
# Static records now live in ../../dns/records.yml and are reconciled as complete
# RRsets by the local samba_dns_record module.
# Support legacy clients (Win9x/NT4/2000/XP)? INSECURE — see README "Retro clients".
samba_ad_legacy_clients: false
# --- KMS auto-activation via DNS ---
# Adds a _vlmcs._tcp SRV record so any domain-joined Windows self-activates against
# vlmcsd. Set the IP where vlmcsd listens (:1688); empty string disables.
samba_ad_kms_host_ip: "192.168.10.127" # vlmcsd runs here (docker, 0.0.0.0:1688)
samba_ad_kms_hostname: "kms" # A record kms.ad.ddupan.top -> that IP
samba_ad_kms_port: 1688
# --- Windows admin box ---
win_dc_ip: "{{ samba_ad_dc_ip }}"
win_domain_dns_name: "{{ samba_ad_realm | lower }}"
win_domain_admin_user: "{{ samba_ad_domain }}\\Administrator"
win_kms_host: "" # e.g. "kms.example.com:1688" (existing vlmcsd)
win_kms_client_key: "" # public GVLK for the Windows edition
# --- Secret indirection: real values come from the encrypted vault ---
samba_ad_admin_password: "{{ vault_samba_ad_admin_password }}"
win_domain_admin_password: "{{ vault_samba_ad_admin_password }}"
# --- Service accounts for apps that BIND to LDAP (passwords in vault.yml) ---
# Previously created by hand (svc-authelia); codified so a DC rebuild restores them.
samba_ad_service_accounts:
- name: svc-pve
password: "{{ vault_pve_bind_password }}"
description: "Proxmox VE realm bind + user/group sync (read-only)"
# --- Groups used for RBAC by downstream apps ---
# NOTE: PVE renames synced groups to "<name>-<realm>", so pve-admins becomes
# "pve-admins-ad" inside Proxmox. Grant ACLs to THAT name, not this one.
samba_ad_groups:
- name: pve-admins
members: [panxiao81]
# Gitea maps this OIDC group to site administrators through oauth2.adminGroup.
# Keep at least one human administrator independent of the local break-glass account.
- name: gitea-admins
members: [panxiao81]
# NetBox: Authelia forward-auth restricts the site to this group, and NetBox maps it
# to is_superuser + is_staff via REMOTE_AUTH_SUPERUSER_GROUPS / STAFF_GROUPS
# (../../../apps/netbox). Membership is re-evaluated on every request, so removing someone
# here revokes their NetBox admin immediately.
- name: netbox-admins
members: [panxiao81]
# Who may log in to AD-joined workstations (SSSD simple_allow_groups).
# NESTING DIRECTION MATTERS: pve-admins is a MEMBER OF this group, so admins
# get lab access. The reverse (this group inside pve-admins) would hand every
# lab user Proxmox Administrator on / — see the ACL in proxmox/ansible.
- name: retrolab-users
members: [pve-admins]