Skip to main content
The Wazuh Core plugin provides shared services, configuration management, security utilities, and API client functionality used by all other Wazuh plugins.

Plugin Class

WazuhCorePlugin

Location: plugins/wazuh-core/public/plugin.ts:20

Lifecycle Methods

setup()

Initializes core services during the setup phase. Signature:
CoreSetup
required
OpenSearch Dashboards core setup contract
Returns: Promise<WazuhCorePluginSetup>
Configuration
Configuration service for reading and managing plugin settings
DashboardSecurity
Security utilities for authentication and authorization
object
Utility functions
object
Constants for run_as API user statuses
class
Validation utilities for settings
Example:

start()

Activates services during the start phase. Signature:
CoreStart
required
OpenSearch Dashboards core start contract
Returns: Promise<WazuhCorePluginStart>
Configuration
Active configuration service instance
DashboardSecurity
Active security service instance
object
React hooks for UI components
object
Utility functions (same as setup)

Configuration Service

Manages plugin configuration from multiple sources.

Configuration

Location: plugins/wazuh-core/common/services/configuration.ts

get()

Retrieve a configuration value. Signature:
string
required
The setting key to retrieve
Returns: Promise<T> - The configuration value Example:

set()

Update a configuration value. Signature:
string
required
The setting key to update
any
required
The new value
Example:

Common Settings

string
default:"wazuh-alerts-*"
Default index pattern for Wazuh alerts
number
default:20000
Request timeout in milliseconds
boolean
default:true
Enable/disable IP selector in UI
string[]
default:[]
IP addresses to exclude from monitoring
string
default:"info"
Logging level (info, debug, error)
boolean
default:false
Hide alerts from manager in visualizations

Dashboard Security Service

Handles authentication, authorization, and security platform detection.

DashboardSecurity

Location: plugins/wazuh-core/public/utils/dashboard-security.ts

fetchCurrentPlatform()

Detects the current security platform. Signature:
Returns: Platform identifier
string
One of: ‘opensearch’, ‘xpack’, or empty string if no security
Example:

fetchCurrentUser()

Retrieves the current authenticated user. Signature:
Returns: User information
string
The username of the authenticated user
object
Additional authentication context (platform-specific)
Example:

fetchCurrentUserRoles()

Retrieves roles for the current user. Signature:
Returns: Promise<string[]> - Array of role names Example:

hasDashboardSecurity()

Checks if a security platform is enabled. Signature:
Example:

Server Plugin

The server-side Core plugin provides API clients and host management.

WazuhCorePlugin (Server)

Location: plugins/wazuh-core/server/plugin.ts:28

setup() (Server)

Signature:
Returns: Server setup contract
ISecurityFactory
Server-side security factory
IConfigurationEnhanced
Server configuration service
ManageHosts
API host management service
ServerAPIClient
Wazuh API client
object
API client interfaces

Server API Client

Makes authenticated requests to the Wazuh API.

request() (asCurrentUser)

Make an API request as the current user. Signature:
string
required
HTTP method (GET, POST, PUT, DELETE)
string
required
API endpoint path
object
required
Request body
string
required
API host identifier
boolean
default:false
Force token refresh
Example:

authenticate()

Authenticate and retrieve an API token. Signature:
string
required
API host identifier
Returns: Promise<string> - Authentication token Example:

Request Handler Context

The Core plugin extends the request handler context. Type Definition:
Usage:

Utilities

formatUIDate()

Formats a Date object for consistent UI display. Signature:
Date
required
Date to format
Returns: Formatted date string Example:

Hooks

useDockedSideNav()

React hook to determine if side navigation is docked. Signature:
Returns: boolean - True if side nav is docked Example:

Constants

API_USER_STATUS_RUN_AS

Status codes for run_as API user configuration. Location: plugins/wazuh-core/common/api-user-status-run-as.ts
Usage:

Main Plugin API

Main dashboard plugin reference

Configuration

Plugin configuration guide

Security

Security configuration

API Client

API console usage