{"id":13685595,"url":"https://github.com/devsisters/eclair","last_synced_at":"2025-04-05T23:09:56.712Z","repository":{"id":36426750,"uuid":"40731747","full_name":"devsisters/eclair","owner":"devsisters","description":"Simple ssh tool for Amazon EC2","archived":false,"fork":false,"pushed_at":"2023-05-08T02:57:53.000Z","size":616,"stargazers_count":123,"open_issues_count":12,"forks_count":20,"subscribers_count":41,"default_branch":"master","last_synced_at":"2025-03-29T22:07:02.800Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/devsisters.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}},"created_at":"2015-08-14T19:06:05.000Z","updated_at":"2024-09-27T09:38:54.000Z","dependencies_parsed_at":"2024-01-14T18:04:58.702Z","dependency_job_id":null,"html_url":"https://github.com/devsisters/eclair","commit_stats":{"total_commits":102,"total_committers":9,"mean_commits":"11.333333333333334","dds":"0.32352941176470584","last_synced_commit":"af46bcf9f3c2dae5011c200af08c9e58a45009e1"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsisters%2Feclair","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsisters%2Feclair/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsisters%2Feclair/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsisters%2Feclair/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devsisters","download_url":"https://codeload.github.com/devsisters/eclair/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247411235,"owners_count":20934653,"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":[],"created_at":"2024-08-02T14:00:54.300Z","updated_at":"2025-04-05T23:09:56.695Z","avatar_url":"https://github.com/devsisters.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"eclair [![RubyGems total downloads]][RubyGems]\n========\n![A video showing how Eclair works]\n\nSimple ssh helper for Amazon EC2\n\n```bash\ngem install ecl\n```\n\n### Requirements\n- tmux \u003e 2.0\n- Properly configured `~/.aws/credentials`\n\n### Usage\n```console\n$ ecl\n```\nFirst execution will create `~/.ecl/config.rb` file. Edit this file and run again.\n\n\u0026nbsp;\n\nConfigurations\n--------\n### aws_region\nAWS region to connect.\n```ruby\nconfig.aws_region = \"ap-northeast-1\"\n```\n\n### columns\nMax number of columns displayed in eclair.\n```ruby\nconfig.columns = 4\n```\n\n### ssh_username\nFunction to find username from image. Returns username of given image. Uses\nimage data from [EC2::Client#describe_images] API call.\n\n```ruby\nconfig.ssh_username = lambda do |image|\n  case image.name\n  when /ubuntu/\n    \"ubuntu\"\n  else\n    \"ec2-user\"\n  end\nend\n```\n\n### group_by\nFunction to find group name from instance. Returns group name from instance\ndata. Uses instance data from [EC2::Client#describe_instances] API call.\n\nYou can group instances by security groups with this config:\n```ruby\nconfig.group_by = lambda do |instance|\n  if instance.security_groups.first\n    instance.security_groups.first.group_name\n  else\n    \"no_group\"\n  end\nend\n```\n\nGrouping by instance name is also possible:\n```ruby\nconfig.group_by = lambda do |instance|\n  case instance.name\n  when /^production/\n    \"production servers\"\n  when /^test/\n    \"test servers\"\n  end\nend\n```\n\nYou can disable grouping by assigning nil:\n```ruby\nconfig.group_by = nil\n```\n\n### ssh_ports\nPort numbers to try ssh.\n```ruby\nconfig.ssh_ports = [1234, 22]\n```\n\n### ssh_options\nExtra options passed to ssh.\n```ruby\nconfig.ssh_options = \"-o ConnectTimeout=1 -o StrictHostKeyChecking=no\"\n```\n\n### ssh_hostname\nHostname to use in ssh. Choose from `:public_dns_name`, `:public_ip_address`,\n`:private_dns_name`, `:private_ip_address`\n```ruby\nconfig.ssh_hostname = :public_ip_address\n```\n\n### ssh_keys\nHash of EC2 keypair name =\u003e key_path in local. If your key has been already\nregistered in ssh-agent, you don't have to configure this.\n```ruby\nconfig.ssh_keys = {\n  \"keypair1\" =\u003e \"/path/to/key1\",\n  \"keypair2\" =\u003e \"/path/to/key2\",\n}\n```\n\n### use_vpc_id_env (Experimental)\n_This Feature is experimental and subject to change in future versions_ \n\nBoolean variable. If true use VPC_ID Environment variable for filtering EC2 instances.\n```ruby\nconfig.use_vpc_id_env = true\n```\n\nExample VPC_ID variable:\n```\nVPC_ID=vpc-12345678901234567\n```\n\n\u0026nbsp;\n\nInstall from Source\n--------\nIf you want to use the latest functionalities, install Eclair from the source.\n```bash\n# Headers of ncursesw is required to build Eclair in GNU/Linux\nsudo apt-get install libncursesw5-dev   # Debian, Ubuntu, etc\nsudo yum install libncursesw5-devel     # CentOS, etc\n\n# Build latest eclair gem\ngem build eclair.gemspec\n\n# Install eclair into your system\ngem install ecl-3.0.4.gem\n```\n\n\u0026nbsp;\n\n--------\n\n*eclair* is primarily distributed under the terms of the [MIT License].\n\n[RubyGems]: https://rubygems.org/gems/ecl\n[RubyGems total downloads]: https://badgen.net/rubygems/dt/ecl\n[A video showing how Eclair works]: out.gif\n[EC2::Client#describe_images]: https://docs.aws.amazon.com/AWSRubySDK/latest/AWS/EC2/Client.html#describe_images-instance_method\n[EC2::Client#describe_instances]: https://docs.aws.amazon.com/AWSRubySDK/latest/AWS/EC2/Client.html#describe_instances-instance_method\n[MIT License]: LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevsisters%2Feclair","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevsisters%2Feclair","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevsisters%2Feclair/lists"}