Zmienne środowiskowe to ustawienia, które aplikacja czyta przy starcie: adres bazy, tryb pracy, klucze do zewnętrznych usług. Każdą zmienną możesz zapisać jako jawną albo jako sekret.
| Zmienna jawna | Sekret | |
|---|---|---|
| Aplikacja dostaje wartość przy uruchomieniu | tak | tak |
| Panel, API, CLI i MCP pokazują wartość | tak | nie, tylko *** |
| Przechowywanie w bazie Saplo | zaszyfrowana | zaszyfrowana |
| Można zmienić wartość | tak | tak, nowa wartość nadal jest sekretem |
| Można zamienić z powrotem na jawną | - | nie |
Sekretem zapisuj klucze API, tokeny, hasła i wszystko, czego nie chcesz zobaczyć w historii terminala kolegi ani w odpowiedzi asystenta AI podłączonego przez MCP.
Nowy sekret
Zmienna, która już istnieje
Nie musisz podawać wartości jeszcze raz. Ta operacja działa tylko w jedną stronę.
Sprawdzenie
Zmienne ustawisz też w panelu: strona, zakładka Ustawienia, Zmienne i sekrety. Zmiany obowiązują od następnego uruchomienia aplikacji: saplo deploy albo przycisk Uruchom ponownie w panelu.
Asystent AI (MCP)
Narzędzie saplo_env_set przyjmuje pole is_secret, a saplo_env_mark_secret oznacza istniejącą zmienną. Asystent nigdy nie dostaje wartości sekretu z powrotem, więc nie przepisze go do rozmowy.
REST API
W odpowiedziach sekret ma "value_display": "***". Zwykłe nadpisanie wartości bez is_secret nie odsłania sekretu.
Gdzie sekret istnieje w postaci jawnej
Tylko tam, gdzie musi: w procesie aplikacji. W aplikacjach Docker Saplo zapisuje zmienne do pliku .env obok docker-compose.yml z uprawnieniami 600. Menedżer plików w panelu nie otwiera i nie pobiera tego pliku, gdy aplikacja ma sekrety. Kto ma dostęp do serwera Boxa przez SSH albo terminal, ma też dostęp do środowiska aplikacji, dlatego klucze SSH dawaj tylko zaufanym osobom.
saplo.yaml wpisuj tylko "@secret" jako zaślepkę. Plik trafia do repozytorium, a wartość ustawiasz przez saplo env set --secret.
