artix-mlg
CLI to create an pacman mirrorlist and archweb fixture file from the Artix mirrorlist.
Setup
npm install
Create an input file mirrors.json
with all mirrors according to the spec.
The Spec
artix-mlg expects the input file to contain an array "mirrors"
of objects following this schema:
interface MirrorProfile {
url: string; // The full pacman mirror url, e.g. https://mirror.example.com/artix-linux/$repo/os/$arch
tier: number; // https://wiki.archlinux.org/title/DeveloperWiki:NewMirrors#2-tier_mirroring_scheme
country: string; // Country name
upstream: string; // Upstream mirror name (usually the domain)
public: boolean; // Whether the mirror is meant for users
active: boolean; // Whether the mirror is currently in service
default: boolean; // Whether the mirror is considered a default mirror
suppress?: boolean; // Whether to hide from the resulting mirrorlist (for when active but redundant)
admin_email?: string; // (optional) Email address of the mirror administrator
alternate_email?: string; // (optional) Alternate email address for the mirror administrator
stable_isos?: string; // (optional) URL to stable isos, if present
weekly_isos?: string; // (optional) URL to weekly isos, if present
rsync_user?: string; // (optional) rsync username, if applicable
rsync_password?: string; // (optional) rsync password, if applicable
notes?: string; // (optional) notes to be stored in archweb
force_mirror_name?: string; // (optional) force a mirror name (defaults to the domain)
}
Run
npm run start
Then add to archweb like so:
manage.py loaddata files/mirrors.fixture.json
v0.2.8
Latest
Languages
TypeScript
99.5%
JavaScript
0.5%