- general purpose toolchain to build cli, web & container apps using docker & k8s
- low-code, no-code
- minikube in docker, k3s in docker
- various modern CLI & CNCF tools
"one with a chariot"
+----------------------------+ -> c/c++, go, python, php ...
| lang-tools container (dev) | -> Web IDE @ port 9091
+----------------------------+ -> Web TTY @ port 9092
^
|
+----------------------------+ -> docker, k8s clusters [minikube/k3s]
| sarathy container (devops) | -> CNCF & other modern cli tools
+----------------------------+ -> Web TTY @ port 9090
^
|
+------------------------+
| host OS running docker |
+------------------------+
# Run minikube in docker
curl -sfL https://savyasachi9.github.io/sarathy/platform/sarathy.sh | bash -s -- minikube run
# Run k3s in docker
curl -sfL https://savyasachi9.github.io/sarathy/platform/sarathy.sh | bash -s -- k3s run
# Or just run docker in docker
curl -sfL https://savyasachi9.github.io/sarathy/platform/sarathy.sh | bash -s -- latest run
# Visit webtty/gotty with bash in browser (not available for arm64 yet)
http://localhost:9090
support for amd64 & arm64 (apple m1, raspberry pi etc)
all the tools in container image are installed for user 'docker'
minikube/k3s images come pre-installed with mysql8.0 and redis6.2 using helm charts
- c/c++, gcc 9, gdb
- golang1.17, dlv
- php8.1, xdebug
- python3.8, pip3
# You can either run 'sarathy' container to use 'langtools/plt' container or run it like
curl -sfL https://savyasachi9.github.io/sarathy/platform/sarathy.sh | bash -s -- plt run
# Visit code-server/vscode IDE in browser
http://localhost:9091/?folder=/src/
# Visit webtty/gotty with bash in browser (not available for arm64 yet)
http://localhost:9092
# Connect to langtools/plt container
docker exec -it sarathy-plt /bin/bash
# Connect to langtools container thru sarathy-minikube container
docker exec -it --user docker sarathy-minikube /bin/bash -c "docker exec -it langtools bash"
above languages are pre-installed with debug extensions, use key 'F5' to run debugger in IDE
- build-tools
- task (yaml based build tool / task runner)
- containers
- docker (docker in docker / dind)
- containerd
- podman
- ctop
- kubernetes/k8s
- misc
- man -> tldr (simplified man pages)
- rust
- web
- code-server (vs-code in browser)
- gotty (share terminal over http)
- speedtest (test internet speed from cli)
- Students (Grade 6+ ---> PHD)
- Devs, Tinkerers
- Enterprise, Schools, Colleges, Programming/Coding Bootcamps
- Help one stay upto date with modern tooling to solve problems & keep experimenting forever.
- Bridge the ever growing gap between enterpeise & academia where academia is behind what's used in enterprise.
- Lower the entry bar for to get started with building cli/web/container applications.
- Create a bridge between DEV & DEVOPS along with DEV teams such that they all speak the same language for apps & infra.
- 10+ users by EOY 2022, 100+ by EOY 2023, 1000+ by EOY 2024 ...
- build toolchain with cutting edge tools as Dockerimage which has capability to run k8s clusters within a container
- support diff programming languages with code-server IDE to build apps
- publish @ github & dockerhub
- add examples/tutorials on how can one use sarathy to build cli/containers/k8s/web apps
- add examples for diff ci/cd tools (skaffold, tilt, devspace, helm, docker, simple app cmds) using Taskfile
- improve upon toolchain & finish open TODOs
- demos, feedback, improvise & get more users !
- publish sarathy.dev
- TBD
- Never commit ssh keys & other aws, azure, gcloud keys as part of the docker image (wipe things out from the live image of such sort if there's any).
- Scan Sarathy images for vulnerabilities and keep them to minimal.
- Make sure all the open source tools being added in Sarathy's toolchain are properly vetted/examined.
- For all the open source tools we are using, disable telementary or any other kind of tracking to collect user data/stats etc.
- Use wireguard etc to keep an eye on Sarathy's network activity to ensure no tools are tracking
- to friends and devs for feedback
- at places where folks are looking for getting up & running with k8s locally
- in various online/offline forums wherever people are in need for such a toolchain or can benefit from it
- setup discord channel or something similar to support users issues
- Many thanks to all the folks whose open source tools/tutorials are stitched together for building this toolchain.
- Much appreciate the folks who are helping build 'sarathy' with their valuable feedback & immense contributions.