26 lines
1.4 KiB
Bash
Executable file
26 lines
1.4 KiB
Bash
Executable file
#!/bin/bash
|
|
set -euo pipefail
|
|
source "$(dirname "${BASH_SOURCE[0]}")/../lib/common.sh"
|
|
ensure_prerequisites
|
|
load_secrets_to_ram
|
|
|
|
log_info "[Layer 2: Tier-0 Air-Gap] Подъем базовых контейнеров через Tofu..."
|
|
cd "${REPO_ROOT}/tofu" && tofu apply -target=proxmox_virtual_environment_container.dns0 \
|
|
-target=proxmox_virtual_environment_container.vault0 \
|
|
-target=proxmox_virtual_environment_container.git0 \
|
|
-target=proxmox_virtual_environment_container.storage0 \
|
|
-target=proxmox_virtual_environment_container.registry0 -auto-approve
|
|
|
|
log_info "[Layer 2: Tier-0 Air-Gap] Применение ZFS-маунтов и прав на хосте Proxmox..."
|
|
ansible-playbook -i "${REPO_ROOT}/ansible/inventory.yml" "${REPO_ROOT}/ansible/playbooks/01_pve_host_day0.yml"
|
|
|
|
log_info "[Layer 2: Tier-0 Air-Gap] Конфигурация базовых сервисов..."
|
|
for pb in 03_zot_registry.yml 04_technitium_dns.yml 05_openbao_vault.yml 06_forgejo_git.yml 07_nas_storage.yml; do
|
|
ansible-playbook -i "${REPO_ROOT}/ansible/inventory.yml" "${REPO_ROOT}/ansible/playbooks/${pb}"
|
|
done
|
|
|
|
unseal_vault
|
|
|
|
log_info "[Layer 2: Tier-0 Air-Gap] Доведение полного стейта Tofu..."
|
|
cd "${REPO_ROOT}/tofu" && tofu apply -auto-approve
|
|
log_ok "Layer 2 готов." |