UP | HOME

Ideas for a Lisp DCOS

Uninspired by the current technologies for managing systems (e.g. systemd and Salt), it would be interesting to build a Lisp system for doing this. It may eventually be a way to hook into the the hypervisor idea. The project is named SYSGOV, for system governor.

Currently, there are two components envisioned:

The goal for now is to target Linux systems, as that is what the majority of server systems are running.

There is some source code 1 available.

SYSPLAN

Some of the questions the initial research aims to answer:

  • What does a system specification look like?
  • How does an overseer or supervisory node communicate changes to its charges?
  • How is this done securely?

One idea for this is to integrate some AI planning research into the system to allow it to intelligently plan for resource usage.

This leads to the service discovery problem: if services are run dynamically, how are they found? How are changes to the service state (e.g. what if the service is moved) handled?

SYSMON

Starting to dig into SYSPLAN led to SYSMON. It's intended as a replacement for certain parts of systemd and the docker management systems.

This needs a lot of digging into some deep Unix systems programming.

  • What is the correct action when a service exits?
  • How should logging, status, and job results be collected and published?

Other ideas

  • Using Nebula/Irmin as a file store.
  • How to securely share secrets?
  • Logging?
  • Service discovery?

Footnotes:

1

The source code seems to be lost, but the link is being left here so that if it is found, it may be restored.