Developer workstation setup
Developer workstation setup
This hub provides entry points for provisioning a consistent, secure workstation for Epic on Azure development. Choose your platform below; each guide contains prerequisites, numbered steps, verification, and troubleshooting.
{{ platform_quicklinks() }}
At a glance
| Platform | Provisioning method | Typical duration | Recommended use case |
|---|---|---|---|
| macOS | Automated bootstrap script (shell) | 10–20 min | Primary development (fast iteration) |
| Windows (WSL2) | PowerShell + Linux bootstrap | 15–25 min | Windows host + Linux tooling |
| Windows VDI | Elevated PowerShell + WSL | 20–30 min | Managed corporate environment |
| SAW | Restricted procedure (manual) | Varies | Highly privileged administration |
What the bootstrap configures
- Core tooling: Ansible, Terraform, Azure CLI, Git, gh, Packer (version pinned / minimums enforced)
- Security posture: corporate root / policy certificates, SSH key generation, least-privilege defaults
- Environment: shell profile, PATH, helpful aliases, idempotent re-run support
- Network: DNS / proxy scaffolding (platform specific)
- Validation: post-install version & connectivity checks
Certificates
Certificates have been externalized to reusable include pages to avoid duplication and simplify rotation.
- Root CA: see Optum Root CA
- Internal Policy CA: see Optum Internal Policy CA
Minimum tool versions
(Source of truth will move to a generated table in a future step.)
| Tool | Minimum |
|---|---|
| Git | 2.39 |
| Terraform | 1.6 |
| Ansible | 2.17 |
| Python | 3.11 |
| GitHub CLI | 2.0 |
| Packer | 1.9 |
The Ansible floor (ansible-core>=2.17.7) and Python floor are sourced from this repo's requirements.txt. Always validate against the active environment workspace (e.g. versions.tf in ohemr-epic-pro-001) before pinning a CI runner or a new image; the table above lists the minimums enforced by this documentation set, not the live floor across every consumer repo.
Next steps
- Complete your platform guide (links above).
- Run the verification section in that guide; remediate failures.
- Review contributing guidelines and first-principles.
- Adopt the mandatory git-worktree workflow before doing any feature work — see GitHub flow and Submodules guide for the worktree-with-submodules pattern.
- Perform a dry run of an infrastructure module (terraform init/plan) in a sandbox.
Troubleshooting
Refer to platform-specific troubleshooting sections inside each guide. Common categories:
- Networking (DNS / proxy)
- Certificate trust
- Tool installation failures
- WSL distribution issues (Windows paths)
Support
See Support Guidelines or reach out via the Epic on Azure team channel.
{{ doc_footer(page) }}