all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* GSoC 2019 Recap
@ 2019-08-19 23:20 Jakob L. Kreuze
  2019-08-21 18:57 ` Christopher Lemmer Webber
  0 siblings, 1 reply; 4+ messages in thread
From: Jakob L. Kreuze @ 2019-08-19 23:20 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2868 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-09-03 10:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-19 23:20 GSoC 2019 Recap Jakob L. Kreuze
2019-08-21 18:57 ` Christopher Lemmer Webber
2019-08-27  7:28   ` Alex Sassmannshausen
2019-09-03 10:06     ` Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.