{"id":25020993,"url":"https://github.com/excoriate/aws-taggy","last_synced_at":"2026-02-09T03:04:06.968Z","repository":{"id":275377768,"uuid":"925174342","full_name":"Excoriate/aws-taggy","owner":"Excoriate","description":"AWS Resource Tag Compliance CLI","archived":false,"fork":false,"pushed_at":"2025-02-08T17:31:27.000Z","size":456,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-28T14:48:51.499Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/Excoriate.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":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-31T11:25:57.000Z","updated_at":"2025-02-08T17:31:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"f2ae6586-b7f4-42c0-9127-83c25db55b74","html_url":"https://github.com/Excoriate/aws-taggy","commit_stats":null,"previous_names":["excoriate/aws-taggy"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/Excoriate/aws-taggy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excoriate%2Faws-taggy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excoriate%2Faws-taggy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excoriate%2Faws-taggy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excoriate%2Faws-taggy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Excoriate","download_url":"https://codeload.github.com/Excoriate/aws-taggy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excoriate%2Faws-taggy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29255393,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T01:52:29.835Z","status":"online","status_checked_at":"2026-02-09T02:00:09.501Z","response_time":56,"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":[],"created_at":"2025-02-05T12:18:36.404Z","updated_at":"2026-02-09T03:04:06.953Z","avatar_url":"https://github.com/Excoriate.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS Taggy: Cloud Resource Tag Compliance Automation\n\n## 🌟 Project Overview\n\nAWS Taggy is an advanced CLI tool designed to automate and enforce tag compliance across cloud resources, with a primary focus on AWS infrastructure. The tool provides a comprehensive solution for managing, validating, and ensuring consistent tagging standards.\n\n### Key Features\n\n- 🏷️ Comprehensive tag validation through a flexible configuration file, for simple and more complex compliance rules (suitable for all kind of companies).\n- 🔍 Discover/Inspect resources in your AWS account without a configuration, checking which ones are tagged, which aren't, or querying attributes of resources.\n- 🌎 Multi-resource type support (RDS, S3, SNS, CloudWatch Logs, EC2, etc). More resources will be added in the future.\n- 📊 Detailed compliance reporting (table, JSON, YAML, or directly in your `clipboard`)\n\n### 🎯 Use Case\n\nIn modern cloud environments, maintaining consistent and meaningful resource tagging is crucial for:\n\n- Cost allocation, and FinOps.\n- Resource management. Just ensuring governance, specially when dealing with complex IaaC setups.\n- Security compliance\n- Operational efficiency\n\nAWS Taggy solves these challenges by:\n\n- Enforcing predefined tagging standards through a [configuration file](./docs/tag-compliance.yaml)\n- Detecting and reporting non-compliant resources\n\n## 🚀 Quick Start\n\n### Installation\n\nUsing [Homebrew](https://brew.sh/):\n\n```bash\nbrew tap Excoriate/aws-taggy\n# or also\nbrew tap Excoriate/homebrew-tap https://github.com/Excoriate/homebrew-tap.git\n# And then install the cli\nbrew install aws-taggy\n```\n\n### Developer Experience 🌿\n\n#### Prerequisites\n\n- [Nix](https://nixos.org/download.html)\n- [direnv](https://direnv.net/) (optional but recommended)\n- [Just](https://github.com/casey/just)\n\n#### Getting Started\n\n1. **Automatic Environment Setup (Recommended)**:\n\n   ```bash\n   # If using direnv\n   direnv allow\n   ```\n\n2. **Manual Nix Shell**:\n   ```bash\n   # Start the development shell\n   just nix-shell\n   ```\n\n#### Available Commands\n\n- `just nix-shell`: Start the Nix development shell\n- `just ci`: Run the CI pipeline entirely, locally through Nix.\n\n---\n\n## 📚 Documentation\n\n| Directory                  | Description                                             | Contents                                                                                                                     |\n| -------------------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| `docs/how-it-works/`       | Technical deep-dive into AWS Taggy's internal mechanics | - Compliance check flow documentation                                                                                        |\n| `docs/user-guide/`         | Step-by-step guides for using AWS Taggy                 | - How to configure tag compliance\u003cbr\u003e- How to query resources\u003cbr\u003e- How to discover resources\u003cbr\u003e- Tag compliance usage guide |\n| `docs/examples/`           | Real-world configuration and usage examples             | - Sample configuration files\u003cbr\u003e- S3 tag scanning scenarios                                                                  |\n| `docs/tag-compliance.yaml` | Comprehensive tag compliance configuration template     | Detailed example of a full tag compliance configuration                                                                      |\n\nFor more details, explore the documentation in each directory.\n\n## 📦 Quick Guide\n\n### Resource Discovery\n\n*AWS Taggy* allows you (depending on your credentials) to discover resources in your AWS account.\n\n```bash\naws-taggy discover \u003coptions\u003e\n# discover all the S3 buckets across your account.\naws-taggy discover --service s3\n# discover all the S3 buckets, in a given region, and copy the result as a valid YAML in your clipboard.\naws-taggy discover --service s3 --region us-east-1 --clipboard\n```\n\n\u003e NOTE: If you need to output a file in `json`, `yaml` or directly into your `clipboard`, you can use the `--output` flag.\n\n```bash\naws-taggy discover --service s3 --region us-east-1 --output yaml --clipboard\n```\n\n### Query Tags on existing resources\n\n*AWS Taggy* allows you to query tags on existing resources. You can use a combination of the `discover` commands, to get the resource's ARN, and then use the `query` command to get the tags.\n\n```bash\naws-taggy query tags --service=s3 --arn arn:aws:s3:::contactservice-microserv-serverlessdeploymentbuck-1bhyuu --clipboard\n```\n\n### Create a new tag compliance configuration file\n\n*AWS Taggy* allows you to create a new tag compliance configuration file, that you can customize to your needs. See this [link](./docs/tag-compliance.yaml) for more details, and this [guide](./docs/user-guide/how-to-configure-tag-compliance.md) to learn how to configure, and this [guide](./docs/how-it-works/compliance-check-flow.md) to learn how the compliance check works.\n\n```bash\n# Create a file in the current directory.\naws-taggy config generate --output .aws-taggy-tag-compliance.yaml\n```\n\nThe file, when created, can easily be customized to your needs. If so, you can also use aws-taggy to validate if it's a valid configuration file, and if it's not, it will return a detailed error message, with the exact line and column where the error is.\n\n```bash\n# A configuration file is expected to be provided.\naws-taggy config validate --config .aws-taggy-tag-compliance.yaml\n```\n\n### Run the compliance check\n\nThe most relevant part of *AWS Taggy* is the compliance check. This is where the magic happens. You can run the compliance check for a given configuration file, and it will return a detailed report of the compliance of your resources.\n\n```bash\naws-taggy compliance check --config .aws-taggy-tag-compliance.yaml\n```\n\nIn the [examples](./docs/examples/) directory, you can find a sample configuration file, and a sample output of the compliance check, the terraform files to generate the resources used in those examples, and a `README.md` file that explain the scenario expressed in the example.\n\n\n\n\n\n\n\n## 📄 License\n\n[MIT License](./LICENSE)\n\n## 🔮 Roadmap\n\n- [ ] Multi-cloud support\n- [ ] Add support for AWS resources: SQS, Redshift, SES, SSM, EKS, ECS.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexcoriate%2Faws-taggy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexcoriate%2Faws-taggy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexcoriate%2Faws-taggy/lists"}