🚀 Primeros pasos con ShFlow
Esta guía te ayudará a instalar ShFlow, configurar un inventario mínimo y ejecutar tu primer playbook para obtener información de un equipo remoto usando el módulo facts.
🧭 Requisitos
- Linux con Shell ≥ 4.4
yqyjqinstalados- Acceso SSH a los hosts definidos
- Git (para clonar el proyecto)
📦 Instalación
git clone https://github.com/luisgulo/ShFlow.git
cd ShFlow
./install.sh🗂️ Inventario mínimo
Crea el archivo core/inventory/hosts.yaml:
all:
hosts:
mi_equipo:
ansible_host: 192.168.1.100
label: Equipo de pruebas📄 Playbook básico
Crea el archivo facts_test.yaml:
tasks:
- name: Inventario del sistema
module: facts
args:
format: md
output: "/tmp/informe_{{ name }}.md"
host_label: "{{ label }}"▶️ Ejecución
./shflow.sh -f facts_test.yaml -h mi_equipo --debugEsto generará un informe en /tmp/informe_mi_equipo.md con datos del sistema remoto.
✅ Resultado esperado
- Conexión SSH establecida
- Trazas limpias en consola
- Informe Markdown con CPU, RAM, OS, particiones, red…
📚 ¿Y ahora qué?
- Explora otros módulos en
docs/modules/ - Crea grupos en el inventario
- Usa
vars/para definir configuración global
⚙️ Instalación automatizada con install.sh
ShFlow incluye un script de instalación que prepara la estructura base del proyecto, crea los directorios necesarios y configura el entorno para que puedas usar los comandos desde cualquier terminal, sin importar la ruta.
🧩 ¿Qué hace install.sh?
- Detecta si la instalación es global (
/opt/shflow) o local ($HOME/shflow) - Crea las rutas estándar:
core/modules/,core/inventory/,docs/, etc. - Copia los archivos base del proyecto
- Preserva rutas sensibles como
vault,inventoryyuser_modulessi ya existen - Crea symlinks en el
PATH(shflow,shflow-doc,shflow-check, etc.) - Añade
SHFLOW_HOMEy elPATHal.bashrco.zshrcdel usuario
▶️ Ejecución
./install.shUna vez completado, puedes ejecutar ShFlow desde cualquier terminal:
shflow -f facts_test.yaml -h mi_equipoNo necesitas estar en el directorio del proyecto.
📎 Verificación
shflow version
shflow-check