Używasz git do zarządzania / etc?

15

Mam na myśli system, w którym /etcbyły śledzone w zdalnym repozytorium git. Myślę o przepływie pracy git, gdzie każda maszyna hosta ma inną gałąź.

Wszystkie poprzednie wersje na każdym komputerze można łatwo śledzić, porównywać, scalać.

Jeśli /etcmodyfikacja musiałaby zostać zatwierdzona na wielu komputerach, można to łatwo zrobić za pomocą skryptu scalającego.

W przypadku „niechcianej” /etczmiany może to być dobrze widoczne (nawet skrypty alarmowe można dostroić, aby to obejrzeć).

Ktoś użył już takiej konfiguracji? Czy są z tym jakieś problemy bezpieczeństwa?

peterh - Przywróć Monikę
źródło
6
Jest taki, etckeeperktóry jest już używany w wielu systemach. Nie oferuje wszystkich wymaganych funkcji. Np. Ma jedno repozytorium na host, a nie centralne.
jofel
Jakie pliki Cię interesują lub jakie pliki zostały niechciane zmienione w przeszłości? Pytam, ponieważ uważam, że Git nie jest właściwym sposobem rozwiązywania problemów spowodowanych w innym punkcie twojego przepływu pracy. Ponadto: jeśli ktoś zapomni o dokonaniu wielu zmian, Git jest bezwartościowy. Czy możesz wyjaśnić swoje środowisko? Czy masz środowisko testowe i QA identyczne z produkcyjnym? Czy masz znacznie więcej niż dwa lub trzy hosty tego samego typu / celu, czy jest heterogenny? Co jest ważniejsze: porównaj konfiguracje hostów lub śledź konfigurację jednego hosta w czasie?
spróbuj złapać w końcu

Odpowiedzi:

8

Program etckeeperudaje /etcsię git, po prostu trzeba zmienić domyślne VCS backend od bzrdo gitw /etc/etckeeper/etckeeper.conf.

Jest instalowany domyślnie w systemie Ubuntu Linux i obsługuje typowe przypadki automatycznego zatwierdzania.
Zatwierdza się przed instalacją pakietów w przypadku, gdy nie zostaną wprowadzone ręczne zmiany i po instalacji.

Volker Siegel
źródło
6

Problem ze śledzenia konfigurację /etcw gitto, że wszystko, czego naprawdę zyskać przez to jest kontrola wersji (większość gitnowicjuszy nawet nie wiem, jak tagi branchprawidłowo, więc mało prawdopodobne w tym punkcie) i zdolność do wycofania (ponownie, jeśli aren” t taggingwłaściwie nie zyskujesz nic poza dziennikiem, by obwiniać ludzi); ale tracisz szablony (szablon cant, ponieważ git tego nie zapewnia) i skalowanie (nie możesz zastosować konfiguracji gdziekolwiek indziej; szczególnie jeśli używasz rozproszonych baz danych, takich jak Elasticsearch), oraz zautomatyzowane zarządzanie systemami (ponownie, git tego nie zapewnia ).

Biorąc to pod uwagę, prawdopodobnie szukasz zarządzania konfiguracją ; że wiąże się szablonów , gitoraz podstawowych skryptów do zarządzania konfiguracją. To oczywiście idzie w kierunku DevOps i infrastruktury jako kodu .

Aby dodać do tego; Ansible ma, z ansible-pullktórego można pobrać najnowsze repozytorium twoich podręczników git; to samo dotyczy również szefa kuchni. Zasadniczo współcześni administratorzy Linuksa nie powinni używać czegoś takiego etckeeper. Chef posiada również tryb klient-serwer, w którym można zarządzać wszystkie systemy z chef-clientopartych na environment, rolesi cookbook wersjach; rzeczy, których nie da się zrobić gitwyłącznie i na dużą skalę.


źródło
Nie tylko wycofywanie mam git. Uzyskuję także porównywalność (zarówno między maszynami, jak i między czasem), a także synchronizację. Myślę jednak, że pomysł na temat bardziej ukierunkowanych narzędzi jest przydatny.
peterh - Przywróć Monikę