Awesome NomadAutomation and Infrastructure Management

astro/skyflake

⭐ 243 Nix added to this list on 2024-12-11 repository created 2022-10-31

Skyflake is a hyperconverged infrastructure solution designed specifically for NixOS environments, leveraging HashiCorp Nomad for dynamic virtual machine management. It eschews traditional container orchestration tools like Docker and Kubernetes, instead opting for a system where hosts run NixOS and payloads are also NixOS-based, managed through microVMs defined in the microvm.nix repository. The infrastructure is composed of static hosts and dynamic virtual machines, with Nomad orchestrating the deployment and lifecycle of these VMs. Deployment is streamlined through a Git-based workflow where users can deploy machines simply by pushing their Nix Flake configurations to the cluster. The example cluster setup requires a bridge network interface, internet access, and specific hardware resources (3 hosts with 4 GB RAM and 20 GB disk each). Users can run multiple microVMs in parallel and manage them via SSH. The core of Skyflake is a NixOS module that configures servers to be part of the cluster, enabling a flat hierarchy of flake repositories for users. SSH interactions are restricted to git push commands, which trigger hooks that build the NixOS system, update a cluster-shared binary cache, and run jobs on the cluster through Nomad. The system allows for customization of network setup, storage integration, and other microVM options to fit different environments. This approach provides a declarative, GitOps-style infrastructure management experience for NixOS users, combining the power of NixOS system configurations with the flexibility and scalability of Nomad's job scheduling capabilities.

https://github.com/astro/skyflake

binary-cachecephclusterdeploymentflakesgitopshyperconverged-infrastructurejob-schedulingmicrovmnetwork-setupnixnix-flakenixosnomadstorage-integrationsystem-configurationvirtual-machines

Also in Automation and Infrastructure Management

ansible-community/ansible-nomad

Ansible-Nomad is an Ansible role that automates the installation, configuration, and management of HashiCorp Nomad clusters, supporting both development and production environments.

mr-karan/homelab

Hydra is an infrastructure-as-code project for managing a personal home server using HashiCorp Nomad, Consul, and other tools to automate and orchestrate various services.

seatgeek/nomad-helper

nomad-helper is a set of tools designed to simplify and enhance the management and operational tasks of HashiCorp Nomad clusters at scale.

cosmonic-labs/netreap

Netreap is a Cilium controller designed to manage Cilium networking and policies within Nomad clusters, providing Kubernetes-independent cluster management and policy synchronization.

nomad-ops/nomad-ops

Nomad-Ops is a GitOps operator for HashiCorp Nomad that reconciles running jobs with Git repositories to automate and simplify Nomad job management.

jonasvinther/nomad-gitops-operator

Nomoporator is a GitOps operator that automates the deployment and synchronization of HashiCorp Nomad jobs using Git repositories or local file systems, supporting secure and flexible configuration.

tristanpemble/nix-nomad

nix-nomad is a tool to generate and manage HashiCorp Nomad job JSON files using NixOS modules, enabling modular and scalable deployment of Nomad jobs across multiple environments.

dsaidgovsg/terraform-modules

A collection of reusable Terraform modules to provision and manage HashiCorp Nomad, Consul, and Vault clusters on AWS, enabling secure and scalable cloud infrastructure deployment.