Development
Technologies
- Programming language: Haskell
- Dependency management: Stack
- Backend: SQLite
- Database access: sqlite-simple
- Command line parsing: Optparse Applicative
- Formatting: Prettyprinter
- Prelude: Protolude
- IDs: ULID
- Desktop App: Declarative GTK
Development Environment
The recommended way to develop Haskell is with VS Code and the Haskell Language Server.
Getting Started
Check out the makefile for all development tasks.
The most important command is make test
to run the tests after any changes.
They should always pass before committing.
To try out local changes via the CLI you can use the following command:
stack run -- add "Buy milk"
Deployment
Google Cloud
docker tag adius/tasklite-tasklite:latest gcr.io/deploy-219812/tasklite:latest
docker push gcr.io/deploy-219812/tasklite:latest
kubectl create -f kubernetes/deployment.yaml
kubectl port-forward tasklite-deployment-77884ff4f6-66sjf 8001
Open 127.0.0.1:8001
docker build \
--file dockerfiles/nginx-proxy \
--tag gcr.io/deploy-219812/nginx-proxy:latest \
dockerfiles; \
and docker push gcr.io/deploy-219812/nginx-proxy:latest; \
and kubectl replace --filename kubernetes/deployment.yaml --force; \
and sleep 8;
and kubectl port-forward \
(kubectl get pods --selector app=tasklite --output name) 8080
Afterwards change the health check URL to /healthcheck
for the load balancer at
https://console.cloud.google.com/compute/healthChecks.