[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GSoC 2019 Recap
From: |
Jakob L. Kreuze |
Subject: |
GSoC 2019 Recap |
Date: |
Mon, 19 Aug 2019 19:20:47 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
Hi all,
Google Summer of Code requires a "work product submission" [1] publicly
documenting the project's results, so I'm writing this to summarize the
state of 'guix deploy' and to share my visions for next steps.
GSoC-related patches accepted into 'master': [2]
- Initial implementation of 'guix deploy'.
- ssh: Add 'identity' keyword to 'open-ssh-session'. (a9b09ed776)
- gnu: Add machine type for deployment specifications. (fa9edf09e9)
- Add 'guix deploy'. (5cbb832fb1)
- doc: Add section for 'guix deploy'. (02a962c8e0)
- Remove references to non-existent 'tests/machine.scm'. (834b8a4110)
- Refactoring to share code between 'guix deploy' and 'guix system reconfigure'.
- guix system: Add 'reconfigure' module. (5c793753b3)
- guix system: Reimplement 'reconfigure'. (5c8c8c4554)
- tests: Add reconfigure system test. (d23a00b599)
- Various bugfixes and improvements.
- reconfigure: Reload all shepherd files when upgrading services. (1db6f137d9)
- doc: Add note about signing keys. (5bc751925d)
- machine: Rename 'system' field. (d97ce20400)
- reconfigure: Fix GC root installation. (5f04e9f962)
- machine: Implement safety checks. (fd3119db4f)
- reconfigure: Improve tests for system activation. (ec12235ce2)
- deploy: Use all machine modules when loading deployment (55e238f2ab)
- machine: Add 'build-locally?' field for managed hosts. (d84e9b75b2)
- remote: Build derivations appropriate for the remote's (2c8e04f136)
- remote: Remove '--system' argument. (03cbd94d48)
- machine: Allow non-root users to deploy. (5ea7537b9a)
- machine: Implement 'roll-back-machine'. (9c70c460a0)
- machine: Automatically authorize the coordinator's signing key. (3033d59ac9)
- doc: Add description of 'build-locally?'. (3967a946c6)
- remote: Use (%daemon-socket-uri) rather than hard-coded path. (5f32531770)
- remote: Resolve missing 'G_'. (ddef146b89)
- machine: Use 'become-command'. (4cc5e5204b)
At this point, I feel the "simple case" of upgrading or configuring a
remote machine that's already running the Guix system is reasonably
well-supported. Assuming that you're running Guix from 'master', 'guix
deploy' is right at your fingertips.
More work is necessary if we want 'guix deploy' to be a proper DevOps
tool, however. The most significant of those features is support for
more advanced use-cases such as automatic provisioning of resources from
Virtual Private Server providers (which I have made some progress on
[3]). I feel the newly-generalized "reconfiguration code" could use some
attention as well.
Thanks for a great summer, guys. I'm excited to continue working on
this.
Regards,
Jakob
[1]: https://developers.google.com/open-source/gsoc/help/work-product
[2]: https://git.savannah.gnu.org/cgit/guix.git/log/?qt=author&q=Jakob+L.+Kreuze
[3]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37083
signature.asc
Description: PGP signature
- GSoC 2019 Recap,
Jakob L. Kreuze <=