We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

nix-processmgmt: An experimental Nix-based process manager-agnostic framework

Formale Metadaten

Titel
nix-processmgmt: An experimental Nix-based process manager-agnostic framework
Serientitel
Anzahl der Teile
19
Autor
Lizenz
CC-Namensnennung 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
Nix is package manager that offers all kinds of powerful features to make package deployments reliable and reproducible. Although Nix can be used to conveniently deploy packages, on various operating systems (such as Linux and macOS), and even allows unprivileged users to deploy packages, deploying services (such as PostgreSQL and Apache HTTPD) still has its limitations. Currently, Nix-based service deployment is solved by a small number of solutions: NixOS requires you to adopt a fully Nixified Linux system and uses systemd as a process manager. nix-darwin only works on macOS with launchd as a process manager If you are using Nix on a conventional Linux distribution, a different operating system (e.g. FreeBSD), with a different process manager (e.g. supervisord), or as an unprivileged user, then there is no off-the-shelf solution that can help you (yet) to conveniently deploy Nix-provided services. The nix-processmgmt framework (https://github.com/svanderburg/nix-processmgmt) is a prototype that tries to provide universal Nix-based service deployment on all systems where Nix can be used. It offers the following features: * It uses simple conventions for describing process instances, e.g. function definitions and function invocations * It works with high-level deployment specifications that can universally target the following process managers: sysvinit, bsdrc, systemd, supervisord, cygrunsrv and launchd * Tested on the following operating systems: Linux, macOS, Cygwin and FreeBSD * Automatically derives the activation order from process dependencies * Allows you to deploy multiple instances of the same service * Unprivileged user deployments In this talk, I will provide background information about this framework, describe how it works, and show a number of real-life usage scenarios using commonly used services (PostgreSQL, Apache HTTPD etc.) in a number of interesting usage scenarios (unprivileged user deployments, deployment on FreeBSD etc.) (Although the tool advertises itself as a prototype, it is already quite usable)