# Development (Kubernetes)
# Local setup
This section describes the steps that are required to deploy and run ALEX on a local kubernetes cluster.
# Prerequisites
- Install docker, minikube, kubectl, helm and skaffold.
 - Start minikube: 
minikube start. - Install necessary add-ons:
minikube addons enable ingress && \ minikube addons enable ingress-dns1
2 - Add a host alias to the 
/etc/hostsfile: Executeminikube ipto get the IP address of the local cluster and add an entry<ip> alexto the/etc/hostsfile. - Install secret: 
kubectl apply -f infrastructure/helm-chart/secrets-local.yaml - Install Keda:
helm repo add kedacore https://kedacore.github.io/charts && helm repo updatekubectl create namespace kedahelm install keda kedacore/keda --namespace keda
 
# Deploy ALEX to Minikube
- Ensure you use the local minikube kubernetes context: 
kubectl config use-context minikube - In the root of the repository, run 
skaffold dev -p localto execute the deployment. - Open 
http://alexin a Web browser. 
# Remote setup
This section describes the steps that are required to deploy and run ALEX on a remote kubernetes cluster.
# Prerequisites
- Install microk8s on a server.
 - Enable the following add-ons: 
microk8s enable dns ingress registry storage. - Copy the cluster details from 
microk8s kubectl config viewto the local/.kube/configfile. 
# Deploy ALEX to a remote cluster
- Create a file 
./helm-chart/values-temp.yaml, and set the necessary properties (seevalues-local.yaml). - Switch to the kubernetes context of the cluster that you have entered earlier: 
kubectl config use-context <context>. - In the root of the repository, execute 
skaffold run -p tempto deploy the app.