Awesome NomadPlugins

hashicorp/nomad-driver-podman

⭐ 24 Go added to this list on 2024-12-11 repository created 2019-07-07

The project "hashicorp/nomad-driver-podman" is a Nomad task driver plugin designed to sandbox workloads within Podman containers. It integrates Podman container management capabilities directly into the Nomad ecosystem, allowing users to define container images, start and stop containers, and configure container runtime environments seamlessly through Nomad job specifications. The plugin supports a wide range of features including binding custom volumes, publishing ports, monitoring memory and CPU usage, and forwarding container logs to the Nomad logger. It also supports fine-tuning of memory usage with additional driver-specific parameters such as swap, swappiness, and reservation, along with out-of-memory (OOM) handling. The driver works with both rootful and rootless Podman sockets and supports cgroup V2, enabling flexible container management on Linux hosts. Users can configure the driver with options for volume binding, garbage collection of containers, recovery of stopped containers, and socket paths for Podman communication. The plugin supports multiple Podman sockets, allowing for rootless and rootful container management simultaneously. It also offers DNS configuration, shared network namespaces, and Consul Connect support, enabling complex network setups and pod-like structures within Nomad groups. The project includes a simple Redis example job demonstrating how to run a containerized Redis service using the Podman driver in Nomad. The build process is straightforward, requiring Go 1.17 or newer, and the plugin runs alongside Nomad and Podman on the same host without SSH complexities. Runtime dependencies include Nomad 0.12.9 or newer and a Linux host with Podman installed. Overall, this plugin extends Nomad's capabilities by leveraging Podman for container orchestration, providing a robust and flexible solution for running containerized workloads with advanced resource and network management features.

https://github.com/hashicorp/nomad-driver-podman

bind-mountcgroup-v2consul-connectcontainercontainer-imagecontainerscpu-monitoringdns-configurationdockerlessgolinuxlog-forwardingmemory-monitoringnetwork-configurationnetwork-namespacesnomadnomad-podman-driverpluginpodmanpublish-portsredis-exampleresource-managementrootfulrootlessruntime-environmentsandboxsandboxingstart/stop-containerstask-driverworkloads

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.

cneira/jail-task-driver

A HashiCorp Nomad task driver plugin that enables running tasks inside FreeBSD jails, providing native containerization and resource control for FreeBSD environments.

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/terraform-provider-nomad

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