New task driver based on systemd transient units

Hi all,

i’ve spend some time on an project around nomad and lightweight systemd based tasks.

You can find my code over at github: GitHub - towe75/nomad-driver-systemd: Use systemd transient units to run containerless workloads in hashicorp nomad

This project tries to combine a few ideas:

  • orchestrate, configure and deploy service definitions via nomad
  • use nomad features to download your binary or image (artifact stanza etc.)
  • run the actual binary via the prevalent systemd service manager
  • do not delegate service restarts, lifecycle to systemd, use nomad

It’s basically a cousin to nomads internal exec/raw-exec driver but with with a lot of potential.
For now it’s a proof-of-concept with just a handful features.

Would be nice if somebody tries it out and drops me a comment, issue, PR or a github star :wink:

5 Likes

This is awesome, @towe75! Just a couple weeks ago I was rambling internally about how it would be nice to have a driver based on ephemeral systemd services. In the hopefully not-too-distant future we’d like to revamp exec/raw_exec, and would be interested in anything you learn from this driver!

Thank you for the feedback. I will keep you posted.