Windows workstation setup, steps 02–08
Generic, repeatable install and verification steps for the tools used through the rest of this course — VS Code, Git, GitHub, Copilot, AWS CLI, and Terraform. Each section explains why the step matters before showing the command, then how to read the result.
VS Code Setup
Install Visual Studio Code and the extensions used for Terraform, Ansible/YAML, and SQL editing.
- ✓ Windows 10/11, admin rights on the machine
- ✓ Stable internet connection, ~1 GB free disk space
Extensions to install
- HashiCorp Terraform
- YAML (Red Hat) — for Ansible/Liquibase files
- GitLens
- GitHub Copilot (covered in 05)
Why these four?
Each one matches a file type you'll actually edit in this course: .tf, .yml, and Git history — not a generic "useful extensions" list.
Download and run the installer
code.visualstudio.com → Windows (User Installer). Accept the license, keep defaults, and check "Add to PATH" — this lets you run code from any terminal.
Install the extensions from the command line
PS C:\Users\hp> code --install-extension hashicorp.terraform PS C:\Users\hp> code --install-extension redhat.vscode-yaml PS C:\Users\hp> code --install-extension eamodio.gitlens
PS C:\Users\hp> code --version 1.94.2 5a0e0b3... x64
Git Installation & Configuration
Install Git for Windows and set your identity so commits are attributed correctly.
- ✓ VS Code installed (topic 02) — not required for Git itself, but you'll want an editor open next
Download and install Git for Windows
git-scm.com/download/win. Keep the default editor unless you have a preference, and select "Git from the command line and also from 3rd-party software" for the PATH option.
Set your identity
git log and on GitHub. --global means every repo on this machine, not just this one.PS C:\Users\hp> git config --global user.name "Y_USER_NAME" PS C:\Users\hp> git config --global user.email "Y_USER_EMAIL"
user.name=... and user.email=... echoing back what you just set.--global, or you're inside a repo with its own local override.PS C:\Users\hp> git config --list user.name=Y_USER_NAME user.email=Y_USER_EMAIL core.autocrlf=true
PS C:\Users\hp> git --version git version 2.47.0.windows.1
GitHub Login
Authenticate Git and VS Code against your GitHub account so pushes don't prompt for a password every time.
- ✓ Git installed and identity configured (topic 03)
- ✓ A GitHub account, and a remote already added via
git remote add origin
Sign in from VS Code
Click the account icon (bottom-left) → Sign in with GitHub. This opens your browser for OAuth consent, then hands a token back to VS Code and to Git Credential Manager.
First push triggers the credential prompt
git push -u does two things at once: pushes the commits, and remembers this branch's remote pairing so future push/pull need no arguments.PS C:\Users\hp> git push -u origin master info: please complete authentication in your browser... Enumerating objects: 9, done. ... branch 'master' set up to track 'origin/master'.
PS C:\Users\hp> ssh -T [email protected] Hi Y_USER_NAME! You've successfully authenticated, but GitHub does not provide shell access.
GitHub Copilot Setup
Copilot piggybacks on the GitHub login from step 04 — no separate credentials needed.
- ✓ Signed into GitHub from VS Code (topic 04)
- ✓ An active Copilot subscription or trial on your GitHub account
Install the extensions
PS C:\Users\hp> code --install-extension GitHub.copilot PS C:\Users\hp> code --install-extension GitHub.copilot-chat
Reload — it should just work
Because you're already signed into GitHub, Copilot picks up the same session automatically. If not, click the Copilot icon in the status bar → Sign in to use Copilot.
AWS CLI Setup
Install the AWS CLI v2 — Terraform's AWS provider can use its config, and it's needed for verification commands throughout this course.
aws command itself. Running aws anything before topic 07 will fail on credentials, not on installation.
- ✓ Admin rights to run the MSI installer
Download and run the MSI installer
awscli.amazonaws.com/AWSCLIV2.msi. Accept defaults — it installs to C:\Program Files\Amazon\AWSCLIV2 and adds itself to PATH.
Open a new terminal
PATH changes only apply to new shells — close and reopen PowerShell/VS Code terminal before verifying.
aws-cli/2.x version string.PS C:\Users\hp> aws --version aws-cli/2.19.0 Python/3.12.6 Windows/10 exe/AMD64 prompt/off
AWS Authentication
Store credentials locally so both the AWS CLI and Terraform's AWS provider can find them.
aws configure writes to disk here is the same file Terraform reads later. Get this step right and topic 01 "just works"; get it wrong and every Terraform error will look like a Terraform problem when it's actually this.
- ✓ AWS CLI installed (topic 06)
- ✓ An IAM user with programmatic access enabled in the AWS Console
Create an IAM access key
AWS Console → IAM → your user → Security credentials → Create access key. Choose "Command Line Interface (CLI)." Save the Access Key ID and Secret Access Key shown once.
Run aws configure
%USERPROFILE%\.aws\credentials and ...\.aws\config — the exact files the credential chain below reads.PS C:\Users\hp> aws configure AWS Access Key ID [None]: AKIA................ AWS Secret Access Key [None]: **************************** Default region name [None]: us-east-1 Default output format [None]: json
terraform apply
│
▼
Terraform AWS Provider
│
▼
AWS SDK credential chain
│
├── Environment variables? (AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY)
│ └── none set
│
├── --profile flag or AWS_PROFILE env var?
│ └── none set → falls back to "default"
│
├── Shared credentials file?
│ └── %USERPROFILE%\.aws\credentials
│
▼
C:\Users\hp\.aws\credentials
│
▼
[default]
aws_access_key_id = AKIA................
aws_secret_access_key = ****************************
│
▼
AWS API (signed request)
.aws/ to git, and prefer short-lived SSO credentials (aws configure sso) over long-lived access keys where supported.
Account and Arn — this is "who am I," not "what can I do."aws configure either wasn't run or wrote to a profile you're not using.PS C:\Users\hp> aws sts get-caller-identity { "UserId": "AIDAEXAMPLE...", "Account": "123456789012", "Arn": "arn:aws:iam::123456789012:user/hp" }
Terraform Installation
Follow HashiCorp's official Windows installation docs — summarized here for reference.
terraform apply against a real provider.
- ✓ Admin rights, or a package manager (choco/winget) already installed
Get the binary
developer.hashicorp.com/terraform/install, or via a package manager:
PS C:\Users\hp> choco install terraform # or PS C:\Users\hp> winget install HashiCorp.Terraform
Add to PATH (manual installs only)
Unzip terraform.exe into a folder (e.g. C:\terraform) and add that folder to your System PATH. Package-manager installs do this automatically.
developer.hashicorp.com/terraform/install.
PS C:\Users\hp> terraform -version Terraform v1.9.8 on windows_amd64