EvoX Genesis
EvoX Genesis는 고수준 목표를 재귀적 소프트웨어 세계로 전환해, 유한 에이전트가 개발하고 승인된 결과만 유지됩니다
Semi-automatic GitOps controller for HashiCorp Nomad: per-job policies (auto/approval/none), approval dashboard and pre/post deployment hooks.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A semi-automatic GitOps controller for HashiCorp Nomad.
Nops watches a git repository of Nomad jobs and deploys them according to a policy you set per job: automatically, after a person approves, or never. It shows pending changes in a dashboard and can run hooks, Nomad jobs that run before or after a deployment.
Status: ready to use, still at
v0: a minor release may change the configuration or the database, and the changelog says how to upgrade. Built for a self-hosted cluster, as a single instance. Inspired by gerrowadat/nomad-gitops.
Try it: getting started takes about fifteen minutes on one machine.
I needed Nops quickly, so I made it an experiment: a project where my role is the planner's and the rest is delegated to AI. I decide what gets built and how; I review and merge each pull request and sign each release. Claude writes the code and the docs, tests included.
Nops reads the job files from git and has Nomad parse them.
It plans each managed job and, if there is a difference, creates a deployment.
The job's policy decides what happens next:
| Policy | Behaviour |
|---|---|
auto | Nops deploys the change. |
approval | The deployment waits in the dashboard until someone approves or rejects it. |
none | Nops shows the drift and deploys nothing. The default. |
Nops registers the job only if nobody changed it since the plan.
detected → [pending_approval] → [pre_hook] → applying → [post_hook] → completed
│ │ │
└────────────┴───────────┴──→ failed
Policy and hooks live in the job's own HCL, as flat meta keys:
job "api" {
meta {
nops_managed = "true"
nops_policy = "approval" # auto | approval | none
nops_pre_hook = "api-backup,api-migrate" # parameterized batch jobs, run in this order
nops_post_hook = "api-smoke"
}
# ...
}
Every key is in the meta keys reference. To write a hook, see the hooks guide and the examples.
Nops is tested against Nomad 2.1.1 and Nomad 2.0.7, the latest patch of the two most recent Nomad minor releases. Other patches of those minor releases should work. Support for a Nomad minor release ends only in a minor release of Nops.
See the documentation index. Changes are in the changelog. To contribute, see CONTRIBUTING.
Licensed under the Apache License 2.0. Copyright 2026 Music Gang.