Coder Social home page Coder Social logo

russomi-labs / taskcat-examples Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 419 KB

Sample project for Multi-Region CloudFormation Test Deployment Tool

Home Page: http://taskcat.io

License: MIT License

Shell 100.00%
cloudformation cloudformation-testing-framework cfn ci infrastructure-as-code aws sample-project taskcat examples

taskcat-examples's Introduction

taskcat-examples ๐Ÿ˜ป

What is TaskCat?

TaskCat is a tool that tests AWS CloudFormation templates. It deploys your AWS CloudFormation template in multiple AWS Regions and generates a report with a pass/fail grade for each region. You can specify the regions and number of Availability Zones you want to include in the test, and pass in parameter values from your AWS CloudFormation template. TaskCat is implemented as a Python class that you import, instantiate, and run.

See taskcat.io for more details.

Installing TaskCat (Docker install)

Prerequisites: docker

curl -s https://raw.githubusercontent.com/aws-quickstart/taskcat/master/installer/docker-install-master| sudo python -E

Note: (If you do not have root privileges taskcat will install in the current directory)

Installing via pip3 (for those who do not want to use the docker installer)

Prerequisites: Python 3.5+ and pip3

pip3 install taskcat

Installing via pip3 --user (for those who want to install taskcat into their homedir)

Prerequisites: Python 3.5+ and pip3 Note: (the user install dir is platform specific)

For Example: (On Mac: ~/Library/Python/3.x/bin/taskcat)

For Example: (On Linux: ~/.local/bin)

pip3 install taskcat --user

Warning: Be sure to add the python bin dir to your $PATH

Running TaskCat

If you have AWS credentials sourced (or default boto profile is available)

taskcat -c sample-taskcat-project/ci/config.yml

If you need to pass ACCESS and SECRET keys

taskcat -c sample-taskcat-project/ci/config.yml -A YOUR_ACCESS_KEY -S YOUR_SECRET_KEY

If you want to use a different account or profile

taskcat -c sample-taskcat-project/ci/config.yml -P boto-profile-name

See installing-taskcat for more details.

Running the sample-taskcat-project

Use the sample-taskcat-project folder as a working starting point for taskcat based quickstarts.

export AWS_DEFAULT_PROFILE=russomi
export AWS_DEFAULT_REGION=us-east-1

taskcat -c sample-taskcat-project/ci/taskcat-autobucket.yaml -v

Usage

usage: taskcat [-h] [-c CONFIG_YML] [-P BOTO_PROFILE] [-A AWS_ACCESS_KEY]
               [-S AWS_SECRET_KEY] [-n] [-N] [-p] [-v] [-m] [-t TAG]
               [-s STACK_PREFIX]

            Multi-Region CloudFormation Test Deployment Tool
            For more info see: http://taskcat.io


optional arguments:
  -h, --help            show this help message and exit
  -c CONFIG_YML, --config_yml CONFIG_YML
                         (Config File Required!)
                         example here: https://raw.githubusercontent.com/aws-quickstart/taskcat/master/examples/sample-taskcat-project/ci/taskcat.yml
  -P BOTO_PROFILE, --boto_profile BOTO_PROFILE
                        Authenticate using boto profile
  -A AWS_ACCESS_KEY, --aws_access_key AWS_ACCESS_KEY
                        AWS Access Key
  -S AWS_SECRET_KEY, --aws_secret_key AWS_SECRET_KEY
                        AWS Secret Key
  -n, --no_cleanup      Sets cleanup to false (Does not teardown stacks)
  -N, --no_cleanup_failed
                        Sets cleaup to false if the stack launch fails (Does not teardown stacks if it experiences a failure)
  -p, --public_s3_bucket
                        Sets public_s3_bucket to True. (Accesses objects via public HTTP, not S3 API calls)
  -v, --verbose         Enables verbosity
  -m, --multithread_upload
                        Enables multithreaded upload to S3
  -t TAG, --tag TAG     add tag to cloudformation stack, must be in the format TagKey=TagValue, multiple -t can be specified
  -s STACK_PREFIX, --stack-prefix STACK_PREFIX
                        set prefix for cloudformation stack name. only accepts lowercase letters, numbers and '-'

taskcat-examples's People

Contributors

russomi avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

taskcat-examples's Issues

Example Feature Request

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Example Bug Report

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.