Commit Graph

11 Commits

Author SHA1 Message Date
Collin J. Doering 2bc5f9229c
Makefile: Do not mount /etc/ssl when running 2024-01-04 21:41:32 -05:00
Collin J. Doering f646927e9a
Makefile: Add deploy target, which pushes the resulting OCI image 2024-01-01 20:37:17 -05:00
Collin J. Doering c9b3062f11
Makefile: Use ssl certificates from within the container by default
When a guix-builder container runs without the store attached, it should still be able to use
ssl certificates. This was not possible prior to this change without adjusting the
SSL_CERT_FILE and SSL_CERT_DIR environment variables to be prefixed with '/guix-builder'.
Preferably and as implemented in this commit, we can keep standard values of these
environment variables and provide a link from /etc/ssl -> /guix-builder/etc/ssl where the
certificate files reference /guix-builder/gnu/store instead of /gnu/store.

This allows correct functioning in either case of the store being mounted or not. Its
important to note that if a users mounts their guix hosts certificates, they must also mount
its store as the certificate files in /etc/ssl/certs will be links to files in the store.
2024-01-01 15:08:20 -05:00
Collin J. Doering ae21f99ddb
Makefile: move required steps prior to docker build to separate target 2023-12-31 14:44:55 -05:00
Collin J. Doering a82b4c2efa
Makefile: Add size PHONY target 2023-12-31 14:34:03 -05:00
Collin J. Doering 692577c025
Dockerfile: Set the env var GUIX_LOCALES to the now installed locales
* Makefile: Provide a symlink for the profiles lib/locale
2023-12-31 14:33:12 -05:00
Collin J. Doering 86f051167b
Correct hidden dependency on host /gnu/store
Unbeknownst to me, the docker image produced by previous versions of guix-builder actually
had a hidden dependency on the hosts /gnu/store. I have not been able to fully characterize
it, but the following proves it to be true.

This fails with an error 139, segfault:
  docker run -it guix-builder:latest

However it succeeds when provided the hosts guix store:
  docker run -it -v /gnu/store:/gnu/store:ro guix-builder:latest

By using GUIX_EXECUTION_ENGINE=proot (which is implied by the '-RR' option to 'guix pack'),
we avoid the segfaults and hidden dependency on the hosts /gnu/store. Sadly using proot will
have performance impacts, but I'm not sure yet to what extent this will impact my usecase.
2023-12-29 21:32:46 -05:00
Collin J. Doering f2786e17ae
Place /etc/passwd file inside the container for root user
This is needed because ssh requires the user that runs it to exist in /etc/passwd.
2023-12-29 12:03:48 -05:00
Collin J. Doering ba31548ad5
CI: Cleanup Dockerfile and Makefile (following 5764deb) 2023-12-29 11:30:17 -05:00
Collin J. Doering d1b46ce129
Ensure /bin->/guix-builder/bin exists within the container 2023-12-28 20:55:50 -05:00
Collin J. Doering 75361f9a8a
Initial commit 2023-07-15 16:37:59 -04:00