Skip to content

fix(gallery): add fallback URI resolution for backend installation#8663

Merged
mudler merged 2 commits intomudler:masterfrom
localai-bot:fix/issue-8437-backend-index-mismatch
Feb 27, 2026
Merged

fix(gallery): add fallback URI resolution for backend installation#8663
mudler merged 2 commits intomudler:masterfrom
localai-bot:fix/issue-8437-backend-index-mismatch

Conversation

@localai-bot
Copy link
Contributor

When a backend installation fails (e.g., due to missing 'latest-' tag), try fallback URIs in order:

  1. Replace 'latest-' with 'master-' in the URI
  2. If that fails, append '-development' to the backend name

This fixes the issue where backend index entries don't match the repository tags. For example, installing 'ace-step' tries to download 'latest-gpu-nvidia-cuda-13-ace-step' but only 'master-gpu-nvidia-cuda-13-ace-step' exists in the quay.io registry.

Fixes: #8437

@netlify
Copy link

netlify bot commented Feb 26, 2026

Deploy Preview for localai ready!

Name Link
🔨 Latest commit 49dc5a4
🔍 Latest deploy log https://app.netlify.com/projects/localai/deploys/69a15bccd80302000890ac89
😎 Deploy Preview https://deploy-preview-8663--localai.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

When a backend installation fails (e.g., due to missing 'latest-' tag),
try fallback URIs in order:
1. Replace 'latest-' with 'master-' in the URI
2. If that fails, append '-development' to the backend name

This fixes the issue where backend index entries don't match the
repository tags. For example, installing 'ace-step' tries to download
'latest-gpu-nvidia-cuda-13-ace-step' but only 'master-gpu-nvidia-cuda-13-ace-step'
exists in the quay.io registry.

Fixes: mudler#8437
Signed-off-by: localai-bot <139863280+localai-bot@users.noreply.github.com>
@localai-bot localai-bot force-pushed the fix/issue-8437-backend-index-mismatch branch from 825e85d to fc5bce5 Compare February 26, 2026 23:23
}

// Try fallback: replace "latest-" with "master-" in the URI
fallbackURI := strings.Replace(string(config.URI), "latest-", "master-", 1)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's make these ("latest" and "master") optional environment variable

} else {
// Try another fallback: add "-development" suffix to the backend name
// For example: master-gpu-nvidia-cuda-13-ace-step -> master-gpu-nvidia-cuda-13-ace-step-development
if !strings.Contains(fallbackURI, "-development") {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also "development" , better be env variables that can be optionally tweaked if really necessary

Copy link
Owner

@mudler mudler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm ok with it temporarly now.

But you should do a follow-up to set the environment variables in core/cli/run.go where all the others are already defined, and propagate these as AppOption and pass the application to InstallBackend

@mudler mudler merged commit 959458f into mudler:master Feb 27, 2026
37 of 38 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Several backend index entries do not match the repository and will not install

2 participants