Sobes.tech
Middle

Czy polecasz używanie GitLab lub GitHub do przechowywania plików stanu?

sobes.tech AI

Odpowiedź od AI

Nie polecam. Pliki stanu (np. stan Terraform) zawierają poufne informacje o infrastrukturze, w tym potencjalnie poufne wartości i strukturę wdrożenia. GitHub i GitLab to systemy kontroli wersji przeznaczone do przechowywania kodu źródłowego, a nie do przechowywania poufnych danych o stanie wdrożonej infrastruktury.

Zaleca się korzystanie z wyspecjalizowanych rozwiązań backendowych do przechowywania plików stanu, takich jak:

  • Amazon S3: Wysoka dostępność i niezawodność, obsługa blokad zapobiegających równoległym zmianom.
  • Azure Storage: Podobnie jak S3, integruje się z ekosystemem Azure.
  • Google Cloud Storage: Podobnie jak S3 i Azure Storage, integruje się z ekosystemem GCP.
  • HashiCorp Consul: Rozproszone przechowywanie par klucz-wartość, z obsługą blokad.
  • HashiCorp Terraform Cloud / Enterprise: Rozwiązanie chmurowe lub lokalne, specjalnie zaprojektowane do współpracy z Terraform i bezpiecznego przechowywania plików stanu.

Użycie takich rozwiązań zapewnia:

  • Bezpieczeństwo: Izolowane przechowywanie danych, kontrola dostępu.
  • Niezawodność: Replikacja geograficzna i kopie zapasowe.
  • Blokady: Zapobieganie równoległym operacjom, które mogą uszkodzić stan.
  • Wersjonowanie: Śledzenie zmian w pliku stanu.
  • Wygoda współpracy: Centralne przechowywanie dla zespołu.