- Add bu_teams column to users table (migration + fresh schema) - Create shared KNOWN_TEAMS constant and validateTeams helper - Expose user teams in auth middleware, login, and /me responses - Add bu_teams CRUD to user management routes with audit logging - Make Ivanti FINDINGS_FILTERS configurable via IVANTI_BU_FILTER env var - Add query-time team filtering to GET /findings and /findings/counts - Update AuthContext with teams helpers and admin scope toggle - Create AdminScopeToggle component (My Teams / All BUs) - Scope ReportingPage findings fetch by user teams - Scope CompliancePage team selector by user teams - Scope ExportsPage findings exports by user teams - Add BU teams multi-select to UserManagement create/edit forms - Display team badges in user list table
68 lines
2.5 KiB
Plaintext
68 lines
2.5 KiB
Plaintext
# Backend Configuration
|
|
PORT=3001
|
|
API_HOST=localhost
|
|
CORS_ORIGINS=http://localhost:3000
|
|
|
|
# Session secret — REQUIRED. Server will not start without this.
|
|
# Generate with: openssl rand -base64 32
|
|
SESSION_SECRET=
|
|
|
|
# NVD API Key (optional - increases rate limit from 5 to 50 requests per 30s)
|
|
# Request one at https://nvd.nist.gov/developers/request-an-api-key
|
|
NVD_API_KEY=
|
|
|
|
# Ivanti / RiskSense API (platform4.risksense.com)
|
|
# API key from your profile settings — does not expire like session cookies
|
|
IVANTI_API_KEY=
|
|
IVANTI_CLIENT_ID=1550
|
|
IVANTI_FIRST_NAME=
|
|
IVANTI_LAST_NAME=
|
|
# Comma-separated list of BU values to sync from Ivanti.
|
|
# Broadening this pulls findings for additional BUs into the local cache.
|
|
# Users see only their assigned teams' findings (filtered at query time).
|
|
# Default if unset: NTS-AEO-ACCESS-ENG,NTS-AEO-STEAM
|
|
IVANTI_BU_FILTER=NTS-AEO-ACCESS-ENG,NTS-AEO-STEAM
|
|
# Set to true if behind Charter's SSL inspection proxy (replicates Python verify=False)
|
|
IVANTI_SKIP_TLS=false
|
|
|
|
# Atlas InfoSec API (atlas-infosec.caas.charterlab.com)
|
|
# Service account credentials for Basic Auth — used to sync and manage action plans
|
|
ATLAS_API_URL=
|
|
ATLAS_API_USER=
|
|
ATLAS_API_PASS=
|
|
# Set to true if behind Charter's SSL inspection proxy (disables TLS cert verification)
|
|
ATLAS_SKIP_TLS=false
|
|
|
|
# Jira Data Center REST API
|
|
# VPN or Charter Network connection required for all Jira instances.
|
|
# Service accounts use Basic Auth (JIRA_API_USER + JIRA_API_TOKEN).
|
|
# PATs require ATLSUP approval and naming convention: Function - Team - ATLSUP-XXXXX
|
|
# Rate limits: 1440 requests/day, burst of 60/minute.
|
|
JIRA_BASE_URL=
|
|
JIRA_AUTH_METHOD=basic
|
|
# Basic Auth — service account credentials
|
|
JIRA_API_USER=
|
|
JIRA_API_TOKEN=
|
|
# PAT Auth — set JIRA_AUTH_METHOD=pat to use
|
|
JIRA_PAT=
|
|
# Default project key and issue type for creating issues from the dashboard
|
|
JIRA_PROJECT_KEY=
|
|
JIRA_ISSUE_TYPE=Task
|
|
# Set to true if behind Charter's SSL inspection proxy
|
|
JIRA_SKIP_TLS=false
|
|
|
|
# CARD Asset Ownership API (card.charter.com / card.caas.stage.charterlab.com)
|
|
# OAuth Bearer token auth — service account must be onboarded with the CARD team.
|
|
# Tokens are acquired automatically via Basic Auth and cached for 1 hour.
|
|
CARD_API_URL=
|
|
CARD_API_USER=
|
|
CARD_API_PASS=
|
|
# Set to true if behind Charter's SSL inspection proxy
|
|
CARD_SKIP_TLS=false
|
|
|
|
# GitLab Feedback Integration (bug reports and feature requests from the dashboard)
|
|
# PAT needs 'api' scope. Project ID is the numeric ID from GitLab project settings.
|
|
GITLAB_URL=http://steam-gitlab.charterlab.com
|
|
GITLAB_PROJECT_ID=
|
|
GITLAB_PAT=
|