소개
flarectl은 Cloudflare의 공식 CLI 도구로, Cloudflare Go API 라이브러리를 기반으로 개발되었습니다. 이 도구는 Cloudflare의 DNS, 구역, 레코드 및 기타 서비스를 명령줄에서 관리할 수 있도록 설계되었습니다. Go 언어로 작성된 이 라이브러리는 Cloudflare REST API에 대한 편리한 접근을 제공하며, 개발자가 프로그래밍 방식으로 Cloudflare 리소스를 자동화하고 제어할 수 있게 합니다. 공식 소스는 Cloudflare의 GitHub 저장소와 개발자 문서를 통해 확인할 수 있습니다.
상세정보
Cloudflare API 접근
flarectl은 Cloudflare Go 라이브러리를 통해 Cloudflare REST API의 전체 기능에 접근할 수 있습니다. 이는 구역 관리, DNS 레코드 설정, 보안 설정 등을 포함합니다.
함수형 옵션 패턴
이 라이브러리는 functional options 패턴을 사용하여 클라이언트 구성과 개별 요청에 대한 유연한 설정을 지원합니다. 헤더 추가, JSON 설정, 재시도 정책 등을 커스터마이징할 수 있습니다.
자동 페이지네이션 처리
.ListAutoPaging() 메서드를 제공하여 페이지가 나뉜 목록 엔드포인트를 쉽게 처리할 수 있습니다. 수동으로 페이지를 추적하지 않고도 모든 페이지의 항목을 순회할 수 있습니다.
파일 업로드 지원
io.Reader를 활용한 파일 업로드 기능을 제공하며, 파일 이름과 콘텐츠 타입을 커스터마이징할 수 있는 FileParam 헬퍼 함수도 포함되어 있습니다.
다운로드·설치 방법
flarectl은 Go 모듈로 배포되며, 다음 명령어를 통해 설치할 수 있습니다:
go get -u ‘github.com/cloudflare/cloudflare-go/[email protected]’
또는 소스 코드를 직접 클론하여 사용할 수 있습니다.
기본 사용법/명령어
flarectl을 사용하기 위해서는 먼저 Cloudflare API 토큰이 필요합니다. 토큰을 발급받은 후, 다음과 같이 클라이언트를 초기화할 수 있습니다:
client := cloudflare.NewClient(option.WithAPIToken(“your_api_token_here”))
초기화 후, 구역을 생성하는 예시는 다음과 같습니다:
zone, err := client.Zones.New(context.TODO(), zones.ZoneNewParams{Account: cloudflare.F(zones.ZoneNewParamsAccount{ID: cloudflare.F(“account_id”)}), Name: cloudflare.F(“example.com”), Type: cloudflare.F(zones.TypeFull)})
이후 zone.ID를 통해 생성된 구역의 ID를 확인할 수 있습니다.
이런 경우에 유용합니다
Cloudflare 서비스를 프로그래밍 방식으로 자동화해야 하는 개발자나 DevOps 엔지니어에게 유용합니다. 예를 들어, 스크립트를 통해 DNS 레코드를 일괄 추가하거나, 구역 설정을 버전 관리 시스템과 연동하여 변경 이력을 추적할 때 유용하게 사용할 수 있습니다.
지원 환경·시스템 요구사항
이 라이브러리는 Go 1.22 이상 버전이 필요합니다. Go 환경이 설정된 Windows, macOS, Linux 등 모든 플랫폼에서 사용할 수 있습니다.
최신 버전·업데이트
현재 버전은 0.45.0이며, Cloudflare Go 라이브러리의 업데이트에 따라 버전이 관리됩니다. semantic versioning을 따르지만, 일부 하위 호환성 변경이 마이너 버전으로 출시될 수 있습니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


