`agent generate-config` — 에이전트 설정 파일 생성하기

agent generate-config — 에이전트 설정 파일 생성하기

시크릿 플러그인 데이터를 사용해 프로세스 슈퍼바이저(process supervisor) 모드로 Vault Agent를 실행하기 위한 기본 설정 파일을 생성해요.

$ vault agent generate-config -type <config_file_type> [options] [<file_path>]

출처: 문서

본문

설명 (Description)

agent generate-config는 설정 타입에 따라 Vault Agent의 설정 세부 사항을 구성하고, 프로세스 슈퍼바이저 모드로 Vault Agent를 실행하기 위한 로컬 설정 파일을 작성해요.

관련 API 엔드포인트:

  • 없음.

제한 사항과 주의사항 (Limitations and warnings)

제한 사항:

  • 플러그인 지원은 KV 플러그인으로 제한돼요.
  • 설정 타입은 환경 변수 템플릿으로 제한돼요.

프로덕션에는 부적절

agent generate-config가 만든 파일에는 token_file 인증 방식을 사용하도록 구성된 auto_auth 섹션이 포함돼요.

토큰 파일은 로컬 테스트에 편리하지만 프로덕션 사용에는 부적절해요. 프로덕션에 적합한 인증 방식 목록은 Vault Agent autoAuth 방식 전체 목록을 참고하세요.

인자 (Arguments)

file_path (string: "./agent.hcl")

Vault가 생성된 설정 파일을 저장할 경로.

예: "./agent/custom-config.hcl"

옵션 (Options)

  • 없음.

커맨드 플래그 (Command flags)

  • -exec (string: "") — 선택적 인자가 있는 자식 프로세스용 명령 경로. 상대 경로는 실행 시 현재 작업 디렉터리에서 시작해요. Vault Agent 설정 파일의 exec.command에 대응해요. 예: -exec "./my-app arg1 arg2"
  • -path (string: "") — 하나 이상의 KV 시크릿 저장소 경로. 와일드카드(*)로 끝나는 경로는 해당 경로 아래의 모든 시크릿을 포함해요. 대상 시크릿 전체 집합을 지정하려면 -path 플래그를 필요에 따라 반복해요. 예: -path secret/kv/agent-keys/*
  • -type (enum: <필수>) — 생성할 설정 파일 항목. 예: -type env-template

전역 플래그 (Global flags)

모든 명령어에 공통으로 포함된 표준 플래그 목록이에요.

  • -address / VAULT_ADDR (string: 'https://127.0.0.1:8200') — Vault 서버 주소.
  • -agent-address / VAULT_AGENT_ADDR (string: "") — 사용한다면 Vault Agent 주소.
  • -ca-cert / VAULT_CACERT (string: "") — 서버 SSL 인증서 검증에 쓰는 PEM 인코딩 CA 인증서 파일 경로. -ca-path보다 우선해요.
  • -ca-path / VAULT_CAPATH (string: "") — 서버 SSL 인증서 검증에 쓰는 PEM 인코딩 CA 인증서 파일들이 있는 디렉터리 경로.
  • -client-cert / VAULT_CLIENT_CERT (string: "") — 서버와의 TLS 통신에 쓰는 PEM 인코딩 CA 인증서 파일 경로.
  • -client-key / VAULT_CLIENT_KEY (string: "") — -client-cert와 일치하는 PEM 인코딩 개인 키 경로.
  • -disable-redirects / VAULT_DISABLE_REDIRECTS (bool: false) — 기본 CLI 리다이렉트 동작을 비활성화. 주의: 일부 명령어가 오작동할 수 있음.
  • -header (string: "") — CLI 요청의 선택적 HTTP 헤더 "<key>=<value>". 사용자 정의 헤더는 X-Vault-로 시작할 수 없음.
  • -mfa / VAULT_MFA (string: "") — mfa_method_id:passcode 형식의 MFA 자격증명.
  • -namespace / -ns / VAULT_NAMESPACE (string: ) — CLI 명령의 루트 네임스페이스.
  • -non-interactive (bool: false) — 터미널 입력을 요청하지 않게 한다.
  • -output-curl-string (bool: false) — 실행에 필요한 API 호출을 cURL 문자열로 출력하고 종료한다.
  • -output-policy (bool: false) — 실행에 필요한 Vault 정책을 HCL로 출력하고 종료한다.
  • -policy-override (bool: false) — enforcement_level"soft-mandatory"인 Sentinel 정책을 무시한다.
  • -tls-server-name / VAULT_TLS_SERVER_NAME (string: "") — TLS 연결의 SNI 호스트 이름.
  • -tls-skip-verify / VAULT_SKIP_VERIFY (bool: false) — 모든 TLS 인증서 검증을 비활성화. 신중히 사용.
  • -unlock-key (string: ) — 주어진 네임스페이스의 기본 API 엔드포인트를 잠금 해제하는 평문 키.
  • -wrap-ttl / VAULT_WRAP_TTL (string: "") — CLI 응답을 래핑하는 Cubbyhole 토큰의 기본 TTL.

예시 (Examples)

foo 시크릿 플러그인에 대한 환경 변수 템플릿 설정을 생성해요:

$ vault agent generate-config  \
    -type="env-template"       \
    -exec="./my-app arg1 arg2" \
    -path="secret/foo"

Command output

둘 이상의 시크릿 플러그인에 대한 환경 변수 템플릿 설정을 생성해요:

$ vault agent generate-config -type="env-template" \
    -exec="./my-app arg1 arg2" \
    -path="secret/foo" \
    -path="secret/bar" \
    -path="secret/my-app/*"

더 알아보기 (Learn more)

  • vault agent — Vault Agent 실행
  • Vault Agent 문서
  • auto-auth 문서