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

39
.devcontainer/devcontainer.json Executable file
View File

@@ -0,0 +1,39 @@
{
"name": "debian-devops",
"build": {
"dockerfile": "Dockerfile"
},
"remoteUser": "root",
"forwardPorts": [
8006
],
"portsAttributes": {
"8006": {
"label": "Proxmox 8006"
}
},
"customizations": {
"vscode": {
"extensions": [
"saoudrizwan.claude-dev",
"hashicorp.terraform",
"redhat.vscode-yaml",
"EditorConfig.EditorConfig",
"eamodio.gitlens",
"bierner.markdown-preview-github-styles"
],
"settings": {
"editor.formatOnSave": true,
"[terraform]": {
"editor.defaultFormatter": "hashicorp.terraform",
"editor.formatOnSave": true
},
"[terraform-vars]": {
"editor.defaultFormatter": "hashicorp.terraform",
"editor.formatOnSave": true
}
}
}
},
"postCreateCommand": "git --version && ansible --version && terraform version && packer version"
}