1.6 KiB
1.6 KiB
Workflow trade-iac
Cel: utrzymywać konfigurację IaC w Git i wdrażać ją kontrolowanie na mevnode.
1. Dodanie klucza SSH na hoście (operator)
Host operatora musi mieć klucz do dostępu do repo trade/trade-iac.
Przykład:
ssh-keygen -t ed25519 -C "trade-iac-host" -f ~/.ssh/trade_iac
cat ~/.ssh/trade_iac.pub
Publiczny klucz dodajemy w Gitei (Settings -> SSH Keys), a potem test:
ssh -T git@gitea.mpabi.pl
2. Dodanie klucza SSH na VPS
VPS (runner/deployer) musi mieć osobny klucz do klonowania/pull z trade/trade-iac.
Przykład:
ssh-keygen -t ed25519 -C "trade-iac-vps" -f ~/.ssh/trade_iac
cat ~/.ssh/trade_iac.pub
ssh -T git@gitea.mpabi.pl
Ten publiczny klucz też dodajemy do Gitei.
3. Wdrożenie na mevnode (runner na VPS)
Po zmianach w repo:
doc/(opis etapu),- implementacja (playbook/vars),
- test/syntax-check,
- commit + push,
- wdrożenie z VPS na
mevnode, - testy powdrożeniowe.
Minimalny przepływ:
# VPS
git -C /opt/trade-iac pull --ff-only origin main
cd /opt/trade-iac
# uruchom Ansible w kontenerze (bez instalacji Ansible na hoście)
docker run --rm -t \
-v "$PWD/ansible:/ansible" \
-v "$HOME/.ssh:/home/runner/.ssh:ro" \
-w /ansible \
quay.io/ansible/ansible-runner:latest \
ansible-playbook -i inventory/hosts.ini playbooks/doc-rpc-sol-min.yml
Zasada pracy
- Zmiany zawsze przez PR/commit (bez ręcznych zmian na
mevnodepoza awarią). mevnodetraktujemy jako target deploymentu, nie źródło prawdy.- Źródłem prawdy jest repo
trade/trade-iac.