Overview
This contains the document about what tech stack Solverhoold team uses.
Techs
OLAP Database - https://clickhouse.com/docs/getting-started/quick-start/oss
OLTP Database - Postgres
Task Runner - https://taskfile.dev/
Config Manager Apple Pkl
Air for livereloading - Install https://github.com/cosmtrek/air
Apple Pkl installaiton
it contais 2 different installation one is pkl engine and other is pkl configuration generator cli for golang
curl -L -o pkl https://github.com/apple/pkl/releases/download/0.25.3/pkl-alpine-linux-amd64
chmod +x pkl
mv pkl /usr/local/bin
curl -L -o pkl-gen-go https://github.com/apple/pkl-go/releases/download/v0.6.0/pkl-gen-go-linux-amd64.bin
chmod +x pkl-gen-go
mv pkl-gen-go /usr/local/bin
Golang Tech Stack
- Gqlgen for Graphql Server - https://gqlgen.com/)
- Entgo ORM - https://entgo.io/
- Atlasgo for Clickhouse migration - https://atlasgo.io/
- Some inhouse packages like utils, gql etc. - https://github.com/ubgo
Other
- For Caching - https://redis.io/
- Logging Grafana Loki - https://grafana.net/
- AWS S3 or AWS EFS - for file management
- AWS SQS - for Queue
- For Pub Sub Install Nats Server - https://docs.nats.io/running-a-nats-service/introduction/installation
- Install Nats Cli - go install github.com/nats-io/natscli/nats@latest
Plans
- we looking to swithc to https://github.com/hyperdxio/hyperdx for logging and open telemetry monitoring instead of grafana loki