Skip to content

Improved API key usage modal #513

@laurivosandi

Description

@laurivosandi

Is your feature request related to a problem? Please describe

When users create API keys in the zot UI, they receive the key value but no guidance on how to use it. Users must manually construct docker login and kubectl create secret commands,
which is error-prone and requires looking up documentation. This creates friction in the onboarding process and increases the likelihood of authentication errors.

Describe the solution you'd like

Add ready-to-use, copy-pastable shell command snippets to the API key confirmation dialog that appears after creating a new API key. The dialog should display:

1 The API key value (existing functionality)
2 A docker login command snippet with:
• The correct registry URL (auto-detected from the current host)
• The user's username (fetched from the session)
• The API key as the password
• A copy button for one-click copying
3 A kubectl create secret docker-registry command snippet with:
• All necessary parameters pre-filled
• The API key embedded
• A copy button for one-click copying

Possibly additional examples like how to specify imagePullSecrets for Pod and also some alternative tool snippets like Podman

The snippets should be configurable via a config file (src/config/apiKeyDialogConfig.js) to allow deployments to:

• Customize the instruction text
• Override the registry URL
• Enable/disable specific snippets
• Add custom snippets (e.g., for Podman, Helm, etc.)
• Modify snippet templates

Describe alternatives you've considered

Manually monkeying around - users currently have to:

• Copy the API key
• Look up documentation for docker login syntax
• Manually type the command with correct registry URL
• Remember their username
• Paste the API key in the right place
• Repeat for kubectl if needed

Additional context

This feature improves user experience by reducing the time from API key creation to actual usage. It's especially helpful for new users who may not be familiar with the exact command
syntax or registry configuration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions