No description
Find a file
Techno Duck e4d27e27f5
All checks were successful
Build and upload a binary on tag push / build-release (push) Successful in 7m21s
Added Readme
2023-09-20 22:44:44 -04:00
.forgejo/workflows added workflow for compilation 2023-09-18 23:38:43 -04:00
api removed users.rs file leftowver from a previous project 2023-09-20 22:25:18 -04:00
shared Initial commit 2023-09-13 23:35:28 -04:00
.gitignore Initial commit 2023-09-13 23:35:28 -04:00
Cargo.lock Initial commit 2023-09-13 23:35:28 -04:00
Cargo.toml Initial commit 2023-09-13 23:35:28 -04:00
README.md Added Readme 2023-09-20 22:44:44 -04:00

Welcome to the id assigner

Description

ID assigner is a daemon that runs on the head node of a slurm cluster. Every node upon waking up, systemd service calls to the API, and gets a id for it's hostname. Upon shutdown, another service calls to the API to remove id from "used" list, so it can be reassigned.

Usage

For now, sudo permissions are required only for the first run to place slqlite db into /var/service/assigner folder.

Ignoring test endpoints, requesting

  • /api/ip/get will return an node struct in json form (id:i32, ip:String, created_at:DateTime).
  • /api/ip/del requires Json with field "ip" with the ip of the node that requests it's node id to be removed from usage. It will return Json with the node point that was removed.

For now API checks that node that is being removed is indeed the one who is asking to be removed (it's an open api for now, no authentication, dont want someone to accidentaly or intentionally to remove the whole cluster from usage).

Todo

  • Add systemd services to the repo
  • Build as debian package
  • Add some authentication (maybe the MUNGE key?)