Skip to content

Address gaps in readme & make targets #129

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 21, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 7 additions & 14 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,11 @@ undeploy: undeploy-config

quickstart: build deploy

deploy-samples: deploy
kubectl wait --for=condition=Established=True \
crds/subscriptions.hoptimator.linkedin.com \
crds/kafkatopics.hoptimator.linkedin.com \
crds/sqljobs.hoptimator.linkedin.com
kubectl apply -f ./deploy/samples
deploy-demo: deploy
kubectl apply -f ./deploy/samples/demodb.yaml

undeploy-samples: undeploy
kubectl delete -f ./deploy/samples || echo "skipping"
undeploy-demo: undeploy
kubectl delete -f ./deploy/samples/demodb.yaml || echo "skipping"

deploy-flink: deploy
kubectl create namespace flink || echo "skipping"
Expand Down Expand Up @@ -74,7 +70,6 @@ undeploy-kafka:
kubectl delete pvc -l strimzi.io/name=one-kafka -n kafka || echo "skipping"
kubectl delete -f "https://strimzi.io/install/latest?namespace=kafka" -n kafka || echo "skipping"
kubectl delete -f ./deploy/samples/kafkadb.yaml || echo "skipping"
kubectl delete -f ./deploy/samples/demodb.yaml || echo "skipping"
kubectl delete namespace kafka || echo "skipping"

# Deploys Venice cluster in docker and creates two stores in Venice. Stores are not managed via K8s for now.
Expand All @@ -88,17 +83,15 @@ undeploy-venice:
kubectl delete -f ./deploy/samples/venicedb.yaml || echo "skipping"
docker compose -f ./deploy/docker/venice/docker-compose-single-dc-setup.yaml down

deploy-dev-environment: deploy deploy-flink deploy-kafka deploy-venice
deploy-dev-environment: deploy deploy-demo deploy-flink deploy-kafka deploy-venice
kubectl wait --for=condition=Established=True \
crds/subscriptions.hoptimator.linkedin.com \
crds/kafkatopics.hoptimator.linkedin.com \
crds/sqljobs.hoptimator.linkedin.com
kubectl apply -f ./deploy/dev/
kubectl apply -f ./deploy/samples/demodb.yaml

undeploy-dev-environment: undeploy-venice undeploy-kafka undeploy-flink undeploy
undeploy-dev-environment: undeploy-venice undeploy-kafka undeploy-flink undeploy-demo undeploy
kubectl delete -f ./deploy/dev || echo "skipping"
kubectl delete -f ./deploy/samples/demodb.yaml || echo "skipping"

# Integration test setup intended to be run locally
integration-tests: deploy-dev-environment
Expand Down Expand Up @@ -141,4 +134,4 @@ run-zeppelin: build-zeppelin
--name hoptimator-zeppelin \
hoptimator-zeppelin

.PHONY: install test build bounce clean quickstart deploy-config undeploy-config deploy undeploy deploy-samples undeploy-samples deploy-flink undeploy-flink deploy-kafka undeploy-kafka deploy-venice undeploy-venice build-zeppelin run-zeppelin integration-tests integration-tests-kind deploy-dev-environment undeploy-dev-environment generate-models release
.PHONY: install test build bounce clean quickstart deploy-config undeploy-config deploy undeploy deploy-demo undeploy-demo deploy-flink undeploy-flink deploy-kafka undeploy-kafka deploy-venice undeploy-venice build-zeppelin run-zeppelin integration-tests integration-tests-kind deploy-dev-environment undeploy-dev-environment generate-models release
15 changes: 12 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Hoptimator

## Prerequisite
Hoptimator by default requires a Kubernetes cluster to operate. To set up a local dev environment, you can follow the steps below:

1. Install Docker for Desktop
2. Navigate to Docker Settings -> Kubernetes -> Select Enable Kubernetes
3. Run: kubectl config use-context docker-desktop

Alternatively you can use [kind](https://kind.sigs.k8s.io/) to create a local cluster.

## Intro

Hoptimator gives you a SQL interface to a Kubernetes cluster. You can install databases, query tables, create views, and deploy data pipelines using just SQL.
Expand Down Expand Up @@ -42,8 +51,8 @@ Hoptimator requires a Kubernetes cluster. To connect from outside a Kubernetes c
The below setup will install two local demo DBs, ads and profiles.

```
$ make install # build and install SQL CLI
$ make deploy deploy-demo # install demo DB CRDs and K8s objects
$ make build install # build and install SQL CLI
$ make deploy-demo # install demo DB CRDs and K8s objects
$ ./hoptimator # start the SQL CLI
> !intro
```
Expand All @@ -53,7 +62,7 @@ The below setup will install two local demo DBs, ads and profiles.
The below setup will create a dev environment with various resources within Kubernetes.

```
$ make install # build and install SQL CLI
$ make build install # build and install SQL CLI
$ make deploy-dev-environment # start all local dev setups
$ kubectl port-forward -n kafka svc/one-kafka-external-bootstrap 9092 & # forward external Kafka port for use by SQL CLI
$ ./hoptimator # start the SQL CLI
Expand Down