Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
Empty file modified .devcontainer/example/devcontainer.json
100755 → 100644
Empty file.
2 changes: 2 additions & 0 deletions .env.example
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#
# VERSION REFERENCE:
# Terraform: https://releases.hashicorp.com/terraform
# Packer: https://releases.hashicorp.com/packer
# kubectl: https://kubernetes.io/releases
# k9s: https://github.com/derailed/k9s/releases
# .NET: https://dotnet.microsoft.com/download/dotnet
Expand Down Expand Up @@ -42,6 +43,7 @@ STERN_VERSION=v1.33.1
# Infrastructure as code tools
ANSIBLE_VERSION=13.5.0
TERRAFORM_VERSION=1.14.8
PACKER_VERSION=1.15.3
Comment thread
Taegost marked this conversation as resolved.

# Database clients
POSTGRESQL_CLIENT_VERSION=18
Expand Down
14 changes: 14 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Enforce LF line endings for all text files.
# This repo targets Linux (Docker images) — CRLF in shell scripts or
# Dockerfiles causes hard-to-diagnose runtime failures inside containers.
* text=auto eol=lf

# Explicitly mark binary files so Git never attempts line-ending conversion.
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.zip binary
*.gz binary
*.tar binary
Empty file modified .github/ISSUE_TEMPLATE/bug_report.md
100755 → 100644
Empty file.
Empty file modified .github/ISSUE_TEMPLATE/feature_request.md
100755 → 100644
Empty file.
Empty file modified .github/workflows/build-and-push.yml
100755 → 100644
Empty file.
33 changes: 32 additions & 1 deletion Dockerfile
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -144,11 +144,33 @@ ARG TERRAFORM_VERSION=1.14.8
RUN curl -fsSL \
"https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_${TARGETARCH}.zip" \
-o /tmp/terraform.zip \
&& unzip /tmp/terraform.zip -d /usr/local/bin/ \
&& unzip /tmp/terraform.zip terraform -d /usr/local/bin/ \
&& rm /tmp/terraform.zip \
&& chmod +x /usr/local/bin/terraform \
&& terraform version

# -----------------------------------------------------------------------------
# Packer
# Machine image building tool by HashiCorp. Installed via HashiCorp's official
# binary release for exact version pinning.
# Packer uses amd64/arm64 naming — maps directly from TARGETARCH.
# URL: https://developer.hashicorp.com/packer
# -----------------------------------------------------------------------------
ARG PACKER_VERSION=1.15.3

RUN curl -fsSL \
"https://releases.hashicorp.com/packer/${PACKER_VERSION}/packer_${PACKER_VERSION}_linux_${TARGETARCH}.zip" \
-o /tmp/packer.zip \
&& curl -fsSL \
"https://releases.hashicorp.com/packer/${PACKER_VERSION}/packer_${PACKER_VERSION}_SHA256SUMS" \
-o /tmp/packer_SHA256SUMS \
&& EXPECTED=$(grep "packer_${PACKER_VERSION}_linux_${TARGETARCH}.zip" /tmp/packer_SHA256SUMS | awk '{print $1}') \
&& echo "${EXPECTED} /tmp/packer.zip" | sha256sum -c \
Comment thread
Taegost marked this conversation as resolved.
&& unzip /tmp/packer.zip packer -d /usr/local/bin/ \
&& rm /tmp/packer.zip /tmp/packer_SHA256SUMS \
&& chmod +x /usr/local/bin/packer \
&& packer version
Comment thread
coderabbitai[bot] marked this conversation as resolved.

# -----------------------------------------------------------------------------
# GitHub CLI (gh)
# Installed via official GitHub binary release — single static binary.
Expand Down Expand Up @@ -413,6 +435,15 @@ RUN kubectl completion bash > /etc/bash_completion.d/kubectl
# -----------------------------------------------------------------------------
RUN terraform -install-autocomplete || true

# -----------------------------------------------------------------------------
# Shell completions — Packer
# Uses complete -C (same approach as AWS CLI) rather than -autocomplete-install
# which only writes to root's shell RC, not system-wide.
# -----------------------------------------------------------------------------
RUN packer_path=$(which packer) \
&& echo "complete -C '${packer_path}' packer" \
> /etc/bash_completion.d/packer

Comment thread
coderabbitai[bot] marked this conversation as resolved.
# -----------------------------------------------------------------------------
# Shell completions — Ansible
# -----------------------------------------------------------------------------
Expand Down
1 change: 1 addition & 0 deletions README.md
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ with Docker and VS Code — no local setup required.
| Tool | Version | Purpose |
|---|---|---|
| [Terraform](https://www.terraform.io) | See [Dockerfile](./Dockerfile) | Infrastructure as code |
| [Packer](https://developer.hashicorp.com/packer) | See [Dockerfile](./Dockerfile) | Machine image building |
| [kubectl](https://kubernetes.io/docs/reference/kubectl/) | See [Dockerfile](./Dockerfile) | Kubernetes cluster management |
| [k9s](https://k9scli.io) | See [Dockerfile](./Dockerfile) | Kubernetes terminal UI |
| [kubeseal](https://github.com/bitnami-labs/sealed-secrets) | See [Dockerfile](./Dockerfile) | Kubernetes SealedSecrets CLI |
Expand Down
Empty file modified dependencies/ansible-requirements.yml
100755 → 100644
Empty file.
Empty file modified dependencies/python-ansible-requirements.txt
100755 → 100644
Empty file.