Terraform
Terraform opisuje infrastrukturę w plikach konfiguracyjnych i zarządza zasobami za pomocą dostawców, czyli providerów. Korzystam z niego w infrastrukturze DigiPulse, aby konfigurację usług łatwiej było przeglądać i odtwarzać.
Konfiguracja i plan zmian
Provider Docker daje Terraform dostęp do zasobów Dockera. Wspólna konfiguracja może opisywać podobne środowiska z różnymi zmiennymi wejściowymi. Każde wymaga własnego planu uwzględniającego aktualny stan: zapisany plan nie jest szablonem do użycia w innym środowisku.
Przestrzenie robocze i sekrety
Przestrzenie robocze CLI rozdzielają stan, ale nie stanowią granicy uprawnień. Pliki stanu i planu mogą zawierać sekrety nawet dla wartości oznaczonych jako sensitive. Środowiska wymagające silniejszej izolacji potrzebują osobnych danych dostępowych, chronionego magazynu stanu i odpowiednich uprawnień.
Infrastruktura a wydania aplikacji
Konfiguracja infrastruktury opisuje zasoby i zależności, a wydania aplikacji mogą przechodzić przez oddzielny proces CI/CD. Terraform wykrywa różnice między opisanym a rzeczywistym stanem podczas tworzenia planu, ale nie zapobiega stale ręcznym zmianom. Plan trzeba przejrzeć przed zastosowaniem, zwłaszcza gdy przewiduje wymianę lub usunięcie zasobu.
