lablup / lablup/backend.ai-webui

Rescan a single image from the Images list

Open
#9,688 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
133
Forks
81
Avg merge
1d 12h
Merged PRs (30d)
355

Description

## Summary

Add a per-row **Rescan** action to Environments › Images that refreshes one registered image's metadata from its registry through \`POST /admin/images/rescan\` (\`canonical\` + \`architecture\`). Today rescan exists only per registry (Registries tab row action, Maintenance page). For docker-type registries without a catalog API (nvcr.io), the registry-wide rescan enumerates nothing (\`container_registry/docker.py:86\` uses \`/v2/_catalog\`), so a per-image rescan is the only way to refresh an NGC image once it is imported.

What a rescan updates (\`container_registry/base.py:196-206\`): \`config_digest\` (which \`auto_pull: digest\` compares against), \`size_bytes\`, \`accelerators\`, \`labels\` (min resources, service ports, apps), and it restores a \`DELETED\` row to \`ALIVE\`.

## Scope

- Row action **Rescan** (icon button, superadmin only) in the Images list action cell, beside "Modify Minimum Image Resource Limit" / "Manage Apps".
- Reuses the scan request helper and error classification introduced by the Import Image modal (FR-3940); refetches the list on success; toast with the canonical.
- i18n \`environment.RescanImage\` family (en, ko real; others via \`make i18n\`, \`th.json\` by hand).
- Component test: success → toast + refetch; 500 with empty body → tag-not-found message; 403 → superadmin message.

## Out of scope

Bulk rescan of a selection; scheduling.

## Context

Third PR of the FR-3939 → FR-3940 stack; wayfinder map FR-3933.

JIRA Issue: FR-3948

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the Environments › Images list and its row action cell, then trace the scan request helper and error classification used by the Import Image modal (FR-3940). Check the environment.RescanImage translations and the component test coverage. Done means a superadmin can rescan one image, see the canonical in a success toast, see the specified 500/403 messages, and the list refetches.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.