{"id":22479156,"url":"https://github.com/jsiebens/blinkt-nomad-controller","last_synced_at":"2026-05-18T02:33:34.246Z","repository":{"id":79481317,"uuid":"266352111","full_name":"jsiebens/blinkt-nomad-controller","owner":"jsiebens","description":"A Nomad Controller for the Pimoroni Blinkt on a Raspberry Pi","archived":false,"fork":false,"pushed_at":"2020-06-24T05:32:59.000Z","size":172,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-15T19:16:31.712Z","etag":null,"topics":["blinkt","hashicorp","hashicorp-nomad","nomad","pimoroni","pimoroni-blinkt","raspberrypi"],"latest_commit_sha":null,"homepage":"","language":"Go","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/jsiebens.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-23T14:22:56.000Z","updated_at":"2024-10-01T20:18:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"b066f3c7-ee12-403c-847c-4f6d2fff2b65","html_url":"https://github.com/jsiebens/blinkt-nomad-controller","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/jsiebens/blinkt-nomad-controller","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsiebens%2Fblinkt-nomad-controller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsiebens%2Fblinkt-nomad-controller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsiebens%2Fblinkt-nomad-controller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsiebens%2Fblinkt-nomad-controller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jsiebens","download_url":"https://codeload.github.com/jsiebens/blinkt-nomad-controller/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsiebens%2Fblinkt-nomad-controller/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269181027,"owners_count":24373848,"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","status":"online","status_checked_at":"2025-08-06T02:00:09.910Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["blinkt","hashicorp","hashicorp-nomad","nomad","pimoroni","pimoroni-blinkt","raspberrypi"],"created_at":"2024-12-06T15:13:13.584Z","updated_at":"2026-05-18T02:33:29.204Z","avatar_url":"https://github.com/jsiebens.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A Nomad Controller for the Pimoroni Blinkt! #\n\n![example](./images/picture.png)\n\nA simple way to physically/visually display the number of allocations running on Raspberry Pi-based [HashiCorp](https://www.hashicorp.com) [Nomad](https://github.com/hashicorp/nomad) worker nodes by using a [Pimoroni Blinkt!](https://shop.pimoroni.com/products/blinkt).\nAlternatively, it can display the amount of allocated cpu, memory, disk or network of the worker node.\n\nThe Blinkt is a low-profile strip of eight super-bright, color LED indicators that plugs directly onto the Raspberry Pi's GPIO header. Several available software libraries make it easy to control the color and brightness of each LED independently.\n\n## How It Works ##\n\nThis little tool is designed to be deployed as a Nomad [system](https://www.nomadproject.io/docs/schedulers/#system) job\nOnce deployed, every running allocation that lands on a node will cause an LED indicator on that node's Blinkt to turn on. (only the first 8 Pods can be displayed). \nAs new jobs and allocations get created or deleted the light display will adjust accordingly.\n\nThe controller will scrape the metrics of the node it is running an via the [metrics HTTP api](https://www.nomadproject.io/api-docs/metrics/).\n\n## Acknowledgements ##\n\nBased on the [blinkt-k8s-controller](https://github.com/apprenda/blinkt-k8s-controller) of @apprenda, this project draws inspiration and borrows heavily from the work done by @alexellis on [Docker on Raspberry Pis](http://blog.alexellis.io/visiting-pimoroni/) and his [Blinkt Go libraries](https://github.com/alexellis/blinkt_go), themselves based on work by @gamaral for using the `/sys/` fs interface [instead of special libraries or elevated privileges](https://guillermoamaral.com/read/rpi-gpio-c-sysfs/) to `/dev/mem` on the Raspberry Pi.\n\n## Requirements ##\n\nA Raspberry Pi-based Nomad cluster, where the [raw_exec](https://www.nomadproject.io/docs/drivers/raw_exec/) driver is enabled on the worker nodes.\n\nPhysically install a [Pimoroni Blinkt](https://shop.pimoroni.com/products/blinkt) on all the Raspberry Pi worker nodes you want to use for display. **No additional sofware or setup is required for the Blinkt**.\n\n## Usage ##\n\nPlan and run the Nomad job using the included job definition:\n\n```sh\nnomad plan nomad/blinkt-nomad-controller.nomad\n```\n\n```sh\nnomad run nomad/blinkt-nomad-controller.nomad\n```\n\nIf you want to monitor and display other resources, like allocated memory, adjust the command accordingly:\n\n```sh\nblinkt-nomad-controller_arm -resource=memory\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsiebens%2Fblinkt-nomad-controller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjsiebens%2Fblinkt-nomad-controller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsiebens%2Fblinkt-nomad-controller/lists"}