diff --git a/Dockerfile b/Dockerfile index 3a9e755..06a65d2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,20 +14,33 @@ ENV PATH="$PATH:/root/.local/bin" RUN apt-get update && \ apt-get install -y \ git \ + gpg \ curl \ + wget \ jq \ unzip \ pipx \ python3-requests \ python3-tz && \ rm -rf /var/lib/apt/lists/* + +# Terragrunt installation RUN curl -L "https://github.com/gruntwork-io/terragrunt/releases/download/${TERRAGRUNT_VERSION}/${BINARY_NAME}" -o "${BINARY_NAME}" && \ chmod +x "${BINARY_NAME}" && \ mv "${BINARY_NAME}" /usr/local/bin/terragrunt + + # Terraform installation RUN curl -L "https://releases.hashicorp.com/terraform/${TF_VERSION}/terraform_${TF_VERSION}_${OS}_${ARCH}.zip" -o terraform.zip && \ unzip terraform.zip && \ mv terraform /usr/local/bin/ && \ rm terraform.zip && \ chmod +x /usr/local/bin/terraform + + # Hashicorp Vault installation +RUN wget -O - https://apt.releases.hashicorp.com/gpg | gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | tee /etc/apt/sources.list.d/hashicorp.list && \ + apt update && apt -y install vault + + # Injecting python modules RUN pipx install --include-deps ansible && \ pipx inject ansible requests pytz diff --git a/README.md b/README.md index 433779b..aab6755 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ This Docker image is based on Ubuntu 24.04 and includes popular IAC tools common - **Terraform** - Infrastructure provisioning tool - **Terragrunt** - Terraform wrapper for managing multiple environments - **Ansible** - Configuration management and automation tool +- **Vault** - Hashicorp vault binary ## Included Tools @@ -17,11 +18,14 @@ This Docker image is based on Ubuntu 24.04 and includes popular IAC tools common | Terraform | 1.11.4 | Infrastructure as Code tool for building, changing, and versioning infrastructure | | Terragrunt | v0.77.22 | Thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules | | Ansible | Latest | Automation platform for configuration management, application deployment, and task automation | +| vault | Latest | Hashicorp vault client for managing vault resources | ## Additional Packages - Git - Version control system - Curl - Command line tool for transferring data +- Wget - Commandline tool for downloading data +- GPG - Data encryption - JQ - Command line JSON processor - Unzip - Archive extraction utility - Pipx - Tool for installing and running Python applications in isolated environments