Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions lessons/.devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
FROM rockylinux:9-minimal

# Install minimal required packages
RUN microdnf install -y \
unzip \
git \
curl \
jq \
&& microdnf clean all

# Install AWS CLI v2 (binary version)
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \
unzip awscliv2.zip && \
./aws/install && \
rm -rf aws awscliv2.zip

# Install Azure CLI (RPM direct installation)
RUN microdnf install -y dnf && \
rpm --import https://packages.microsoft.com/keys/microsoft.asc && \
dnf install -y https://packages.microsoft.com/config/rhel/9.0/packages-microsoft-prod.rpm && \
dnf install -y azure-cli

# Install latest version of Terraform
RUN LATEST_VERSION=$(curl -s https://api.github.com/repos/hashicorp/terraform/releases/latest | jq -r '.tag_name' | sed 's/v//') && \
curl -O "https://releases.hashicorp.com/terraform/${LATEST_VERSION}/terraform_${LATEST_VERSION}_linux_amd64.zip" && \
unzip terraform_${LATEST_VERSION}_linux_amd64.zip -d /usr/local/bin && \
rm terraform_${LATEST_VERSION}_linux_amd64.zip

WORKDIR /workspace
22 changes: 22 additions & 0 deletions lessons/.devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"name": "Terraform Environment",
"build": {
"dockerfile": "Dockerfile",
},
"customizations": {
"vscode": {
"extensions": [
"hashicorp.terraform",
"github.vscode-pull-request-github"
],
"settings": {
"terminal.integrated.defaultProfile.linux": "zsh",
"workbench.editorAssociations": {
"*.md": "vscode.markdown.preview"
}
}
}
},
"remoteUser": "root",
"postCreateCommand": "terraform --version && git --version"
}