{"id":18467137,"url":"https://github.com/srounce/keyps","last_synced_at":"2025-04-08T09:31:59.796Z","repository":{"id":154085765,"uuid":"631725512","full_name":"srounce/keyps","owner":"srounce","description":"Provision your authorized_keys via HTTPS/GitHub/GitLab","archived":false,"fork":false,"pushed_at":"2023-05-04T14:12:15.000Z","size":36,"stargazers_count":8,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-23T09:48:46.843Z","etag":null,"topics":["devops-tools","ssh-key-manager"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/srounce.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":"2023-04-23T22:59:26.000Z","updated_at":"2024-11-29T22:43:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"51fdf6bb-d026-43d9-8216-66c4a8aad4c4","html_url":"https://github.com/srounce/keyps","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srounce%2Fkeyps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srounce%2Fkeyps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srounce%2Fkeyps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srounce%2Fkeyps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/srounce","download_url":"https://codeload.github.com/srounce/keyps/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247814036,"owners_count":21000486,"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":["devops-tools","ssh-key-manager"],"created_at":"2024-11-06T09:18:58.496Z","updated_at":"2025-04-08T09:31:59.790Z","avatar_url":"https://github.com/srounce.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Keyps\n\n**Key** **P**rovisioning **S**ervice\n\n_Provision `authorized_keys` from HTTPS/GitHub/GitLab and automatically keep them up to date._\n\n## Motivation\n\n### Problem\n\nProvisioning the `authorized_keys` for a user is usually either a cumbersome process, requiring a human to manually update a list of keys and redeploy every time a key changes or a person joins/leaves the team, or it involves setting up secret management providers that can be overkill in many situations. The needs of many sysadmins lie between these two extremes.\n\n### Solution\n\n`keyps` aims to fill part of that gap by simplifying and automating the provisioning of `authorized_keys` by (re-)using infrastructure/services that are already ubiquitous. This allows individual team members to manage their keys and have those changes reflected on the machines they've been permitted access to without redeploying or deploying complicated additional infrastructure.\n\n## Installation\n\n- Nix: `nix run github:srounce/keyps`\n\n\u003cspan style=\"opacity:.25\"\u003e**TODO: Improve this section**\u003c/span\u003e\n\n## Usage\n\n### Example\n\n```bash\n$ keyps -s github:srounce\n```\n\n### Options\n\n- `-v...`\n\n  Verbosity level, the more `v`s the more verbose program output will be.\n\n  _Example:_ `-vvv`\n\n- `-f`, `--file \u003cFILE\u003e`\n\n  Path to authorized_keys file (eg. ./authorized_keys). This file must exist and be writable.\n\n  If not specified, an upward search for the closest available `.ssh/authorized_keys` file will be performed from the current working directory.\n\n- `-s`, `--source \u003cSOURCES\u003e`\n\n  One or more sources with one of the following formats:\n\n  - `github:\u003cusername\u003e`\n  - `gitlab:\u003cusername\u003e`\n  - `https://example.com/my.keys`\n\n- `-i`, `--interval \u003cINTERVAL\u003e`\n\n  Time in seconds to wait between polling sources\n\n  _Default: 10_\n\n- `-h`, `--help`\n\n  Print help (see a summary with '-h')\n\n- `-V`, `--version`\n\n  Print version\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrounce%2Fkeyps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsrounce%2Fkeyps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrounce%2Fkeyps/lists"}