Workstation Role

Workstation Role #

Purpose #

The workstation role configures a host as a developer/admin workstation with users, development tools, and infrastructure automation tooling.


Capabilities #

User Management #

  • Creates dev users with configurable primary/extra groups
  • Fetches SSH public keys from GitHub
  • Sets up home directories and shell preferences

Development Tools #

CategoryPackages
Coregit, vim, tmux, golang
ISO/ImageTools for working with disk images
X11Display support for GUI tools

HashiCorp Tools #

Configures the HashiCorp RPM repository and installs:

  • Terraform β€” Infrastructure as code
  • Packer β€” Image building

AI Tools #

  • Node.js β€” Runtime for AI tooling
  • Claude Code and other AI assistants

Virtualization #

  • Libvirt/KVM support for local VM testing
  • Podman for container workflows

Configuration #

Users come from dev_users in inventory (group_vars/workstations.yml). See Seed Inventory β†’ Workstation users.


Use Cases #

  • Builder β€” Admin environment for running Ansible playbooks
  • Dev workstation β€” Full development environment for infrastructure work
  • Build host β€” Image factory with Packer/Terraform installed

Relationship to Other Roles #

RoleRelationship
baseWorkstation depends on base for system packages
artifactsMay be co-located to serve build outputs
Page last modified: September 27, 2026