V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
guanzhangzhang

有无好用的制品库,或者 gh 代理

  •  
  •   guanzhangzhang · Jun 5, 2022 · 2560 views
    This topic created in 1421 days ago, the information mentioned may be changed or developed.

    自己编译了 op 固件,是推送到阿里云 docker 镜像仓库上,目前在线升级脚本是借助 docker pull 下载包含固件的 docker 镜像后 cp 固件和 sha256sums 出来,然后执行在线升级逻辑。 在线升级造成的一些限制就是初次 rootfs 很小(升级的时候会扩容),而 docker 占据很大容量:

    root@OpenWrt:~# du -shx /*
    ...
    203.0M	/overlay
    403.5M	/rom
    ...
    root@OpenWrt:/overlay/upper/usr/bin# du -shx *
    36.8M	containerd
    6.8M	containerd-shim
    8.8M	containerd-shim-runc-v1
    8.8M	containerd-shim-runc-v2
    16.2M	containerd-stress
    18.7M	ctr
    15.3M	dnet
    30.6M	docker
    60.0K	docker-init
    1.6M	docker-proxy
    45.0M	dockerd
    24.0K	tini
    

    调整了 ROOTFSZISE 暂时是规避这个问题,但是这个不是优雅的解决,可能维护的其他设备的配置无法跑起 docker 。 所以有没有啥符合我需求的制品库,我可以构建后把固件推送上去,然后我固件里带的升级脚本 curl 或者 wget 不需要验证就能下载到,之前的 ghproxy 都不稳定。

    Supplement 1  ·  Jun 5, 2022
    可能部分人没看懂需求。不是我个人用,是很多人用我的固件,要求任何使用我固件的升级脚本不带认证信息 curl 或者 wget 下载到固件,和 docker 没有任何关系。。。
    Supplement 2  ·  Jun 6, 2022
    结帖,已经 api 下载 docker blob 的 layer 了,解压下就行了
    7 replies    2022-06-06 13:13:30 +08:00
    Buges
        1
    Buges  
       Jun 5, 2022 via Android
    docker 镜像仓库可以不用 docker pull ,而是直接下载,都是 tar.gz 包而已。
    homebrew 就是用这种方式分发预编译 artifacts 的。
    guanzhangzhang
        2
    guanzhangzhang  
    OP
       Jun 5, 2022
    可能部分人没看懂需求。不是我个人用,是很多人用我的固件,要求任何使用我固件的升级脚本不带认证信息 curl 或者 wget 下载到固件,和 docker 没有任何关系。。。
    guanzhangzhang
        3
    guanzhangzhang  
    OP
       Jun 5, 2022
    @Buges 我知道 docker 镜像是走 http ,但是那个层貌似需要解密还是转换来着,你有相关资料吗
    Buges
        4
    Buges  
       Jun 5, 2022 via Android
    @guanzhangzhang 每一层都是一个 tar 打包的 rootfs ,正常情况下 docker 会一层层的释放再用 overlay 叠加起来。
    相关格式还有一个清单,里面有一些元信息,具体可以去看 OCI 的标准。
    没啥需要转换的,如果你都打包到一层里面直接下下来解压就好了。
    imzcg2
        5
    imzcg2  
       Jun 5, 2022
    国内 git 仓库用 raw
    Kinnice
        6
    Kinnice  
       Jun 6, 2022 via Android
    直接放到对象存储里面不就可以了,oss 之类的
    放三个文件 固件,sha256sum ,latest.txt (放最新版本的固件名称,或者一些公告什么信息)
    guanzhangzhang
        7
    guanzhangzhang  
    OP
       Jun 6, 2022
    @Kinnice oss 会被人恶意刷的,我昨天找了个 ghproxy ,后面试试
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5758 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 06:59 · PVG 14:59 · LAX 23:59 · JFK 02:59
    ♥ Do have faith in what you're doing.