{"id":39155500,"url":"https://github.com/leoshi01/aws-quota-dashboard","last_synced_at":"2026-01-18T22:00:29.766Z","repository":{"id":332076734,"uuid":"1132623819","full_name":"leoshi01/aws-quota-dashboard","owner":"leoshi01","description":"A web dashboard to view and export AWS service quotas across all regions","archived":false,"fork":false,"pushed_at":"2026-01-12T10:33:41.000Z","size":39,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-12T18:42:09.170Z","etag":null,"topics":["aws","aws-sdk-go","cloud","dashboard","devops","golang","service-quota"],"latest_commit_sha":null,"homepage":"","language":"Go","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/leoshi01.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":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":"2026-01-12T08:17:11.000Z","updated_at":"2026-01-12T10:33:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/leoshi01/aws-quota-dashboard","commit_stats":null,"previous_names":["leoshi01/aws-quota-dashboard"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/leoshi01/aws-quota-dashboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leoshi01%2Faws-quota-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leoshi01%2Faws-quota-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leoshi01%2Faws-quota-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leoshi01%2Faws-quota-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leoshi01","download_url":"https://codeload.github.com/leoshi01/aws-quota-dashboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leoshi01%2Faws-quota-dashboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28519172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T18:55:29.170Z","status":"ssl_error","status_checked_at":"2026-01-17T18:55:03.375Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-sdk-go","cloud","dashboard","devops","golang","service-quota"],"created_at":"2026-01-17T21:57:35.668Z","updated_at":"2026-01-17T21:57:40.768Z","avatar_url":"https://github.com/leoshi01.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS Quota Dashboard\n\nA simple, fast web dashboard to view and export AWS service quotas across all regions.\n\n## Features\n\n- **Multi-region Support** - Query quotas across all AWS regions concurrently\n- **All Services** - Access quotas for all AWS services via Service Quotas API\n- **Usage Metrics** - View current usage, limits, and usage percentage for quotas\n- **Smart Defaults** - Configure default region and service for faster loading\n- **Smart Caching** - Configurable TTL cache to reduce API calls\n- **Multiple Export Formats** - JSON and HTML report export\n- **Clean Web UI** - Simple single-page interface with filtering and search\n- **Visual Warnings** - Color-coded usage percentages (red ≥90%, orange ≥75%, yellow ≥50%)\n\n## Quick Start\n\n### Prerequisites\n\n- Go 1.21+\n- AWS credentials configured (`~/.aws/credentials` or environment variables)\n- IAM permissions (see [iam-policy.json](iam-policy.json))\n\n### IAM Permissions\n\nMinimum required permissions:\n- `servicequotas:ListServices`\n- `servicequotas:ListServiceQuotas`\n- `servicequotas:GetServiceQuota`\n- `ec2:DescribeRegions`\n- `cloudwatch:GetMetricStatistics` (for usage metrics)\n- `cloudwatch:ListMetrics` (for usage metrics)\n\nOr attach AWS managed policies: `ServiceQuotasReadOnlyAccess` + `AmazonEC2ReadOnlyAccess` + `CloudWatchReadOnlyAccess`\n\n### Run Locally\n\n```bash\n# Clone the repository\ngit clone https://github.com/leoshi01/aws-quota-dashboard.git\ncd aws-quota-dashboard\n\n# Install dependencies\ngo mod download\n\n# (Optional) Configure defaults - create config.yaml\n# See Configuration section below\n\n# Run the server\nmake run\n# or\ngo run ./cmd/server\n\n# Open http://localhost:8080\n```\n\n### Using Docker\n\n```bash\n# Build the image\nmake docker-build\n\n# Run with AWS credentials\ndocker run -p 8080:8080 \\\n  -e AWS_ACCESS_KEY_ID=your-key \\\n  -e AWS_SECRET_ACCESS_KEY=your-secret \\\n  aws-quota-dashboard:0.1.0\n```\n\n## API Endpoints\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| GET | `/api/config` | Get current configuration (default region, service) |\n| GET | `/api/regions` | List all enabled AWS regions |\n| GET | `/api/services` | List all available services |\n| GET | `/api/quotas` | Get quotas (supports `region`, `service`, `search` params) |\n| POST | `/api/refresh` | Clear cache and refresh data |\n| GET | `/api/export/json` | Export quotas as JSON |\n| GET | `/api/export/html` | Export quotas as HTML report |\n\n### Query Parameters\n\n```\nGET /api/quotas?region=us-east-1\u0026service=ec2\u0026search=instance\n```\n\n- `region` - Filter by region (default: all regions)\n- `service` - Filter by service code (e.g., `ec2`, `lambda`)\n- `search` - Search in quota name, service name, or service code\n\n## Configuration\n\n### Configuration File\n\nCreate a `config.yaml` file in the project root to customize defaults:\n\n```yaml\n# Default region to use when loading the dashboard\ndefault_region: us-east-1\n\n# Default service to filter (speeds up initial load)\ndefault_service: ec2\n\n# Server configuration\nserver:\n  port: 8080\n  \n# Cache configuration (in minutes)\ncache:\n  ttl_minutes: 5\n\n# Concurrency for fetching quotas from multiple regions\nmax_concurrency: 10\n```\n\n**Benefits of using config.yaml:**\n- 🚀 **Faster Loading** - Start with a specific region and service (e.g., us-east-1 + ec2) instead of loading all regions\n- ⚡ **Reduced API Calls** - Fewer requests to AWS Service Quotas API\n- 🎯 **Better UX** - Dashboard loads with meaningful data immediately\n- 💰 **Lower Costs** - Reduced API usage\n\n### Environment Variables\n\n| Environment Variable | Default | Description |\n|---------------------|---------|-------------|\n| `PORT` | `8080` | Server port (overrides config.yaml) |\n| `AWS_REGION` | `us-east-1` | Default AWS region |\n| `AWS_ACCESS_KEY_ID` | - | AWS access key |\n| `AWS_SECRET_ACCESS_KEY` | - | AWS secret key |\n\n## Project Structure\n\n```\naws-quota-dashboard/\n├── cmd/server/main.go      # Entry point\n├── internal/\n│   ├── aws/                # AWS SDK wrappers\n│   ├── cache/              # In-memory cache\n│   ├── config/             # Configuration management\n│   ├── handler/            # HTTP handlers\n│   └── model/              # Data models\n├── web/templates/          # HTML templates\n├── config.yaml             # Configuration file (optional)\n├── Dockerfile\n├── Makefile\n└── README.md\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleoshi01%2Faws-quota-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleoshi01%2Faws-quota-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleoshi01%2Faws-quota-dashboard/lists"}