Skip to content

taskcat Documentation

taskcat

Test your AWS CloudFormation templates across multiple regions with confidence. taskcat automates the deployment and validation of your infrastructure as code, ensuring your templates work reliably everywhere.

What is taskcat?

taskcat is a powerful testing framework for AWS CloudFormation templates that helps you validate your infrastructure as code across multiple AWS regions simultaneously. Built by AWS Solutions Architects, taskcat ensures your templates are robust, reliable, and ready for production deployment.

Multi-Region Testing

Deploy and test your CloudFormation templates across multiple AWS regions simultaneously to ensure global compatibility and resilience.

Automated Validation

Comprehensive automated testing with detailed pass/fail reporting, stack validation, and resource verification.

Dynamic Values

Runtime-evaluated parameters that pull values from your AWS environment, generate random data, and provide context-aware configurations.

Rich Reporting

Generate detailed HTML reports with deployment status, logs, and visual dashboards to track your testing results.

CI/CD Integration

Seamlessly integrate with your continuous integration pipelines using GitHub Actions, Jenkins, or AWS CodePipeline.

Key Features

🚀 Quick Setup

Get started in minutes with simple configuration files and intuitive CLI commands.

🌍 Global Testing

Test across all AWS regions or specify custom region sets for your deployment requirements.

Dynamic Values

Runtime-evaluated parameters that can pull values from your AWS environment, generate random data, and provide context-aware configurations for flexible testing.

📊 Comprehensive Reports

Generate detailed reports with stack outputs, resource details, and deployment timelines.

🔒 Security First

Built-in security best practices with IAM role management and secure parameter handling.

Quick Start Example

Basic taskcat Configuration
=== "taskcat.yml"
project:
  name: my-cloudformation-project
  regions:
    - us-east-1
    - us-west-2
    - eu-west-1

tests:
  default:
    template: templates/main.yaml
    parameters:
      InstanceType: t3.micro
      AvailabilityZones: $[taskcat_genaz_2]
      DatabasePassword: $[taskcat_genpass_16S]
      S3Bucket: $[taskcat_autobucket]
=== "Advanced Configuration"
project:
  name: enterprise-app
  regions:
    - us-east-1
    - us-west-2
    - eu-west-1

global:
  parameters:
    ProjectName: $[taskcat_project_name]
    Environment: production

tests:
  vpc-infrastructure:
    template: templates/vpc.yaml
    parameters:
      VpcName: $[taskcat_project_name]-vpc-$[taskcat_current_region]
      AvailabilityZones: $[taskcat_genaz_3]

  database-tier:
    template: templates/rds.yaml
    parameters:
      DBInstanceId: $[taskcat_project_name]-db-$[taskcat_genuuid]
      MasterPassword: $[taskcat_secretsmanager_prod/db/password]
      DBSubnetGroup: $[taskcat_getval_VpcName]-db-subnets

  application-tier:
    template: templates/app.yaml
    parameters:
      AppName: $[taskcat_project_name]-app
      S3Bucket: $[taskcat_autobucket]
      ApiKey: $[taskcat_ssm_/app/api/key]
      CurrentRegion: $[taskcat_current_region]
=== "CLI Commands"
# Install taskcat
pip install taskcat

# Initialize a new project
taskcat init

# Test your templates
taskcat test run

# Generate reports
taskcat test run --output-directory ./reports
=== "GitHub Actions"
name: taskcat Tests
on: [push, pull_request]

jobs:
  taskcat:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.9'
      - name: Install taskcat
        run: pip install taskcat
      - name: Run Tests
        run: taskcat test run

Why Choose taskcat?

🏆 AWS Solutions Architecture Team Approved
taskcat is developed and maintained by the AWS Solutions Architecture team and is used internally by AWS for testing CloudFormation templates in AWS Quick Starts and Solutions.

Proven at Scale

  • Used by AWS internally for testing hundreds of CloudFormation templates
  • Powers the AWS Quick Start program with over 150+ tested solutions
  • Trusted by enterprises worldwide for production deployments

Developer Friendly

  • Simple YAML configuration
  • Intuitive command-line interface
  • Rich documentation and examples
  • Active community support

Enterprise Ready

  • Multi-account testing support
  • Advanced parameter management
  • Comprehensive logging and reporting
  • Integration with AWS services

Getting Help

📚 Documentation

Comprehensive guides, tutorials, and API reference to help you get the most out of taskcat.

Browse Docs
💬 Community

Join our community discussions, ask questions, and share your taskcat experiences.

Join Community
🐛 Issues

Report bugs, request features, or contribute to the taskcat project on GitHub.

Report Issue

What's New

🎉 Latest Updates
Check out the latest features including enhanced pseudo-parameters, improved AWS service integrations, and better CI/CD support.

Recent Improvements

  • Enhanced Pseudo-Parameters: New AWS service integrations and improved parameter handling
  • Better Error Reporting: More detailed error messages and troubleshooting guidance
  • Performance Optimizations: Faster template processing and parallel execution
  • Extended AWS Service Support: Support for latest AWS services and regions

Next Steps

Ready to start testing your CloudFormation templates? Here's your path forward:

  1. Install taskcat - Get taskcat up and running in minutes
  2. Quick Start Guide - Run your first test
  3. Configuration Guide - Learn about advanced configuration options
  4. Dynamic Values - Master runtime-evaluated parameters and AWS environment integration
  5. Examples - Explore real-world usage scenarios
💡 Pro Tip
Start with the Quick Start guide to run your first test, then explore Dynamic Values to make your templates flexible with runtime-evaluated parameters that pull from your AWS environment.

taskcat - Making CloudFormation testing simple, reliable, and scalable.

Built with ❤️ by the AWS Solutions Architecture Team