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 #

Define users in inventory (group_vars or host_vars):

dev_users:
  - name: cdeever
    primary_group: cdeever
    extra_groups:
      - wheel
    home: /home/cdeever
    github_keys_url: "https://github.com/cdeever.keys"

Use Cases #

  • Bootstrap node β€” 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: January 23, 2026