Kafka Significant Events¶
Available since: version 7.0.1
Overview¶
The Kafka Significant Events are a centralized event system in the MetalSoft platform that emit structured events to Kafka for external integration. These events capture critical infrastructure changes and security actions across the platform and allow 3rd party developers and clients to develop integrations with other enterprise systems and automation solutions.
Architecture¶
Components¶
Event Categories
Server Management: Server lifecycle events (creation, updates, deletion, registration)
Security: User and authentication events (login, credential changes, access modifications)
Network Device Management: Network infrastructure events (device registration, fabric assignments)
Instance Management: Instance and DNS lifecycle events (updates, deletions)
Event Structure¶
Each significant event follows the CloudEvent specification and contains the following structure:
{
"id": "unique-event-identifier",
"time": "2025-01-01T12:00:00.000Z",
"type": "dot.separated.event.type",
"source": "https://metalsoft.io/microservice-name",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
// Event-specific payload with string values
}
}
Event Categories¶
Server Management Events¶
Events related to server lifecycle management.
Event Type |
Description |
Data Structure |
---|---|---|
|
Server permanently deleted |
|
|
Server configuration updated |
|
|
Server credentials changed |
|
|
Server successfully registered |
|
|
Server registration process started |
|
|
Server re-registration started |
|
|
Production server registration started |
|
|
Server decommissioned |
|
|
Server registered for production use |
|
Security Events¶
User and authentication-related events from the auth microservice.
Event Type |
Description |
Data Structure |
---|---|---|
|
New user account created |
|
|
User password/credentials updated |
|
|
User account suspended |
|
|
User account reactivated |
|
|
Password reset initiated |
|
|
User email address changed |
|
|
User email address verified |
|
|
User API key regenerated |
|
|
SSH key added to user account |
|
|
SSH key removed from user account |
|
|
User delegate access removed |
|
|
User delegate access granted |
|
|
User account restored from archive |
|
|
User account archived |
|
|
Two-factor authentication enabled |
|
|
Two-factor authentication disabled |
|
|
User access level changed |
|
Network Device Management Events¶
Network infrastructure events from the inventory microservice.
Event Type |
Description |
Data Structure |
---|---|---|
|
New network device added |
|
|
Network device permanently removed |
|
|
Network device successfully registered |
|
|
Network device registration started |
|
|
Network device archived |
|
|
Device assigned to network fabric |
|
|
Device removed from network fabric |
|
|
Network device replaced with another |
|
|
Device credentials changed |
|
Instance Management Events¶
Instance and DNS lifecycle events from the orchestrator microservice.
Event Type |
Description |
Data Structure |
---|---|---|
|
Instance array DNS records updated |
|
|
Instance DNS records updated |
|
|
Instance array DNS records deleted |
|
|
Instance DNS records deleted |
|
Event Data Examples¶
Note: All examples below show the complete CloudEvent format as it appears in Kafka. Each event includes the CloudEvent metadata (id
, time
, type
, source
, specversion
, datacontenttype
) and the event-specific data in the data
field. Numeric values are serialized as strings in the JSON format.
Server Management Event Examples¶
Server Registration Initiated¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "server.registration.initiated",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"serverId": "123",
"managementAddress": "192.168.1.100",
"siteId": "1"
}
}
Server Registered¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "server.registered",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"serverId": "123",
"serverStatus": "AVAILABLE",
"serverTypeId": "25",
"siteId": "1",
"userId": "456"
}
}
Server Reregistration Initiated¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "server.reregistration.initiated",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"serverId": "123",
"managementAddress": "192.168.1.100",
"siteId": "1"
}
}
Server Production Registration Initiated¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "server.production.registration.initiated",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"serverId": "123",
"managementAddress": "192.168.1.100",
"siteId": "1"
}
}
Server Production Registered¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "server.production.registered",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"serverId": "123",
"serverStatus": "USED",
"serverTypeId": "25",
"siteId": "1",
"userId": "456"
}
}
Server Updated¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "server.updated",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"serverId": "123",
"userId": "456",
"changes": {
"previousState": {
"serverStatus": "UNAVAILABLE",
"serverClass": "UNKNOWN"
},
"currentState": {
"serverStatus": "AVAILABLE",
"serverClass": "BIGDATA"
}
}
}
}
Server Credentials Updated¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "server.credentials.updated",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"serverId": "123",
"userId": "456",
"serverManagementAddress": "192.168.1.100"
}
}
Server Decommissioned¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "server.decommissioned",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"serverId": "123",
"serverUUID": "550e8400-e29b-41d4-a716-446655440000",
"serverClass": "BIGDATA",
"serverStatus": "DECOMMISSIONED",
"serverTypeId": "25"
}
}
Server Deleted¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "server.deleted",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"serverId": "123",
"serverUUID": "550e8400-e29b-41d4-a716-446655440000",
"serverClass": "BIGDATA",
"serverStatus": "DECOMMISSIONED"
}
}
Security Event Examples¶
User Created¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.created",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "456",
"loggedInUserEmail": "[email protected]",
"message": "New user account created"
}
}
User Credentials Changed¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.credentials.changed",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "456",
"loggedInUserEmail": "[email protected]",
"message": "User password updated successfully"
}
}
User Password Reset Requested¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.password.reset.requested",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "456",
"loggedInUserEmail": "[email protected]",
"message": "Password reset initiated for user"
}
}
User Suspended¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.suspended",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "456",
"loggedInUserEmail": "[email protected]",
"message": "User suspended due to policy violation"
}
}
User Unsuspended¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.unsuspended",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "456",
"loggedInUserEmail": "[email protected]",
"message": "User account reactivated"
}
}
User Email Updated¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.email.updated",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "456",
"loggedInUserEmail": "[email protected]",
"message": "User email address changed from [email protected]"
}
}
User Email Verified¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.email.verified",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "123",
"loggedInUserEmail": "[email protected]",
"message": "Email address verified successfully"
}
}
User API Key Regenerated¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.api.key.regenerated",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "456",
"loggedInUserEmail": "[email protected]",
"message": "API key regenerated for security purposes"
}
}
User SSH Key Created¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.ssh.key.created",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "123",
"loggedInUserEmail": "[email protected]",
"message": "SSH key added to user account"
}
}
User SSH Key Deleted¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.ssh.key.deleted",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "123",
"loggedInUserEmail": "[email protected]",
"message": "SSH key removed from user account"
}
}
User Delegate Added¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.delegate.added",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "456",
"loggedInUserEmail": "[email protected]",
"message": "Parent user ID: 123 with email [email protected] added delegate with ID 789 with email [email protected]"
}
}
User Delegate Removed¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.delegate.removed",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "456",
"loggedInUserEmail": "[email protected]",
"message": "Delegate access revoked from user"
}
}
User Enabled 2FA¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.2fa.enabled",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "123",
"loggedInUserEmail": "[email protected]",
"message": "Two-factor authentication enabled"
}
}
User Disabled 2FA¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.2fa.disabled",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "123",
"loggedInUserEmail": "[email protected]",
"message": "Two-factor authentication disabled"
}
}
User Access Level Set¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.access.level.set",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "456",
"loggedInUserEmail": "[email protected]",
"message": "User access level changed to Administrator"
}
}
User Archived¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.archived",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "456",
"loggedInUserEmail": "[email protected]",
"message": "User account archived"
}
}
User Unarchived¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "user.unarchived",
"source": "https://metalsoft.io/auth-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"userId": "123",
"userEmail": "[email protected]",
"loggedInUserId": "456",
"loggedInUserEmail": "[email protected]",
"message": "User account restored from archive"
}
}
Network Device Management Event Examples¶
Network Device Created¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "network.device.created",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"networkDeviceId": "123",
"managementAddress": "192.168.1.100",
"identifierString": "switch-rack-01",
"driver": "sonic_enterprise",
"position": "leaf",
"siteId": "456"
}
}
Network Device Registration Initiated¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "network.device.registration.initiated",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"networkDeviceId": "123",
"managementAddress": "192.168.1.100",
"serialNumber": "SN123456789",
"chassisIdentifier": "chassis-001",
"managementMacAddress": "00:1B:21:B4:6E:3A"
}
}
Network Device Registered¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "network.device.registered",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"networkDeviceId": "123",
"managementAddress": "192.168.1.100",
"identifierString": "switch-rack-01",
"driver": "sonic_enterprise",
"position": "leaf",
"siteId": "456"
}
}
Network Fabric Assignment¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "network.device.assigned.to.fabric",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"fabricId": "42",
"networkDeviceIds": ["123", "124", "125"],
"fabricName": "production-fabric-1"
}
}
Network Device Removed from Fabric¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "network.device.removed.from.fabric",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"fabricId": "42",
"networkDeviceIds": ["123", "124", "125"],
"fabricName": "production-fabric-1"
}
}
Network Device Credentials Updated¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "network.device.credentials.updated",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"networkDeviceId": "123",
"managementAddress": "192.168.1.100",
"identifierString": "switch-rack-01",
"driver": "sonic_enterprise",
"position": "leaf",
"siteId": "456",
"userIdAuthenticated": "789"
}
}
Network Device Replaced¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "network.device.replaced",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"oldNetworkDeviceId": "100",
"newNetworkDeviceId": "200"
}
}
Network Device Archived¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "network.device.archived",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"networkDeviceId": "123",
"userIdAuthenticated": "456"
}
}
Network Device Deleted¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "network.device.deleted",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"networkDeviceId": "123",
"position": "leaf",
"siteId": "siteId":"1",
"identifierString": "switch-rack-01",
"userIdAuthenticated": "456"
}
}
Instance Management Event Examples¶
Instance Array DNS Updated¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "instance.array.dns.updated",
"source": "https://metalsoft.io/orchestrator-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"instanceArrayId": "123",
"infrastructureId": "456",
"dnsRecords": [
{
"hostname": "web-server-01.example.com",
"type": "A",
"value": "192.168.1.10"
}
],
"userIdAuthenticated": "789"
}
}
Instance DNS Updated¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "instance.dns.updated",
"source": "https://metalsoft.io/orchestrator-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"instanceId": "123",
"infrastructureId": "456",
"dnsRecords": [
{
"hostname": "database-01.example.com",
"type": "A",
"value": "192.168.1.20"
}
],
"userIdAuthenticated": "789"
}
}
Instance Array DNS Deleted¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "instance.array.dns.deleted",
"source": "https://metalsoft.io/orchestrator-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"instanceArrayId": "123",
"infrastructureId": "456",
"userIdAuthenticated": "789"
}
}
Instance DNS Deleted¶
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "instance.dns.deleted",
"source": "https://metalsoft.io/orchestrator-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"instanceId": "123",
"infrastructureId": "456",
"userIdAuthenticated": "789"
}
}