> ## Documentation Index
> Fetch the complete documentation index at: https://docs.platform.nora.my/llms.txt
> Use this file to discover all available pages before exploring further.

# nora connectors

> 재사용 외부 시스템 자격증명 관리 — API 키, 로테이션, 호출.

커넥터가 외부 시스템의 이름 있는 암호화된 자격증명. 워크스페이스 레벨에서 한 번 설정; 자격증명 필요한 어느 Foundry 파이프라인·Tool·Trigger 에서든 ID 로 참조.

## 명령

| 명령                                   | 설명                   |
| ------------------------------------ | -------------------- |
| `connectors list`                    | 워크스페이스의 모든 커넥터 나열.   |
| `connectors get <id>`                | 커넥터 설정 인쇄 (시크릿 마스킹). |
| `connectors create`                  | 새 api-key 커넥터 생성.    |
| `connectors update <id>`             | 이름 변경 또는 키 로테이션.     |
| `connectors delete <id>`             | 커넥터 제거.              |
| `connectors invoke <id> <operation>` | 커넥터로 작업 호출.          |

## `connectors list` / `get`

```bash theme={null}
nora connectors list
nora connectors get c_tavily
```

`list` 가 커넥터당 로우 하나. `get` 이 시크릿 마스킹된 설정 인쇄.

## `connectors create`

```bash theme={null}
nora connectors create \
  --provider tavily \
  --name "Tavily search" \
  --api-key ?
# --api-key ? 가 프롬프트 (마스킹 입력)
```

플래그:

* `--provider <p>` (필수) — 외부 시스템. 지원: `tavily`, `brave` (확장 중).
* `--name <n>` (필수) — 표시 이름.
* `--api-key <key>` (필수) — API 키. 마스킹 프롬프트에 `?`, stdin 읽기에 `-`, 또는 리터럴 넘김 (셸 히스토리 경고).

새 커넥터의 ID 인쇄.

리터럴 넘김보다 `?` 나 stdin 선호 — 리터럴 API 키가 셸 히스토리에 착지.

## `connectors update`

```bash theme={null}
# 이름 변경
nora connectors update c_tavily --set-name "Tavily (production)"

# API 키 로테이션
nora connectors update c_tavily --rotate-api-key ?
```

플래그:

* `--set-name <n>` — 새 표시 이름.
* `--rotate-api-key <key>` — 저장된 키 교체. create 와 같은 입력 모드 (`?`, `-`, 리터럴).

넘긴 플래그만 변경.

## `connectors delete`

```bash theme={null}
nora connectors delete c_tavily
```

파이프라인·Tool·Trigger 가 커넥터 참조하면 실패. 먼저 그것들 업데이트.

## `connectors invoke`

```bash theme={null}
nora connectors invoke c_tavily search \
  --arg query="인과 그래프가 뭐야" \
  --arg limit=5
```

커넥터가 지원하는 특정 작업 호출. 모든 provider 가 다른 작업 노출 — 커넥터 문서 (또는 목록은 `connectors get`) 참고.

플래그:

* `<id>` — 커넥터.
* `<operation>` — 작업 이름 (예: `search`, `list_channels`).
* `--arg KEY=VALUE` — 플래그당 인자 하나, 또는:
* `--json <json>` — 전체 인자를 JSON 으로.

흔한 용도:

* 로테이션된 키가 작동하는지 스모크 테스트: `nora connectors invoke c_tavily search --arg query=test`.
* Flow 배선 없이 임시 데이터 pull.

## 레시피

### 스크립트에서 자격증명 로테이션

```bash theme={null}
# 파일에서 새 키 안전하게 읽기
cat new-key.txt | nora connectors update c_tavily --rotate-api-key -
```

이전 키가 60분간 유효 유지해 다운타임 없는 로테이션 허용.

### 모든 커넥터가 여전히 작동하는지 검증

```bash theme={null}
for c in $(nora connectors list --json | jq -r '.[].id'); do
  echo "$c 테스트..."
  nora connectors invoke $c ping 2>&1 | grep -q "ok" && echo "  OK" || echo "  FAIL"
done
```

(작업이 provider 따라 다름 — `ping` 은 예시; 각 provider 가 지원하는 것 확인.)

### 커넥터를 다른 워크스페이스로 마이그레이션

```bash theme={null}
# 소스에서 읽기
key=$(cat ~/.nora-keys/tavily)

# 목적지에 생성
nora --workspace destination connectors create \
  --provider tavily \
  --name "Tavily" \
  --api-key "$key"
```

## 커넥터 vs. 시크릿

* **커넥터** 가 특정 시스템 (Tavily, Brave, ...) 용 타입 통합. 커넥터가 API 모양 앎.
* **시크릿** 이 불투명 문자열 값 (Tool 헤더, Trigger auth, DB URL 에 사용). 타입 모양 없음.

일반 HTTP 통합에는 `secrets://` 헤더 있는 Tool. 잘 알려진 provider (검색, 임베딩 등) 에는 커넥터.

둘 다 워크스페이스 스코프고 저장 시 암호화.

## 커넥터 참조

커넥터 키 필요한 Tool 에서:

```bash theme={null}
nora tools headers add t_search \
  --name Authorization \
  --value "secrets://connector:c_tavily/api_key"
```

도구가 호출 시점에 키 보간 — 편집 시점 절대 아님.

## 접근

워크스페이스 멤버가 커넥터 나열하고 이름 볼 수 있음. Manager 와 Owner 만 생성·로테이션·삭제 가능. 실제 키 값이 CLI 나 앱 통해 어떤 사용자에도 절대 반환 안 됨.

## 삭제 감사

모든 삭제가 로깅 ([감사 트레일](/ko/reliable/versions/audit) 참고). 커넥터가 실수로 삭제됐으면 깨진 참조 Tool/파이프라인이 감지 가장 빠른 방법 — 다음 실행에 "connector not found" 로 에러.
