// 02 · devops
WASM
CLI de despliegue distribuida como paquete para Linux.
STACK
Python 3.10+ · Nginx · Apache · systemd · Certbot · MySQL · PostgreSQL · Redis · MongoDB · PyPI · OBS
STATUS
live
WASM es una CLI empaquetada con todas las de la ley, no un script de shell. Se distribuye en PyPI (pip install wasm-cli) y en el openSUSE Build Service con paquetes nativos para Ubuntu 22.04 LTS, 24.04 LTS, Debian 12, Fedora 40 y openSUSE. Una instalación, un comando, un servidor corriendo.
Flujo de un deploy
El registro de deployers/
La detección de framework es pluggable. Cada target implementa una interfaz pequeña y se registra; la CLI elige el adecuado según el contenido del proyecto.
# src/wasm/deployers/registry.py
REGISTRY = {
'nextjs': NextJsDeployer,
'nodejs': NodeJsDeployer,
'vite': ViteDeployer,
'python': PythonDeployer,
'static': StaticDeployer,
'docker-compose': DockerComposeDeployer,
'monorepo': MonorepoDeployer,
}
Lo que te gestiona
- Build del framework — ejecuta el paso correcto, maneja lockfiles, cachea.
- Servidor web — genera el vhost de Nginx o Apache con defaults sensatos (HTTP/2, gzip, cabeceras de seguridad, cache de assets).
- SSL — emite y renueva certificados vía Certbot, método webroot. Resuelve el challenge HTTP-01 sin downtime.
- Unidades systemd — servicio por app con auto-restart, logs en journald, env file y límites de recursos.
- Bases de datos — aprovisionamiento opcional de MySQL, PostgreSQL, Redis y MongoDB con credenciales al entorno del servicio.
- Snapshots — cada deploy guarda la release anterior.
wasm rollback <app>cambia el symlink y reinicia. - Dashboard web — UI opcional para estado, logs y rollback con un clic, servida sobre el mismo Nginx.
Ergonomía CLI
$ wasm deploy --app bitbeet.dev --repo git@github.com:Perkybeet/bitbeet.git
▸ detectando framework → static
▸ clone + install → ok
▸ build → dist/ (15.2 MB)
▸ vhost nginx → generado
▸ unidad systemd → bitbeet.dev.service
▸ SSL (letsencrypt) → emitido
▸ health check → 200 OK
⟹ en vivo en https://bitbeet.dev
Este mismo sitio está desplegado con WASM — el vhost de Nginx que sirve bitbeet.dev salió del tooling de wasm deploy.
7
tipos de deployer
4
distros empaquetadas
v0.15
release actual