소개
Windsor CLI는 클라우드 네이티브 개발 워크플로우를 돕는 오픈소스 인프라스트럭처 구성 도구입니다. Windsor는 Terraform 스택과 Kubernetes 매니페스트를 결합한 '블루프린트'를 버전 관리 가능한 OCI 아티팩트로 컴파일하고 배포합니다. 동일한 블루프린트를 노트북, 베어 메etal, EKS 또는 AKS와 같은 다양한 기반 환경에 맞춰 재사용할 수 있는 것이 특징입니다.
상세정보
인프라 블루프린트 컴포지션
Windsor는 Terraform 스택과 Kubernetes 매니페스트를 결합하여 블루프린트를 생성합니다. 블루프린트는 OCI 아티팩트로 버전이 관리되며, 조건부 프래그먼트인 ‘팩셋’을 통해 다양한 플랫폼(로컬, AWS, AKS 등)에 맞게 매개변수화됩니다. 실제로 배포되는 인프라에는 독점 소프트웨어가 포함되지 않습니다.
멀티 플랫폼 지원 및 환경 관리
단일 블루프린트로 노트북 로컬 환경, 베어 메탈 클러스터, Amazon EKS, Microsoft AKS 등 다양한 기반 환경을 대상으로 할 수 있습니다. Windsor는 각 ‘컨텍스트’별로 별도의 설정, 자격증명 및 kubeconfig를 관리하며, 셸 훅을 통해 kubectl이나 terraform 같은 도구들이 올바른 클러스터를 자동으로 사용하도록 설정합니다.
배포 및 라이프사이클 관리
블루프린트를 OCI 레지스트리에 푸시하여 공유할 수 있습니다. 주요 명령어로는 로컬 환경을 시작하는 ‘windsor up’, 환경을 정리하는 ‘windsor down’, 그리고 스테이징/프로덕션 환경을 설정하는 ‘windsor bootstrap’이 있습니다.
다운로드·설치 방법
Windows 환경에서는 Chocolatey 패키지 매니저를 사용하여 설치할 수 있습니다. 다음 명령어를 실행합니다.
choco install windsor
macOS나 Linux에서는 Homebrew를 사용할 수 있습니다.
brew tap windsorcli/cli && brew install windsor
기본 사용법/명령어
설치 후 Windsor의 작동을 확인하려면 다음 명령어를 사용합니다.
windsor version
Windsor가 관리하는 환경 변수(KUBECONFIG, AWS/Azure 자격증명 등)를 kubectl 같은 다른 도구가 인식하도록 셸 훅을 설정해야 합니다.
- Bash: eval “$(windsor hook bash)”
- Zsh: eval “$(windsor hook zsh)”
- PowerShell: Invoke-Expression (& windsor hook powershell)
기본 블루프린트를 사용하여 로컬 쿠버네티스 환경을 빠르게 시작하는 예시입니다.
- git init
- windsor init local
- windsor up
‘windsor up’은 기반 환경을 프로비저닝하고, Docker에서 Talos 클러스터를 부팅한 후 Flux를 통해 Core 블루프린트를 조정합니다. 실행된 파드를 확인하려면 ‘windsor exec — kubectl get pods -A’ 명령어를 사용합니다. 환경을 중지하고 정리하려면 ‘windsor down’ 명령어를 사용합니다.
이런 경우에 유용합니다
Terraform과 Kubernetes를 함께 사용하여 클러스터를 구성해야 하는 인프라 엔지니어나 플랫폼 엔지니어에게 유용합니다. 동일한 인프라 구성으로 로컬 개발 환경과 프로덕션 클라우드 환경을 일관되게 유지해야 할 때 사용할 수 있습니다. 팀 간에 재사용 가능한 인프라 모듈을 OCI 아티팩트로 버전 관리하여 배포해야 하는 경우에 적합합니다.
지원 환경·시스템 요구사항
Windsor CLI는 macOS, Linux 및 Windows에서 실행됩니다. 로컬 환경에서 ‘windsor up’을 사용하기 위해 Terraform과 Docker Desktop(또는 macOS의 Colima)이 필요합니다.
최신 버전·업데이트
현재 제공된 패키지의 버전은 0.9.0입니다. 최신 릴리스 정보는 공식 GitHub 저장소에서 확인할 수 있습니다.
제한 사항·확인 사항
Windsor 자체는 빌드 타임에만 존재하며, 배포된 인프라에는 독점 소프트웨어가 포함되지 않습니다. 기본 블루프린트(Core)를 사용하려면 Terraform 및 Docker 관련 도구가 사전에 설치되어 있어야 합니다.
시스템 요구사항
Terraform 및 Docker Desktop 또는 Colima가 필요합니다.


