Data is clearer in Hindsight
The platform_runner
app serves as our way to stand up an instance on localhost
. It is also how we run end-to-end tests. To run/debug/play locally:
cd apps/platform_runner
MIX_ENV=integration mix docker.start
MIX_ENV=integration iex -S mix
Our WebSocket and REST APIs can be reached locally on ports 4000
and 4001
, respectively.
Hindsight requires you to use Helm v3. Our .tool-versions file will enforce the correct software dependencies for you if you're using asdf.
Hindsight currently uses Kafka to decouple services, and we suggest using Strimzi to deploy Kafka to Kubernetes. The helm chart assumes you'll use Strimzi but does not install it. You must do that yourself or toggle Strimzi off via helm values (--set strimzi.enabled=false
).
Our install script will install Strimzi, wait for a Ready
state, then deploy the latest Hindsight chart from https://github.com/inhindsight/charts
./scripts/install [RELEASE_NAME] [NAMESPACE] [aws|local] [values]
By default, .Chart.AppVersion
from our Helm chart will be deployed. This can be overwritten by setting image.tag
. The latest
tag is auto-published to Docker hub on every merge to master, so use it to get the latest-and-greatest updates. Make sure you set image.pullPolicy
to Always
when you do it:
./scripts/install [RELEASE_NAME] [NAMESPACE] [aws|local] image.tag=latest image.pullPolicy=Always [...]
Set location to local
to deploy to Minikube or Docker's Kubernetes.
./scripts/install [RELEASE_NAME] [NAMESPACE] local image.tag=latest image.pullPolicy=Always
Set location to aws
to use AWS presets. You must give external service information.
./scripts/install [RELEASE_NAME] [NAMESPACE] aws \
global.objectStore.bucketName=[BUCKET_NAME] \
global.objectStore.region=[AWS_REGION] \
presto.postgres.externalAddress=[RDS_URL] \
presto.postgres.db.password=[DB_PASSWORD] \
presto.postgres.db.user=[DB_USER] \
redis.externalAddress=[REDIS_URL]