This project was inspired by all the various shell, python, make, and other scripts needed to orchestrate a microservices and similarly large containerized project.
The goal of this project is to provide a single customizable tool that can be used to orchestrate the various tasks needed to develop, build, and support your microservices project.
- Initialize a project
- Currently only supports getting the submodule for an existing project
- Initializing a project:
- Support to create a new project from scratch
- Encourage the use of a template repository to ensure consistency across projects
- Service management:
- Support to create a new service in a project
- Encourage the use of a template repository to ensure consistency across projects
- Encourage the creation of a new template repository if one does not exist
- Development environment:
- Manage bringing up and down a local development environment using docker-compose
- Development environment:
- Manage bringing up and down a local development environment using minikube or similar
- In-situ development environment:
- Manage the creation of a development environment using terraform or similar
- Manage the configuration of a development environment using ansible or similar
- Manage the deployment of a development environment using helm or similar
- Git with support for
git submodule
- Docker or compatible container enging with support for
Docker Compose
- GitHub CLI -
gh
- can be avoided by providing a GitHub token in the config.yaml file- Used to enable the following functionality:
- Repository:
- Create a repository using a template - GitHub API Docs
- Create a repository from scratch - GitHub API Docs
- Repository:
- Used to enable the following functionality:
if using a token, it must have the following permissions:
repo: read
- if creating a repository from a templaterepo: read and write
- if creating a repository from scratch
tools [FLAGS] [SUBCOMMAND] [OPTIONS]