Kanto es un proyecto de infraestructura de software que implementa un clúster de inferencia y aplicaciones compartidas utilizando NixOS y K3s. El sistema está diseñado para operar servicios de inteligencia artificial y herramientas de desarrollo en un nodo específico denominado Vermilion, que actúa como servidor k3s. La arquitectura soporta la ejecución de Ollama, Lemonade, ComfyUI, Open WebUI y Open Terminal, permitiendo la gestión de modelos de lenguaje y flujos de trabajo de generación de imágenes de forma centralizada.
El despliegue se gestiona mediante herramientas de automatización y control de versiones. Comin sincroniza la configuración del host desde la rama principal, mientras que Flux mantiene los recursos de Kubernetes en el clúster. Para el almacenamiento de datos, se emplean Prometheus y Loki para métricas y registros durante 30 días, con la telemetría recopilada por Alloy. El acceso a los servicios se realiza a través de nodos de entrada Tailscale que proporcionan acceso HTTPS privado, asegurando la seguridad de las APIs de Chat Completions y ComfyUI.
La estructura del repositorio incluye módulos de Nix para la configuración del hardware y el estado del sistema, así como manifiestos de Kubernetes en la carpeta k8s. El proyecto destaca por su enfoque en la reproducibilidad y la seguridad, utilizando SOPS para el cifrado de secretos y SOPS-encrypted keys para la gestión de credenciales. Los usuarios pueden interactuar con el clúster mediante herramientas de línea de comandos específicas, como 'nix develop' para entornos de desarrollo y 'just' para tareas de mantenimiento, garantizando una gestión rigurosa de las dependencias y la configuración del clúster.
