Skip to content
isdnetworks
Go back

설정 파일마다의 역할

설정을 고치려는데 비슷한 이름의 파일이 여섯 개라 어느 것인지 알 수 없었다. 같은 항목이 여러 파일에 들어 있어서 실제로 쓰이는 값이 어디서 오는지 확인이 필요했다.

Table of contents

Open Table of contents

여섯 개의 비슷한 파일

기본 설정과 환경별 설정과 서버 설정과 옛 파일들이 한자리에 있었다. 이름만 봐서는 무엇이 무엇을 덮는지 알 수 없었다.

연결 문자열이 들어 있는 파일을 세어 보니 셋이었다. 셋 다 값이 있으니 어느 것이 최종 값인지가 문제였다.

무엇이 이기는지 확인한다

문서에는 우선순위가 적혀 있었지만 실제로 그런지 시작할 때 출처를 찍어서 확인했다. 값 자체는 안 찍고 어디서 온 것인지만 남겼다.

기본 파일 위에 환경별 파일이 덮고 그 위에 환경 변수와 실행 인자가 덮는 순서였다. 환경 변수가 설정돼 있으면 파일을 아무리 고쳐도 값이 안 바뀌므로 이것을 모르면 왜 안 바뀌는지 알 수 없다.

각 파일의 역할과 안 쓰는 것

파일마다 무엇을 담는 자리인지를 파일 안과 별도 문서에 함께 적었다. 저장소에 넣는 것과 안 넣는 것도 구분해 적었다.

정리하다 보니 안 쓰는 옛 파일이 둘 있었는데 그것들이 헷갈림의 원인이었다. 지우기 전에 이름을 바꿔서 애플리케이션을 띄워 보니 정상이었고 코드를 뒤지는 것보다 이 확인이 확실했다.

비밀 값과 남겨 둔 키

운영 파일에 비밀번호가 평문으로 들어 있어서 환경 변수로 옮겼다. 저장소에는 안 올라가고 있었지만 서버에는 그대로 남아 있었기 때문이다.

파일에서 항목을 통째로 없애지 않고 값만 비워 뒀다. 무엇이 필요한 설정인지가 파일에서 보이는 편이 낫기 때문이다.

없으면 시작할 때 죽게

필요한 값이 비어 있으면 시작하는 자리에서 멈추고 무엇이 없는지와 어떻게 넣는지를 메시지에 적게 했다. 전에는 첫 조회에서 죽었고 그때는 원인이 설정이라는 것이 드러나지 않았다.

지금 적용된 설정을 조회하는 경로도 만들되 개발 환경에서만 열고 비밀 값은 걸러 냈다. 이 값이 무엇으로 들어갔는지를 파일을 뒤지지 않고 확인할 수 있게 된 것이 이 정리의 실질이었다.

정리


Share this post on:

Previous Post
스펙과 다른 API에 맞추기
Next Post
저장소가 아니었던 도메인