{"id":46463822,"url":"https://github.com/neeraj542/aws-eye","last_synced_at":"2026-03-06T04:03:48.678Z","repository":{"id":325683360,"uuid":"1101957344","full_name":"neeraj542/aws-eye","owner":"neeraj542","description":null,"archived":false,"fork":false,"pushed_at":"2025-11-22T18:45:04.000Z","size":44,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-22T20:16:18.953Z","etag":null,"topics":["aws","aws-ec2","go","golang"],"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/neeraj542.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-22T14:57:35.000Z","updated_at":"2025-11-22T19:47:17.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/neeraj542/aws-eye","commit_stats":null,"previous_names":["neeraj542/aws-eye"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/neeraj542/aws-eye","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neeraj542%2Faws-eye","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neeraj542%2Faws-eye/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neeraj542%2Faws-eye/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neeraj542%2Faws-eye/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neeraj542","download_url":"https://codeload.github.com/neeraj542/aws-eye/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neeraj542%2Faws-eye/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30161345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T22:39:40.138Z","status":"online","status_checked_at":"2026-03-06T02:00:08.268Z","response_time":250,"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":["aws","aws-ec2","go","golang"],"created_at":"2026-03-06T04:02:44.327Z","updated_at":"2026-03-06T04:03:48.669Z","avatar_url":"https://github.com/neeraj542.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# aws-eye 🟧\n\n[![Go Reference](https://pkg.go.dev/badge/github.com/neeraj542/aws-eye.svg)](https://pkg.go.dev/github.com/neeraj542/aws-eye)\n![GitHub Release](https://img.shields.io/github/v/release/neeraj542/aws-eye)\n![Go Version](https://img.shields.io/badge/Go-1.21+-00ADD8?logo=go)\n[![Documentation](https://img.shields.io/badge/docs-available-blue)](DOCUMENTATION.md)\n[![MIT License](https://img.shields.io/badge/MIT-License-green)](LICENSE)\n[![Contributing](https://img.shields.io/badge/contributions-welcome-brightgreen)](CONTRIBUTING.md)\n\n\n![aws-eye (2)](https://github.com/user-attachments/assets/19257070-14dd-47c9-a808-4460c6f02b24)\n\n\nA lightweight, interactive AWS EC2 utility that fetches instance details in a clean, readable format. Think of it as a user-friendly, interactive version of `aws ec2 describe-instances`.\n\n## Overview\n\naws-eye is a command-line tool that provides an intuitive interface for querying AWS EC2 instances. It offers both interactive prompts and command-line flags, making it suitable for both beginners and automation scripts.\n\n### Key Features\n\n- **Interactive Mode**: Step-by-step prompts for easy usage\n- **Flag Mode**: Quick command-line flags for automation\n- **Color-coded Output**: Visual state indicators (green for running, yellow for stopped)\n- **Multiple Formats**: Pretty-printed or JSON output\n- **Instance Filtering**: Filter by instance ID\n- **Comprehensive Information**: Instance ID, Name, Type, State, IPs, AZ, AMI, Architecture, Launch Time\n\n## Installation\n\n### Prerequisites\n\n- Go 1.21 or later \n- AWS account with EC2 access\n- AWS credentials configured (see [Documentation](DOCUMENTATION.md#aws-credentials-setup))\n\n### Build from Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/neeraj542/aws-eye.git\ncd aws-eye\n\n# Install dependencies\nmake install\n\n# Build the binary\nmake build\n```\n\n### Install Globally (Optional)\n\n```bash\nsudo cp aws-eye /usr/local/bin/\n# or\nsudo ln -s $(pwd)/aws-eye /usr/local/bin/aws-eye\n```\n\n## Quick Start\n\n### Interactive Mode\n\nRun the command without flags to enter interactive mode:\n\n```bash\n./aws-eye describe\n```\n\nThe CLI will prompt you for:\n1. AWS region (default: eu-north-1)\n2. Whether to filter by instance ID\n3. Output format (Pretty/JSON)\n\n**Example Interactive Session:**\n\n\u003cimg width=\"872\" height=\"240\" alt=\"Interactive Session Screenshot\" src=\"https://github.com/user-attachments/assets/afdd4b53-2505-4ea3-aac3-7b5466d34f2a\" /\u003e\n\n### Flag Mode\n\nUse command-line flags for quick, non-interactive usage:\n\n```bash\n# List all instances in a region\n./aws-eye describe --region eu-north-1\n\n# Filter by instance ID\n./aws-eye describe --region eu-north-1 --instance-id i-0abc1234\n\n# JSON output\n./aws-eye describe --region eu-north-1 --json\n```\n\n**Available Flags:**\n- `--region, -r`: AWS region (e.g., eu-north-1, us-east-1)\n- `--instance-id, -i`: Filter by specific instance ID\n- `--json`: Output in JSON format instead of pretty-printed\n\n## Output Format\n\n### Pretty Format (Default)\n\nThe default format displays instance information in a clean, readable layout:\n\n```\n--------------------------------------------------\nInstance: i-02ab34cd56\nName: opsa-server\nType: t3.micro\nState: RUNNING\nPublic IP: 16.171.xx.xx\nPrivate IP: 172.31.xx.xx\nAZ: eu-north-1b\nAMI: ami-0abcd1234\nArchitecture: x86_64\nLaunched: 2025-11-22 15:35:06 UTC\n--------------------------------------------------\n```\n\n**State Colors:**\n- Green: Running instances\n- Yellow: Stopped instances\n\n### JSON Format\n\nUse the `--json` flag for machine-readable output:\n\n```json\n[\n  {\n    \"id\": \"i-02ab34cd56\",\n    \"name\": \"opsa-server\",\n    \"type\": \"t3.micro\",\n    \"state\": \"running\",\n    \"public_ip\": \"16.171.xx.xx\",\n    \"private_ip\": \"172.31.xx.xx\",\n    \"availability_zone\": \"eu-north-1b\",\n    \"ami_id\": \"ami-0abcd1234\",\n    \"architecture\": \"x86_64\",\n    \"launch_time\": \"2025-11-22 15:35:06 UTC\"\n  }\n]\n```\n\n## Development\n\n### Makefile Commands\n\n```bash\nmake build          # Build the application\nmake test           # Run tests\nmake format         # Format code\nmake run            # Run in interactive mode\nmake clean          # Clean build artifacts\nmake install        # Install dependencies\nmake test-coverage  # Run tests with coverage\n```\n\n### Project Structure\n\n```\naws-eye/\n├── cmd/              # CLI commands\n│   ├── root.go       # Root command setup\n│   └── describe.go   # Describe command\n├── internal/         # Internal packages\n│   ├── awsclient.go  # AWS client initialization\n│   ├── ec2.go        # EC2 fetching and parsing\n│   └── *_test.go     # Test files\n├── main.go           # Entry point\n├── Makefile          # Build automation\n└── README.md         # This file\n```\n\n## Documentation\n\nFor detailed documentation, examples, troubleshooting, and API reference, see [DOCUMENTATION.md](DOCUMENTATION.md).\n\n## Contributing\n\nContributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Dependencies\n\n- [Cobra](https://github.com/spf13/cobra) - CLI framework\n- [Survey](https://github.com/AlecAivazis/survey) - Interactive prompts\n- [Color](https://github.com/fatih/color) - Terminal colors\n- [AWS SDK Go v2](https://github.com/aws/aws-sdk-go-v2) - AWS API client\n\n---\n\nMade with ❤️ for AWS users who want a simpler way to query EC2 instances\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneeraj542%2Faws-eye","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneeraj542%2Faws-eye","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneeraj542%2Faws-eye/lists"}