Hi Guix,

Apologize for the name change!  I can't resist when I thought of the domain
name...

> I'm glad to announce the substitute server I'm running:
>
>     https://ci.boiledscript.com

Now it's https://ci.guix.moe :)

> with a blog post for its latest status:
>
>     https://ultrarare.space/en/posts/guix-build-farm/
>
> It builds community channels and provides substitutes for x86_64-linux,
> i686-linux and aarch64-linux.  The substitute server opens to adding new
> channels, as long as resource permits and undistributable contents are
> marked unsubstitutable.
>
> Let me know if you want to add more channels, you can also open an issue
> on Codeberg:
>
>     https://codeberg.org/hako/Testament/issues
>
> To use substitutes from the server, you need to authorize its signing
> key first:
>
> --8<---------------cut here---------------start------------->8---
> echo '(public-key
>  (ecc
>   (curve Ed25519)
>   (q #374EC58F5F2EC0412431723AF2D527AD626B049D657B5633AAAEBC694F3E33F9#)
>  )
> )' | sudo guix archive --authorize
> --8<---------------cut here---------------end--------------->8---
>
> and then use one of its mirrors, currently the following two:
>
>     https://cache-cdn.boiledscript.com
>     https://cache-de.boiledscript.com
>
> --8<---------------cut here---------------start------------->8---
> guix build hello --substitute-urls="https://cache-cdn.boiledscript.com <...>"
> --8<---------------cut here---------------end--------------->8---

New URL for the primary mirror:

    https://cache-cdn.guix.moe

More mirrors!

    Germany:       https://cache-de.guix.moe
    Italy:         https://cache-it.guix.moe     (Thanks poesty!)
    United States: https://cache-us-lax.guix.moe
    Singapore:     https://cache-sg.guix.moe

See <https://ultrarare.space/en/posts/guix-build-farm/#mirrors> for
update-to-date information.

I'll ensure availability of the old domain names on boiledscript.com before
2026.

>[...]
> This allows mirroring substitutes with rsync and a file server.
>
> Substitutes are also synced to object storage (currently Cloudflare R2
> with Cloudflare CDN, a choice to reduce expenses) to facilitate
> mirroring without a full clone.
>
> Now there're three approaches to mirror the substitutes, specific steps
> are covered in the blog post:
>
> 1. Full mirror (rsync + file server)
> 2. narinfo mirror + reverse proxy
> 3. narinfo mirror + redirection
>
> Currently the "cache-cdn" mirror uses the 3. approach, to ensure
> performance on querying and downloading, however there's a delay on the
> redirection so either 1. or 2. is more suitable for future mirrors.  Let
> me know if you're interested in hosting one :)

Redirection of cache-cdn is now avoided by using Cloudflare Workers to act as
the frontend, it's truly behind "CDN" now.  In case you dislike Cloudflare, only
cache-cdn is behind it, though mirrors may proxy substitutes from Cloudflare R2.

I have migrated the head node to a machine with more storage and started
building Guix channel, reusing substitutes from official servers.  Hopefully it
will be an option for those with slow connection to official servers in a few
days.

I'll keep the build farm running in the long term, so I'm seeking donation on
mirror hosting, and financial support to share the expenses (cache-cdn, object
storage and mirrors I host.  Currently they are for demonstration purpose, I may
strip them out if necessary to reduce the expenses).  More information is
available in the blog post: <https://ultrarare.space/en/posts/guix-build-farm/>


Thanks

Reply via email to