1 Dokonano kompleksowej przebudowy skryptu, wprowadzając architekturę modularną v3.0. Ta fundamentalna zmiana przekształca
AutoScript z prostego narzędzia w elastyczną platformę do zarządzania cyklem życia serwera, kładąc podwaliny pod zaawansowane
funkcje DevOps.
2
3 Kluczowe zmiany w tej wersji:
4
5 - **Architektura oparta na komendach**: Wprowadzono w pełni modularny system, gdzie każda operacja (np. `install`, `validate`,
`deploy_monitoring`) jest osobną, precyzyjną komendą.
6
7 - **Walidacja Konfiguracji**: Nowa komenda `validate` wykonuje "pre-flight check", weryfikując poprawność pliku konfiguracyjnego
przed dokonaniem jakichkolwiek zmian w systemie, co drastycznie redukuje ryzyko błędów.
8
9 - **Mechanizm "Paragonów" (Receipts)**: Skrypt inteligentnie śledzi pomyślnie zakończone instalacje, co zapewnia idempotentność
operacji i umożliwia bezpieczne, wielokrotne uruchamianie oraz precyzyjną deinstalację.
10
11 - **Ulepszone Logowanie i Interfejs**: Wprowadzono kolorowe logi na konsoli z podziałem na poziomy (INFO, WARN, ERROR) oraz
ujednolicony zapis do pliku `/var/log/autoscript.log`.
12
13 - **Zarządzanie Skryptem i Sekretami**: Dodano wbudowane komendy do zarządzania cyklem życia samego skryptu (`self-update`) oraz
do uproszczonej obsługi sekretów (`secrets:edit`, `secrets:view`).
14
15 - **Fundamenty pod przyszły rozwój**: Stworzono solidne podstawy i puste funkcje (stubs) dla przyszłych, zaawansowanych modułów,
takich jak wdrożenie Mastodona, dynamiczne odkrywanie usług, centralne logowanie hosta, profile AppArmor i zaawansowane kopie
zapasowe.
16
17 Ta wersja stanowi kamień milowy, podnosząc projekt na profesjonalny poziom i otwierając drogę do dalszej, szybkiej rozbudowy.
58 lines
3.6 KiB
Markdown
58 lines
3.6 KiB
Markdown
# AutoScript v3 - Zautomatyzowana Platforma do Zarządzania Serwerem
|
|
|
|
## 1. Przegląd
|
|
|
|
AutoScript v3 to ewolucja prostego skryptu w kierunku w pełni modularnej platformy do automatyzacji i zarządzania cyklem życia serwera aplikacyjnego. Narzędzie jest zaprojektowane wokół architektury opartej na komendach, co pozwala na precyzyjne, bezpieczne i idempotentne operacje - od wstępnej konfiguracji po codzienne zarządzanie i deinstalację.
|
|
|
|
## 2. Kluczowe Koncepcje Architektoniczne
|
|
|
|
- **Modularność i Komendy**: Zamiast jednego, monolitycznego przebiegu, każdą operację wykonuje się dedykowaną komendą (np. `./start.sh deploy_traefik`).
|
|
- **Idempotentność i Paragony (Receipts)**: Skrypt śledzi ukończone instalacje. Można go bezpiecznie uruchamiać wielokrotnie - zainstaluje tylko brakujące elementy.
|
|
- **Walidacja "Pre-flight"**: Komenda `validate` sprawdza poprawność konfiguracji *przed* dokonaniem jakichkolwiek zmian w systemie.
|
|
- **Bezpieczeństwo jako Priorytet**: Wbudowane wzmacnianie zabezpieczeń, zarządzanie sekretami i przygotowanie pod zaawansowane techniki (AppArmor).
|
|
|
|
## 3. Dostępne Komendy
|
|
|
|
Wszystkie komendy należy uruchamiać z uprawnieniami roota, np. `sudo ./start.sh <komenda>`.
|
|
|
|
| Komenda | Opis |
|
|
| ----------------------- | -------------------------------------------------------------------------------------- |
|
|
| `install` | **Główna instalacja.** Uruchamia walidację i wdraża wszystkie podstawowe moduły. |
|
|
| `validate` | Sprawdza poprawność pliku `autoscript.conf` i połączeń z zewnętrznymi API. |
|
|
| `deploy_mastodon` | (W przygotowaniu) Wdraża i konfiguruje aplikację Mastodon. |
|
|
| `deploy_traefik` | Wdraża i konfiguruje reverse proxy Traefik. |
|
|
| `deploy_monitoring` | Wdraża stos monitoringu (Prometheus, Grafana, Alertmanager). |
|
|
| `secrets:edit <nazwa>` | Otwiera zaszyfrowany plik z sekretami dla danej usługi w edytorze. |
|
|
| `secrets:view <nazwa>` | Wyświetla odszyfrowaną zawartość pliku z sekretami. |
|
|
| `self-update` | Aktualizuje skrypt AutoScript do najnowszej wersji z repozytorium Git. |
|
|
| `uninstall` | **Niebezpieczne!** Usuwa wszystkie komponenty, dane i konfiguracje stworzone przez skrypt. |
|
|
| `help` | Wyświetla listę dostępnych komend. |
|
|
|
|
## 4. Instalacja Krok po Kroku
|
|
|
|
1. **Zaloguj się jako `root` na nowym serwerze (Debian/Ubuntu).**
|
|
2. **Zainstaluj `git` i sklonuj repozytorium:**
|
|
```bash
|
|
apt update && apt install -y git
|
|
git clone https://github.com/pawelorzech/autoscript.git
|
|
cd autoscript
|
|
```
|
|
3. **Skonfiguruj AutoScript:**
|
|
```bash
|
|
cp autoscript.conf.example autoscript.conf
|
|
nano autoscript.conf # Wypełnij wszystkie zmienne
|
|
```
|
|
4. **Sprawdź poprawność konfiguracji:**
|
|
```bash
|
|
sudo ./start.sh validate
|
|
```
|
|
5. **Uruchom pełną instalację:**
|
|
```bash
|
|
sudo ./start.sh install
|
|
```
|
|
|
|
## 5. Co dalej?
|
|
|
|
Po zakończeniu instalacji, Twój serwer jest w pełni skonfigurowany i zabezpieczony. Zapoznaj się z krokami opisanymi w poprzednich wersjach `README` (zmiana portu SSH, logowanie jako `admin`, konfiguracja 2FA), ponieważ te zasady wciąż obowiązują.
|
|
|
|
Możesz teraz zacząć wdrażać właściwą aplikację, np. używając (w przyszłości) komendy `sudo ./start.sh deploy_mastodon`.
|