User
| Field |
Value |
| Purpose |
Defines system user and group configuration — accounts, permissions, SSH keys |
| Repo |
AmadlaOrg/Entities/User |
| Entity URI |
amadla.org/entity/user@v1.0.0 |
Schema
User describes system user requirements:
- Username (POSIX-compliant pattern) and optional UID
- Primary group and GID, supplementary groups
- Home directory and login shell
- GECOS comment (full name)
- System account flag
- Home directory creation
- Password via secret reference (resolved by doorman)
- SSH authorized keys
- Sudo access (boolean for full access, or custom sudoers rule)
- Account expiration date
Example
_type: amadla.org/entity/user@v1.0.0
_body:
username: deploy
group: deploy
groups:
- docker
- sudo
home: /home/deploy
shell: /bin/bash
comment: "Deployment user"
ssh_authorized_keys:
- "ssh-ed25519 AAAAC3... deploy@workstation"
sudo: true
Service account example
_type: amadla.org/entity/user@v1.0.0
_body:
username: my-app
system: true
create_home: false
shell: /usr/sbin/nologin
comment: "my-app service account"
Consumers
| Tool |
How It Uses User |
| enjoin |
Creates/manages system users and groups via enjoin-user plugin |
| doorman |
Resolves password secrets referenced by password_secret |
| judge |
Validates that users exist with correct configuration |