프로젝트 소개
Onigirazu는 Go로 작성되었고 Ansible에서 영감을 받은 구성 관리 및 인프라 자동화 도구입니다. 에이전트를 설치하지 않고 SSH를 통해 호스트를 대상으로 하며, YAML 플레이북에 원하는 상태를 기술합니다.
README에 설명된 핵심 기능:
- 플레이, 태스크, 핸들러, 계층적 변수, 조건문(when, until, changed_when, failed_when), 루프, 필터와 공백 제어를 지원하는 Jinja2 유사 템플릿을 갖춘 YAML 플레이북.
- 호스트 키 검증을 포함한 에이전트리스 SSH 실행, 구성 가능한 동시성을 갖춘 병렬 태스크 실행, 멱등 작업, 백오프를 포함한 재시도 로직.
- 여러 형식(YAML, TOML, JSON, INI, 텍스트)의 인벤토리, 그리고 -i를 통한 인라인 호스트 지정, Ansible과 유사한 group_vars/host_vars 변수 계층화.
- 스냅샷과 롤백을 포함한 상태 관리, 드리프트 감지 및 자동 수정, 실행 이력의 감사 및 분석, 팩트, 템플릿, 패키지를 위한 캐싱 시스템.
- 플레이북 없이 임시 명령 실행을 지원하며, 자연어 형식을 포함한 다섯 가지 입력 형식과 텍스트, JSON, YAML, 테이블 출력을 제공.
- apply, run, plan, validate, lint, fmt, graph, audit, diff, drift, healthcheck, inventory, state, rollback, completion과 같은 명령을 제공하는 CLI.
- 실시간 로그 스트리밍, NORMAL/VERBOSE/DEBUG 표시 전환, 통계, 키보드 제어, 정상 종료를 갖춘 대화형 터미널 UI 모드(--interactive).
- 파일, 패키지, 서비스, 사용자 및 그룹, 명령, 템플릿, git, systemd, cron, 방화벽, 컨테이너(Docker, Compose, Podman), 데이터베이스(MySQL, PostgreSQL, MongoDB)를 포괄하는 44개의 내장 모듈을 갖춘 모듈 시스템, 그리고 플러그인 아키텍처와 테스트 및 벤치마크가 포함된 새 모듈을 생성하기 위한 스캐폴딩 도구.
- Bitwarden 통합을 통한 시크릿 관리와 모듈, 호스트, 경로, 명령에 대한 선택적 JSON 보안 정책.
설치 옵션에는 Linux, macOS, Windows, BSD 변형용 사전 빌드된 바이너리, Docker 이미지, 배포판 패키지(.deb, .rpm, .apk, Arch), make를 사용한 소스 빌드, go install이 포함됩니다. README는 또한 구성, 보안, 테스트, 플레이북 형식, 임시 사용법, 대화형 모드에 대한 광범위한 문서를 참조합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.