-
-
Notifications
You must be signed in to change notification settings - Fork 97
channels.nixos.org (why where how)
Rok Garbas edited this page Mar 6, 2020
·
3 revisions
garbas: I'm dropping this knowledge here before it leaves my brain. I hope to come back and put it in some sort of nicer form.
- Purpose of channels.nixos.org is to redirect channels to the latest successful release artifact which lays on
- Acts as mutable storage (in contrast to releases.nixos.org which act as immutable storage)
- Currently we use S3 bucket where we create empty bucket objects with
x-amz-website-redirect-location
header which is pointing to location we want to redirect to. At the time of writing we do 2 redirects per channel: (1) $channel -> $target (2) $channel/nixeprs.tar.xz -> $channel/nixeprs.tar.xz - S3 bucket is called nix-channels and at the time of writing is configured here: https://github.com/NixOS/nixos-org-configurations/blob/master/terraform/channels.tf
- a script that changes/uploads this links to artifacts can be found here: https://github.com/NixOS/nixos-channel-scripts/blob/master/mirror-nixos-branch.pl
- this service is used by nix-channel command line tool