cfval

command module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 20, 2016 License: MIT Imports: 12 Imported by: 0

README

cfval: The CloudFormation template validator

Build Status

Have you ever waited 15 minutes for CloudFormation to let you know that you forgot to set the Type of a DNS record? Yeah, and that's on a good day. Try 45 minutes for your CloudFront Distribution to fail...

After getting very tired of this process, and with a large infrastructure refactor looming, I decided some time could be better spent catching issues sooner in the process. Hence, cfval.

cfval is a small tool which validates a CloudFormation JSON template and notifies you of any issues it can find. Missing required properties, properties which conflict with others, Refs to parameters which don't exist or incompatible properties of resources, and much more.

$ cfval validate my-template.json

Resources.MyLaunchConfiguration.UserData.Ref ... Ref 'CloudInitScript' is not a resource or parameter

1 failure

Installation

For now cfval is only installable via go get. This will change once development stabalises and I can push releases out.

go get -v github.com/jagregory/cfval

Known issues

Most of the major/common AWS resources are now supported by cfval; however, there are still quite a few outstanding.

Watch this space. Contributors very welcome.

See AWS Resource support for the current status of Resources.

Contributing

I need help in two ways:

1. Implementing more resources

Take a look at the resources/ directory to see existing examples and go nuts. If there's anything complicated or unusual, write a test.

2. Testing

I only have limited CloudFormation templates available to test cfval against. The more weird and wonderful templates I have the more accurate I can make cfval.

The easiest thing you can do is run cfval against your weird and wonderful template and tell me what happens. Raise an issue.

Alternatively, email me (james@jagregory.com) your templates! Sanitise/obfuscate them if necessary.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL