diff --git a/content/docs/en/upgrades.mdx b/content/docs/en/upgrades.mdx index b4ef104fe..0d293fbf2 100644 --- a/content/docs/en/upgrades.mdx +++ b/content/docs/en/upgrades.mdx @@ -10,7 +10,7 @@ import { FiExternalLink } from "react-icons/fi"; # Upgrades -Upgrades lets you schedule and monitor infrastructure version upgrades across all your accounts from a single place. View pending and completed upgrades, track execution dates, and keep your environments up to date without losing visibility. +Upgrades is where SleakOps surfaces infrastructure changes the platform plans to apply to your accounts — version bumps, configuration updates, resource reorganizations. You can review what's scheduled for your company, read the manual steps each one requires, trigger an upgrade ahead of its scheduled date, or move it inside the allowed window. -:::info Beta -Upgrades is currently in **Beta**. Core scheduling and monitoring are stable; advanced configuration options are still being added. +:::info +Upgrades are created by SleakOps. Customers cannot create upgrade types or schedule new upgrades from the panel — you act on the ones SleakOps queues for your accounts. ::: +## Where to find Upgrades + +Upgrades live at `/upgrades/` and have a dedicated entry in the sidebar footer, next to the notifications button. The entry is visible to **Admin** and **Editor** users; Viewers can still reach the page directly via URL when their company has the feature enabled. + +When at least one upgrade is **Pending** for your company, the sidebar icon turns red, animates briefly, and displays a counter with the number of pending upgrades across every account. + +## Reading the Upgrades list + +The list always shows upgrades across **every account you can access**, regardless of the account currently selected in the top bar. Admins see the whole company; Editors and Viewers see the upgrades for the accounts they've been assigned to. + +| **Column** | **Description** | +|---|---| +| **Upgrade** | The upgrade title and its current state. When the upgrade targets a specific resource (a Cluster, a NodePool, a Service), its model icon and name are shown directly under the title. | +| **Account** | The account the upgrade will run against. | +| **Execution Date** | Relative time — **scheduled date** while the upgrade is Pending, **actual execution time** for every other state. Hover the value to see the exact timestamp. | +| **Actions** | View details, Execute, and (when applicable) Review instructions. | + +Pending rows are tinted a subtle red to make outstanding work easier to scan at a glance. The same red is reused on the state pill and the sidebar badge — it's the single visual cue SleakOps uses for "deadline-bound action required". + +Filter the list by **State** (Pending, In Progress, Completed, Error), **Account**, or **Model** (the type of resource the upgrade targets) from the toolbar at the top of the table. Deep links from other sections (for example, from a specific Cluster) arrive with the relevant filter pre-applied. + +## States + +| **State** | **Meaning** | +|---|---| +| **Pending** | Scheduled but not yet started. You can execute it now or move its scheduled date. | +| **Running** | Execution is in progress. The upgrade can't be cancelled or rescheduled. | +| **Completed** | Finished successfully. No further action needed. | +| **Error** | Execution failed. The error is shown in the drawer and you can retry from the panel without waiting for SleakOps. | + +Transitions: `Pending → Running → Completed`. From `Running`, on failure, the upgrade lands in `Error`; from `Error` you can retry, which moves it back to `Running`. + +## Executing an upgrade + +You can execute a Pending or Error upgrade in two ways: + +1. **From the list** — click the green play icon in the row's Actions column. +2. **From the drawer** — open the upgrade and click the **Execute** button in the header. A popover lets you pick **Execute Now** or update the schedule. + + + execute-popover + + +Choosing **Execute Now** opens a confirmation modal. When the upgrade has prerequisites, they appear as a warning banner inside the modal — finish those manual steps before confirming. + +{/* TODO: screenshot - execute confirmation modal with the prerequisites warning banner. Requires a MigrationType with prerequisites set. */} + +The Execute button is disabled when any of the following applies: + +- Your role isn't authorized for this upgrade type. +- The upgrade is already Running or Completed. +- An **older Pending upgrade of a different type** exists on the same account — that one needs to clear first. +- Your company's subscription is not active (the upgrade is locked). + +Once Execute Now is confirmed, the upgrade is queued immediately and can't be stopped. + +## Rescheduling an upgrade + +Admins and Editors can move the scheduled date for a Pending or Error upgrade. Open the drawer, click **Execute** in the header, and use the **Schedule** section of the popover — or click the schedule block inside the **Details** tab. + + + upgrades-drawer-details + + +The new date must fall inside `[now + 1 hour, deadline]`. The deadline is the **Limit Date** of the upgrade type — the day after which SleakOps considers the upgrade overdue. The picker disables anything outside that window. + +Cross-type ordering is enforced when you reschedule: + +- You can't push the date **before** another older Pending upgrade of a different type on the same account. +- You can't push the date **after** a newer Pending upgrade of a different type on the same account. + +Upgrades **of the same type** on the same account don't constrain each other — you can reorder them freely. + +## The Upgrade drawer + +Click any row to open the drawer. It has two tabs: + +### Details + +- **Basic Information** — entity name (when the upgrade targets a specific resource), upgrade type, account, description, state. +- **Schedule** — Execution Date and Deadline (Limit Date). Click the section to edit the schedule inline when your role allows it. +- **Metadata** — creation date and any parameters attached to the upgrade. +- **Activity Logs** — the audit trail for this upgrade (executions, schedule changes), with the user and timestamp of each action. + +### Instructions + +Only present when the upgrade type ships prerequisites or postrequisites: + +- **Prerequisites** — numbered steps to complete before executing. +- **Post-Execution Steps** — steps to verify after the upgrade completes. + +While the upgrade is Pending, the **Instructions** tab label turns orange to remind you to read it before clicking Execute. From the list, a list icon next to the Execute button in the Actions column jumps straight into this tab. + +{/* TODO: screenshot - drawer with Instructions tab open showing numbered prerequisites and post-execution steps. Requires a MigrationType with prerequisites/postrequisites set. */} + +## Permissions + +| **Action** | **Admin** | **Editor** (assigned accounts) | **Viewer** (assigned accounts) | +|---|---|---|---| +| See upgrades | Yes | Yes | Yes | +| Execute an upgrade | Yes | Yes | No | +| Reschedule an upgrade | Yes | Yes | No | + +Each upgrade type can further restrict who's allowed to execute or reschedule it — Viewers are never permitted. When your role isn't authorized for a given upgrade, the action controls are disabled and a tooltip explains why. + +## When an upgrade fails + +When the SleakOps team rolls out an upgrade, every notable event — start, completion, failure — drops a notification in your in-app inbox. On failure, the upgrade enters the **Error** state, the drawer shows the error message at the top of the Details tab, and the SleakOps team is paged automatically. + +You don't have to wait for SleakOps to act. Open the upgrade, read the error, and click **Execute** again from the drawer. The retry runs the same upgrade with the same parameters. Once the underlying issue is fixed, the retry will succeed. + +SleakOps doesn't perform automatic rollbacks. If an upgrade needs to be undone, contact support. + ## FAQs
-### Where do I find Upgrades? +### Why can't I create an upgrade? -Upgrades is accessible directly from the main sidebar under **Upgrades** (`/migrations/`). It is also reachable from **Settings → Upgrades**. - -The page shows a table with all scheduled and completed upgrades, filtered by account. +SleakOps defines and schedules upgrades centrally. You see the upgrades the platform queues for your accounts and decide **when** within the allowed window — execute immediately or push the date inside `[now, deadline]`. Creating upgrade types is reserved for the SleakOps team.
-### What information does the Upgrades table show? +### Can I cancel a scheduled upgrade? -Each row in the table shows: - -| **Column** | **Description** | -|---|---| -| **Upgrade** | The type of upgrade being applied | -| **Account** | The account the upgrade targets | -| **Execution Date** | When the upgrade is scheduled to run | -| **Actions** | Available actions for that upgrade | - -Use the **Select an account** filter at the top left to narrow results to a specific account. +No. Cancellation isn't available — every queued upgrade will eventually run. What you can do is reschedule it inside the allowed window or, once the deadline approaches, execute it ahead of time at a moment that fits your maintenance window. If a specific change is no longer relevant for your account, contact the SleakOps team.
-### How do I schedule an upgrade? +### What's the difference between "Pending" and "Running"? -Use the search bar (⌘K) or the **Upgrade** button at the top of the list to create a new scheduled upgrade. Select the target account and set the execution date. - -{/* TODO: screenshot - New upgrade form showing account selection and execution date picker */} +**Pending** means the upgrade is queued but hasn't started yet — you still have control over the timing. **Running** means execution has begun and the platform owns the operation; it can't be cancelled or rescheduled from this point on.
-### Can I upgrade multiple environments at once? +### My upgrade is locked — what does "scheduling locked" mean? -You can schedule upgrades across multiple accounts and environments, but upgrades run sequentially by default to reduce blast radius. The recommended flow is to upgrade staging first, validate the result, and then schedule production. +When a company doesn't have an active SleakOps subscription, its upgrades are kept in the list for audit but cannot be executed or rescheduled. A warning banner is shown inside the drawer. Reactivate the subscription to unlock them.
-### What happens during an upgrade? +### Why is Execute disabled even though the upgrade is Pending? -SleakOps upgrades resources in a controlled sequence to minimize downtime. If a step fails, the upgrade halts and the console surfaces the error with context on what to do next. +A few reasons can disable the Execute button: your role isn't authorized for this upgrade type, the company subscription isn't active, or there's an **older Pending upgrade of a different type** on the same account that needs to complete first. Hover the button to see which case applies. +
-For cluster upgrades the sequence is: control plane first, then node groups one at a time — existing workloads are drained and rescheduled before each node is replaced. +
+ +### How do I see who executed or rescheduled an upgrade? + +Open the drawer's **Details** tab and scroll to **Activity Logs**. Every execution and every schedule change is recorded with the acting user and timestamp.
-### Can I cancel a scheduled upgrade? +### Are upgrades the same as Django database migrations? -Yes. Scheduled upgrades that have not yet started can be cancelled from the Actions column in the Upgrades table. Once an upgrade is in progress it cannot be rolled back automatically — contact support if you need to stop an active upgrade. +No. "Upgrades" here refers to **infrastructure changes** SleakOps applies to your AWS/Kubernetes resources — version bumps, configuration updates, resource reorganizations. Application-level database migrations belong to your codebase and run as part of your deployments.
diff --git a/content/docs/en/upgrades/upgrades-drawer.png b/content/docs/en/upgrades/upgrades-drawer.png new file mode 100644 index 000000000..1b728f631 Binary files /dev/null and b/content/docs/en/upgrades/upgrades-drawer.png differ diff --git a/content/docs/en/upgrades/upgrades-execute-popover.png b/content/docs/en/upgrades/upgrades-execute-popover.png new file mode 100644 index 000000000..d2f1ad9c1 Binary files /dev/null and b/content/docs/en/upgrades/upgrades-execute-popover.png differ diff --git a/content/docs/en/upgrades/upgrades-list.png b/content/docs/en/upgrades/upgrades-list.png index ea1e74c62..3931fb365 100644 Binary files a/content/docs/en/upgrades/upgrades-list.png and b/content/docs/en/upgrades/upgrades-list.png differ diff --git a/content/docs/es/upgrades.mdx b/content/docs/es/upgrades.mdx index 3463e1b51..67ba0727a 100644 --- a/content/docs/es/upgrades.mdx +++ b/content/docs/es/upgrades.mdx @@ -10,7 +10,7 @@ import { FiExternalLink } from "react-icons/fi"; # Upgrades -Upgrades te permite programar y monitorear actualizaciones de versión de infraestructura en todas tus cuentas desde un solo lugar. Visualizá upgrades pendientes y completados, seguí las fechas de ejecución y mantené tus entornos actualizados sin perder visibilidad. +Upgrades es donde SleakOps muestra los cambios de infraestructura que la plataforma planea aplicar sobre tus cuentas — actualizaciones de versión, cambios de configuración, reorganización de recursos. Desde acá podés revisar lo que está agendado para tu empresa, leer los pasos manuales que requiere cada upgrade, ejecutar uno antes de su fecha programada o moverlo dentro de la ventana permitida. -:::info Beta -Upgrades está actualmente en **Beta**. La programación y el monitoreo central son estables; las opciones de configuración avanzadas se siguen incorporando. +:::info +Los upgrades los crea SleakOps. El cliente no puede crear tipos de upgrade ni agendar nuevos desde el panel — sólo actúa sobre los que SleakOps encola para sus cuentas. ::: +## Dónde encontrar Upgrades + +Upgrades vive en `/upgrades/` y tiene una entrada dedicada en el footer del sidebar, al lado del botón de notificaciones. La entrada es visible para **Admin** y **Editor**; los Viewers pueden llegar a la página por URL directa cuando su empresa tiene la feature habilitada. + +Cuando hay al menos un upgrade **Pending** en tu empresa, el ícono del sidebar se vuelve rojo, se mueve sutilmente y muestra un contador con la cantidad de upgrades pendientes en todas las cuentas. + +## Leer la tabla de Upgrades + +La lista muestra siempre los upgrades de **todas las cuentas a las que tenés acceso**, independientemente de la cuenta seleccionada en la barra superior. Los Admin ven la empresa entera; Editors y Viewers ven los upgrades de las cuentas que tienen asignadas. + +| **Columna** | **Descripción** | +|---|---| +| **Upgrade** | El título del upgrade y su estado actual. Cuando apunta a un recurso específico (un Cluster, un NodePool, un Service), el ícono del modelo y su nombre aparecen debajo del título. | +| **Account** | La cuenta sobre la que se va a ejecutar el upgrade. | +| **Execution Date** | Tiempo relativo — **fecha programada** mientras el upgrade está Pending, **momento real de ejecución** para el resto de los estados. Pasá el cursor por encima para ver el timestamp exacto. | +| **Actions** | Ver detalle, Ejecutar y (cuando aplica) Revisar instrucciones. | + +Las filas Pending tienen un tinte rojo sutil para que el trabajo pendiente sea fácil de identificar de un vistazo. El mismo rojo se reutiliza en el pill de estado y en el badge del sidebar — es la única señal visual que SleakOps usa para "acción con deadline". + +Filtrá la tabla por **State** (Pending, In Progress, Completed, Error), **Account** o **Model** (el tipo de recurso al que apunta el upgrade) desde la barra superior. Los deep-links desde otras secciones (por ejemplo, desde un Cluster específico) llegan con el filtro aplicado. + +## Estados + +| **Estado** | **Significado** | +|---|---| +| **Pending** | Agendado pero no iniciado. Lo podés ejecutar ahora o mover su fecha. | +| **Running** | Ejecución en curso. El upgrade no se puede cancelar ni reprogramar. | +| **Completed** | Terminó con éxito. No requiere acción adicional. | +| **Error** | La ejecución falló. El error se muestra en el drawer y podés reintentar desde el panel sin esperar a SleakOps. | + +Transiciones: `Pending → Running → Completed`. Desde `Running`, ante un fallo, el upgrade cae a `Error`; desde `Error` podés reintentar y vuelve a `Running`. + +## Ejecutar un upgrade + +Podés ejecutar un upgrade Pending o Error de dos maneras: + +1. **Desde la lista** — clic en el ícono verde de play en la columna Actions. +2. **Desde el drawer** — abrí el upgrade y clic en el botón **Execute** del header. El popover deja elegir **Execute Now** o modificar la fecha programada. + + + execute-popover + + +Elegir **Execute Now** abre un modal de confirmación. Cuando el upgrade tiene prerequisites, aparecen como banner de advertencia dentro del modal — completá esos pasos manuales antes de confirmar. + +{/* TODO: screenshot - modal de confirmación de Execute con el banner de advertencia de prerequisites. Requiere un MigrationType con prerequisites configurados. */} + +El botón Execute aparece deshabilitado cuando se cumple alguna de estas condiciones: + +- Tu rol no está autorizado para este tipo de upgrade. +- El upgrade ya está Running o Completed. +- Existe un **upgrade Pending más antiguo y de otro tipo** sobre la misma cuenta — ese tiene que terminar primero. +- La suscripción de tu empresa no está activa (el upgrade queda bloqueado). + +Una vez confirmado Execute Now, el upgrade se encola inmediatamente y no se puede detener. + +## Reprogramar un upgrade + +Los Admin y Editor pueden mover la fecha programada de un upgrade Pending o Error. Abrí el drawer, hacé clic en **Execute** en el header y usá la sección **Schedule** del popover — o hacé clic sobre el bloque de schedule dentro de la pestaña **Details**. + + + upgrades-drawer-details + + +La nueva fecha tiene que caer dentro de `[ahora + 1 hora, deadline]`. El deadline es la **Limit Date** del tipo de upgrade — el día tras el cual SleakOps considera el upgrade vencido. El picker deshabilita todo lo que esté fuera de esa ventana. + +El orden cross-tipo se valida al reprogramar: + +- No podés mover la fecha **antes** de un upgrade Pending más antiguo y de otro tipo sobre la misma cuenta. +- No podés mover la fecha **después** de un upgrade Pending más nuevo y de otro tipo sobre la misma cuenta. + +Los upgrades **del mismo tipo** sobre la misma cuenta no se restringen entre sí — los podés reordenar libremente. + +## El drawer del Upgrade + +Hacé clic en cualquier fila para abrir el drawer. Tiene dos pestañas: + +### Details + +- **Basic Information** — nombre de la entidad (cuando el upgrade apunta a un recurso específico), tipo de upgrade, cuenta, descripción, estado. +- **Schedule** — Execution Date y Deadline (Limit Date). Hacé clic en la sección para editar el schedule en línea cuando tu rol lo permite. +- **Metadata** — fecha de creación y parámetros adjuntos al upgrade. +- **Activity Logs** — el trail de auditoría de este upgrade (ejecuciones, cambios de schedule), con usuario y timestamp de cada acción. + +### Instructions + +Sólo aparece cuando el tipo de upgrade trae prerequisites o postrequisites: + +- **Prerequisites** — pasos numerados a completar antes de ejecutar. +- **Post-Execution Steps** — pasos a verificar después de que el upgrade termine. + +Mientras el upgrade esté Pending, el label de la pestaña **Instructions** se pone naranja para recordarte que la leas antes de ejecutar. Desde la lista, un ícono de checklist al lado del botón Execute en la columna Actions abre el drawer directamente en esa pestaña. + +{/* TODO: screenshot - drawer con la pestaña Instructions abierta mostrando prerequisites numerados y pasos post-ejecución. Requiere un MigrationType con prerequisites/postrequisites configurados. */} + +## Permisos + +| **Acción** | **Admin** | **Editor** (cuentas asignadas) | **Viewer** (cuentas asignadas) | +|---|---|---|---| +| Ver upgrades | Sí | Sí | Sí | +| Ejecutar un upgrade | Sí | Sí | No | +| Reprogramar un upgrade | Sí | Sí | No | + +Cada tipo de upgrade puede restringir aún más quién puede ejecutarlo o reprogramarlo — Viewer **nunca** está permitido. Cuando tu rol no autoriza una acción, los controles quedan deshabilitados y el tooltip explica por qué. + +## Cuando un upgrade falla + +Cuando el equipo de SleakOps lanza un upgrade, cada evento relevante — inicio, finalización, fallo — deja una notificación en tu inbox in-app. Ante un fallo, el upgrade pasa al estado **Error**, el drawer muestra el mensaje de error arriba de la pestaña Details, y el equipo de SleakOps es alertado automáticamente. + +No tenés que esperar a que SleakOps actúe. Abrí el upgrade, leé el error y hacé clic en **Execute** otra vez desde el drawer. El retry corre el mismo upgrade con los mismos parámetros. Una vez resuelto el problema subyacente, el retry va a tener éxito. + +SleakOps no hace rollback automático. Si un upgrade debe deshacerse, contactá a soporte. + ## Preguntas frecuentes
-### ¿Dónde encuentro Upgrades? +### ¿Por qué no puedo crear un upgrade? -Upgrades es accesible directamente desde la barra lateral principal bajo **Upgrades** (`/migrations/`). También es accesible desde **Settings → Upgrades**. - -La página muestra una tabla con todos los upgrades programados y completados, filtrados por cuenta. +SleakOps define y agenda los upgrades de forma centralizada. Vos ves los upgrades que la plataforma encola para tus cuentas y decidís **cuándo** dentro de la ventana permitida — ejecutar ya o mover la fecha dentro de `[hoy, deadline]`. La creación de tipos de upgrade queda reservada al equipo de SleakOps.
-### ¿Qué información muestra la tabla de Upgrades? +### ¿Puedo cancelar un upgrade agendado? -Cada fila de la tabla muestra: - -| **Columna** | **Descripción** | -|---|---| -| **Upgrade** | El tipo de actualización a aplicar | -| **Account** | La cuenta que es objetivo del upgrade | -| **Execution Date** | Cuándo está programado para ejecutarse | -| **Actions** | Acciones disponibles para ese upgrade | - -Usá el filtro **Select an account** en la parte superior izquierda para ver resultados de una cuenta específica. +No. La cancelación no está disponible — todo upgrade encolado va a correrse eventualmente. Lo que sí podés hacer es reprogramarlo dentro de la ventana permitida o, cuando se acerca el deadline, ejecutarlo antes en un momento que se acomode a tu ventana de mantenimiento. Si un cambio puntual deja de ser relevante para tu cuenta, contactá al equipo de SleakOps.
-### ¿Cómo programo un upgrade? +### ¿Cuál es la diferencia entre "Pending" y "Running"? -Usá la barra de búsqueda (⌘K) o el botón **Upgrade** en la parte superior de la lista para crear un nuevo upgrade programado. Seleccioná la cuenta objetivo y configurá la fecha de ejecución. - -{/* TODO: screenshot - Formulario de nuevo upgrade mostrando selección de cuenta y selector de fecha de ejecución */} +**Pending** significa que el upgrade está encolado pero no arrancó — todavía controlás el timing. **Running** significa que la ejecución empezó y la plataforma toma el control; desde ese punto no se puede cancelar ni reprogramar.
-### ¿Puedo actualizar múltiples entornos a la vez? +### Mi upgrade está bloqueado — ¿qué significa "scheduling locked"? -Podés programar upgrades en múltiples cuentas y entornos, pero los upgrades se ejecutan en secuencia por defecto para reducir el radio de impacto. El flujo recomendado es actualizar staging primero, validar el resultado y luego programar producción. +Cuando una empresa no tiene suscripción activa de SleakOps, sus upgrades se conservan en la lista para auditoría pero no se pueden ejecutar ni reprogramar. Un banner de advertencia se muestra dentro del drawer. Reactivá la suscripción para desbloquearlos.
-### ¿Qué sucede durante un upgrade? +### ¿Por qué Execute está deshabilitado si el upgrade está Pending? -SleakOps actualiza los recursos en una secuencia controlada para minimizar el tiempo de inactividad. Si un paso falla, el upgrade se detiene y la consola muestra el error con contexto sobre qué hacer a continuación. +Hay varias razones que pueden deshabilitar el botón Execute: tu rol no está autorizado para este tipo de upgrade, la suscripción de la empresa no está activa, o existe un **upgrade Pending más antiguo y de otro tipo** sobre la misma cuenta que debe completarse primero. Pasá el cursor sobre el botón para ver el caso aplicable. +
-Para upgrades de cluster la secuencia es: primero el control plane, luego los node groups de a uno — los workloads existentes son drenados y reprogramados antes de reemplazar cada nodo. +
+ +### ¿Cómo veo quién ejecutó o reprogramó un upgrade? + +Abrí la pestaña **Details** del drawer y bajá hasta **Activity Logs**. Cada ejecución y cada cambio de schedule queda registrado con el usuario que lo accionó y el timestamp.
-### ¿Puedo cancelar un upgrade programado? +### ¿Son lo mismo que las migrations de base de datos de Django? -Sí. Los upgrades programados que aún no iniciaron pueden cancelarse desde la columna Actions en la tabla de Upgrades. Una vez que un upgrade está en progreso no puede revertirse automáticamente — contactá a soporte si necesitás detener un upgrade activo. +No. "Upgrades" acá se refiere a **cambios de infraestructura** que SleakOps aplica sobre tus recursos AWS/Kubernetes — actualizaciones de versión, cambios de configuración, reorganización de recursos. Las migrations de base de datos de la aplicación viven en tu código y corren como parte de tus deployments.
diff --git a/content/docs/es/upgrades/upgrades-drawer.png b/content/docs/es/upgrades/upgrades-drawer.png new file mode 100644 index 000000000..1b728f631 Binary files /dev/null and b/content/docs/es/upgrades/upgrades-drawer.png differ diff --git a/content/docs/es/upgrades/upgrades-execute-popover.png b/content/docs/es/upgrades/upgrades-execute-popover.png new file mode 100644 index 000000000..d2f1ad9c1 Binary files /dev/null and b/content/docs/es/upgrades/upgrades-execute-popover.png differ diff --git a/content/docs/es/upgrades/upgrades-list.png b/content/docs/es/upgrades/upgrades-list.png index ea1e74c62..3931fb365 100644 Binary files a/content/docs/es/upgrades/upgrades-list.png and b/content/docs/es/upgrades/upgrades-list.png differ