{"id":30207667,"url":"https://github.com/kernelci/kernelci-storage","last_synced_at":"2025-08-13T16:13:51.428Z","repository":{"id":270002767,"uuid":"906759836","full_name":"kernelci/kernelci-storage","owner":"kernelci","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-20T13:50:36.000Z","size":61,"stargazers_count":1,"open_issues_count":3,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-07T14:23:06.873Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kernelci.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-21T20:27:38.000Z","updated_at":"2025-08-01T13:34:23.000Z","dependencies_parsed_at":"2024-12-27T19:25:57.578Z","dependency_job_id":"1ac16a3c-4e6b-4469-9a5e-0d0d5f260565","html_url":"https://github.com/kernelci/kernelci-storage","commit_stats":null,"previous_names":["nuclearcat/kernelci-storage"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/kernelci/kernelci-storage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kernelci%2Fkernelci-storage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kernelci%2Fkernelci-storage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kernelci%2Fkernelci-storage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kernelci%2Fkernelci-storage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kernelci","download_url":"https://codeload.github.com/kernelci/kernelci-storage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kernelci%2Fkernelci-storage/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270270848,"owners_count":24555910,"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-13T02:00:09.904Z","response_time":66,"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":[],"created_at":"2025-08-13T16:13:47.898Z","updated_at":"2025-08-13T16:13:51.406Z","avatar_url":"https://github.com/kernelci.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KernelCI Storage Server\n\nThis is a simple storage server that supports file upload and download, with token based authentication.\nIt supports multiple backends, currently only Azure Blob is supported, to provide user transparent storage.\nIt caches the files in a local directory and serves them from there.\nRange requests are supported, but only for start offset, end limit is not implemented yet.\n\n## Configuration\n\nThe server is configured using toml configuration file, the default configuration file is `config.toml`.\n\n```toml\njwt_secret=\"JWT_SECRET\"\n[azure]\naccount=\"\"\nkey=\"\"\ncontainer=\"\"\nsastoken=\"\"\n```\n\n## Creating user tokens\n\nThe server uses JWT token based authentication. The token is passed in the `Authorization` header as a Bearer token.\nJWT secret is configured in the `config.toml` file.\n\n```bash\n./kernelci-storage -generate_jwt_token user@email.com\n```\nThis will generate a JWT token for the user.\n\n### Testing Token Validity\n\nYou can verify if a token is valid using the `/v1/checkauth` endpoint:\n\n```bash\ncurl -X GET http://localhost:3000/v1/checkauth \\\n    -H \"Authorization: Bearer \u003cJWT_TOKEN\u003e\"\n```\n\n**Responses:**\n- `200 OK` with body `Authorized: user@email.com` - Token is valid\n- `401 Unauthorized` with body `Unauthorized` - Token is invalid or missing\n\n## API\n\nSee [docs](docs/) for the API documentation.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkernelci%2Fkernelci-storage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkernelci%2Fkernelci-storage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkernelci%2Fkernelci-storage/lists"}