-
Notifications
You must be signed in to change notification settings - Fork 264
Roadmap
This page explains the short to long-term roadmap for awless and complements awless Issues.
-
Given a remote resource id and type,
awless
output the template necessary to create the resource and its children and dependencies. Basically, awless can read the AWS cloud and transform it to templates. -
Revert with nuke prompting: Being able to nuke/destroy cloud resources from a given a entry point (i.e. node in the graph of your resources). This would allow to revert anything. Since at the moment, reverting template only works for when there was no subsequent changes to the deployment, having the
nuke feature
would give you prompt when reverting a deployment indicating if you agree to destroy that resource along with reverting your deployment. -
Meta templates are compact and concise template that reuse all existing basic templates. This allows user to deploy complex infrastructure using a concise yet complete template. Meta templates are hence shorter template that are behind the scene basically composed of the basic/primitive/existing awless raw template commands. The challenge (not that difficult though) is to introduce that in the compiler. Example:
Meta template: create securitygroup vpc=... name=... cidr=0.0.0.0/0 portrange=22 Expanded to 2 lines common template sgroup = create securitygroup vpc={instance.vpc} description=ssh-access name=ssh-from-internet update securitygroup id=$sgroup inbound=authorize protocol=tcp cidr=0.0.0.0/0 portrange=22
-
Users should be able to nuke/destroy resources tree (--cascade-delete) while having sound prompting/review/confirm. For example: remove this subnet and all dandling resources; delete a VPC easily
-
List entities in all local regions (new region column added dynamically) --all-local-regions
-
Show entities across all local synced regions --all-local-regions
-
Being able to resume a
awless run
orawless revert
--continue -
In templates, being able to reference some AWLESS builtin and ENV data (injected during compilation). For example: .... AWLESS.MY_IP
-
Revert multiple IDs
-
In template user can reference properties of created resources (bug feature requiring lots of sound work).
-
User can show a reference from the past with the
--history
flag (urrently in awless, local graph & data are under git already!) -
Fix the awless-scheduler with latest awless and make it so that we can install locally as a systemd or launchctl service.
- CodeDeploy integration
- CloudFormation support
- DynamoDb
- CloudTrail / CloudWatch
The RDF model at the core of awless enables to perform a lot of queries such as:
- everything inside a VPC
- the siblings of an instance
- filter queries
Our current RDF implementation is badwolf which supports a simple query language.
awless also includes an easy-to-write template engine (vs. CloudFormation or TerraForm).
Templates are based on a sound-language (which was prototyped in OCaml before being implemented in Go) that we plan to formalize and extend:
- support for selectors (including regular expressions)
- support
for
andforeach
loops
After the template language matures, we plan to introduce type checking for templates, done locally in the awless CLI without performing any query to AWS (even a dry-run).