Quick Start

Tu primer cluster en 5 minutos

Esta guía te lleva de cero a un cluster DuneStack funcional en 5 minutos. Necesitas al menos 1 servidor con Ubuntu 22.04+ y acceso SSH.

Paso 1: Instalar dune-cli

bash
# En cada nodo del cluster
curl -fsSL https://dunestack.dev/install.sh | bash

Paso 2: Inicializar el cluster

Ejecuta esto en el primer nodo. Este será el líder inicial del cluster:

bash
dune cluster init --name arrakis-prod
# ✦ Starting Spice (Raft consensus)...
# ✦ Leader elected: arrakis-prod-01
# ✦ Spacing Guild online at :8080
# ✦ Cluster ready. The spice flows.

Paso 3: Unir nodos al cluster

En cada nodo adicional, usa el token de join que generó el init:

bash
# En nodo 2
dune cluster join --leader 10.10.0.10:7420 --token <JOIN_TOKEN>
# ✦ Joined cluster arrakis-prod as follower
# ✦ Syncing state from leader...
# ✦ Node ready.

# En nodo 3
dune cluster join --leader 10.10.0.10:7420 --token <JOIN_TOKEN>
# ✦ Joined cluster arrakis-prod as follower
# ✦ Node ready.

Paso 4: Verificar el cluster

bash
dune nodes list
# NODE              STATUS    CPU   RAM    UPTIME
# arrakis-prod-01   ✦ leader  12%   340MB  2d 4h
# arrakis-prod-02   ● follwr   8%   290MB  2d 4h
# arrakis-prod-03   ● follwr  11%   310MB  2d 3h

dune status
# Cluster:     arrakis-prod
# Nodes:       3/3 healthy
# Spice:       ✦ leader on prod-01, term 42
# Gateway:     ✦ online at :8080
# Scheduler:   ✦ idle, 0 pending jobs

Paso 5: Desplegar tu primer servicio

bash
# Crear un job file
cat > mi-servicio.dune <<EOF
job "api" {
  replicas = 2
  image    = "registry.local/mi-api:v1.0"
  port     = 8080

  resources {
    cpu    = 500   # MHz
    memory = 256   # MB
  }

  health_check {
    path     = "/health"
    interval = "10s"
  }
}
EOF

# Desplegar
dune deploy -f mi-servicio.dune
# ✦ Evaluating placement...
# ✦ Placed on: prod-01, prod-02
# ✦ Health checks passing. Deploy complete.

Siguiente paso

Tu cluster está funcionando. Desde aquí puedes explorar la Arquitectura para entender cómo funciona internamente, configurar Eye of Ibad para monitoreo visual, o revisar la referencia del CLI para todos los comandos disponibles.