[CentOS-devel] RFC: CentOS 8 Repository Structure

Wed Jun 19 16:08:50 UTC 2019
Brian Stinson <brian at bstinson.com>

Hi Folks,

While we cycle through some of the remaining builds I'd like to start a discussion about what the CentOS 8  repo structure might look like. We need to think about what the repos look like on-disk, and how this might impact the mirrors.

Currently the thinking is this:

3 "core" repos: 

- BaseOS (contains a small packageset of the base distribution)
- AppStream ("where the modules go") 
- Devel ("-devel packages and other tools")
 
These descriptions are very much an oversimplification, but it's an ok model to work with. 

We plan to compose all of those repositories, and deliver updates in the same stream. The x86_64 tree for the BaseOS repository will look something like this:

x86_64
├── debug         # Note: we will likely snip this out and move debugs to debuginfo.centos.org
│   └── tree
│       ├── Packages
│       └── repodata
├── iso
└── os
    ├── EFI
    │   └── BOOT
    │       └── fonts
    ├── images
    │   └── pxeboot
    ├── isolinux
    ├── Packages
    └── repodata

The plan is to re-compose BaseOS and all the "release" media like cloud images/ISOs at the traditional point-release times, and refresh the repodata in between as updates come in. 

Currently there are 3 primary architectures: x86_64, ppc64le, and aarch64, and 1 alternative architecture: armhfp. For CentOS 7 we split our primary and alternate architectures into /centos and /altarch on the mirrors to allow mirror admins to choose which trees to mirror. Is this something we'd like to continue? 

I welcome any questions and discussion that we might have.

-- 
  Brian Stinson
  brian at bstinson.com