Skip to content

Kafka Significant Events

Available since: version 7.0.1

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.

All events are published to the Kafka topic io.metalsoft.significant_event. To consume events directly from the cluster for testing purposes:

Terminal window
kubectl exec -it deploy/kafka -- kafka-console-consumer --bootstrap-server broker:29092 --topic io.metalsoft.significant_event --from-beginning
  1. 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)
    • Server Health: Server health state change events, including AI monitoring agent results (available since 7.3.3)
    • Instance Management: Instance and DNS lifecycle events (updates, deletions)

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
}
}

Events related to server lifecycle management.

Event TypeDescriptionData Structure
server.deletedServer permanently deleted{"serverId": "string", "serverUUID": "string", "serverClass": "string", "serverStatus": "string"}
server.updatedServer configuration updated{"serverId": "string", "userId": "string", "changes": {"previousState": {}, "currentState": {}}}
server.credentials.updatedServer credentials changed{"serverId": "string", "userId": "string", "serverManagementAddress": "string"}
server.registeredServer successfully registered{"serverId": "string", "serverStatus": "string", "serverTypeId": "string", "siteId": "string", "userId": "string"}
server.registration.initiatedServer registration process started{"serverId": "string", "managementAddress": "string", "siteId": "string"}
server.reregistration.initiatedServer re-registration started{"serverId": "string", "managementAddress": "string", "siteId": "string"}
server.production.registration.initiatedProduction server registration started{"serverId": "string", "managementAddress": "string", "siteId": "string"}
server.decommissionedServer decommissioned{"serverId": "string", "serverUUID": "string", "serverClass": "string", "serverStatus": "string", "serverTypeId": "string"}
server.production.registeredServer registered for production use{"serverId": "string", "serverStatus": "string", "serverTypeId": "string", "siteId": "string", "userId": "string"}

User and authentication-related events from the auth microservice.

Event TypeDescriptionData Structure
user.createdNew user account created{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}
user.credentials.changedUser password/credentials updated{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}
user.suspendedUser account suspended{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}
user.unsuspendedUser account reactivated{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}
user.password.reset.requestedPassword reset initiated{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}
user.email.updatedUser email address changed{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}
user.email.verifiedUser email address verified{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}
user.api.key.regeneratedUser API key regenerated{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}
user.ssh.key.createdSSH key added to user account{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}
user.ssh.key.deletedSSH key removed from user account{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}
user.delegate.removedUser delegate access removed{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}
user.delegate.addedUser delegate access granted{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}
user.unarchivedUser account restored from archive{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}
user.archivedUser account archived{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}
user.2fa.enabledTwo-factor authentication enabled{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}
user.2fa.disabledTwo-factor authentication disabled{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}
user.access.level.setUser access level changed{"userId": "string", "userEmail": "string", "loggedInUserId": "string", "loggedInUserEmail": "string", "message": "string"}

Network infrastructure events from the inventory microservice.

Event TypeDescriptionData Structure
network.device.createdNew network device added{"networkDeviceId": "string", "managementAddress": "string", "identifierString": "string", "driver": "string", "position": "string", "siteId": "string"}
network.device.deletedNetwork device permanently removed{"networkDeviceId": "string", "position": "string", "siteId": "string", "identifierString": "string", "userIdAuthenticated": "string"}
network.device.registeredNetwork device successfully registered{"networkDeviceId": "string", "managementAddress": "string", "identifierString": "string", "driver": "string", "position": "string", "siteId": "string"}
network.device.registration.initiatedNetwork device registration started{"networkDeviceId": "string", "managementAddress": "string", "serialNumber": "string", "chassisIdentifier": "string", "managementMacAddress": "string"}
network.device.archivedNetwork device archived{"networkDeviceId": "string", "userIdAuthenticated": "string"}
network.device.assigned.to.fabricDevice assigned to network fabric{"fabricId": "string", "networkDeviceIds": "string[]", "fabricName": "string"}
network.device.removed.from.fabricDevice removed from network fabric{"fabricId": "string", "networkDeviceIds": "string[]", "fabricName": "string"}
network.device.replacedNetwork device replaced with another{"oldNetworkDeviceId": "string", "newNetworkDeviceId": "string"}
network.device.credentials.updatedDevice credentials changed{"networkDeviceId": "string", "managementAddress": "string", "identifierString": "string", "driver": "string", "position": "string", "siteId": "string", "userIdAuthenticated": "string"}

Available since: version 7.3.3

Events emitted when a server’s health state changes. Each degradation emits two events — one immediately on detection and one after the AI monitoring agent has been consulted.

Event TypeDescriptionData Structure
server.health.state.degradedServer health state worsened. Emitted twice: immediately on detection (monitoringAgentPrompted: false), then again after the AI monitoring agent is consulted (monitoringAgentPrompted: true){"serverId": "string", "siteId": "string", "datacenterName": "string", "previousState": "string", "newState": "string", "healthDetails": "string[]", "infrastructureId": "string", "instanceId": "string", "monitoringAgentPrompted": "boolean", "monitoringAgentResult": "string | null"}
server.health.state.improvedServer health state recovered{"serverId": "string", "siteId": "string", "datacenterName": "string", "previousState": "string", "newState": "string", "healthDetails": "string[]", "infrastructureId": "string", "instanceId": "string"}

infrastructureId and instanceId are only present when the server is allocated to an infrastructure. monitoringAgentResult contains HTML-formatted text and is only present when monitoringAgentPrompted is true.

Instance and DNS lifecycle events from the orchestrator microservice.

Event TypeDescriptionData Structure
instance.array.dns.updatedInstance array DNS records updated{"instanceArrayId": "string", "infrastructureId": "string", "dnsRecords": "object[]", "userIdAuthenticated": "string"}
instance.dns.updatedInstance DNS records updated{"instanceId": "string", "infrastructureId": "string", "dnsRecords": "object[]", "userIdAuthenticated": "string"}
instance.array.dns.deletedInstance array DNS records deleted{"instanceArrayId": "string", "infrastructureId": "string", "userIdAuthenticated": "string"}
instance.dns.deletedInstance DNS records deleted{"instanceId": "string", "infrastructureId": "string", "userIdAuthenticated": "string"}

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.

{
"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"
}
}
{
"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"
}
}
{
"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"
}
}
{
"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"
}
}
{
"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"
}
}
{
"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"
}
}
}
}
{
"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"
}
}
{
"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"
}
}
{
"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"
}
}
{
"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": "user@example.com",
"loggedInUserId": "456",
"loggedInUserEmail": "admin@example.com",
"message": "New user account created"
}
}
{
"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": "user@example.com",
"loggedInUserId": "456",
"loggedInUserEmail": "admin@example.com",
"message": "User password updated successfully"
}
}
{
"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": "user@example.com",
"loggedInUserId": "456",
"loggedInUserEmail": "admin@example.com",
"message": "Password reset initiated for user"
}
}
{
"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": "user@example.com",
"loggedInUserId": "456",
"loggedInUserEmail": "admin@example.com",
"message": "User suspended due to policy violation"
}
}
{
"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": "user@example.com",
"loggedInUserId": "456",
"loggedInUserEmail": "admin@example.com",
"message": "User account reactivated"
}
}
{
"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": "newemail@example.com",
"loggedInUserId": "456",
"loggedInUserEmail": "admin@example.com",
"message": "User email address changed from oldemail@example.com"
}
}
{
"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": "user@example.com",
"loggedInUserId": "123",
"loggedInUserEmail": "user@example.com",
"message": "Email address verified successfully"
}
}
{
"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": "user@example.com",
"loggedInUserId": "456",
"loggedInUserEmail": "admin@example.com",
"message": "API key regenerated for security purposes"
}
}
{
"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": "user@example.com",
"loggedInUserId": "123",
"loggedInUserEmail": "user@example.com",
"message": "SSH key added to user account"
}
}
{
"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": "user@example.com",
"loggedInUserId": "123",
"loggedInUserEmail": "user@example.com",
"message": "SSH key removed from user account"
}
}
{
"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": "user@example.com",
"loggedInUserId": "456",
"loggedInUserEmail": "admin@example.com",
"message": "Parent user ID: 123 with email user@example.com added delegate with ID 789 with email delegate@example.com"
}
}
{
"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": "user@example.com",
"loggedInUserId": "456",
"loggedInUserEmail": "admin@example.com",
"message": "Delegate access revoked from user"
}
}
{
"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": "user@example.com",
"loggedInUserId": "123",
"loggedInUserEmail": "user@example.com",
"message": "Two-factor authentication enabled"
}
}
{
"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": "user@example.com",
"loggedInUserId": "123",
"loggedInUserEmail": "user@example.com",
"message": "Two-factor authentication disabled"
}
}
{
"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": "user@example.com",
"loggedInUserId": "456",
"loggedInUserEmail": "admin@example.com",
"message": "User access level changed to Administrator"
}
}
{
"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": "user@example.com",
"loggedInUserId": "456",
"loggedInUserEmail": "admin@example.com",
"message": "User account archived"
}
}
{
"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": "user@example.com",
"loggedInUserId": "456",
"loggedInUserEmail": "admin@example.com",
"message": "User account restored from archive"
}
}
{
"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"
}
}
{
"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"
}
}
{
"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"
}
}
{
"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"
}
}
{
"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"
}
}
{
"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"
}
}
{
"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"
}
}
{
"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"
}
}
{
"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"
}
}

Server Health State Degraded (before AI agent)

Section titled “Server Health State Degraded (before AI agent)”
{
"id": "event-id-123",
"time": "2025-01-01T12:00:00.000Z",
"type": "server.health.state.degraded",
"source": "https://metalsoft.io/notification-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"serverId": "123",
"siteId": "10",
"datacenterName": "dc1",
"previousState": "healthy",
"newState": "critical_warnings_present",
"healthDetails": ["Fan failure detected on CPU 0"],
"infrastructureId": "456",
"instanceId": "789",
"monitoringAgentPrompted": false
}
}

Server Health State Degraded (after AI agent consulted)

Section titled “Server Health State Degraded (after AI agent consulted)”
{
"id": "event-id-124",
"time": "2025-01-01T12:00:05.000Z",
"type": "server.health.state.degraded",
"source": "https://metalsoft.io/notification-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"serverId": "123",
"siteId": "10",
"datacenterName": "dc1",
"previousState": "healthy",
"newState": "critical_warnings_present",
"healthDetails": ["Fan failure detected on CPU 0"],
"infrastructureId": "456",
"instanceId": "789",
"monitoringAgentPrompted": true,
"monitoringAgentResult": "<p>A fan failure was detected on CPU 0. Recommended actions: check cooling system, inspect fan headers, consider replacing the fan unit.</p>"
}
}
{
"id": "event-id-125",
"time": "2025-01-01T13:00:00.000Z",
"type": "server.health.state.improved",
"source": "https://metalsoft.io/inventory-microservice",
"specversion": "1.0",
"datacontenttype": "application/json",
"data": {
"serverId": "123",
"siteId": "10",
"datacenterName": "dc1",
"previousState": "critical_warnings_present",
"newState": "healthy",
"healthDetails": [],
"infrastructureId": "456",
"instanceId": "789"
}
}
  • The server.health.state.degraded event fires twice per degradation. Consumers should correlate the two events by serverId + newState rather than treating them as duplicates. The second event (with monitoringAgentPrompted: true) always arrives a few seconds after the first.
  • monitoringAgentResult is HTML-formatted. Consumers should strip, sanitize, or convert it to Markdown depending on their rendering context.
  • The degradation event is sourced from notification-microservice; the improvement event is sourced from inventory-microservice.
{
"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"
}
}
{
"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"
}
}
{
"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"
}
}
{
"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"
}
}