Integrate Atlas InfoSec API to manage compliance action plans directly from the ReportingPage. Users can view, create, and update action plans for host findings without switching to the Atlas web tool. Backend: - Add atlasApi.js helper with Basic Auth, TLS skip, GET/PUT/PATCH/POST - Add atlas_action_plans_cache migration for SQLite cache table - Add atlas.js router with sync, status, and proxy CRUD endpoints - Mount Atlas router at /api/atlas in server.js - Extract hostId from Ivanti host findings during sync Frontend: - Add AtlasBadge component (amber=needs plan, green=has plan) - Add AtlasSlideOutPanel with plan list, create form, edit capability - Separate active plans from inactive history in collapsible section - Custom dark-themed plan type dropdown - Optimistic local state shows pending plans immediately after creation - Atlas sync button on ReportingPage toolbar - Prepopulate finding ID in create form from clicked row Environment: - Add ATLAS_API_URL, ATLAS_API_USER, ATLAS_API_PASS, ATLAS_SKIP_TLS to .env.example
26 lines
862 B
Plaintext
26 lines
862 B
Plaintext
# Backend Configuration
|
|
PORT=3001
|
|
API_HOST=localhost
|
|
CORS_ORIGINS=http://localhost:3000
|
|
|
|
# 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=
|
|
# 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
|