> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Desinstalación del despliegue de Midaz

> Elimina por completo un despliegue Helm de Midaz de Kubernetes — recursos gestionados, volúmenes persistentes, secrets y el propio namespace.

Esta guía te lleva por el proceso completo de eliminación de un despliegue de Midaz de Kubernetes. Un `helm uninstall` estándar elimina los recursos gestionados por Helm, pero varios recursos persistentes — PersistentVolumeClaims, Secrets, ConfigMaps y el propio namespace — se dejan intencionalmente para prevenir pérdidas accidentales de datos. Esta página cubre cómo limpiarlos completamente cuando sea necesario.

<Warning>
  Desinstalar Midaz elimina permanentemente los datos de la aplicación. Antes de continuar, asegúrate de tener copias de seguridad de todas las bases de datos y cualquier dato que necesites conservar. Esta operación es irreversible.
</Warning>

## Prerrequisitos

***

Antes de desinstalar, respalda tus valores actuales de Helm para poder reinstalar con la misma configuración si es necesario:

```bash theme={null}
helm get values midaz -n midaz > midaz-values-backup.yaml
```

También respalda cualquier release de plugins:

```bash theme={null}
helm get values plugin-crm -n midaz > plugin-crm-values-backup.yaml
helm get values plugin-fees -n midaz > plugin-fees-values-backup.yaml
```

Verifica todos los releases que se verán afectados:

```bash theme={null}
helm list -n midaz
```

***

## Desinstalación del release de Helm

***

Ejecuta el siguiente comando para desinstalar el release de Helm de Midaz:

```bash theme={null}
helm uninstall midaz -n midaz
```

Esto elimina todos los recursos de Kubernetes creados por el chart de Helm — Deployments, Services, Ingresses, ConfigMaps gestionados por Helm, ServiceAccounts y recursos RBAC. **No** elimina PersistentVolumeClaims, Secrets creados fuera de Helm, ni el namespace.

Verifica que todos los pods gestionados por Helm hayan sido eliminados:

```bash theme={null}
kubectl get pods -n midaz
```

***

## Limpieza de recursos persistentes

***

### PersistentVolumeClaims

Los PVCs almacenan los volúmenes de base de datos y nunca son eliminados por `helm uninstall`. Lístalos primero para confirmar qué existe:

```bash theme={null}
kubectl get pvc -n midaz
```

Elimina todos los PVCs del namespace (esto destruye todos los datos almacenados en esos volúmenes):

```bash theme={null}
kubectl delete pvc --all -n midaz
```

O elimina PVCs específicos por nombre:

```bash theme={null}
kubectl delete pvc <pvc-name> -n midaz
```

<Danger>
  Eliminar los PVCs destruye permanentemente los datos de los volúmenes subyacentes de PostgreSQL, MongoDB y cualquier otra dependencia con estado. Asegúrate de tener copias de seguridad de las bases de datos antes de ejecutar este comando.
</Danger>

### Secrets

Los Secrets creados fuera del ciclo de vida del release de Helm (por ejemplo, con `kubectl create secret`) no son eliminados por `helm uninstall`. Lista todos los secrets del namespace e identifica los que ya no son necesarios:

```bash theme={null}
kubectl get secrets -n midaz
```

Elimina secrets huérfanos individuales:

```bash theme={null}
kubectl delete secret <secret-name> -n midaz
```

O elimina todos los secrets del namespace:

```bash theme={null}
kubectl delete secrets --all -n midaz
```

### ConfigMaps

Los ConfigMaps creados manualmente o por jobs de bootstrap también pueden permanecer. Lístalos:

```bash theme={null}
kubectl get configmaps -n midaz
```

Elimina ConfigMaps huérfanos:

```bash theme={null}
kubectl delete configmap <configmap-name> -n midaz
```

***

## Limpieza del namespace

***

Una vez que todos los recursos dentro del namespace han sido eliminados, borra el namespace:

```bash theme={null}
kubectl delete namespace midaz
```

<Note>
  Eliminar el namespace eliminará forzosamente cualquier recurso restante dentro de él. Si un recurso está atascado en estado `Terminating`, puede que necesites eliminar sus finalizers manualmente.
</Note>

Verifica que el namespace haya sido eliminado:

```bash theme={null}
kubectl get namespace midaz
```

***

## Limpieza completa

***

Para entornos de staging, evaluación o CI donde una eliminación completa es segura, el siguiente script automatiza todo el proceso:

<Danger>
  **La pérdida de datos es permanente.** Ejecuta esto solo en entornos donde tengas copias de seguridad confirmadas o donde la pérdida de datos sea aceptable (staging, evaluación, CI). No ejecutes esto en producción sin una copia de seguridad completa y la aprobación del equipo.
</Danger>

```bash expandable theme={null}
#!/bin/bash
set -e

NAMESPACE=midaz
RELEASE=midaz

echo "==> Desinstalando release de Helm: $RELEASE"
helm uninstall "$RELEASE" -n "$NAMESPACE" || true

echo "==> Eliminando todos los PersistentVolumeClaims"
kubectl delete pvc --all -n "$NAMESPACE" || true

echo "==> Eliminando todos los Secrets"
kubectl delete secrets --all -n "$NAMESPACE" || true

echo "==> Eliminando todos los ConfigMaps"
kubectl delete configmaps --all -n "$NAMESPACE" || true

echo "==> Eliminando namespace: $NAMESPACE"
kubectl delete namespace "$NAMESPACE" || true

echo "==> Listo. Midaz ha sido eliminado completamente."
```

Guarda esto como `midaz-cleanup.sh`, hazlo ejecutable (`chmod +x midaz-cleanup.sh`) y ejecútalo con `./midaz-cleanup.sh`.

***

## Consideraciones para producción

***

<Warning>
  En producción, una desinstalación completa requiere una coordinación cuidadosa. Sigue estos pasos antes de ejecutar cualquier comando de limpieza:

  1. **Respalda todas las bases de datos.** Exporta un snapshot completo de PostgreSQL y MongoDB antes de tocar cualquier recurso.
  2. **Exporta datos críticos.** Si algún dato necesita ser migrado o conservado, expórtalo antes de desinstalar.
  3. **Coordina con tu equipo.** Notifica a todos los interesados sobre el tiempo de inactividad planificado y confirma la ventana de mantenimiento.
  4. **Desinstala los plugins primero.** Elimina los releases de plugins (CRM, Fees, Pix) antes de desinstalar el release principal de Midaz.
  5. **Verifica que no haya tráfico.** Confirma que ningún tráfico activo esté llegando a los servicios antes de proceder.
</Warning>

Desinstala los plugins antes del release principal:

```bash theme={null}
helm uninstall plugin-crm -n midaz || true
helm uninstall plugin-fees -n midaz || true
helm uninstall midaz -n midaz
```

Luego procede con los pasos de limpieza de recursos persistentes descritos arriba.

***

## Recursos relacionados

* [Desplegar Midaz con Helm](/es/platform/helm/midaz/midaz-installation) — Guía de instalación si necesitas reinstalar
* [Actualizar Midaz y plugins con Helm](/es/platform/helm/midaz/midaz-upgrade-guide) — Procedimientos de actualización y rollback
* [Solución de problemas](/es/platform/helm/midaz/midaz-troubleshooting) — Diagnosticar problemas antes de decidir desinstalar
* [Compatibilidad de versiones](/es/platform/helm/helm-version-compatibility) — Tabla de referencia de versiones
