# 시크릿 관리하기

프로젝트의 **시크릿** 페이지에서 환경 탭과 트리의 폴더를 고릅니다. 워크스페이스의 멤버라면 누구나
시크릿을 추가, 표시, 변경, 삭제할 수 있습니다. 환경과 폴더는 [시크릿 개요](https://www.mocco.club/docs/ko/articles/8yrkb2-overview)를 참고하세요.

## 시크릿 추가하기

1. **시크릿 추가**를 누릅니다.
2. 앱이 읽는 이름인 **키**를 입력합니다. 예: `DATABASE_URL`. 키는 영문자, 숫자, `_`로 쓰며 숫자로
   시작할 수 없습니다.
3. **값**을 입력합니다. 개인 키처럼 여러 줄인 값은 먼저 **여러 줄 값**을 체크하면 입력란이 커집니다.
4. 필요하면 **설명**과 **태그**를 붙입니다. 새 태그는 태그 아래에 이름을 입력하고 **태그 추가**를 누릅니다.
5. **시크릿 추가**를 누릅니다.

![시크릿 추가 양식: 키, 값, 여러 줄 값, 설명, 태그](https://fi-workers-mocco-storage.s3.ap-northeast-2.amazonaws.com/pub/w/93e11fe8-0494-4e3d-b1cb-fe4dffd3ee7e/p/d64785b8-9a23-4fa1-a81d-550af30e203a/helpcenter/10c31265-6c18-4662-b21f-fbedf13dac08/secrets-add.png)

## 표시하고 복사하기

값은 요청하기 전까지 가려져 있습니다. **표시**는 값 하나를, **모두 표시**는 폴더의 모든 값을 보여
줍니다. 표시한 값은 1분이 지나거나, **가리기**를 누르거나, 다른 폴더나 환경으로 옮기면 다시 가려집니다.

**복사**는 값을 화면에 보여 주지 않고 클립보드에 넣습니다.

표시, 복사, 내보내기는 모두 워크스페이스의 [감사 로그](https://www.mocco.club/docs/ko/articles/2yiscf-audit-log)에 키와 폴더와 함께
기록됩니다. 값은 기록되지 않습니다.

![값 하나만 표시되고 나머지는 가려진 폴더의 시크릿](https://fi-workers-mocco-storage.s3.ap-northeast-2.amazonaws.com/pub/w/93e11fe8-0494-4e3d-b1cb-fe4dffd3ee7e/p/d64785b8-9a23-4fa1-a81d-550af30e203a/helpcenter/8c4f400b-932e-4f0e-a6a9-38c179ccc565/secrets-revealed.png)

## 시크릿 변경하기와 삭제하기

**편집**에서는 값을 표시하지 않고 설명, 태그, 여러 줄 설정을 바꿀 수 있습니다. 새 값을 넣으려면 **값
변경**을 체크하고 입력합니다. 새 값마다 새 버전이 되며, 키 옆에 `v2`, `v3`처럼 표시됩니다.

**삭제**는 폴더에서 시크릿을 지웁니다. **삭제 확인**을 눌러야 지워집니다. 이전 값은 폴더 기록에 남고,
같은 키를 다시 설정하면 되살아납니다.

## .env 파일 가져오기

`.env` 파일이나 JSON 객체로 여러 시크릿을 한 번에 추가하거나 바꿀 수 있습니다.

1. **.env 가져오기**를 누릅니다.
2. 파일 내용을 붙여 넣거나 파일을 고릅니다.
3. **미리 보기**를 누릅니다. 아직 아무것도 바뀌지 않습니다. 미리 보기는 각 키를 **새 항목**, **변경**,
   **그대로**로 나누고 값 대신 지문을 보여 주므로, 가져오기가 무엇을 하는지 확인할 수 있습니다.
4. **설정**을 눌러 적용합니다.

![가져오기 미리 보기: 지문과 함께 표시된 새 항목, 변경, 그대로인 키와 설정 버튼](https://fi-workers-mocco-storage.s3.ap-northeast-2.amazonaws.com/pub/w/93e11fe8-0494-4e3d-b1cb-fe4dffd3ee7e/p/d64785b8-9a23-4fa1-a81d-550af30e203a/helpcenter/63c279bb-61aa-43ff-8a7f-3d07cddbcfaa/secrets-import.png)

가져오기가 읽는 형식:

- `KEY=value` 형식의 `.env` 줄. 앞에 `export `가 붙어도 됩니다. `#`로 시작하는 줄과 빈 줄은
  건너뛰고, 따옴표 없는 값 뒤의 ` # …`는 주석입니다.
- 큰따옴표로 감싼 값에서는 `\n`, `\t`, `\"`, `\\`가 각각 줄 바꿈, 탭, 따옴표, 백슬래시가 됩니다.
  작은따옴표로 감싼 값은 그대로 읽습니다. 따옴표로 감싼 값은 여러 줄에 걸칠 수 있습니다.
- `{"PORT": 8080}` 같은 키와 값의 JSON 객체. 숫자와 `true`/`false`는 문자열로 저장합니다.

올바르지 않은 줄은 줄 번호와 함께 표시되며, 고치기 전에는 아무것도 설정되지 않습니다. 같은 키가 두 번
나오면 마지막 값을 씁니다. 한 번에 가져올 수 있는 시크릿은 최대 500개입니다. 이미 있는 시크릿의 설명과
태그는 그대로 둡니다.

## 폴더 내보내기

**.env 내보내기**는 폴더의 시크릿을 `production-api.env` 같은 `.env` 파일로 내려받습니다. 필요한 값에만
따옴표를 붙이며, 다시 가져오면 같은 값이 됩니다. 내보내기는 폴더의 모든 값을 표시하는 것이므로 표시와
똑같이 감사 로그에 기록됩니다.
