1.5. DiscoveryPostHandler
通过 Cryostat 注册的插件会发送 POST /api/v2.2/discovery/:id 请求到 DiscoveryPostHandler。请求的 id 参数引用注册插件的 ID。此处理程序处理与插件关联的任何子树,然后映射部署架构。
Cryostat POST 请求定义了一个子树 REALM 节点,因此插件处理程序可以在请求过程中在 REALM 节点中发布其子节点类型。该插件负责为Cryostat REALM 节点提供正确的信息,并将节点类型放入正确的子树位置。该插件必须为令牌提供它发送到 DiscoveryPostHandler 的 POST 请求,以便插件可以绕过之前通过的授权标头检查。
注意
在插件将更新发送到 Cryostat 后,Cryostat 会替换之前插件发送的信息。Cryostat 将此信息存储在数据库中。插件必须为每个请求发送可发现目标的完整列表或树立到 Cryostat。
一个插件的 POST 请求示例,它详细介绍了重要目标应用程序信息
[
{
"labels": {},
"nodeType": "JVM",
"name": "service:jmx:rmi:///jndi/rmi://myapp.svc.local:9091/jmxrmi",
"nodeType": "JVM",
"target": {
"alias": "com.MyApp",
"annotations": {
"cryostat": {},
"platform": {}
},
"connectUrl": "service:jmx:rmi:///jndi/rmi://myapp.svc.local:9091/jmxrmi",
"labels": {}
}
}
]
对插件 POST 请求的 Cryostat 响应示例
{
"data": {
"result": null
},
"meta": {
"mimeType": "JSON",
"status": "OK"
}
}