Igor Wiese
06/14/2022, 4:27 PMRick Lamers
06/14/2022, 6:33 PMminikube
has the repository mounted (details here: https://docs.orchest.io/en/stable/development/development_workflow.html#cluster-for-development). If you ran the convenience script, you’d actually need to delete the minikube
cluster that was created, because minikube
doesn’t allow mounting a host folder after the cluster has been created.
b) you need to run the right commands to have the local build process running and Orchest started with the right flag such that it uses files in the mounted directory (details here: https://docs.orchest.io/en/stable/development/development_workflow.html#incremental-development-hot-reloading). The main commands are pnpm i
, orchest patch --dev
, and pnpm run dev
.
2. At a high level you need to use a reverse proxy that makes the Orchest server running in minikube
accessible on the localhost network interface of the instance. Two good options would be nginx
or minikube tunnel. nginx
is a bit more robust, and would entail the following steps (the latter, minikube tunnel
, is just running that command to forward localhost traffic to the Orchest server running in minikube
).
The nginx
steps:
1. Install nginx
(this example is for Debian based systems like Ubuntu):
sudo apt-get install nginx
2. Place our example site config (see <http://localorchest.io|localorchest.io>
below) in /etc/nginx/sites-available/localorchest.io
3. Place it in /etc/nginx/sites-available/localorchest.io
and activate by creating a symlink using:
sudo ln -s /etc/nginx/sites-available/localorchest.io /etc/nginx/sites-enabled/
4. Remove default nginx
server
sudo truncate -s 0 /etc/nginx/sites-available/default
5. Restart nginx
sudo service nginx restart
6. Add the minikube
IP to the hosts file
minikube ip | xargs printf "%s <http://localorchest.io|localorchest.io>" | sudo tee -a /etc/hosts
7. (Make sure port 80 is accessible in Ubuntu/your cloud firewall settings)
If you want to enable SSL you’d need to add a load balancer/reverse proxy in front of your server that handles SSL or configure nginx
to expose its endpoint using SSL encryption.
Soon you can skip all of the above and use our k8s
hosted version on https://cloud.orchest.io 😄
<http://localorchest.io|localorchest.io>
config file:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
location / {
proxy_pass <http://localorchest.io>;
# For project or file manager uploads.
client_max_body_size 0;
# WebSocket support.
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 86400;
}
}
Igor Wiese
06/14/2022, 6:57 PMNick Post
06/14/2022, 8:58 PMIgor Wiese
06/14/2022, 9:46 PMRick Lamers
06/14/2022, 10:40 PMIgor Wiese
06/15/2022, 11:25 AMRick Lamers
06/16/2022, 7:35 AM