{"id":26649114,"url":"https://github.com/itsjfx/csi","last_synced_at":"2025-03-25T00:48:15.127Z","repository":{"id":282420019,"uuid":"948484698","full_name":"itsjfx/csi","owner":"itsjfx","description":"CLI for AWS CloudShell","archived":false,"fork":false,"pushed_at":"2025-03-21T10:58:33.000Z","size":50,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T11:02:28.855Z","etag":null,"topics":["aws","cli","cloudshell"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itsjfx.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":"2025-03-14T12:23:03.000Z","updated_at":"2025-03-21T10:58:36.000Z","dependencies_parsed_at":"2025-03-14T15:22:12.814Z","dependency_job_id":"8a9a7749-1bf7-4ee5-acdf-a71a2c8f2484","html_url":"https://github.com/itsjfx/csi","commit_stats":null,"previous_names":["itsjfx/csi"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsjfx%2Fcsi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsjfx%2Fcsi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsjfx%2Fcsi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsjfx%2Fcsi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itsjfx","download_url":"https://codeload.github.com/itsjfx/csi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245377954,"owners_count":20605375,"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":["aws","cli","cloudshell"],"created_at":"2025-03-25T00:48:14.727Z","updated_at":"2025-03-25T00:48:15.117Z","avatar_url":"https://github.com/itsjfx.png","language":"Python","readme":"# csi\n\n`csi` is a command-line interface for AWS CloudShell.\n\nIt allows you to manage and connect to CloudShell sessions from the CLI. It supports VPC and non-VPC sessions.\n\n## Why\n\nWhen Amazon announced VPC support to CloudShell it quickly became my favourite service.  \nHaving the ability to spawn a CloudShell session within specific security groups and subnets is extremely useful to troubleshoot issues.\n\nYou only pay for data transfer, [no additional fees](https://aws.amazon.com/cloudshell/pricing/), so cost is not of great concern.\n\nUnfortunately, CloudShell is only available on the AWS console, there's no official support in `boto` or the SDKs\n\nUsing a terminal in a web browser is sacrilege and also slow, so `csi` brings CloudShell to your terminal where it belongs :)\n\n## Warning\n\nAmazon might be unhappy. Please don't abuse this.\n\n## TODO\n\n* [ ] inject credentials\n* [ ] uploading files\n* [ ] downloading files\n* [x] gimme shell to IP + port or instance ID + port or RDS or RDS + port (GENIE)\n* [ ] temp environments\n* [ ] temp environments + temp principals/roles\n* [ ] tunnel?\n\n## Setup\n\n1. Install dependencies using `uv` or `pip`\n2. If you wish to use `csi ssm` or `csi execute`, you **must** have the [AWS Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) somewhere in your `PATH`\n3. Run `csi`\n\n## Usage\n\n```\n$ csi\n\nusage: csi [-h] [-l {debug,info,warning,error,critical}] {ls,list,create,start,delete,stop,ssm,execute,genie} ...\n\npositional arguments:\n  {ls,list,create,start,delete,stop,ssm,execute,genie}\n    ls                  List available Cloudshells\n    list                List available Cloudshells\n    create              Create a new Cloudshell\n    start               Start a Cloudshell\n    delete              Delete a Cloudshell\n    stop                Stop a Cloudshell\n    ssm                 SSM to a Cloudshell (requires Session Manager plugin)\n    execute             Executes a command on a Cloudshell (requires Session Manager Plugin)\n    genie               Magically gives you a Cloudshell with the right access in your VPC\n\noptions:\n  -h, --help            show this help message and exit\n  -l, --log {debug,info,warning,error,critical}\n                        Logging level (default: info)\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsjfx%2Fcsi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitsjfx%2Fcsi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsjfx%2Fcsi/lists"}