AWS 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.
- 🏷️ Comprehensive tag validation through a flexible configuration file, for simple and more complex compliance rules (suitable for all kind of companies).
- 🔍 Discover/Inspect resources in your AWS account without a configuration, checking which ones are tagged, which aren't, or querying attributes of resources.
- 🌎 Multi-resource type support (RDS, S3, SNS, CloudWatch Logs, EC2, etc). More resources will be added in the future.
- 📊 Detailed compliance reporting (table, JSON, YAML, or directly in your
clipboard)
In modern cloud environments, maintaining consistent and meaningful resource tagging is crucial for:
- Cost allocation, and FinOps.
- Resource management. Just ensuring governance, specially when dealing with complex IaaC setups.
- Security compliance
- Operational efficiency
AWS Taggy solves these challenges by:
- Enforcing predefined tagging standards through a configuration file
- Detecting and reporting non-compliant resources
Using Homebrew:
brew tap Excoriate/aws-taggy
# or also
brew tap Excoriate/homebrew-tap https://github.com/Excoriate/homebrew-tap.git
# And then install the cli
brew install aws-taggy-
Automatic Environment Setup (Recommended):
# If using direnv direnv allow -
Manual Nix Shell:
# Start the development shell just nix-shell
just nix-shell: Start the Nix development shelljust ci: Run the CI pipeline entirely, locally through Nix.
| Directory | Description | Contents |
|---|---|---|
docs/how-it-works/ |
Technical deep-dive into AWS Taggy's internal mechanics | - Compliance check flow documentation |
docs/user-guide/ |
Step-by-step guides for using AWS Taggy | - How to configure tag compliance - How to query resources - How to discover resources - Tag compliance usage guide |
docs/examples/ |
Real-world configuration and usage examples | - Sample configuration files - S3 tag scanning scenarios |
docs/tag-compliance.yaml |
Comprehensive tag compliance configuration template | Detailed example of a full tag compliance configuration |
For more details, explore the documentation in each directory.
AWS Taggy allows you (depending on your credentials) to discover resources in your AWS account.
aws-taggy discover <options>
# discover all the S3 buckets across your account.
aws-taggy discover --service s3
# discover all the S3 buckets, in a given region, and copy the result as a valid YAML in your clipboard.
aws-taggy discover --service s3 --region us-east-1 --clipboardNOTE: If you need to output a file in
json,yamlor directly into yourclipboard, you can use the--outputflag.
aws-taggy discover --service s3 --region us-east-1 --output yaml --clipboardAWS 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.
aws-taggy query tags --service=s3 --arn arn:aws:s3:::contactservice-microserv-serverlessdeploymentbuck-1bhyuu --clipboardAWS Taggy allows you to create a new tag compliance configuration file, that you can customize to your needs. See this link for more details, and this guide to learn how to configure, and this guide to learn how the compliance check works.
# Create a file in the current directory.
aws-taggy config generate --output .aws-taggy-tag-compliance.yamlThe 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.
# A configuration file is expected to be provided.
aws-taggy config validate --config .aws-taggy-tag-compliance.yamlThe 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.
aws-taggy compliance check --config .aws-taggy-tag-compliance.yamlIn the 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.
- Multi-cloud support
- Add support for AWS resources: SQS, Redshift, SES, SSM, EKS, ECS.