Środowiska
Funkcja Środowiska zapewnia rozgałęzianie podobne do Git dla całego backendu. Każde środowisko to w pełni izolowana kopia aplikacji — w tym własna baza danych, schemat API, role, dostawcy plików, trasy gateway i konfiguracja bezpieczeństwa — umożliwiając rozwój, testowanie i przygotowywanie zmian bez wpływu na dane produkcyjne.
Każdy projekt zaczyna od jednego środowiska master. Stamtąd możesz tworzyć nowe środowiska dziedziczące schemat bazy danych (i opcjonalnie dane) z dowolnego istniejącego. Każda gałąź działa niezależnie: zmiany w jednym środowisku nie są propagowane do innych, dopóki nie wykonasz merge.
Kluczowe koncepcje
Dział zatytułowany „Kluczowe koncepcje”- Izolacja środowisk: Każde środowisko ma własną bazę PostgreSQL, zapewniając pełną separację danych między gałęziami.
- Tryby gałęzi: Przy tworzeniu nowego środowiska wybierasz między strategiami klonowania Full (schemat + dane) lub System (tylko schemat).
- Kopiowanie konfiguracji: Dostawcy magazynu plików, trasy gateway, ustawienia bezpieczeństwa i zmienne środowiskowe mogą być opcjonalnie kopiowane ze środowiska źródłowego podczas rozgałęziania.
- Cykl życia statusu: Środowiska przechodzą przez zdefiniowane stany —
active,branching,merging,erroriarchived— aby zapobiec konfliktowym operacjom. - Relacje rodzic-dziecko: Środowiska zachowują strukturę drzewa śledzącą pochodzenie dla operacji diff i merge.
- Schema Diff: Porównaj schematy bazy danych dowolnych dwóch środowisk używając semantyki diff tylko do przodu. Zobacz Environment Diff.
- Merge: Zastosuj zmiany schematu z jednego środowiska do drugiego z automatyczną kopią zapasową, selektywnym stosowaniem zmian (cherry-pick) i transakcyjnym DDL. Zobacz Environment Merge.
- Backupy: Automatyczne kopie przed merge i ręczne kopie zapisane w S3, z możliwością przywrócenia do dowolnego środowiska docelowego — w tym usuniętych. Zobacz Backups.
- Historia migracji: Pełny ślad audytowy wszystkich operacji merge, w tym użytkownik, który zastosował każdą migrację, znacznik czasu i konkretne zmiany.
Zakres środowiskowy
Dział zatytułowany „Zakres środowiskowy”Wszystkie zasoby backendu są przypisane do aktualnie wybranego środowiska. Przy przełączaniu środowisk za pomocą Selektora środowisk w górnym pasku nawigacji następujące zasoby odzwierciedlają stan tego środowiska:
| Zasób | Zakres per środowisko |
|---|---|
| Tabele i schemat bazy danych | Tak |
| API Explorer (GraphQL) | Tak |
| SQL Playground | Tak |
| Dostęp oparty na rolach | Tak |
| Dostawcy magazynu plików | Tak |
| Dostawcy uwierzytelniania | Tak |
| API Keys | Tak |
| Niestandardowe trasy API Gateway | Tak |
| Konfiguracja bezpieczeństwa (CORS, Rate Limits) | Tak |
| Zmienne środowiskowe | Tak |
| Integracje | Tak |
Uwaga: Przełączanie środowisk wyzwala pełne przeładowanie kontekstu. Kontekst environment jest propagowany przez wszystkie usługi backendu platformy, aby każdy request był rozwiązywany względem właściwej bazy danych i konfiguracji.
Bezpieczeństwo i izolacja
Dział zatytułowany „Bezpieczeństwo i izolacja”System środowisk zapewnia izolację klasy enterprise między etapami rozwoju:
- Izolacja magazynu: Każde środowisko ma dedykowaną bazę danych. Gwarantuje to, że błąd lub operacja danych w środowisku deweloperskim nigdy nie wpłynie na dane produkcyjne.
- Zakres konfiguracji: Wszystkie ustawienia — od API keys po polityki bezpieczeństwa — są zarządzane niezależnie per środowisko. Zmiana polityki CORS w “Staging” nie wpłynie na “Production”.
- Kontekst platformowy: Aktualne środowisko jest automatycznie propagowane przez całą platformę. Przeglądając pliki, uruchamiając zapytania SQL czy wykonując wywołania API, Archie Core zapewnia interakcję z zasobami właściwego środowiska.