基于minio s3 实现自己的yum 私服存储
参考集成玩法
细节说明
rpm 需要key,可以基于gpg 工具生成,同时我们的repo 可以做为为一个rpm包,方便打开开启使用
默认repo 的rpm格式(可以直接使用fpm制作rpm包)
├── etc
│ ├── pki
│ │ └── rpm-gpg
│ │ └── RPM-GPG-KEY-psychotic
│ └── yum.repos.d
│ └── psychotic.repo
├── psychotic-release-1.0.0-1.el7.psychotic.noarch.rpm
└── usr
└── share
└── doc
└── psychotic-release-1.0.0
└── RPM-GPG-KEY-psychotic
psychotic.repo 格式
[psychotic]
name=Psychotic Ninja Enterprise Linux Repository
baseurl=http://packages.psychotic.ninja/$releasever/base/$basearch/RPMS/
enabled=0
protect=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-psychotic
gpgcheck=1
[psychotic-plus]
name=Psychotic Ninja Enterprise Linux Repository - Additional Components
baseurl=http://packages.psychotic.ninja/$releasever/plus/$basearch/RPMS/
enabled=0
protect=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-psychotic
gpgcheck=1
[psychotic-testing]
name=Psychotic Ninja Enterprise Linux Repository - Testing - Not Stable
baseurl=http://packages.psychotic.ninja/$releasever/testing/$basearch/RPMS/
enabled=0
protect=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-psychotic
gpgcheck=1
minio 集成
做法很简单,主要是可以基于createrepo 对于创建好的rpm包生成元数据,然后使用gpg 工具对于元数据进行签名,之后
通过s3 工具(minio 的mc 以及aws 的s3 工具都是可以的)对于数据文件拷贝到minio s3 桶中
minio s3 配置策略(如下)
文件拷贝到s3 可以使用工具mc 或者rclone
主机repo 配置
- 参考内容
myyum.reo
[haproxy-repo]
name=mydemo
baseurl=http://<s3-endpoint>/yumrepo/
enabled=1
gpgcheck=0
说明
基于s3 的好处是我们不需要自己的服务器了,直接可以使用s3的能力进行存储,对于扩容以及维护都是比较方便的
参考资料
https://earthly.dev/blog/creating-and-hosting-your-own-rpm-packages-and-yum-repo/
https://www.cnblogs.com/rongfengliang/p/16094847.html
https://docs.min.io/docs/minio-client-complete-guide.html
https://github.com/minio/mc