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)