Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions config/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -275,3 +275,22 @@ jira:
- **Keys must match Atlassian format**: uppercase letter followed by uppercase letters, digits, or underscores (`[A-Z][A-Z0-9_]*`). Invalid entries are logged and ignored.
- **Empty list** (`projects: []`): No Jira projects accessible — all ticket/search/execute requests return 403.
- **Hot-reloadable**: Changes are picked up via `POST /api/v1/config/reload` or SIGHUP without restarting the gateway.

### `confluence.spaces` — Confluence Space Allowlist

The `confluence` section controls which Confluence spaces are accessible through the gateway's
`/api/v1/confluence/*` routes. Agents can only read pages, descendants, comments, and search results
from allowlisted spaces. Fail-closed: missing file, missing section, or malformed YAML results in
an empty allowlist (no space accessible).

```yaml
confluence:
spaces:
- ENG # Engineering space
- DOCS # Documentation space
```

- **Keys must match Atlassian space-key shape**: leading letter followed by letters, digits, or underscores (`[a-zA-Z][a-zA-Z0-9_]*`). Lookups are case-sensitive (e.g., `ENG` ≠ `eng`). Invalid entries are logged and ignored.
- **Empty list** (`spaces: []`): No Confluence spaces accessible — all page, space, search, and execute requests return 403.
- **Hot-reloadable**: Changes are picked up via `POST /api/v1/config/reload` or SIGHUP without restarting the gateway.
- **CQL scope enforcement**: `confluence search` CQL queries must statically reference only allowlisted spaces — see [Confluence Wrapper Reference](../docs/reference/confluence-wrapper.md) for the extractor rules.
Loading