InfoGrab DocsInfoGrab Docs

Terraform 모듈 레지스트리

Terraform 모듈 레지스트리에 대해 설명합니다.

Terraform 모듈 레지스트리를 사용하면 다음을 수행할 수 있습니다: GitLab 프로젝트를 Terraform 모듈의 비공개 레지스트리로 사용합니다. GitLab CI/CD로 모듈을 만들고 게시한 다음 다른 비공개 프로젝트에서 사용할 수 있습니다. Terraform 모듈 레지스트리 인증 # Terraform 모듈 레지스트리에 인증하려면 다음 중 하나가 필요합니다: 최소한 read_api 범위를 가진 개인 액세스 토큰 . CI/CD 작업 토큰 . read_package_registry 또는 write_package_registry 범위를 가진 배포 토큰 . API를 사용할 때: 배포 토큰으로 인증하는 경우 모듈을 게시하려면 write_package_registry 범위를 적용해야 합니다. 모듈을 다운로드하려면 read_package_registry 범위를 적용합니다. 개인 액세스 토큰으로 인증하는 경우 최소한 read_api 범위로 구성해야 합니다. 여기에 문서화된 방법 외의 인증 방법은 사용하지 마세요. 문서화되지 않은 인증 방법은 향후 제거될 수 있습니다. 사전 요구 사항 # Terraform 모듈을 게시하려면: Developer, Maintainer, 또는 Owner 역할이 있어야 합니다. 모듈을 삭제하려면: Maintainer 또는 Owner 역할이 있어야 합니다. Terraform 모듈 게시 # Terraform 모듈을 게시하면 모듈이 없는 경우 생성됩니다. Terraform 모듈을 게시한 후 Terraform 모듈 레지스트리 에서 볼 수 있습니다 . API 사용 # Terraform 모듈 레지스트리 API 를 사용하여 Terraform 모듈을 게시합니다. PUT /projects/:id/packages/terraform/modules/:module-name/:module-system/:module-version/file 속성 유형 필수 여부 설명 id 정수/문자열 예 프로젝트의 ID 또는 URL 인코딩된 경로 . module-name 문자열 예 모듈 이름. 지원되는 구문: 소문자(a-z)와 숫자(0-9)를 포함한 1~64개의 ASCII 문자. module-system 문자열 예 모듈 시스템. 지원되는 구문: 소문자(a-z)와 숫자(0-9)를 포함한 1~64개의 ASCII 문자. 자세한 내용은 모듈 레지스트리 프로토콜 을 참조하세요. module-version 문자열 예 모듈 버전. 시맨틱 버전 사양 을 따라야 합니다. 파일 내용을 요청 본문에 제공합니다. 요청은 /file 로 끝나야 합니다. 다른 것으로 끝나는 요청을 보내면 404 Not Found 오류가 발생합니다. Personal access token Deploy token 개인 액세스 토큰을 사용한 예시 요청: curl --fail-with-body --header "PRIVATE-TOKEN: <your_access_token>" \ --upload-file path/to/file.tgz \ --url "https://gitlab.example.com/api