README
Tapas AWS CLI
Tapas is a quicker, simpler, and more approachable command line interface for managing AWS resources related to RESTful web applications.
Tapas is not and never will be a full replacement for the AWS CLI. Only a small subset of AWS resources and usage patterns are supported.
If you are already comfortable and happy with the official AWS CLI, then Tapas may not have anything to offer you. However, if you're new to AWS or are looking for a slightly simpler way to kickstart small projects, then read on.
Features
Tapas is designed to meet the following use cases and requirements.
Web Application And Microservice Focused
Tapas is targeted only at deploying web applications which consist of static CDN delivered content, Lambda backed RESTful APIs, and S3/DynamoDB persistence. It only supports AWS resources necessary for this use case.
Infrastructure As Code
Tapas merges CLI and templating by designing the CLI in such a way that multiple invokations composed in a shell script can serve as a resource provisioning template.
See additional information on templates.
Secure By Default
Tapas makes secure choices whenever possible.
- Encryption in-flight.
- Always use HTTPS for CloudFront distributions and API Gateway endpoints.
- Encryption at-rest.
- Always use server side encryption for S3 buckets and DynamoDB tables.
- Principal of least privilege.
- Always make S3 buckets private and block public ACLs.
Getting Started
Configure AWS credentials and region.
aws configure
Install Tapas.
npm install @smallinfinity/tapas -g
See the Tapas help text for command line usage information.
tapas --help
tapas <command> --help
Commands
resources
- Display Resources
Resource Management
Tapas resource management calls are designed to be upserts, meaning they will create a resource if it doesn't exist,
or update a resource to match the current call parameters. Repeated calls which reference the same resource are not
additive. For instance, you can't call tapas role-policy MyRole <policy>
more than once to add policies one at a time,
because each call will replace the policies attached to the MyRole
role.
storage
- Manage S3 Bucketsbundle
- Manage S3 Contentcertificate
- Manage ACM Certificatesdistribution
- Manage CloudFront Distributions(Not Implemented Yet)role
- Manage IAM Roles(Not Implemented Yet)policy
- Manage IAM Policies(Not Implemented Yet)function
- Manage Lambdas(Not Implemented Yet)api
- Manage API Gateway APIs(Not Implemented Yet)table
- Manage DynamoDB Tables
Release Notes
0.1
- Initial Release
- Support for
resources
command - Support for
storage
command - Support for
bundle
command - Support for
certficate
command - Support for
distribution
command - Support for
TAPAS_TAG_*
environment variables