Files
computer-playbook/roles/user
kevinveenbirkenbachandClaude Opus 4.7 4bd23d5f1b chore(roles): mark non-invokable roles with nocheck:required-by-coverage (Bundle D)
Adds `# nocheck: required-by-coverage — TODO: declare proper required_by`
markers to meta/services.yml of 74 non-invokable system roles (dev-*, pkgmgr*,
sys-aur*, sys-front-inj-*, sys-front-tls-*, sys-svc-{cdn,certbot,certs,
cln-domains,dns,journalctl,mail*,proxy,rdbms,ssh,sshd}, sys-timer*, sys-stk-*,
user-*, …).

This is the passthrough layer that lets the upcoming `required_by` lint
(Bundle C) hard-fail any *new* non-invokable role without an explicit coverage
declaration, while existing roles get a documented TODO grace period instead
of an immediate CI break.

No runtime effect — comments only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 04:23:45 +02:00
..

User

Description

This role configures a basic user environment (shell dotfiles and SSH authorized_keys) for a user selected via user_key.

Overview

This role executes common tasks for user environment configuration.

Features

  • Automated provisioning: Configured by Ansible without manual steps.

User data resolution

User data is resolved via lookup('users', user_key) and referenced via user_key. Callers may pass user_config to override the resolved lookup result for one invocation.

Resolution rules:

  • user_username is resolved from lookup('users', user_key).username (fallback: user_key)
  • Home path and ownership are based on user_username
  • SSH keys are read from lookup('users', user_key).authorized_keys

Required input

  • user_key

Optional user fields

  • lookup('users', user_key).username (defaults to user_key)
  • lookup('users', user_key).authorized_keys (list; may be empty)
  • optional include-role var user_config to override the lookup result for the current call

Credits

Developed and maintained by Kevin Veen-Birkenbach. Learn more at veen.world. Part of the Infinito.Nexus Project. Licensed under the Infinito.Nexus Community License (Non-Commercial).