2026-03-11 11:53:31 +01:00
|
|
|
package com.cameleer3.server.app;
|
|
|
|
|
|
feat(03-01): add agent registration controller, config, lifecycle monitor
- AgentRegistryConfig: heartbeat, stale, dead, ping, command expiry settings
- AgentRegistryBeanConfig: wires AgentRegistryService as Spring bean
- AgentLifecycleMonitor: @Scheduled lifecycle check + command expiry sweep
- AgentRegistrationController: POST /register, POST /{id}/heartbeat, GET /agents
- Updated Cameleer3ServerApplication with AgentRegistryConfig
- Updated application.yml with agent-registry section and async timeout
- 7 integration tests: register, re-register, heartbeat, list, filter, invalid status
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 18:40:57 +01:00
|
|
|
import com.cameleer3.server.app.config.AgentRegistryConfig;
|
2026-03-11 11:53:31 +01:00
|
|
|
import com.cameleer3.server.app.config.IngestionConfig;
|
|
|
|
|
import org.springframework.boot.SpringApplication;
|
|
|
|
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
|
|
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
2026-04-07 23:45:38 +02:00
|
|
|
import org.springframework.scheduling.annotation.EnableAsync;
|
2026-03-11 11:53:31 +01:00
|
|
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Main entry point for the Cameleer3 Server application.
|
|
|
|
|
* <p>
|
|
|
|
|
* Scans {@code com.cameleer3.server.app} and {@code com.cameleer3.server.core} packages.
|
|
|
|
|
*/
|
|
|
|
|
@SpringBootApplication(scanBasePackages = {
|
|
|
|
|
"com.cameleer3.server.app",
|
|
|
|
|
"com.cameleer3.server.core"
|
|
|
|
|
})
|
2026-04-07 23:45:38 +02:00
|
|
|
@EnableAsync
|
2026-03-11 11:53:31 +01:00
|
|
|
@EnableScheduling
|
feat(03-01): add agent registration controller, config, lifecycle monitor
- AgentRegistryConfig: heartbeat, stale, dead, ping, command expiry settings
- AgentRegistryBeanConfig: wires AgentRegistryService as Spring bean
- AgentLifecycleMonitor: @Scheduled lifecycle check + command expiry sweep
- AgentRegistrationController: POST /register, POST /{id}/heartbeat, GET /agents
- Updated Cameleer3ServerApplication with AgentRegistryConfig
- Updated application.yml with agent-registry section and async timeout
- 7 integration tests: register, re-register, heartbeat, list, filter, invalid status
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 18:40:57 +01:00
|
|
|
@EnableConfigurationProperties({IngestionConfig.class, AgentRegistryConfig.class})
|
2026-03-11 11:53:31 +01:00
|
|
|
public class Cameleer3ServerApplication {
|
|
|
|
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
|
SpringApplication.run(Cameleer3ServerApplication.class, args);
|
|
|
|
|
}
|
|
|
|
|
}
|