建木:为什么我们不支持手工上传镜像


自从我们提供公共镜像库以来,不少同学询问是否支持手工上传镜像到镜像库。答案是:不支持。

今天给大家聊一聊为什么公共镜像库不应该支持手工上传,主要基于以下几个方面的考量:

Code First

建木作为一个完整实现GitOps理念的工具,开发团队在实现任何服务时所秉承和推广的当然也首选Code First的方式。

因此,我们提供的公共镜像库与GitHub和国内的Gitee都实现了集成,用户授权后可以直接选择代码库中的Dockerfile来进行镜像的构建,后续还会完成与更多代码托管平台的集成。

当然也支持根据分支、Tag等来设置自动构建计划的规则。

一旦使用了Code First的方式,用户就无需自己维护构建服务器或者在本地手工进行镜像构建。

镜像的变更与版本记录与镜像构建的过程一一对应,可追溯可审计,完美符合当前主流的工程理念。

便于生成软件物料清单(SBOM)

不提供手工上次镜像的功能的另一个理由是保证公共库镜像的安全性。最近的研究报告显示,恶意镜像已经成为软件供应链攻击中的攻击手段。而软件物料清单(SBOM)是应对软件供应链攻击的工具之一。

什么是SBOM

软件物料清单 (SBOM) 是一份正式记录,其中包含用于构建软件的各种组件的详细信息和供应链关系。BOM(物料清单)的说法来源于制造业的MES系统,简单说就是类似成分列表。当然BOM也可以包含层次结构,可以层层包含,列表中的组成部分可以继续拆分为子BOM。

在最新的OCI镜像标准中,已经有了推荐的SBOM的描述规范,但是如何生成SBOM并且进行可信的数字签名对于大部分用户仍然是个问题。

因此,建木Hub后续也将在镜像构建过程中增加相关的支持来降低针对公共镜像的软件供应链攻击风险。

上行带宽占用

众所周知,维护一个公共镜像库需要相当高的成本。因此建木Hub目前使用了CDN来优化镜像下载速度和降低镜像下载的流量成本,但是如果开放手工Push镜像功能,对于上行带宽和流量的成本暂时还没有好的优化方案。

总结

基于以上考量,建木Hub的公共镜像仓库不会开通手工上传镜像的功能。当然,随着产品的迭代完善,我们将会在私有镜像仓库中提供手工上传镜像的功能。如果大家确实需要,敬请期待。

最后,放上我们的服务地址。建木Hub 欢迎使用!


相關推薦

2023-04-21

建木是一个面向DevOps领域的极易扩展的开源无代码(图形化)/低代码(GitOps)工具。可以帮助用户轻松编排各种DevOps流程并分发到不同平台执行。 建木v2.7.1现已发布 主要更新:增强功能、修复若干已知bug enhancement: 手工输入Webho

2022-11-05

建木是一个面向DevOps领域的极易扩展的开源无代码(图形化)/低代码(GitOps)工具。可以帮助用户轻松编排各种DevOps流程并分发到不同平台执行。 建木v2.5.8现已发布 主要更新:支持arm64架构部署、修复若干已知bug feature: server支

2022-11-26

建木是一个面向DevOps领域的极易扩展的开源无代码(图形化)/低代码(GitOps)工具。可以帮助用户轻松编排各种DevOps流程并分发到不同平台执行。 建木v2.6.0现已发布 主要更新:支持HA部署、修复若干已知bug feature: 建木Server支持H

2022-12-12

建木是一个面向DevOps领域的极易扩展的开源无代码(图形化)/低代码(GitOps)工具。可以帮助用户轻松编排各种DevOps流程并分发到不同平台执行。 建木v2.6.1现已发布 主要更新:增强功能、修复若干已知bug enhancement: 与Git平台集

2022-10-22

建木是一个面向DevOps领域的极易扩展的开源无代码(图形化)/低代码(GitOps)工具。可以帮助用户轻松编排各种DevOps流程并分发到不同平台执行。 建木v2.5.7现已发布 主要更新:修复若干已知bug fixed: 节点运行时间过长时,容器

2022-08-07

开源云原生大会】现场演示:k8s套娃开发调试dapr应用 为什么Dapr是比SpringCloud和Istio更优雅的微服务框架? SmartIDE Server 快速启动教程 团队共享资源 SmartIDE Server中新增了团队管理能力,开发者可以根据需要创建团队并将其

2022-09-04

建木是一个面向DevOps领域的极易扩展的开源无代码(图形化)/低代码(GitOps)工具。可以帮助用户轻松编排各种DevOps流程并分发到不同平台执行。 建木持续集成平台v2.5.4现已发布 主要更新:实现RFC、新增功能、修复若干已知bug feat

2022-12-17

buildkite-connector Concourse Dex Drone Ghorg gickup Jenkins 建木 CI Metroline Monitoring mixin mvoCI Renovate Tea Runner Woodpecker 经过长期的社区互动,我们获得了大量第三方CI系统的集成方案。但我们始终发现,独立搭建并运维

2023-08-29

不错,欢迎到 github:https://github.com/ccfos/nightingale 给我们一颗小 🌟🌟 :-)

2024-03-21

启动快 5 ~ 10 倍 更自由的运行时兼容选择: 同时支持 java8、java11、java17、java21 的运行时 入门探索视频(用户录制): 最近更新了什么? 添加 公共锁 Utils.locker() 给初始化场景使用 添加 scheduling 调度任务拦截机

2023-02-15

限功能测试,如果想做 MQTT 压力测试请关注 TioMeter) 为什么研发 TiOMQ Client 在 TiOMQ Client 出现之前,市面上已经有不少 MQTT Client 工具,譬如MQTTX,但我们想界面更漂亮、交互更简洁、功能更全面! 一、使用简单 以下这些功

2023-01-24

ELS的交互能力,ELS支持从源码开始执行 4. 自举的开始 我们在尝试尽快(年底前)将1.5系列后期版本重写,实现编译器自举,重写主要过程大致如下:         1. 用ELS编写1.5.x系列编译器,编译洛

2022-11-27

Hub public library 的规模不允许其 operators 每天仔细检查所有上传;因此,许多恶意图像未被报告。Sysdig 还注意到,大多数威胁行为者只上传了一些恶意 images,因此即使删除了有风险的 images 并禁止了上传者,也不会对平台的威胁

2024-01-18

助力开发人员对新兴技术的学习和掌握。 背景 这也是为什么做 Dante Cloud 的初衷: 一方面是以 Dante Cloud 为载体,潜移默化地将过往项目建设的经验教训融入其中,尽可能地帮助使用者规避或者减少无效工作,提升工作效