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 microk8sMicroK8s 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 ingressTo 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-namespacesVerify the node status
microk8s kubectl get nodesPortainer serves as a supervisor of your pods, where you can see and configure them graphically.
microk8s enable community
microk8s enable portainerTo 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-namespacemicrok8s 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=trueIf 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.localSince MINT uses subdomains (e.g., mint.local), you must map the server's IP to these hostnames on your local computer's host file.
- Identify Server IP
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.
- Update Hosts File (On your Personal Computer)
| 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/hostsAdd 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 mintFull MicroK8s Reset (Destructive):
microk8s resetor
bash uninstall.shOnce 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 services
To release a new version of the MINT charts, follow the following steps:
-
Edit the
helm/Chart.yamlfile and update theversionfield. -
Run the following command to package the helm charts:
make release- Commit the changes and push them to the repository.