API #
通过 API 接口我们可以和 wasmcloud host 进行交互。
请求说明 #
所有的操作类请求会异步操作,如果需要最终状态使用查询接口查询即可。
返回格式介绍 #
{
"code": 1001,
"data": null,
"msg": "ok"
}
code 为 1001 表示请求正常。其他值表示请求异常,具体原因见 msg 字段。
Host #
获取 HOST 信息 #
接口地址
GET /api/hosts
返回示例:
{
"code": 1001,
"data": [
{
"host_id": "NAR65YVFTUJGNYQMLJX33GCR54X7G2NN2YR4IHIQLW2IXRSJVJJIBW4N",
"labels": {
"hostcore.arch": "x86_64",
"hostcore.os": "macos",
"hostcore.osfamily": "unix"
}
}
],
"msg": "ok"
}
Actor #
获取 Actor 列表 #
接口地址
GET /api/actors
返回示例
{
"code": 1001,
"data": [
{
"actor_id": "MABJRL7AVCXXSAAOMROVRAOGRRI6OWV35VKERM62NDRGGDUU5FHMC2JJ",
"actor_name": "weekv",
"actor_ociref": "harbor.oneitfarm.com/bifrost/weekv-actor:0.0.2",
"count": 1,
"host_id": "NAR65YVFTUJGNYQMLJX33GCR54X7G2NN2YR4IHIQLW2IXRSJVJJIBW4N",
"id": "MABJRL7AVCXXSAAOMROVRAOGRRI6OWV35VKERM62NDRGGDUU5FHMC2JJ (NAR65YVFTUJGNYQMLJX33GCR54X7G2NN2YR4IHIQLW2IXRSJVJJIBW4N)",
"is_hotwatched": false
},
{
"actor_id": "MC5UINV45X7Z2V66M7URV2WUCEZRUQPH7CSQ72OTTWCLE3EICMWSS6FP",
"actor_name": "Echo",
"actor_ociref": "harbor.oneitfarm.com/bifrost/echo-actor:0.3.6",
"count": 1,
"host_id": "NAR65YVFTUJGNYQMLJX33GCR54X7G2NN2YR4IHIQLW2IXRSJVJJIBW4N",
"id": "MC5UINV45X7Z2V66M7URV2WUCEZRUQPH7CSQ72OTTWCLE3EICMWSS6FP (NAR65YVFTUJGNYQMLJX33GCR54X7G2NN2YR4IHIQLW2IXRSJVJJIBW4N)",
"is_hotwatched": false
}
],
"msg": "ok"
}
添加 Actor(OCI 方式) #
接口地址
POST /api/actors/oci
请求参数示例
{
"count": 2, // actor 实例个数
"actor_ociref": "harbor.oneitfarm.com/bifrost/echo-actor:0.3.8", // actor 的 oci 地址
"host_id": "NAR65YVFTUJGNYQMLJX33GCR54X7G2NN2YR4IHIQLW2IXRSJVJJIBW4N" // host_id,由 /api/hosts 接口获取得到
}
返回示例
{
"code": 1001,
"data": null,
"msg": "ok"
}
修改 Actor 数量 #
接口地址
PUT /api/actors/count
请求示例
{
"desired_count": 4, // 期望的副本数
"actor_id": "MABJRL7AVCXXSAAOMROVRAOGRRI6OWV35VKERM62NDRGGDUU5FHMC2JJ", // actor_id
"actor_ociref": "harbor.oneitfarm.com/bifrost/weekv-actor:0.0.2", // actor ref 信息
"host_id": "NAR65YVFTUJGNYQMLJX33GCR54X7G2NN2YR4IHIQLW2IXRSJVJJIBW4N" // host_id
}
返回值示例
{
"code": 1001,
"data": null,
"msg": "ok"
}
Provider #
获取 Provider 列表 #
接口地址
GET /api/providers
返回示例
{
"code": 1001,
"data": [
{
"contract_id": "wasmcloud:httpserver",
"host_id": "NAR65YVFTUJGNYQMLJX33GCR54X7G2NN2YR4IHIQLW2IXRSJVJJIBW4N",
"id": "VAG3QITQQ2ODAOWB5TTQSDJ53XK3SHBEIFNK4AYJ5RKAX2UNSCAPHA5M (default) (NAR65YVFTUJGNYQMLJX33GCR54X7G2NN2YR4IHIQLW2IXRSJVJJIBW4N)",
"link_name": "default",
"provider_id": "VAG3QITQQ2ODAOWB5TTQSDJ53XK3SHBEIFNK4AYJ5RKAX2UNSCAPHA5M",
"provider_name": "HTTP Server",
"status": "Healthy"
},
{
"contract_id": "wasmcloud:keyvalue",
"host_id": "NAR65YVFTUJGNYQMLJX33GCR54X7G2NN2YR4IHIQLW2IXRSJVJJIBW4N",
"id": "VAZVC4RX54J2NVCMCW7BPCAHGGG5XZXDBXFUMDUXGESTMQEJLC3YVZWB (default) (NAR65YVFTUJGNYQMLJX33GCR54X7G2NN2YR4IHIQLW2IXRSJVJJIBW4N)",
"link_name": "default",
"provider_id": "VAZVC4RX54J2NVCMCW7BPCAHGGG5XZXDBXFUMDUXGESTMQEJLC3YVZWB",
"provider_name": "Redis KeyValue Store",
"status": "Healthy"
}
],
"msg": "ok"
}
添加 Provider(方式OCI) #
接口地址
POST /api/providers/oci
请求参数示例
{
"provider_ociref" : "harbor.oneitfarm.com/bifrost/httpserver-provider:0.16.4",
"provider_link_name" : "default",
"host_id" : "NAR65YVFTUJGNYQMLJX33GCR54X7G2NN2YR4IHIQLW2IXRSJVJJIBW4N",
"provider_configuration" : ""
}
返回示例
{
"code": 1001,
"data": null,
"msg": "ok"
}
Link #
关联 Provider 和 Actor #
接口地址
POST /api/links
请求示例
{
"actor_id": "MBCFOPM6JW2APJLXJD3Z5O4CN7CPYJ2B4FTKLJUR5YR5MITIU7HD3WD5",
"provider_id": "VAG3QITQQ2ODAOWB5TTQSDJ53XK3SHBEIFNK4AYJ5RKAX2UNSCAPHA5M",
"contract_id": "wasmcloud:httpserver",
"link_name": "default",
"values": "address=0.0.0.0:8080"
}
返回示例
{
"code": 1001,
"data": null,
"msg": "ok"
}
删除 Link #
接口地址
DELETE /api/links
请求示例
{
"actor_id": "MBCFOPM6JW2APJLXJD3Z5O4CN7CPYJ2B4FTKLJUR5YR5MITIU7HD3WD5",
"contract_id": "wasmcloud:httpserver",
"link_name": "default"
}
返回示例
{
"code": 1001,
"data": null,
"msg": "ok"
}