[Nix-dev] hotswappable self managing services in nix

stewart mackenzie setori88 at gmail.com
Sun Nov 27 05:33:13 CET 2016


9 9s not unheard of in these circles, Google uptimes are a joke not worthy
of mention.

There are systems that have been running for some 40 odd years in
production that factor in changes to legal banking regulations, hardware,
business logic etc. Erlang has a system called the Ericsson AXD301 which
has achieved this time frame.

Just because Nixos hasn't been around that long doesn't mean it can't have
the primitives to allow for such feats. Its these primitives I'm enquiring
about.

So let's use a new, less controversial figure of 5 9s and keep on topic.

The thing is, we're designing this system so that its governed by nix don't
necessarily have to depend heavily on the runtime - I really don't want to
go down the imperative route, by introducing imperative language concepts
into our declarative language which is managed by another declarative
language (nix). Besides just bringing in a single component with an OS
Dependency demands we manage this change from nix level.

We currently have a hack in place, that will resolve dependencies and give
us a path to load a correctly compiled shared object into memory:
https://github.com/fractalide/fractalide/blob/master/components/nucleus/find/component/src/lib.rs#L43
nasty and cringe worthy I know.

Thanks for your pointer, I'll take a look at these activation scripts.

Maybe this hack is the answer, and confine the dynamism to an ssh login al
a Erlang style...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.science.uu.nl/pipermail/nix-dev/attachments/20161127/9c921085/attachment.html>


More information about the nix-dev mailing list