feat: distinguish agent re-registration from first registration
Detect when an agent instance already exists in the registry and record a RE_REGISTERED event with route count and capabilities instead of a generic REGISTERED event. UI shows a refresh icon for re-registrations. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -119,16 +119,28 @@ public class AgentRegistrationController {
|
||||
List<String> routeIds = request.routeIds() != null ? request.routeIds() : List.of();
|
||||
var capabilities = request.capabilities() != null ? request.capabilities() : Collections.<String, Object>emptyMap();
|
||||
|
||||
boolean reRegistration = registryService.findById(request.instanceId()) != null;
|
||||
|
||||
AgentInfo agent = registryService.register(
|
||||
request.instanceId(), request.instanceId(), application, environmentId,
|
||||
request.version(), routeIds, capabilities);
|
||||
log.info("Agent registered: {} (application={})", request.instanceId(), application);
|
||||
|
||||
agentEventService.recordEvent(request.instanceId(), application, "REGISTERED",
|
||||
"Agent registered: " + request.instanceId());
|
||||
if (reRegistration) {
|
||||
log.info("Agent re-registered: {} (application={}, routes={}, capabilities={})",
|
||||
request.instanceId(), application, routeIds.size(), capabilities.keySet());
|
||||
agentEventService.recordEvent(request.instanceId(), application, "RE_REGISTERED",
|
||||
"Agent re-registered with " + routeIds.size() + " routes");
|
||||
} else {
|
||||
log.info("Agent registered: {} (application={}, routes={})",
|
||||
request.instanceId(), application, routeIds.size());
|
||||
agentEventService.recordEvent(request.instanceId(), application, "REGISTERED",
|
||||
"Agent registered: " + request.instanceId());
|
||||
}
|
||||
|
||||
auditService.log(request.instanceId(), "agent_register", AuditCategory.AGENT, request.instanceId(),
|
||||
Map.of("application", application),
|
||||
auditService.log(request.instanceId(), reRegistration ? "agent_reregister" : "agent_register",
|
||||
AuditCategory.AGENT, request.instanceId(),
|
||||
Map.of("application", application, "routeCount", routeIds.size(),
|
||||
"reRegistration", reRegistration),
|
||||
AuditResult.SUCCESS, httpRequest);
|
||||
|
||||
// Issue JWT tokens with AGENT role + environment
|
||||
|
||||
Reference in New Issue
Block a user