sealer是阿里巴巴开源的基于kuberentes的集群镜像开源技术,可以把整个集群整体打包。
Sealer Cloud可以在线化帮助用户进行集群打包分享和运行,Sealer cloud前后端也使用了非常先进的 rust+wasm技术实现。
sealer cloud会与docker registry交互,未来你甚至可以把sealer cloud当作docker hub使用。
定义数据结构
可以看到registry返回的数据:
curl http://localhost:5000/v2/_catalog
{"repositories":["centos","golang"]}
所以对应返回的数据我们定义个数据结构:
#[derive(Deserialize, Debug, Clone)]
pub struct RegistryCatalog {
pub repositories: Vec<String>,
}
这个结构体用来接收后台返回的数据,我们还需要Model的结构体:
pub struct Images {
// props: Props,
pub repos: Option<Vec<String>>,
pub error: Option<String>,
pub link: ComponentLink<Self>,
pub task: Option<FetchTask>
}
消息枚举,通过不同的消息在页面更新时判断应该做什么样的动作:
#[derive(Debug)]
pub enum Msg {
GetRegistryCatelog(Result<RegistryCatalog, anyhow::Error&