{"id":13786967,"url":"https://github.com/nomad-ops/nomad-ops","last_synced_at":"2026-04-04T13:39:49.005Z","repository":{"id":143355844,"uuid":"615259635","full_name":"nomad-ops/nomad-ops","owner":"nomad-ops","description":"A simple operator for nomad which reconciles the running jobs in comparison to git repos","archived":false,"fork":false,"pushed_at":"2023-09-18T08:30:32.000Z","size":35766,"stargazers_count":53,"open_issues_count":8,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-04-26T08:33:27.867Z","etag":null,"topics":["git-ops","go","golang","nomad","pocketbase","react","reactjs","typescript"],"latest_commit_sha":null,"homepage":"http://nomad-ops.org/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nomad-ops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-03-17T09:50:44.000Z","updated_at":"2024-04-19T22:17:23.000Z","dependencies_parsed_at":"2024-01-08T01:56:55.068Z","dependency_job_id":null,"html_url":"https://github.com/nomad-ops/nomad-ops","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nomad-ops%2Fnomad-ops","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nomad-ops%2Fnomad-ops/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nomad-ops%2Fnomad-ops/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nomad-ops%2Fnomad-ops/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nomad-ops","download_url":"https://codeload.github.com/nomad-ops/nomad-ops/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247432551,"owners_count":20938174,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git-ops","go","golang","nomad","pocketbase","react","reactjs","typescript"],"created_at":"2024-08-03T20:00:23.632Z","updated_at":"2026-04-04T13:39:48.994Z","avatar_url":"https://github.com/nomad-ops.png","language":"TypeScript","readme":"# nomad-ops\n\nA simple operator for nomad which reconciles the running jobs in comparison to git repos\n\n\u003e Still work in progress, but it should do what it is supposed to :)  \n\u003e See [https://nomad-ops.github.io/nomad-ops/](https://nomad-ops.github.io/nomad-ops/) for more information\n\n## Getting started with docker\n\n\u003e You need [nomad](https://developer.hashicorp.com/nomad/docs/install) and docker installed on your system\n\n1. Clone the repo\n2. Start 2 terminal sessions at the root of this repo\n\nRun the following in the first terminal:\n\n\u003e Make sure that docker volumes are available  \n\u003e You can use the provided `.deployment/nomad/agent.hcl` as a reference  \n\u003e Remember to set the `NOMAD_ADDR` environment variable to the address of your nomad cluster\n\n`nomad agent -dev -bind 0.0.0.0 -log-level INFO -config .deployment/nomad/agent.hcl`\n\nThis will bring up a nomad environment with docker volumes enabled. See [nomad docs](https://developer.hashicorp.com/nomad/docs/operations/nomad-agent) for more info.\n\nRun the following in the second terminal:\n\n`nomad namespace apply nomad-ops`\n\nThis makes sure that the namespace nomad-ops exists.\n\nDeploy Nomad-Ops to nomad by running:\n\n`nomad job run .deployment/nomad/docker.hcl`\n\n### Access the Admin UI\n\nGo to [http://localhost:8080/_/](http://localhost:8080/_/).\nThis will bring you to the login screen of [pocketbase](https://pocketbase.io).\nLogin using `admin@nomad-ops.org` and `simple-nomad-ops`.\n\n\u003e You only need to access this UI to create additional users. The main UI is available at [http://localhost:8080/](http://localhost:8080/)\n\n### Access the Nomad-Ops UI\n\nYou can access the UI of Nomad-Ops at [http://localhost:8080/](http://localhost:8080/) and use your newly created credentials to login.\n\nBy default the following user is created:\n\n- email: `user@nomad-ops.org`\n- password: `simple-nomad-ops`\n\n\u003e You can change the default user by setting the environment variables `DEFAULT_USER_EMAIL` and `DEFAULT_USER_PASSWORD`.\n\n\u003e The Admin User `admin@nomad-ops.org` is **only** capable to access the pocketbase ui at `http://{your-nomad-ops-host}/_/`. To access the Nomad-Ops UI you need to use a *normal* user.\n\n### Workload Identity \n\nWorkload identity is NOT supported.\n\nSome APIs of nomad do not support the JWT token authentication. Until this is fixed you have to use the `NOMAD_TOKEN` environment variable to authenticate with the nomad api. \n\n## Thanks\n\n\u003e Thanks to https://github.com/pocketbase/pocketbase for providing a solid base : ) !\n\n## Publishing docs\n\n1. `docker run --rm -it -p 8000:8000 -v ${PWD}:/docs -v ~/.ssh:/root/.ssh --entrypoint /bin/sh --platform linux/amd64 squidfunk/mkdocs-material`\n2. `apk add -U git openssh`\n3. `git config --global url.\"git@github.com:\".insteadOf \"https://github.com/\"`\n4. `mkdocs gh-deploy`","funding_links":[],"categories":["Showcases","Infrastructure setup","CI / CD"],"sub_categories":["Automation and Infrastructure Management"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnomad-ops%2Fnomad-ops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnomad-ops%2Fnomad-ops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnomad-ops%2Fnomad-ops/lists"}