프로젝트 소개

doctl은 DigitalOcean API용 공식 명령줄 인터페이스입니다. 하위 명령을 통해 DigitalOcean 클라우드 리소스를 노출하므로, 제어판 대신 터미널에서 인프라를 나열, 생성 및 관리할 수 있습니다. 명령 그룹은 1-click 애플리케이션, 계정 세부 정보, 앱, 인증, 잔액, 청구 내역, 컴퓨트(Droplet, 도메인, 플로팅 IP, 방화벽, 로드 밸런서, 블록 스토리지와 같은 인프라), 데이터베이스, 인보이스, Kubernetes 클러스터 및 구성, 모니터링(베타로 표시됨), 프로젝트, 컨테이너 레지스트리, VPC를 포함합니다. completion 명령은 셸 자동 완성 스크립트를 생성하고, version 명령은 설치된 빌드를 보고합니다. 전역 플래그에는 액세스 토큰, API URL 재정의, 사용자 지정 구성 파일, 인증 컨텍스트 이름, text와 json 중 출력 형식 선택, 네트워크 활동 추적, 상세 출력이 포함됩니다. 설치 옵션에는 macOS의 Homebrew, Snap, Arch Linux 및 Fedora 저장소, Nixpkgs와 같은 패키지 관리자와 Docker Hub 이미지, GitHub의 사전 빌드된 릴리스 아카이브, Go 환경으로 소스에서 빌드하는 방법이 포함됩니다. 베타 릴리스는 별도로 태그가 지정되며 go install로 설치하거나, 소스에서 빌드하거나, 사전 빌드된 아카이브로 다운로드할 수 있습니다. 패키지 관리자는 일반 공급 릴리스만 설치합니다. 인증은 제어판에서 생성한 DigitalOcean 액세스 토큰을 사용합니다. auth init 명령은 자격 증명을 저장하고 구성 파일을 생성합니다. 여러 계정은 이름이 지정된 인증 컨텍스트를 통해 지원되며, 기본 컨텍스트와 명령별로 컨텍스트를 전환하거나 재정의하는 기능이 있습니다. 액세스 토큰 플래그와 환경 변수는 기본 컨텍스트에만 적용됩니다. 구성은 플랫폼별 config.yaml 파일에 저장되며, category.command.sub-command.flag 형식을 사용하여 기본 플래그 값을 설정할 수 있습니다. 예를 들어 기본 SSH 사용자를 변경할 수 있습니다. DIGITALOCEAN_CONTEXT 및 DIGITALOCEAN_ACCESS_TOKEN과 같은 환경 변수는 세션에 대한 설정을 재정의할 수 있습니다. 셸 자동 완성은 Bash, ZSH, fish에서 사용할 수 있지만 Windows에서는 사용할 수 없습니다. Homebrew에 대한 제거 지침이 제공되며, 구성 디렉터리 제거도 포함됩니다. README의 예제는 Droplet 나열 및 생성, 플로팅 IP 할당, DNS A 레코드 생성, 선택적 사용자와 함께 Droplet 이름으로 SSH 연결을 보여줍니다. README는 또한 로드 밸런서, 클라우드 방화벽, 블록 스토리지를 다루는 전체 참조 문서와 커뮤니티 튜토리얼로 연결됩니다.