{"id":37193149,"url":"https://github.com/angt/slurm-https","last_synced_at":"2026-01-14T22:25:15.813Z","repository":{"id":35499349,"uuid":"39769080","full_name":"angt/slurm-https","owner":"angt","description":"A simple HTTPS API for Slurm","archived":false,"fork":false,"pushed_at":"2021-11-12T13:53:02.000Z","size":18,"stargazers_count":42,"open_issues_count":2,"forks_count":11,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-06-20T15:58:37.706Z","etag":null,"topics":["api-server","hacktoberfest","https-server","slurm"],"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/angt.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}},"created_at":"2015-07-27T10:35:26.000Z","updated_at":"2023-08-31T13:31:10.000Z","dependencies_parsed_at":"2022-09-12T15:21:56.440Z","dependency_job_id":null,"html_url":"https://github.com/angt/slurm-https","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/angt/slurm-https","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angt%2Fslurm-https","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angt%2Fslurm-https/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angt%2Fslurm-https/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angt%2Fslurm-https/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/angt","download_url":"https://codeload.github.com/angt/slurm-https/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angt%2Fslurm-https/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28436311,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T21:32:52.117Z","status":"ssl_error","status_checked_at":"2026-01-14T21:32:33.442Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["api-server","hacktoberfest","https-server","slurm"],"created_at":"2026-01-14T22:25:15.113Z","updated_at":"2026-01-14T22:25:15.800Z","avatar_url":"https://github.com/angt.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# slurm-https\n\nA simple HTTPS API for Slurm.\n\n## Quick Start\n\n### Build\n```sh\n$ git clone https://github.com/angt/slurm-https.git\n$ cd slurm-https\n$ go build\n```\n\n### Run\n```sh\n$ ./create-cert.sh\n$ ./slurm-https\n```\nBy default, the server listen on `:8443`.\n\n## API\n\nThe API is nearly a direct mapping to [slurm.h](https://raw.githubusercontent.com/SchedMD/slurm/master/slurm/slurm.h.in).\n\n endpoint           | description\n--------------------|------------------------------------------------------------------------------------\n/nodes              | get all node configuration information if changed since UpdateTime\n/node/update        | update node's configuration (root only)\n/licenses           | get license information\n/conf               | get control configuration information if changed since UpdateTime\n/jobs               | get all job configuration information if changed since UpdateTime\n/job/alloc          | allocate resources for a job request\n/job/submit         | submit a job for later execution\n/job/lookup         | get info for an existing resource allocation\n/job/update         | update job's configuration\n/job/notify         | send message to the job's stdout (root only)\n/job/kill           | send the specified signal to all steps of an existing job (with flags)\n/job/signal         | send the specified signal to all steps of an existing job\n/job/complete       | note the completion of a job and all of its steps\n/job/suspend        | suspend execution of a job\n/job/resume         | resume execution of a previously suspended job\n/job/requeue        | re-queue a batch job, if already running then terminate it first\n/job/step/kill      | send the specified signal to an existing job step\n/job/step/signal    | send the specified signal to an existing job step\n/job/step/terminate | terminates a job step\n/frontends          | get all frontend configuration information if changed since UpdateTime\n/frontend/update    | update frontend node's configuration (root only)\n/topologies         | get all switch topology configuration information\n/partitions         | get all partition configuration information if changed since UpdateTime\n/partition/create   | create a new partition (root only)\n/partition/update   | update a partition's configuration (root only)\n/partition/delete   | delete a partition (root only)\n/reservations       | get all reservation configuration information if changed since UpdateTime\n/reservation/create | create a new reservation (root only)\n/reservation/update | update a reservation's configuration (root only)\n/reservation/delete | delete a reservation (root only)\n/triggers           | get all event trigger information\n/trigger/create     | create an event trigger\n/trigger/delete     | delete an event trigger\n/ping               | ping the slurm controller\n/reconfigure        | force the slurm controller to reload its configuration file\n/shutdown           | shutdown the slurm controller\n/takeover           | force the slurm backup controller to take over the primary controller\n\n## Test it with cURL\n\n### Get the conf\n```sh\n$ curl --cert ./client.crt --cacert ./ca.crt --key ./client.key --insecure -d @- https://localhost:8443/conf \u003c\u003cEOF\n{\n    \"UpdateTime\":0\n}\nEOF\n```\n\n### Submit a batch job\n```sh\n$ curl --cert ./client.crt --cacert ./ca.crt --key ./client.key --insecure -d @- https://localhost:8443/job/submit \u003c\u003cEOF\n{                 \n    \"Name\":\"test\",\n    \"TimeLimit\":200,\n    \"MinNodes\":1,\n    \"UserId\":$(id -u),\n    \"GroupId\":$(id -g),\n    \"WorkDir\":\"${HOME}\",\n    \"Script\":\"#!/bin/sh\\nhostname\\n\"\n}                                   \nEOF\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangt%2Fslurm-https","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fangt%2Fslurm-https","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangt%2Fslurm-https/lists"}