This quickstart walks you through cloning the InventarioITU repository, launching a local Kubernetes cluster with Minikube, deploying all four services — the Node.js web frontend, SQL Server, MongoDB, and OpenLDAP — and verifying that everything is running correctly. By the end you will have a fully functional local instance accessible in your browser, ready for database initialization and LDAP configuration.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/carlamndz/InventarioITU/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you begin, make sure the following tools are installed and available on your machine:- Docker Desktop (macOS/Windows) or Docker Engine (Linux) — used as the Minikube driver and to build container images
- Minikube v1.30 or later — runs the local Kubernetes cluster
- kubectl — Kubernetes command-line tool for applying manifests and inspecting cluster state
- Node.js 18+ — required if you intend to run or modify the
inventario-webapplication outside of Kubernetes - SQL Server instance — either the containerized version deployed via the provided manifests or an external instance with network access from the cluster
- MongoDB — either the containerized version from the manifests or an external replica set
- OpenLDAP server — either the
ldap-servicecontainer from the manifests or an existing institutional LDAP/Active Directory endpoint
All four services are included as Kubernetes manifests under
k8s/. For a fully self-contained local setup you do not need to provision SQL Server, MongoDB, or OpenLDAP separately — the manifests handle it. External instances are an option for teams that already have these services running.Setup Steps
Clone the repository
Clone the InventarioITU repository from GitHub and navigate into the project root.The repository contains the following top-level directories:
app/ (the Node.js web application), db/ (SQL Server scripts and MongoDB init documents), ldap/ (OpenLDAP configuration), k8s/ (all Kubernetes manifests), and docs/ (architecture diagrams and supplementary documentation).Start Minikube
Start a local Kubernetes cluster using Docker as the VM driver. The Minikube will download the required Kubernetes components, create a single-node cluster, and configure your local You should see output reporting the Kubernetes control plane and CoreDNS addresses on the Minikube IP.
--driver=docker flag avoids the need for a separate hypervisor and works on Linux, macOS, and Windows with Docker Desktop.kubectl context to point at it. The first run may take a few minutes. Once complete, confirm the cluster is up:Apply Kubernetes manifests
Deploy all four InventarioITU services by applying the manifests in the Kubernetes will create the objects and begin pulling container images. Depending on your internet connection, image pulls may take a few minutes on first run.
k8s/ directory. The --recursive flag ensures kubectl descends into all subdirectories, applying every manifest for Deployments, Services, ConfigMaps, PersistentVolumeClaims, and Calico NetworkPolicies.Verify pods are running
Check that all four pods have started successfully and reached the Expected output once all services are healthy:If any pod shows
Running state.CrashLoopBackOff or ImagePullBackOff, inspect the logs with kubectl logs <pod-name> to diagnose the issue. Common causes are missing secrets (database passwords, LDAP bind credentials) or image pull failures due to registry rate limits.Access the web application
Use the Minikube will print a URL such as
minikube service command to retrieve the externally accessible URL for the inventario-web service and open it in your browser.http://192.168.49.2:30080. Open that address in your browser to reach the InventarioITU login page. You will need valid LDAP credentials to log in — see the LDAP Configuration guide for how to seed the directory with initial user accounts.Expected kubectl get pods Output
Once the cluster has finished pulling images and all init containers have completed, running kubectl get pods should produce output similar to the following. All pods must show 1/1 under READY and Running under STATUS before the application is usable.
LDAP setup must be completed before the first login attempt. The
ldap-service pod will start successfully, but without a populated directory the web application cannot authenticate any users. Follow the LDAP Configuration guide to create the base organizational unit structure and add at least one admin user before navigating to the login page.Next Steps
With the cluster running, continue with these guides to complete your setup:- Architecture — Understand how the four services communicate and how Calico network policies protect inter-pod traffic.
- Database Setup — Initialize the SQL Server schema with lab and equipment tables, and load the MongoDB hardware component documents.
- LDAP Configuration — Populate the OpenLDAP directory with your organizational unit structure and user accounts so that logins work correctly.