Skip to content

🌈user-friendly AWS toolset and cloudformation templates

License

Notifications You must be signed in to change notification settings

nao1215/rainbow

Repository files navigation

All Contributors

Coverage LinuxUnitTest reviewdog Gosec Go Report Card

rainbow

Important

This project is under development. Do not use it in production environments.

The rainbow project is a toolset for managing AWS resources. This project consists of multiple CLI and CloudFormation templates. I plan to implement TUI mode (Interactive mode) for all CLI commands.

This project adopts README-Driven Development. Therefore, while there may be a README, there might not be any code yet. If you have any feedback regarding the README, please write down in the Issues.

Supported OS & Go version

  • Linux
  • Go 1.19 or later

I plan to support Mac. Until certain features are added, it has been excluded from the scope of unit testing.

Windows is not supported because the tools used in unit testing do not run in a Windows environment. However, it is expected that some features will function in a Windows environment to some extent.

CLI List

Name README implementation Description
s3hub ✅ 100% User-friendly s3 management tool
spare ✅ 50% Single Page Application Release Easily
cfn ✅ 10% List up or delete CloudFormation stacks

s3hub example

The s3hub command provides following features:

  • Create a S3 bucket
  • List S3 buckets
  • List S3 objects in the S3 bucket
  • Copy files to S3 bucket
  • Delete contents from the S3 bucket
  • Delete the S3 bucket
  • Interactive mode

interactive_mode

spare example

The 'spare' command makes easily the release of Single Page Applications. Spare constructs the infrastructure on AWS to operate the SPA, and then deploys the SPA (please note that it does not support building the SPA). Developers can inspect the infrastructure as CloudFormation before or after its construction.

The infrastructure for S3 and CloudFront is configured as shown in the diagram when you run the "spare build" command.

diagram

Warning

The spare command is deleted from the repository. At the very least, the development priority is low.

cfn example

The cfn command provides the following features:

  • List stacks
  • Delete stacks (Not implemented yet)

cfn_tui

CloudFormation Template List

Name README implementation
Lambda batch with EventBridge (CloudWatch Events) ✅ 100%
Lambda with API Gateway ✅ 100%
Daily Cost Notification ✅ 100%
CloudWatch Real User Monitoring (RUM) ✅ 100%
Static Web Application Distribution ✅ 100%

LICENSE

This project is licensed under the terms of the MIT license. See the LICENSE file.

Contributing

Contributions are welcome! Please see the following documents for details:

This project incurs costs on AWS, and financial support from you would make it easier to maintain the project. If you wish to provide financial support, please do so through GitHub Sponsors

GitHub Star History

GitHub Star is motivation for me. If you like this project, please star it. Star History Chart

Unit Test Coverage Treemap

Coverage Treemap

Special Thanks

localstack LocalStack is a service that mocks AWS, covering a wide range of AWS services. It is not easy to set up an AWS infrastructure for personal development, but LocalStack has lowered the barrier for server application development.

It has been incredibly helpful for my technical learning, and among the open-source software (OSS) I encountered in 2023, LocalStack is undoubtedly the best tool. I would like to take this opportunity to express my gratitude.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

CHIKAMATSU Naohiro
CHIKAMATSU Naohiro

💻

This project follows the all-contributors specification. Contributions of any kind welcome!