This commit is contained in:
Hrankin, Aleksandr (contracted)
2026-02-19 11:34:13 +00:00
commit f243f440c3
191 changed files with 6183 additions and 0 deletions

53
.devcontainer/Dockerfile Executable file
View File

@@ -0,0 +1,53 @@
FROM debian:bookworm-slim
ARG DEBIAN_FRONTEND=noninteractive
ARG TERRAFORM_VERSION=1.8.5
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates curl unzip git \
make openssh-client \
python3 python3-pip python3-venv \
locales gnupg \
&& rm -rf /var/lib/apt/lists/*
# Генерируем UTF-8 локаль
RUN sed -i 's/^# *\(en_US.UTF-8 UTF-8\)/\1/' /etc/locale.gen \
&& locale-gen
ENV LANG=en_US.UTF-8 \
LANGUAGE=en_US:en \
LC_ALL=en_US.UTF-8
# --- Packer (через HashiCorp APT repo) ---
RUN set -eux; \
curl -fsSL https://apt.releases.hashicorp.com/gpg | gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg; \
codename="$(. /etc/os-release && echo "$VERSION_CODENAME")"; \
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com ${codename} main" > /etc/apt/sources.list.d/hashicorp.list; \
apt-get update; \
apt-get install -y --no-install-recommends packer; \
rm -rf /var/lib/apt/lists/*; \
packer version
# --- Ansible (в venv) ---
RUN python3 -m venv /opt/ansible \
&& /opt/ansible/bin/pip install --no-cache-dir --upgrade pip \
&& /opt/ansible/bin/pip install --no-cache-dir ansible \
&& ln -sf /opt/ansible/bin/ansible /usr/local/bin/ansible \
&& ln -sf /opt/ansible/bin/ansible-playbook /usr/local/bin/ansible-playbook \
&& ln -sf /opt/ansible/bin/ansible-galaxy /usr/local/bin/ansible-galaxy \
&& ansible --version
# --- Terraform ---
RUN set -eux; \
arch="$(dpkg --print-architecture)"; \
case "$arch" in \
amd64) tf_arch="amd64" ;; \
arm64) tf_arch="arm64" ;; \
*) echo "Unsupported arch: $arch"; exit 1 ;; \
esac; \
curl -fsSL "https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_${tf_arch}.zip" -o /tmp/terraform.zip; \
unzip /tmp/terraform.zip -d /usr/local/bin; \
rm -f /tmp/terraform.zip; \
terraform version
WORKDIR /work