EN
Przejdź do panelu

Zmienne środowiskowe i sekrety

Klucze API, tokeny i hasła dla aplikacji: aplikacja dostaje je przy uruchomieniu, a panel, API, CLI i MCP pokazują zamiast nich gwiazdki.

Stos ksiazek z otwarta ksiazka na wierzchu

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 jawnaSekret
Aplikacja dostaje wartość przy uruchomieniutaktak
Panel, API, CLI i MCP pokazują wartośćtaknie, tylko ***
Przechowywanie w bazie Saplozaszyfrowanazaszyfrowana
Można zmienić wartośćtaktak, 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

$ saplo env set --secret ORS_API_KEY=twoj-klucz # kilka naraz $ saplo env set --secret N8N_SYNC_TOKEN=abc JWT_SECRET=xyz --app-id 793

Zmienna, która już istnieje

Nie musisz podawać wartości jeszcze raz. Ta operacja działa tylko w jedną stronę.

$ saplo env secret JWT_SECRET POSTGRES_PASSWORD

Sprawdzenie

$ saplo env # NODE_ENV=production # ORS_API_KEY=[secret]

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.

saplo_env_set(app_id=793, vars={"ORS_API_KEY": "..."}, is_secret=true) saplo_env_mark_secret(app_id=793, key="JWT_SECRET")

REST API

# nowy sekret albo nowa wartość PUT /api/v1/applications/{id}/env/ {"vars": {"ORS_API_KEY": "..."}, "is_secret": true} # oznaczenie istniejącej zmiennej bez podawania wartości PATCH /api/v1/applications/{id}/env/ {"key": "JWT_SECRET", "is_secret": true} # usunięcie DELETE /api/v1/applications/{id}/env/?key=JWT_SECRET

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.

W saplo.yaml wpisuj tylko "@secret" jako zaślepkę. Plik trafia do repozytorium, a wartość ustawiasz przez saplo env set --secret.
Brak odpowiedzi w dokumentacji?Napisz na pomoc@saplo.pl, odpowiada człowiek.
Napisz do nas