Project Layout For Kratos
===
###### tags: `thekratosproject` `v1` `roadmap`
## Roadmap
### Kratos:v1
`Goals: Provide an automated infrastructure service with easy mgmt, deployments, CI/CD pipelines, all containerized in docker, setups with docker-compose and AWS EKS maybe AWS ECS also.
Easy to use, create, delete or recreate your infrastructure.
Entire focus on **infra-for-teams**
`
### Checkpoints
- [ ] RBAC to infra within teams
`Approach: Create Organaization > Import your cloud provider's credentials > Create Project > Assign Team > Assign Roles (RO,RW,DEL,Deploy,Test,ReCreate)`
- [ ] Integration with existing project (NodeJS/Go)
`Approach: Platform > Take github repo url > search for package.json/go.mod for verification > form to containerize > generate Dockerfile`
- [ ] How to Containerize
* Option to select different environments
* Configure their deployment based on the environments as a daemon process with real time updates
* Option to store env vars either in local or their cloud provider's secret manager
* if Cloud Provider's SecretsMgr is selected, Share a snippet of for how to fetch creds in their applications
* Including extra dependencies via an autocomplete search bar
* Option to switch their base images (alpine,ubuntu,scratch)
* support for mongo,postgre,mysql
* docker-compose or kubernetes based deployments
- [ ] Develop our own webhook server to provide CI/CD
* Test Scripts (failure/success), Optional
* select branch > Commit/Merge > Webhook trigger to client side app > pulls code > builds > pushes to docker registry > trigger our backend > redeploy/Delete/AnyDefinedOps
- [ ] Real Time Log Streaming, api and client app
- [ ] Resource usage reports streaming (CPU/MEM/Storage/NW) graphs
- [ ] Options for hard limit for Cloud Resources
- [ ] Options to do it from scratch, we'll provide boilerplate with kratos pre-configured.
- [ ] SSH key mgmt
- [ ] SSH terminal inside client app
- [ ] Research about [keybase.io's SSH CA](https://github.com/keybase/bot-sshca)