✨ 놓치기 쉬운 GitHub 속 DevOps 유용한 오픈소스 툴 소개

1. Lazygit — A TUI for Git Commands

Repo: jesseduffield/lazygit

  • 터미널 기반 UI를 제공하여, 수십 가지의 플래그를 외우지 않아도 stage, commit, rebase, conflict 해결을 손쉽게 할 수 있게 도와줍니다. 빠르고, 미니멀하며, 긴 Git 명령어 타이핑이 싫은 사람에게 딱 맞는 도구입니다.

  • 예시 활용: 커밋 순서 재정렬이나 머지 충돌을 시각적으로 빠르게 처리할 때.

2. Task — A Makefile Alternative

Repo: go-task/task

  • 번거스러운 Makefile 작성에 Task는 이를 대체할 수 있는 현대적인 도구로, YAML을 기반으로 더 깔끔한 문법으로 작업(Task)을 정의할 수 있게 해줍니다. 테스트, 빌드, 배포 등을 자동화할 때 Make의 복잡한 문법 없이도 간결하게 설정할 수 있습니다.

  • 예시 활용: task build 또는 task deploy 같은 작업을 정의해 팀 전체의 워크플로우를 표준화할 때.

3. Act — Run GitHub Actions Locally

Repo: nektos/act

  • 클라우드에서 GitHub Actions를 디버깅하는 일이 느리고 번거로울 수 있습니다. Act는 이를 로컬 터미널에서 Docker를 활용해 실행할 수 있게 해줍니다. 덕분에 작은 변경사항마다 GitHub에 푸시하지 않고도 CI/CD 파이프라인을 테스트할 수 있습니다.

  • 예시 활용: act 명령어를 사용해 Pull Request를 머지하기 전에 워크플로우를 미리 검증할 때.

4. Gitleaks — Secret Scanner for Git

Repo: zricethezav/gitleaks

  • 실수로 API 키나 비밀번호를 커밋을 방지하기 위해, Gitleaks는 이런 민감한 정보가 외부로 공개되기 전에 저장소를 스캔해주는 도구입니다. 파이프라인에 통합하면, 중요한 데이터가 유출되지 않도록 사전에 방지할 수 있습니다.

  • 예시 활용: pre-commit hook 또는 GitHub Actions에 Gitleaks를 추가해 민감한 정보가 포함된 커밋을 차단할 때.

5. DevSpace — Kubernetes Development Made Simple

Repo: devspace-sh/devspace

  • Kubernetes으로 개발 환경을 설정하는 번거스러운 부분에 대해서, DevSpace는 Kubernetes에 코드를 직접 테스트할 수 있도록, 배포, 포트 포워딩, 파일 동기화 등을 자동화해줍니다. 복잡한 설정 없이도 실시간 개발 환경을 빠르게 구성할 수 있어 팀 단위 협업에 특히 유용합니다.

  • 예시 활용: devspace dev 명령어로 클러스터에 실시간 개발 환경을 바로 띄울 때.

6. K9s — Terminal UI for Kubernetes

Repo: derailed/k9s

  • 계속해서 kubectl 명령어를 입력하는 대신, K9s는 터미널 기반 대시보드를 통해 Kubernetes 클러스터를 손쉽게 다룰 수 있게 해줍니다. 실시간으로 파드, 로그, 배포 상태 등을 한눈에 확인할 수 있습니다.

  • 예시 활용: 실행 중인 파드를 모니터링하거나 실패한 배포를 직관적인 인터페이스로 빠르게 디버깅할 때.

7. Sops — Manage Secrets Securely

Repo: mozilla/sops

  • 시크릿 관리는 언제나 번거롭고 복잡합니다. Sops(Mozilla 제공)는 YAML, JSON, ENV 파일 내의 시크릿을 암호화할 수 있도록 도와주는 도구입니다. AWS KMS, GCP KMS, Azure Key Vault, PGP 등과 연동되어 보안성을 높일 수 있습니다.

  • 예시 활용: Kubernetes 시크릿을 Git에 저장하되 안전하게 암호화된 상태로 관리할 때.

8. Ctop — Top for Containers

Repo: bcicen/ctop

  • 여러 개의 컨테이너를 관리 중이라면, Ctop은 꼭 써볼 만한 도구입니다. 마치 htop처럼 동작하지만 Docker 컨테이너 전용으로, 각 컨테이너의 CPU, 메모리, 네트워크 사용량을 실시간으로 보여줍니다. 리소스를 많이 잡아먹는 컨테이너를 쉽게 식별할 수 있습니다.

  • 예시 활용: ctop을 실행해 Docker 기반 애플리케이션의 성능 문제를 디버깅할 때.

9. Drone CI — Lightweight CI/CD

Repo: harness/drone

  • Drone은 컨테이너 중심으로 설계된 CI/CD 시스템으로, 간결한 YAML 기반 파이프라인을 사용합니다. Jenkins보다 훨씬 가볍고 GitHub과의 연동도 원활합니다. 각 단계는 격리된 컨테이너에서 실행되므로 안정성과 이식성도 뛰어납니다.

  • 예시 활용: Drone 파이프라인을 통해 Docker 이미지 빌드 및 Kubernetes 배포를 자동화할 때.

10. Trivy — Security Scanner for Containers

Repo: aquasecurity/trivy

  • Trivy는 Docker 이미지, Kubernetes 리소스, IaC 설정 파일까지 스캔해 취약점과 잘못된 구성을 찾아주는 도구입니다.

  • 예시 활용: 프로덕션에 배포하기 전에 trivy image my-app:latest 명령어로 알려진 취약점을 사전에 점검할 때.

[출처] https://systemweakness.com/best-open-source-devops-tools-on-github-you-probably-missed-8c8c541565c6

2 Likes