eec8c28fb3
Go Benchmark / Performance Regression Check (push) Has been cancelled
Cerberus Integration / Cerberus Security Stack Integration (push) Has been cancelled
Upload Coverage to Codecov / Backend Codecov Upload (push) Has been cancelled
Upload Coverage to Codecov / Frontend Codecov Upload (push) Has been cancelled
CodeQL - Analyze / CodeQL analysis (go) (push) Has been cancelled
CodeQL - Analyze / CodeQL analysis (javascript-typescript) (push) Has been cancelled
CrowdSec Integration / CrowdSec Bouncer Integration (push) Has been cancelled
Docker Build, Publish & Test / build-and-push (push) Has been cancelled
Quality Checks / Auth Route Protection Contract (push) Has been cancelled
Quality Checks / Codecov Trigger/Comment Parity Guard (push) Has been cancelled
Quality Checks / Backend (Go) (push) Has been cancelled
Quality Checks / Frontend (React) (push) Has been cancelled
Rate Limit integration / Rate Limiting Integration (push) Has been cancelled
Security Scan (PR) / Trivy Binary Scan (push) Has been cancelled
Supply Chain Verification (PR) / Verify Supply Chain (push) Has been cancelled
WAF integration / Coraza WAF Integration (push) Has been cancelled
Docker Build, Publish & Test / Security Scan PR Image (push) Has been cancelled
Repo Health Check / Repo health (push) Has been cancelled
History Rewrite Dry-Run / Dry-run preview for history rewrite (push) Has been cancelled
Prune Renovate Branches / prune (push) Has been cancelled
Renovate / renovate (push) Has been cancelled
Nightly Build & Package / sync-development-to-nightly (push) Has been cancelled
Nightly Build & Package / Trigger Nightly Validation Workflows (push) Has been cancelled
Nightly Build & Package / build-and-push-nightly (push) Has been cancelled
Nightly Build & Package / test-nightly-image (push) Has been cancelled
Nightly Build & Package / verify-nightly-supply-chain (push) Has been cancelled
Update GeoLite2 Checksum / update-checksum (push) Has been cancelled
Container Registry Prune / prune-ghcr (push) Has been cancelled
Container Registry Prune / prune-dockerhub (push) Has been cancelled
Container Registry Prune / summarize (push) Has been cancelled
Supply Chain Verification / Verify SBOM (push) Has been cancelled
Supply Chain Verification / Verify Release Artifacts (push) Has been cancelled
Supply Chain Verification / Verify Docker Image Supply Chain (push) Has been cancelled
Monitor Caddy Major Release / check-caddy-major (push) Has been cancelled
Weekly Nightly to Main Promotion / Verify Nightly Branch Health (push) Has been cancelled
Weekly Nightly to Main Promotion / Create Promotion PR (push) Has been cancelled
Weekly Nightly to Main Promotion / Trigger Missing Required Checks (push) Has been cancelled
Weekly Nightly to Main Promotion / Notify on Failure (push) Has been cancelled
Weekly Nightly to Main Promotion / Workflow Summary (push) Has been cancelled
Weekly Security Rebuild / Security Rebuild & Scan (push) Has been cancelled
58 lines
1.6 KiB
TypeScript
Executable File
58 lines
1.6 KiB
TypeScript
Executable File
import client from './client'
|
|
|
|
/** CrowdSec Console enrollment status. */
|
|
export interface ConsoleEnrollmentStatus {
|
|
status: string
|
|
tenant?: string
|
|
agent_name?: string
|
|
last_error?: string
|
|
last_attempt_at?: string
|
|
enrolled_at?: string
|
|
last_heartbeat_at?: string
|
|
key_present: boolean
|
|
correlation_id?: string
|
|
}
|
|
|
|
/** Payload for enrolling with CrowdSec Console. */
|
|
export interface ConsoleEnrollPayload {
|
|
enrollment_key: string
|
|
tenant?: string
|
|
agent_name: string
|
|
force?: boolean
|
|
}
|
|
|
|
/**
|
|
* Gets the current CrowdSec Console enrollment status.
|
|
* @returns Promise resolving to ConsoleEnrollmentStatus
|
|
* @throws {AxiosError} If status check fails
|
|
*/
|
|
export async function getConsoleStatus(): Promise<ConsoleEnrollmentStatus> {
|
|
const resp = await client.get<ConsoleEnrollmentStatus>('/admin/crowdsec/console/status')
|
|
return resp.data
|
|
}
|
|
|
|
/**
|
|
* Enrolls the instance with CrowdSec Console.
|
|
* @param payload - Enrollment configuration including key and agent name
|
|
* @returns Promise resolving to the new enrollment status
|
|
* @throws {AxiosError} If enrollment fails
|
|
*/
|
|
export async function enrollConsole(payload: ConsoleEnrollPayload): Promise<ConsoleEnrollmentStatus> {
|
|
const resp = await client.post<ConsoleEnrollmentStatus>('/admin/crowdsec/console/enroll', payload)
|
|
return resp.data
|
|
}
|
|
|
|
/**
|
|
* Clears the current CrowdSec Console enrollment.
|
|
* @throws {AxiosError} If clearing enrollment fails
|
|
*/
|
|
export async function clearConsoleEnrollment(): Promise<void> {
|
|
await client.delete('/admin/crowdsec/console/enrollment')
|
|
}
|
|
|
|
export default {
|
|
getConsoleStatus,
|
|
enrollConsole,
|
|
clearConsoleEnrollment,
|
|
}
|