Go Other
Permalink
Failed to load latest commit information.
_layouts Listing container instances Jun 20, 2017
acceptance/aws Allow to update distribution Nov 17, 2017
aws Adding distro param to create instance Nov 20, 2017
cloud Overall re-design and full acceptance testing of Nov 14, 2017
commands Adding distro param to create instance Nov 20, 2017
config Adding distro param to create instance Nov 20, 2017
console Overall re-design and full acceptance testing of Nov 14, 2017
database Awless log: better output default, compact, rich, ... Sep 29, 2017
fetch Removing unneeded resources in Fetchers cache Jul 28, 2017
gen/aws Fixing go report code formatting issues Nov 17, 2017
graph awless ssh with ip addresses only #151 Oct 6, 2017
inspect gofmt minor changes May 31, 2017
logger Loggers are now sent to the stderr file descriptor Apr 7, 2017
smoke_tests Adding distro param to create instance Nov 20, 2017
ssh awless ssh: add flag `--through--port` (issue #154) Oct 19, 2017
sync Overall re-design and full acceptance testing of Nov 14, 2017
template Adding distro param to create instance Nov 20, 2017
vendor Create/Delete MFA virtual device and display QRCode; attach/detach MF… Sep 26, 2017
web Using NTriples storage Sep 12, 2017
.gitignore Sync profiling with enabling flag on sync command Jul 28, 2017
.travis.yml Overall re-design and full acceptance testing of Nov 14, 2017
CHANGELOG.md Changelog for release Nov 16, 2017
CNAME Create CNAME Mar 13, 2017
Gopkg.lock Create/Delete MFA virtual device and display QRCode; attach/detach MF… Sep 26, 2017
Gopkg.toml Create/Delete MFA virtual device and display QRCode; attach/detach MF… Sep 26, 2017
LICENSE Add Apache license Feb 10, 2017
README.md Add InfoWorld tutorial Oct 13, 2017
_config.yml Set theme jekyll-theme-cayman Mar 13, 2017
getawless.sh awless binaries: prefer tar.gz for linux build Jun 22, 2017
main.go Remove save history and error local storage May 17, 2017
release.go awless binaries: prefer tar.gz for linux build Jun 22, 2017

README.md

Build Status Go Report Card

awless is a powerful, innovative and small surface command line interface (CLI) to manage Amazon Web Services.

Twitter | Wiki | Changelog

Why awless

awless stands out by providing the following features:

  • small and hierarchical set of commands
  • create and revert fully-fledged infrastructures through a new simple and powerful templating language (see awless templates (wiki))
  • local log of all your cloud modifications done through awless
  • exploration of your cloud infrastructure and resources relations, even offline using a local graph storage
  • greater output's readability with numerous machine and human friendly formats
  • ensure smart defaults & security best practices
  • connect easily through smart SSH to your private & public instances

Install

Choose one of the following options:

  1. On macOS, use homebrew: brew tap wallix/awless; brew install awless
  2. With curl (macOS/Linux), run: curl https://raw.githubusercontent.com/wallix/awless/master/getawless.sh | bash
  3. Download the latest awless binaries (Windows/Linux/macOS) from Github
  4. If you have Golang already installed, install from the source with: go get -u github.com/wallix/awless

Main Features

video of a few awless commands
Note that the video above is in APNG and requires a recent browser.

  • Clear and easy listing of multi-region cloud resources (subnets, instances, users, buckets, records, etc.) on AWS EC2, IAM, S3, RDS, AutoScaling, SNS, SQS, Route53, CloudWatch, CloudFormation, Lambda, etc.: awless list
  • Output formats either human (Markdown-compatible tables) or machine readable (csv, tsv, json, ...): --format
  • Listing filters via resources properties or resources tags: --filter property=val, --tag Key=Value
  • Explore a resource given only a name (or id/arn) showing its properties, relations, dependencies, etc.: awless show
  • Creation, update and deletion of complex infrastructures with smart defaults and sound autocomplete through awless templates: awless run my-awless-templates/create_my_infra.txt
  • Powerful CRUD CLI one-liner (integrated in the awless templating engine) with: awless create instance ..., awless create vpc ..., awless attach policy ...
  • Leveraging AWS userdata to provision instance on creation given remote (i.e http) or local scripts: awless create instance ... userdata=http://...
  • Easy reporting of all the CLI template executions: awless log
  • Revert of executed templates and resources creation: awless revert
  • Clean and simple SSH to public & private instances using only a name: awless ssh my-production-instance, awless ssh redis-prod --through jump-server
  • Resolve public images dynamically (i.e. independant of the region specific AMI id): awless search images canonical:ubuntu:xenial --latest-id
  • Aliasing of resources through their natural name so you don't have to always use cryptic ids that are impossible to remember
  • Inspectors are small CLI utilities to run analysis on your cloud resources graphs: awless inspect
  • Manual sync mode to fetch & store resources locally. Then query & inspect your cloud offline: awless sync
  • CLI autocompletion for Unix/Linux's bash and zsh awless completion

Getting started

Take the tour at Getting Started (wiki).

Or read the introductory blog post about awless.

More articles:

About

awless is an open source project created by Henri Binsztok, Quentin Bourgerie, Simon Caplette and François-Xavier Aguessy at WALLIX. awless is released under the Apache License and sponsored by Wallix.

Disclaimer: Awless allows for easy resource creation with your cloud provider;
we will not be responsible for any cloud costs incurred (even if you create a 
million instances using awless templates).

Contributors are welcome! Please head to Contributing (wiki) to learn more. Note that awless uses triplestore another project developped at WALLIX.