{"id":17882140,"url":"https://github.com/nao1215/rainbow","last_synced_at":"2025-03-22T12:31:33.955Z","repository":{"id":213849087,"uuid":"735044122","full_name":"nao1215/rainbow","owner":"nao1215","description":"🌈user-friendly AWS toolset and cloudformation templates","archived":false,"fork":false,"pushed_at":"2024-10-17T14:37:13.000Z","size":11011,"stargazers_count":8,"open_issues_count":8,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-19T21:09:33.587Z","etag":null,"topics":["aws","aws-cli","aws-s3","aws-sdk","cloudformation-template","command-line-tool","go","golang","user-friendly"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nao1215.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"nao1215"}},"created_at":"2023-12-23T13:16:43.000Z","updated_at":"2024-10-17T14:37:11.000Z","dependencies_parsed_at":"2024-01-05T02:28:06.138Z","dependency_job_id":"85a33cd7-2136-44f2-98e8-7f07d7dfec66","html_url":"https://github.com/nao1215/rainbow","commit_stats":null,"previous_names":["nao1215/rainbow"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nao1215%2Frainbow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nao1215%2Frainbow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nao1215%2Frainbow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nao1215%2Frainbow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nao1215","download_url":"https://codeload.github.com/nao1215/rainbow/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244207736,"owners_count":20416107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-cli","aws-s3","aws-sdk","cloudformation-template","command-line-tool","go","golang","user-friendly"],"created_at":"2024-10-28T12:48:18.207Z","updated_at":"2025-03-22T12:31:33.936Z","avatar_url":"https://github.com/nao1215.png","language":"Go","funding_links":["https://github.com/sponsors/nao1215"],"categories":[],"sub_categories":[],"readme":"\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n![Coverage](https://raw.githubusercontent.com/nao1215/octocovs-central-repo/main/badges/nao1215/rainbow/coverage.svg)\n[![LinuxUnitTest](https://github.com/nao1215/rainbow/actions/workflows/linux_test.yml/badge.svg)](https://github.com/nao1215/rainbow/actions/workflows/linux_test.yml)\n[![reviewdog](https://github.com/nao1215/rainbow/actions/workflows/reviewdog.yml/badge.svg)](https://github.com/nao1215/rainbow/actions/workflows/reviewdog.yml)\n[![Gosec](https://github.com/nao1215/rainbow/actions/workflows/security.yml/badge.svg)](https://github.com/nao1215/rainbow/actions/workflows/security.yml)\n[![Go Report Card](https://goreportcard.com/badge/github.com/nao1215/rainbow)](https://goreportcard.com/report/github.com/nao1215/rainbow)\n\n## rainbow \n\u003e [!IMPORTANT]  \n\u003e This project is under development. Do not use it in production environments.\n\nThe 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.**  \n  \nThis 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.\n\n## Supported OS \u0026 Go version\n- Linux\n- Go 1.21 or later\n  \nI plan to support Mac. Until certain features are added, it has been excluded from the scope of unit testing.  \n\nWindows 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.\n\n## CLI List\n|Name|README|implementation|Description|\n|:--|:--|:--|:--|\n|[s3hub](./doc/s3hub/README.md)|✅|100%|User-friendly s3 management tool|\n|[spare](./doc/spare/README.md)|✅|50%|Single Page Application Release Easily|\n|[cfn](./doc/cfn/README.md)|✅|10%|List up or delete CloudFormation stacks|\n\n### s3hub example\nThe s3hub command provides following features:\n- [x] Create a S3 bucket\n- [x] List S3 buckets\n- [x] List S3 objects in the S3 bucket\n- [x] Copy files to S3 bucket\n- [x] Delete contents from the S3 bucket\n- [x] Delete the S3 bucket\n- [x] Interactive mode\n  \n![interactive_mode](./doc/img/s3hub-interactive.gif)\n\n### spare example\nThe '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.\n\nThe infrastructure for S3 and CloudFront is configured as shown in the diagram when you run the \"spare build\" command.  \n\n![diagram](doc/img/s3_cloudfront.png)\n\n\u003e [!WARNING]  \n\u003e The spare command is deleted from the repository. At the very least, the development priority is low.\n\n### cfn example\nThe cfn command provides the following features:\n- [x] List stacks\n- [ ] Delete stacks (Not implemented yet)\n\n![cfn_tui](./doc/cfn/cfn_tui.gif)\n\n## CloudFormation Template List\n|Name|README|implementation|\n|:--|:--|:--|\n|[Lambda batch with EventBridge (CloudWatch Events)](./cloudformation/lambda-batch/README.md)|✅|100%|\n|[Lambda with API Gateway](./cloudformation/lambda-with-api-gw/README.md)|✅|100%|\n|[Daily Cost Notification](./cloudformation/daily-cost-notification/README.md)|✅|100%|\n|[CloudWatch Real User Monitoring (RUM)](./cloudformation/cloudwatch-rum/README.md)|✅|100%|\n|[Static Web Application Distribution](./cloudformation/static-web-site-distribution/README.md)|✅|100%|\n\n\n## LICENSE\nThis project is licensed under the terms of the MIT license. See the [LICENSE](./LICENSE) file.\n\n## Contributing\nContributions are welcome! Please see the following documents for details:\n- [CONTRIBUTING.md](./CONTRIBUTING.md)\n- [Code of Conduct](./CODE_OF_CONDUCT.md)\n- [Principle](./doc/common/principle.md) \n- [Development Eviorment Setup](./doc/common/developers.md)\n\nThis 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](https://github.com/sponsors/nao1215)\n\n## GitHub Star History\nGitHub Star is motivation for me. If you like this project, please star it.\n[![Star History Chart](https://api.star-history.com/svg?repos=nao1215/rainbow\u0026type=Date)](https://star-history.com/#nao1215/rainbow\u0026Date)\n\n## Unit Test Coverage Treemap\n![Coverage Treemap](./doc/img/cover.svg)\n\n## Special Thanks\n![localstack](./doc/img/localstack-readme-banner.svg)\n[LocalStack](https://www.localstack.cloud/) 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.\n\nIt 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.\n\n## Contributors ✨\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://debimate.jp/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/22737008?v=4?s=80\" width=\"80px;\" alt=\"CHIKAMATSU Naohiro\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCHIKAMATSU Naohiro\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/rainbow/commits?author=nao1215\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnao1215%2Frainbow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnao1215%2Frainbow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnao1215%2Frainbow/lists"}