`boundary database init` — 데이터베이스 초기화
boundary database init — 데이터베이스 초기화
database init 명령어는 Boundary의 데이터베이스를 초기화할 때 사용해요. Boundary를 처음 시작하기 전에 한 번 수행해야 하는 작업이에요.
본문
예시
아래 예시는 /etc/boundary.d/controller.hcl 파일에 지정된 구성으로 Boundary 데이터베이스를 초기화해요.
$ boundary database init -config=/etc/boundary.d/controller.hcl
controller.hcl 파일에는 데이터베이스 URL이 들어 있어요.
...
snip
...
# Controller configuration block
controller {
# This name attr must be unique across all controller instances if running in HA mode
name = "boundary-controller-1"
description = "Boundary controller number one"
# This is the public hostname or IP where the workers can reach the
# controller. This should typically be a load balancer address
public_cluster_addr = "example-cluster-lb.example.com"
# Enterprise license file, can also be the raw value or env:// value
license = "file:///path/to/license/file.hclic"
# After receiving a shutdown signal, Boundary will wait 10s before initiating the shutdown process.
graceful_shutdown_wait_duration = "10s"
# Database URL for postgres. This is set in boundary.env and
# consumed via the "env://" notation.
database {
url = "env://POSTGRESQL_CONNECTION_STRING"
}
}
...
snip
...
사용법
$ boundary database init [options] [args]
초기화 과정에서 다음과 같은 초기 자원이 아래 순서로, 지정된 스코프에 생성돼요.
- 초기 로그인 역할 (global)
- 비밀번호 유형 인증 메서드 (global)
- 조직 스코프 (global)
- 프로젝트 스코프 (org)
- 정적 유형 호스트 카탈로그 (project)
- 정적 유형 호스트 세트
- 정적 유형 호스트
- 대상 (project)
팁 — 플래그를 사용해 Boundary가 이러한 자원을 만들지 않도록 할 수 있어요. 플래그로 어떤 자원을 건너뛰면 그 뒤에 만들어질 자원들도 함께 건너뛰게 돼요. 사용 가능한 플래그는 아래의 init 옵션을 참고하세요.
명령어 옵션 (Command options)
-config(string: "")— 구성 파일의 경로.-config-kms(string: "")—config용도로 표시된kms블록이 들어 있는 구성 파일의 경로. KMS 블록은 기본 구성 파일의 암호 해독을 수행해요.kms블록을 설정하지 않으면 Boundary는 기본 구성 파일에서 그런 블록을 찾는데, 몇 가지 단점이 있어요. 자세한 내용은boundary config encrypt -h의 도움말 출력을 참고하세요.-log-format(string: "")— 로그 형식. 지원 값은standard와json이에요.-log-level(string: "")— 로그 상세 수준. 지원 값은 상세한 것부터 간단한 것 순서로trace,debug,info,warn,err이에요.BOUNDARY_LOG_LEVEL환경 변수로도 로그 수준을 지정할 수 있어요.
초기화(Init) 옵션
-migration-url(string: "")— 설정하면 구성 파일에 설정된 마이그레이션 URL을 덮어쓰고, 초기화를 위해 데이터베이스에 연결하는 데 사용할 URL을 지정해요. 이 옵션을 구성하면 초기화를 실행하는 사용자와 표준 작업을 실행하는 사용자의 권한을 다르게 줄 수 있어요. 이 값은 직접 데이터베이스 URL을 가리키거나, Boundary가 URL을 읽어 오는 디스크 파일(file://) 또는 환경 변수(env://)를 가리킬 수 있어요.-skip-auth-method-creation— 설정하지 않으면 초기화 과정의 일부로 인증 메서드 생성이 건너뛰어져요. 이 값을 설정하면 어떤 작업을 수행하려면 복구 KMS가 필요해요. 기본값은false예요.-skip-host-resources-creation— 설정하지 않으면 호스트 카탈로그, 호스트 세트, 호스트를 포함한 호스트 자원 생성이 초기화의 일부로 건너뛰어져요. 기본값은false예요.-skip-initial-authenticated-user-role-creation— 설정하면 모든 인증된 사용자에게 기본 제공되는 역할과 권한 부여 생성이 건너뛰어져요.-skip-initial-login-role-creation— 설정하지 않으면 로그인에 필요한 권한 부여를 허용하는 기본 역할 생성이 초기화의 일부로 건너뛰어져요. 이 값을 설정하면 어떤 작업을 수행하려면 복구 KMS가 필요해요. 기본값은false예요.-skip-scopes-creation— 설정하지 않으면 스코프 생성이 초기화의 일부로 건너뛰어져요. 기본값은false예요.-skip-target-creation— 설정하지 않으면 대상 생성이 초기화의 일부로 건너뛰어져요. 기본값은false예요.
CLI 옵션 — 이 명령어 고유 옵션 외에도 모든 CLI 명령어·하위 명령어에 공통으로 적용되는 옵션들이 있어요. 연결(Connection) 옵션, 클라이언트(Client) 옵션, 출력(Output) 옵션, 환경 변수(Environment variables)를 참고하세요.