# Gitopper - 쿠버네티스 없이 Gitops 하기

> Clean Markdown view of GeekNews topic #16294. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=16294](https://news.hada.io/topic?id=16294)
- GeekNews Markdown: [https://news.hada.io/topic/16294.md](https://news.hada.io/topic/16294.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2024-08-13T09:46:02+09:00
- Updated: 2024-08-13T09:46:02+09:00
- Original source: [github.com/miekg](https://github.com/miekg/gitopper)
- Points: 12
- Comments: 0

## Summary

Gitopper는 Kubernetes 없이도 GitOps 워크플로우를 사용할 수 있는 도구로, 원격 git 저장소를 감시하고 변경 사항을 자동으로 반영합니다. 이 도구는 서비스별로 필요한 파일만 체크아웃하며, 다양한 바인드 마운트를 통해 파일 접근 권한을 관리합니다. 또한, Git 해시를 통해 롤아웃을 추적하고, Canarying 기능을 제공하여 다른 브랜치로의 체크아웃을 지원합니다.

## Topic Body

- Kubernetes를 사용하지 않는 사람들을 위한 GitOps 툴  
- 원격 git 저장소를 감시하고, 변경 사항을 pull하며, 서버(서비스) 프로세스에 HUP 시그널을 보내 리로드   
- 각 서비스는 실제로 필요한 파일만 보게 되는 sparse(하지만 전체 히스토리를 가진) git 체크아웃이 수행됨  
- 서비스에 Git 내 파일에 대한 접근 권한을 부여하기 위해 여러 바인드 마운트가 설정됨  
- 대상 디렉토리가 존재하지 않으면 현재 사용자로 생성됨(지정된 경우)  
- 단순히 리포지토리를 가져오는 것 이상의 기능을 제공하지는 않지만, Kubernetes와 같은 환경에 의존하지 않고도 GitOps 워크플로우를 사용할 수 있음  
- 서비스를 프로비저닝하는 데 사용하는 Git 저장소에는 각 서비스에 대해 최소한 하나의 (하위)디렉토리가 있어야 함  
- 지정된 경우 패키지를 설치하지만, 더 나은 방법이 있다고 가정하면 업그레이드나 다운그레이드는 하지 않음  
- 원격 인터페이스는 인증에 SSH 키를 사용함  
- 다음과 같은 기능이 구현됨:  
  - Metrics: Git 해시를 내보내므로 롤아웃을 추적할 수 있음  
  - Diff detection: metrics나 gitopperctl을 사용해 가능함  
  - Out of band rollbacks: gitopperctl을 사용해 일반 Git 워크플로우를 우회함  
  - No client side processing: 파일은 Git 저장소에 있는 그대로 사용됨  
  - Canarying: 서비스에 체크아웃할 다른 브랜치를 제공할 수 있음

## Comments



_No public comments on this page._
