Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maintain compatible version tags when releasing images #5247

Closed
4 tasks done
conall88 opened this issue Jun 15, 2024 · 3 comments
Closed
4 tasks done

Maintain compatible version tags when releasing images #5247

conall88 opened this issue Jun 15, 2024 · 3 comments
Assignees

Comments

@conall88
Copy link

conall88 commented Jun 15, 2024

Self Checks

  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report (我已阅读并同意 Language Policy).
  • Please do not modify this template :) and fill in all the required fields.

Dify version

0.6.3

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

pick any of the helm charts mentioned in the docs and deploy using default values.

Images pulled will use the "latest" image tag.

This will pull langgenius/dify-sandbox:latest , which is release that is not compatible with other images pulled using tag "latest".

(having to manually specify a working tag, e.g 0.2.1 instead is harder to maintain, and involves trial and error.)

✔️ Expected Behavior

pulling all images with tag:latest leads to a working setup.

❌ Actual Behavior

dify-sandbox pod fails to start with :

See BorisPolonsky/dify-helm#77 for more context, I've been directed here by the helm chart maintainer.

2024/06/14 16:00:37 nodejs.go:32: [INFO]initializing nodejs runner environment...                                                                                                                                                 │
│ 2024/06/14 16:00:37 nodejs.go:91: [INFO]nodejs runner environment initialized                                                                                                                                                     │
│ 2024/06/14 16:00:37 setup.go:22: [INFO]initializing python runner environment...                                                                                                                                                  │
│ 2024/06/14 16:00:37 setup.go:35: [INFO]python runner environment initialized                                                                                                                                                      │
│ 2024/06/14 16:00:37 config.go:86: [INFO]network has been enabled                                                                                                                                                                  │
│ 2024/06/14 16:00:37 server.go:19: [INFO]config init success                                                                                                                                                                       │
│ 2024/06/14 16:00:37 server.go:23: [PANIC]failed to setup runner dependencies: open dependencies/python-requirements.txt: no such file or directory                                                                                │
│ panic:                                                                                                                                                                                                                            │
│                                                                                                                                                                                                                                   │
│ goroutine 1 [running]:                                                                                                                                                                                                            │
│ github.com/langgenius/dify-sandbox/internal/utils/log.(*Log).Panic(...)                                                                                                                                                           │
│     /home/yeuoly/dify-sandbox/internal/utils/log/core.go:55                                                                                                                                                                       │
│ github.com/langgenius/dify-sandbox/internal/utils/log.Panic({0x493ccd?, 0x16d98?}, {0x40000a7f38?, 0x14820?, 0x4000056768?})                                                                                                      │
│     /home/yeuoly/dify-sandbox/internal/utils/log/core.go:209 +0x74                                                                                                                                                                │
│ github.com/langgenius/dify-sandbox/internal/server.initConfig()                                                                                                                                                                   │
│     /home/yeuoly/dify-sandbox/internal/server/server.go:23 +0xb0                                                                                                                                                                  │
│ github.com/langgenius/dify-sandbox/internal/server.Run()                                                                                                                                                                          │
│     /home/yeuoly/dify-sandbox/internal/server/server.go:51 +0x1c                                                                                                                                                                  │
│ main.main()                                                                                                                                                                                                                       │
│     /home/yeuoly/dify-sandbox/cmd/server/main.go:6 +0x1c                                                                                                                                                                          │
│ Stream closed EOF for dify/dify-sandbox-5549d6d8f8-f5566 (sandbox)
Copy link

dosubot bot commented Jun 15, 2024

Hey there, @conall88! 👋 I'm here to help you with bug reports, questions, and becoming a contributor. Let's squash those bugs together!

To avoid the issue of the dify-sandbox pod failing to start due to incompatible image versions when deploying Dify version 0.6.3 using the default Helm chart values, you should specify the following image versions explicitly in your Helm chart values:

  • Postgres: postgres:15-alpine
  • Redis: redis:6-alpine
  • Weaviate: semitechnologies/weaviate:1.19.0
  • DifySandbox: langgenius/dify-sandbox:0.2.1
  • SSR Proxy: ubuntu/squid:latest

Here is a snippet of the relevant configuration:

services:
  db:
    image: postgres:15-alpine
  redis:
    image: redis:6-alpine
  weaviate:
    image: semitechnologies/weaviate:1.19.0
  sandbox:
    image: langgenius/dify-sandbox:0.2.1
  ssrf_proxy:
    image: ubuntu/squid:latest

Ensure that these versions are correctly specified to avoid compatibility issues and ensure a smooth deployment [1].

To continue talking to Dosu, mention @dosu.

@conall88
Copy link
Author

conall88 commented Jun 15, 2024

if there is a breaking compatibility change, it should be reflected in semantic versioning, and should be described in the documentation, this is why it is common for projects to instead ensure compatibility for a particular release across containers.

@BorisPolonsky
Copy link
Contributor

BorisPolonsky commented Jun 17, 2024

We have plans to substitute the latest tag of sandbox in dify-helm for explicitly versioned ones. But without compatibility matrix declaration in official documents or release notes, the only way for us to resolve this is to wait until dify finalize the last version of 0.6.* and update the tag for sandbox afterwards.

@dosubot dosubot bot added the stale Issue has not had recent activity or appears to be solved. Stale issues will be automatically closed label Aug 10, 2024
@dosubot dosubot bot closed this as not planned Won't fix, can't repro, duplicate, stale Aug 25, 2024
@dosubot dosubot bot removed the stale Issue has not had recent activity or appears to be solved. Stale issues will be automatically closed label Aug 25, 2024
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

No branches or pull requests

3 participants