1> Install kubernetes-replicator
It’s only required by the OpenFaas part of Magda which can be turned off via global.openfaas.enabled.
# add helm chart repo
helm repo add mittwald https://helm.mittwald.de
# update helm chart repo
helm repo update
# create namespace `kubernetes-replicator`
kubectl create namespace kubernetes-replicator
# Install kubernetes-replicator via helm
helm upgrade --namespace kubernetes-replicator --install kubernetes-replicator mittwald/kubernetes-replicator
2> Create a namespace "magda" for your Magda installation
kubectl create namespace magda
3> Create required secrets (optional)
# Optional; Required by correspondence-api --- for sending email notification of user inquires
kubectl create secret generic smtp-secret --namespace magda --from-literal=username=$SMTP_USERNAME --from-literal=password=$SMTP_PASSWORD
4> Install Magda via Helm
helm upgrade --namespace magda --install --timeout 9999s --set magda-core.gateway.service.type=LoadBalancer magda oci://ghcr.io/magda-io/charts/magda
By default, Helm will install the latest production version of Magda. You can use
--version
to specify the exact chart version to use. e.g.:
helm upgrade --namespace magda --install --version 2.2.0-alpha.3 --timeout 9999s --set magda-core.gateway.service.type=LoadBalancer magda oci://ghcr.io/magda-io/charts/magda
The value --set magda-core.gateway.service.type=LoadBalancer
will expose Magda via load balancer.
You can run:
echo $(kubectl get svc --namespace magda gateway --template "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}")
to find out the load balancer external IP. And access Magda via http://[External IP].
If you use minikube, you will need to run minikube tunnel to get external IP.
You can also follow this doc to setup local HTTPS access to Magda