All Projects → daidokoro → qaz

daidokoro / qaz

Licence: Apache-2.0 license
qaz—A CLI tool for Templating & Managing stacks in AWS Cloudformation

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to qaz

Perun
A command-line validation tool for AWS Cloud Formation that allows to conquer the cloud faster!
Stars: ✭ 82 (-7.87%)
Mutual labels:  yaml, cloudformation, aws-cloudformation
serverless-discord-bot
A serverless Discord Bot template built for AWS Lambda based on Discord's slash commands and the slash-create library.
Stars: ✭ 37 (-58.43%)
Mutual labels:  cloudformation, aws-cloudformation
cloudwatch-dashboards-cloudformation-sample
A sample project to demonstrate using Cloudformation, how to create and configure CloudWatch metric filters, alarms and a dashboard to monitor an AWS Lambda function.
Stars: ✭ 61 (-31.46%)
Mutual labels:  cloudformation, aws-cloudformation
wolkenkratzer
Javascript library for generating CloudFormation templates
Stars: ✭ 13 (-85.39%)
Mutual labels:  cloudformation, aws-cloudformation
Serverless Ide Vscode
Serverless IDE: Enhanced support for AWS SAM and CloudFormation in VS Code
Stars: ✭ 145 (+62.92%)
Mutual labels:  yaml, cloudformation
Ahoy
Create self-documenting cli programs from YAML files. Easily wrap bash, grunt, npm, docker, (anything) to standardize your processes and make the lives of the people working on your project better.
Stars: ✭ 201 (+125.84%)
Mutual labels:  yaml, cli-app
Prinder
Free Pull Request reminder for Github. Has configurations to post reminders to Slack and email along with jinja templating
Stars: ✭ 21 (-76.4%)
Mutual labels:  yaml, templating
Carvel Ytt
YAML templating tool that works on YAML structure instead of text
Stars: ✭ 816 (+816.85%)
Mutual labels:  yaml, templating
headless-wordpress
Headless Wordpress - AWS - Easy Setup
Stars: ✭ 42 (-52.81%)
Mutual labels:  stack, aws-cloudformation
aws-cfn-ses-domain
AWS CloudFormation resources for Amazon SES domain and email identities
Stars: ✭ 45 (-49.44%)
Mutual labels:  cloudformation, aws-cloudformation
serverless-cloudformation-sub-variables
Serverless framework plugin for easily supporting AWS CloudFormation Sub intrinsic function variables
Stars: ✭ 25 (-71.91%)
Mutual labels:  cloudformation, aws-cloudformation
Genesis
Templating, scaffolding and generation tool
Stars: ✭ 122 (+37.08%)
Mutual labels:  yaml, templating
takomo
Organize, parameterize and deploy your CloudFormation stacks
Stars: ✭ 27 (-69.66%)
Mutual labels:  cloudformation, stack
cloudformation-resource-schema
The CloudFormation Resource Schema defines the shape and semantic for resources provisioned by CloudFormation. It is used by provider developers using the CloudFormation RPDK.
Stars: ✭ 77 (-13.48%)
Mutual labels:  cloudformation, aws-cloudformation
Yglu
Yglu ᕄ !? - YAML glue for structural templating and processing
Stars: ✭ 51 (-42.7%)
Mutual labels:  yaml, templating
cfn-include
Preprocessor for CloudFormation templates with support for loops and flexible include statements
Stars: ✭ 83 (-6.74%)
Mutual labels:  yaml, cloudformation
Docs
Rapid CloudFormation: Modular, production ready, open source.
Stars: ✭ 209 (+134.83%)
Mutual labels:  cloudformation, aws-cloudformation
e9-cloudformation-docker-ecs
Docker on Amazon ECS with AWS Fargate using CloudFormation. https://devteds.com/episodes/9-docker-on-amazon-ecs-using-cloudformation
Stars: ✭ 78 (-12.36%)
Mutual labels:  yaml, aws-cloudformation
psh
PSH - PHP shell helper
Stars: ✭ 60 (-32.58%)
Mutual labels:  templating, cli-app
aws-cfn-custom-resource-lambda-edge
🏗 AWS CloudFormation custom resource that allows deploying Lambda@Edge from any region
Stars: ✭ 19 (-78.65%)
Mutual labels:  cloudformation, aws-cloudformation

GitHub stars Build Status Go Report Card

Qaz is a cloud native AWS Cloudformation Template Management CLI tool that focuses on simplifying the process of deploying infrastructure on AWS via Cloudformation by utilising the Go Templates Library and custom functions to generate diverse and configurable templates.

For Qaz, being cloud native means having no explicit local dependencies and utilising resources within the AWS Ecosystem to extend functionality. As a result Qaz supports various methods for dynamically generating infrastructure via Cloudformation.

Qaz emphasizes minimal abstraction from the underlying AWS Cloudformation Platform. It instead enhances customisability and re-usability of templates through dynamic template creation and logic.

--

Features:

  • Advanced template functionality & custom built-in template functions

  • Support for Cloudformation templates written in JSON & YAML

  • Dynamic deploy script generation utilising the built-in templating functionality

  • Single Yaml, JSON or HCL configuration file for multiple stack templates per environment

  • Utilises Go-routines for Multi-stack concurrent Cloudformation requests for all appropriate calls

  • Support for AWS Profile selection & Role switching for Multi-AWS account environments

  • Cross stack referencing with support for Cloudformation Exports(Preferred) & dynamically retrieving stack outputs on deploy

  • Decoupled build mechanism. Qaz can manage infrastructure by accessing config/templates via AWS Lambda, S3, or HTTP(S). The tool does not need to be in the same place as the templates/config.

  • Decoupled stack management. Stacks can be launched individually from different locations and build consistently according to the dependency chain as long as the same configuration file is read.

  • Encryption & Decryption of template values & deployment of encrypted templates using AWS KMS.

  • Simultaneous Cross-Account or Cross-Region Stack Deployments.

  • Support for fetching templates and configuration via Lambda Execution allows for dynamically generating Cloudformation using any of the Languages supported in AWS Lambda, (Go, nodejs, python, java, etc)

  • Troposphere & GoFormation support via Lambda.

  • Deploy Cloudformation directly from your Git Repo

  • Support for AWS Serverless Architecture Model (SAM) Templates

  • Interactive Shell Mode

  • Dynamic Config File generation using Template Functions (New!) - Allows configuration values to be retrieved using API calls, from S3, decrypted via KMS and much more.

Installation

If you have Golang installed:

go get github.com/daidokoro/qaz

On Mac or Linux:

curl https://raw.githubusercontent.com/daidokoro/qaz/master/install.sh | sh

Or, you may need sudo:

curl https://raw.githubusercontent.com/daidokoro/qaz/master/install.sh | sudo sh

Requirements

qaz requires:

  • AWS credentials, you can read about how to set these up here

Quickstart

asciicast

Checkout the Wiki for more on how Qaz works!

Content_

--

See examples folder for more examples of usage. More examples to come.

$ qaz

Usage:
  qaz [flags]
  qaz [command]

Available Commands:
  change      Change-Set management for AWS Stacks
  check       Validates Cloudformation Templates
  completion  Output shell completion code for the specified shell (bash or zsh)
  deploy      Deploys stack(s) to AWS
  exports     Prints stack exports
  generate    Generates template from configuration values
  git-deploy  Deploy project from Git repository
  git-status  Check status of deployment via files stored in Git repository
  help        Help about any command
  init        Creates an initial Qaz config file
  invoke      Invoke AWS Lambda Functions
  lint        Validates stack by calling cfn-lint
  outputs     Prints stack outputs
  protect     Enables stack termination protection
  set-policy  Set Stack Policies based on configured value
  shell       Qaz interactive shell - loads the specified config into an interactive shell
  status      Prints status of deployed/un-deployed stacks
  terminate   Terminates stacks
  update      Updates a given stack
  values      Print stack values from config in YAML format

Flags:
      --debug            Run in debug mode...
  -h, --help             help for qaz
      --no-colors        disable colors in outputs
  -p, --profile string   configured aws profile (default "default")
      --version          print current/running version

Use "qaz [command] --help" for more information about a command.

--

Roadmap and status

Qaz is now in beta, no more breaking changes to come. The focus from this point on is stability.

TODO:

  • More Comprehensive Documentation
  • More Deploy/Gen-Time Functions
  • Tests!!

--

Credits

  • pkazmierczak - Qaz was originally a fork of the Bora Project

Contributing

Fork -> Patch -> Push -> Pull Request

Pull requests welcomed....

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].