Awesome NomadPlugins

cneira/jail-task-driver

⭐ 43 Go repository created 2019-07-09

The project "cneira/jail-task-driver" is a task driver for HashiCorp Nomad that integrates FreeBSD jails as a containerization and isolation mechanism. It allows Nomad to manage and run tasks inside FreeBSD jails, leveraging the native jail functionality of FreeBSD operating systems. The driver supports Nomad versions 0.9 and above and requires FreeBSD 12.0-RELEASE or later, with compatibility for FreeBSD 11 as well. It also depends on Consul for service discovery and coordination. Installation involves building the jail-task-driver binary using Go and placing it in the Nomad plugin directory, followed by configuring Nomad to recognize the plugin. The driver exposes parameters that closely match the FreeBSD JAIL(8) command options, enabling users to configure jails with fine-grained control over their behavior and resources. The README provides several example configurations demonstrating how to define jobs in Nomad that use the jail-task-driver. Examples include basic jails, non-vnet jails with specific IP and socket permissions, and vnet jails that use virtual networking interfaces. The driver supports lifecycle hooks such as Exec_start, Exec_stop, and various pre- and post-execution commands to manage jail startup and shutdown processes. Resource limits can be set using the Rctl parameter, allowing control over memory usage, open files, and other resource constraints within the jail environment. The project also includes references to FreeBSD documentation and books for users unfamiliar with jails. Overall, this project extends Nomad's capabilities by enabling it to orchestrate FreeBSD jails, providing a native and lightweight containerization option for FreeBSD users. It is particularly useful for those who want to leverage FreeBSD's jail system within a modern infrastructure automation and orchestration framework like Nomad.

https://github.com/cneira/jail-task-driver

consulcontainerizationexec_startexec_stopfreebsdfreebsd-jail-managerfreebsd-jailsinfrastructure-automationjailsnomadnomad-drivernomad-task-driverorchestrationpluginrctlresource-limitstask-drivervnet

Also in Plugins

Roblox/nomad-driver-containerd

Nomad-driver-containerd is a Nomad task driver that enables launching containers directly using containerd, providing a Docker-free container orchestration solution within Nomad.

cneira/firecracker-task-driver

A Nomad task driver that enables the creation and management of Firecracker micro-virtual machines within the Nomad orchestration platform.

Roblox/nomad-driver-iis

Nomad-driver-iis is a Nomad task driver plugin by Roblox for orchestrating Windows IIS website tasks, enabling automated management of IIS application pools and sites within Nomad clusters.

dokku/dokku-scheduler-nomad

dokku-scheduler-nomad is a Dokku plugin that integrates Nomad as a scheduler for deploying applications within a Nomad cluster environment.

hashicorp/nomad-driver-podman

A Nomad task driver plugin that enables sandboxing and management of workloads in Podman containers with advanced resource and network configuration features.

hashicorp/terraform-provider-nomad

Terraform Nomad provider plugin maintained by HashiCorp enabling infrastructure as code management of Nomad resources through Terraform.