68 lines
1.6 KiB
Markdown
68 lines
1.6 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
1. `doc/` (opis etapu),
|
|
2. implementacja (playbook/vars),
|
|
3. test/syntax-check,
|
|
4. commit + push,
|
|
5. wdrożenie z VPS na `mevnode`,
|
|
6. testy powdrożeniowe.
|
|
|
|
Minimalny przepływ:
|
|
|
|
```bash
|
|
# 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 `mevnode` poza awarią).
|
|
- `mevnode` traktujemy jako target deploymentu, nie źródło prawdy.
|
|
- Źródłem prawdy jest repo `trade/trade-iac`.
|