티스토리 뷰
키나 환경변수를 관리하는 툴은 정말 많다.
AWS에서 자체적으로 제공하는 경우도 있고, GitHub에서 심어줄 수도 있고 다양한 방법이 있다.
가장 최악의 경우는 Application.yaml 파일에 실수로 그냥 실어버리고 GitHub에 배포하는 경우다.
(OpenAI의 경우, 이 부분을 어떻게 캐치해서 강제로 키를 새로 발급해버린다.)
개인적으로 이것저것 써봤을 때, 가장 맘에 들었던게 DotEnv다.
간단하게 사용법을 안내하자면,
src아래에 .env 파일에 키를 저장해놓고, 쓰면 되고 .gitignore에 등록해놓고 쓰면 된다.
파일을 만들어놓고 gitignore에 설정해놓으면, 다시 볼일이 없어서 관리하기 편했기 때문에 사용하기 편했다.
이제 설정하는 법을 알아보자.
build.gradle.kts
implementation("io.github.cdimascio:java-dotenv:5.2.2")
.env
반드시 쌍따옴표를 붙이고 써야한다.
OPENAI_API_KEY="[YOUR KEY]"
가져다쓰기
Dotenv.load()로 .env 파일 내에 선언한 데이터를 map형식으로 가져와서 쓸 수 있다.
class OpenAiHeaderConfiguration {
@Bean
fun requestInterceptor(): RequestInterceptor {
val dotenv = Dotenv.load()
return RequestInterceptor { requestTemplate: RequestTemplate ->
requestTemplate.header("Authorization", "Bearer ${dotenv["OPENAI_API_KEY"]}")
}
}
}
위 코드에선 그냥 헤더에 키를 실어보내는 용도로 사용했다.
마치며
키 관리를 git에 영향받지 않고 어떻게 사용하면 좋을까를 고민하다가 찾은 라이브러리이다..
덕분에 실수로 github에 올려버려서 재발급하는 불상사는 다시 일어나지 않게되었다.
'개발 > 개발팁' 카테고리의 다른 글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- OpenFeign
- openAI API
- Log
- java
- 스프링부트
- AWS
- JWT
- cache
- ChatGPT
- AOP
- MySQL
- Kotlin
- S3
- Elastic cloud
- Spring
- 오블완
- AWS EC2
- serverless
- terraform
- 후쿠오카
- springboot
- elasticsearch
- 람다
- lambda
- CloudFront
- EKS
- GIT
- 티스토리챌린지
- docker
- OpenAI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함