This repository provides an entry point to the services and tools included in the MINT framework, including a pointer to their latest release or DOI. This page can also be browsed at https://mintproject.github.io/mint.
More detailed information about the features and servicesin MINT can be found in the project website: http://mint-project.info/
All the documentation for the MINT framework can be found in the MINT documentation page.
To test the MINT services on your local machine, we strongly recommend using the microk8s Kubernetes distribution. Follow the instructions in the microk8s documentation to install microk8s on your machine.
Tested on MacOS (arm64) and microk8s 1.28/stable. Tested on Ubuntu 22.04 (amd64) and microk8s 1.28/stable.
Sudo/Administrator access on the target machine.
Snapd (for Linux) or Multipass/Docker Desktop (for Windows/macOS).
Helm 3 (Included in MicroK8s).
Install the microk8s using the following command:
MicroK8s runs natively on Linux. This is the recommended environment for production-like testing.
# Install MicroK8s
sudo snap install microk8s --classic --channel=1.35
# Fix Permissions (replace $USER if necessary)
sudo usermod -a -G microk8s $USER
mkdir -p ~/.kube
chmod 0700 ~/.kube
sudo chown -R $USER ~/.kube
# Apply group changes without logging out
newgrp microk8s
MicroK8s uses a lightweight VM via Multipass.
Download the MicroK8s Installer for macOS.
For Apple Silicon (M1/M2/M3), ensure you follow the ARM instructions in the “MINT Services” section.
Download the MicroK8s Installer for Windows.
Ensure WSL2 is enabled.
Use PowerShell to run commands (prefixing with microk8s if not aliased).
Enable the core components required for MINT to route traffic and manage storage:
microk8s enable dns
microk8s enable dashboard
microk8s enable hostpath-storage
microk8s enable ingress
To test, list the existing resources. It should be list multiple services, deployments, and pods. Please wait until all the resources are up and running.
microk8s kubectl get all --all-namespaces
Verify the node status
microk8s kubectl get nodes
Portainer serves as a supervisor of your pods, where you can see and configure them graphically.
microk8s enable community
microk8s enable portainer
To see the status:
microk8s status --wait-ready
microk8s kubectl get svc -n portainer
Access: https://<YOUR_SERVER_IP>:30779
Default Port: 30779 (NodePort)
Use the following commands to install the MINT services:
microk8s helm repo add mint https://mintproject.github.io/mint
microk8s helm repo update
microk8s helm install testing-mint mint/MINT --namespace mint --create-namespace
microk8s helm repo add mint https://mintproject.github.io/mint
microk8s helm repo update
microk8s helm install testing-mint mint/MINT --namespace mint --create-namespace --set arm_support=true
If you using MacOS Silicon, you need to install the arm64 version of the postgresql database.
WARNING: The arm64 image has not been tested and may not work as expected. Please use it at your own risk.
Helm will returns the URL to access the MINT services after installation.
The MINT system has been installed!
Please remember to edit your `/etc/hosts/`
After that, you can access to the MINT services
http://mint.local
http://ensemble-manager.mint.local
http://cromo.mint.local
http://mic.mint.local
http://datacatalog.mint.local
Since MINT uses subdomains (e.g., mint.local), you must map the server’s IP to these hostnames on your local computer’s host file.
If you are using microk8s on a VM, need to get the IP address of the VM to access the MINT services. You can use the following command to get the IP address of the VM:
microk8s kubectl get node -o json | jq '.items[].status.addresses[] | select(.type=="InternalIP") | .address'
If accessing via Public IP (Cloud), use that IP instead.
| OS | Path | Command |
|---|---|---|
| Linux/macOS | /etc/hosts | sudo nano /etc/hosts |
| Windows | C:\Windows\System32\drivers\etc\hosts | Open Notepad as Administrator |
sudo vim /etc/hosts
Add the following block (Replace 10.211.59.16 with your Server/VM IP):
10.211.59.16 mint.local
10.211.59.16 cromo.mint.local
10.211.59.16 mic.mint.local
10.211.59.16 api.mic.mint.local
10.211.59.16 datacatalog.mint.local
10.211.59.16 endpoint.models.mint.local
10.211.59.16 graphql.mint.local
10.211.59.16 models.mint.local
10.211.59.16 api.models.mint.local
10.211.59.16 endpoint.models.mint.local
To remove the MINT services, use the following command:
microk8s helm uninstall testing-mint -n mint
microk8s kubectl delete pvc --all -n mint
Full MicroK8s Reset (Destructive):
microk8s reset
or
bash uninstall.sh
Once the pods are “Running” (check via Portainer or microk8s kubectl get pods -n mint), you can access:
Main Interface: http://mint.local
Data Catalog: http://datacatalog.mint.local
Model Catalog (MIC): http://mic.mint.local
This repository contains the helm charts for the MINT services. The helm charts are used to deploy the services in a Kubernetes cluster. The helm charts are organized in the following folders:
charts: contains the helm templates for the MINT servicesreleases: contains the helm releases for the MINT servicesTo release a new version of the MINT charts, follow the following steps:
Edit the helm/Chart.yaml file and update the version field.
Run the following command to package the helm charts:
make release