Configuration¶
AtlasLens is configured entirely through environment variables (prefixed ATLASLENS_). In
Kubernetes these map to Helm values; in Docker/local they come from .env.
Environment variables¶
| Variable | Default | Description |
|---|---|---|
ATLASLENS_MONGO_URI |
mongodb://localhost:27017 |
MongoDB connection string |
ATLASLENS_MONGO_DB |
atlaslens |
Database name |
ATLASLENS_JWT_SECRET |
change-me-in-production |
Signing key for login sessions — set this |
ATLASLENS_JWT_EXPIRE_MINUTES |
480 |
Session lifetime |
ATLASLENS_ENCRYPTION_KEY |
(empty) | Fernet key for field-level encryption of personal identifiers |
ATLASLENS_ATLASSIAN_SITE |
(empty) | Atlassian site/tenant name |
ATLASLENS_ATLASSIAN_CLOUD_ID |
(empty) | Cloud ID used to build API gateway URLs |
ATLASLENS_ATLASSIAN_ORG_ID |
(empty) | Organisation ID |
ATLASLENS_ATLASSIAN_EMAIL |
(empty) | Account email for API token auth |
ATLASLENS_JIRA_API_TOKEN |
(empty) | Jira (and JSM) API token |
ATLASLENS_CONFLUENCE_API_TOKEN |
(empty) | Confluence API token |
ATLASLENS_BITBUCKET_API_TOKEN |
(empty) | Bitbucket API token |
ATLASLENS_BITBUCKET_WORKSPACE |
(empty) | Bitbucket workspace slug |
ATLASLENS_CORS_ORIGINS |
["http://localhost:5173"] |
Allowed browser origins (JSON array) |
ATLASLENS_INGEST_INTERVAL_MINUTES |
15 |
Scheduler interval for incremental pulls |
ATLASLENS_REPORT_OUTPUT_DIR |
reports |
Where generated reports are written |
A connector is only enabled when its credentials are present, so a fresh install with no tokens simply ingests nothing (no errors).
Generating secrets¶
A JWT secret can be any high-entropy string:
The encryption key must be a valid Fernet key:
Keep the encryption key safe
Personal identifiers are encrypted at rest with this key. If you lose it, encrypted fields cannot be recovered; if you rotate it, previously encrypted values won't decrypt. Store it in a secret manager, never in source control.
Helm values mapping¶
In the Helm chart, non-secret settings live under config.* and
secrets under secrets.*:
| Helm value | Environment variable |
|---|---|
config.atlassianSite |
ATLASLENS_ATLASSIAN_SITE |
config.atlassianCloudId |
ATLASLENS_ATLASSIAN_CLOUD_ID |
config.atlassianOrgId |
ATLASLENS_ATLASSIAN_ORG_ID |
config.bitbucketWorkspace |
ATLASLENS_BITBUCKET_WORKSPACE |
config.corsOrigins |
ATLASLENS_CORS_ORIGINS |
config.ingestIntervalMinutes |
ATLASLENS_INGEST_INTERVAL_MINUTES |
secrets.jwtSecret |
ATLASLENS_JWT_SECRET |
secrets.encryptionKey |
ATLASLENS_ENCRYPTION_KEY |
secrets.atlassianEmail |
ATLASLENS_ATLASSIAN_EMAIL |
secrets.jiraApiToken |
ATLASLENS_JIRA_API_TOKEN |
secrets.confluenceApiToken |
ATLASLENS_CONFLUENCE_API_TOKEN |
secrets.bitbucketApiToken |
ATLASLENS_BITBUCKET_API_TOKEN |
Least-privilege credentials¶
Request only read scopes needed to pull audit and activity data. AtlasLens never writes back to Atlassian.