Install YaK on Rancher Desktop
YaK may be locally installed using Rancher Desktop (for testing or development purpose from a workstation for example). We do not recommend using this setup for production.
Prereq: Install Rancher desktop
https://docs.rancherdesktop.io/getting-started/installation
Install YaK
1. Go to Cluster Dashboard


2. Create your own yak namespace
Go to Cluster/Namespace:

Create new namespace:

We usually simply use "yak4all" as namespace, but feel free to be creative 😄

3. Add repository
Now from your terminal:
helm repo add yak https://gitlab.com/api/v4/projects/63133284/packages/helm/stable && helm repo update
4. Create your "yak.values.yaml" file
global:
hostname: <your_hostname>.<your_domain>
admin_credentials:
password: "ABCdef1234@" #default password to be changed to your need
yak-postgres:
postgresPassword: "" # Randomly generated if not set
persistence:
size: 20Gi
storageClassName: "<your_storage_class>" # Uses default if empty
yak-graphile:
# Archive storage stores the component types archives at import time
persistence: &archives_storage
size: 20Gi
storageClassName: "<your_storage_class>" # Uses default if empty
# If using a multi-node cluster, uncomment these 2 lines:
#accessModes:
# - ReadWriteMany
# If you want to expose the rest API at https://hostname/data/graphql and have the postgraphile UI at https://yak.my-domain.local/data/graphiql
ingress:
enabled: true
className: "<your_ingress_class>" # Uses default if empty
tls:
- secretName: yak-tls-secret
hosts:
- <your_hostname>.<your_domain>
yak-runner:
image:
pullPolicy: Always
persistence:
# Runner shares the archives storage with graphile
graphile: *archives_storage
components:
enabled: true
storageClassName: "<your_storage_class>" # Uses default if empty
size: 8Gi
sshconfig:
enabled: true
storageClassName: "<your_storage_class>" # Uses default if empty
size: 1Gi
yak-ui:
# Mandatory if you want to access the UI through ingress
ingress:
enabled: true
className: "<your_ingress_class>" # Uses default if empty
tls:
- secretName: yak-tls-secret
hosts:
- <your_hostname>.<your_domain>
Replace
"<your_hostname>.<your_domain>"
in the yaml file with your actual hostnameex : yak.my-domain.com
Replace
"<your_storage_class>"
in the yaml file with your actual storage class nameIt will use the default storage class if left empty
You can list your storage classes using
kubectl get sc
if needed.
Replace
"<your_ingress_class>"
in the yaml file with your actual ingress class nameIf left empty, it will use the default ingress class if you have one configured as default
You can list your ingress classes using
kubectl get ingressclasses
if needed.
Save the file as "yak.values.yaml"
5. Create your TLS secret
Optionally, for testing purpose, you can generate a self signed certificate with the following command.
openssl req -x509 -newkey rsa:2048 -keyout <key-filepath>.key -out <cert-filepath>.pem -days 365 -nodes
For the Ingress TLS configuration, use your certificate and create the following Kubernetes secret.
kubectl create secret tls yak-tls-secret -n <namespace> --cert=<cert-filepath>.pem --key=<key-filepath>.key
6. Install YaK
helm install yak yak/yak -f yak.values.yaml -n <namespace>
7. Check that YaK is properly deployed
Go to Workload/Pods, you should see 4 running pods:

8. Connect to the YaK with https
https://<your_hostname>.<your_domain>
Default credentials :
Login: admin
Password: ABCdef1234@

If using Rancher Desktop for a local installation of your YaK (on a laptop and for testing purpose for example), you may need to update your hosts file (/etc/hosts) and add this line:
127.0.0.1 <your_hostname>.<your_domain>
Last updated