[Secrets Manager] HashiCorp Viper

paul7·2023년 1월 27일
0

설치 방법

go get github.com/spf13/viper

Viper는 무엇인가?

12-Factor-apps을 포함한 완벽한 설정 관리 솔루션이다.
애플리케이션 내에서 작동하도록 설계되어있다.


  • 기본값 설정
  • JSON, TOML, YAML, HCL, envfile 및 Java 속성 구성파일을 읽기
  • 실시간 감시 및 구성 파일 다시 읽기
  • 환경 변수에서 읽기
  • 원격 구성시스템에서 읽기 및 변경 사항 관찰
  • 명령줄 플래그에서 읽기
  • 버퍼에서 읽기
  • 명시적 값 설정

왜 Viper인가?

최신 애플리케이션을 구축할 때에 구성 파일 형식에 대해 Viper가 모두 지원하기 때문에 사용자는 소프트웨어를 구성하는데 집중할 수 있다.
Viper는 다음을 수행한다.

  • JSON, TOML, YAML, envfile 등의 형식의 구성 파일을 찾고, 로드하고, 결집시킨다.
  • 다양한 구성옵션에 대한 디폴트 값을 설정하는 매커니즘을 제공한다.
  • 커맨드라인 플래그를 통해 지정된 옵션에 대한 재정의 값을 설정하는 매커니즘을 제공한다.
  • 기존 코드의 변화없이 매개변수의 이름을 쉽게 바꿀수 있도록 별칭 시스템을 제공한다.
  • 사용자가 기본값과 동일한 명령줄 또는 구성 파일을 제공했을 때의 차이를 쉽게 구분할 수 있도록 한다.

Viper 사용법

Instance


viper 인스턴스 생성하기.

**Set File & Path**
config 파일과 이 파일의 경로를 설정하기 위해서 SetConfigFile이라는 메서드를 사용한다.
viper.SetConfigFile(".env")```
*Viper는 env 파일 외에 다양한 파일들을 지원한다.
	* HCL
    * TOML
    * JSON
    * YAML
    * etc ..
    
    
profile
Junior BE Developer

0개의 댓글