-
Notifications
You must be signed in to change notification settings - Fork 66
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
Add dependabot for plugin modules and update some dependencies #130
base: main
Are you sure you want to change the base?
Conversation
858a7f3
to
fe55c97
Compare
fe55c97
to
83bb3e2
Compare
83bb3e2
to
e87d432
Compare
eb669a0
to
50431ef
Compare
Signed-off-by: Jin Dong <[email protected]>
50431ef
to
2a9bb78
Compare
github.com/onsi/ginkgo/v2 v2.19.1 | ||
github.com/onsi/gomega v1.34.0 | ||
github.com/opencontainers/runtime-spec v1.0.3-0.20220825212826-86290f6a00fb | ||
github.com/opencontainers/runtime-spec v1.1.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Release notes
Sourced from github.com/opencontainers/runtime-spec's releases.
v1.1.0
Vote: opencontainers/runtime-spec#1213
Blog: https://opencontainers.org/posts/blog/2023-07-21-oci-runtime-spec-v1-1/
Breaking changes (but rather conforms to the existing runc implementation)
- config: change prestart hook spec to match reality (#1169)
Deprecations
- config-linux: mark memory.kernel[TCP] as NOT RECOMMENDED (#1093)
Additions
- cgroup: add cgroup v2 support (#1040)
- seccomp: allow to override errno return code (#1041)
- seccomp: Add support for SCMP_ACT_KILL_PROCESS (#1044)
- Update seccomp architectures to support RISCV64 (#1059)
- Add support for SCMP_ACT_KILL_THREAD (#1064)
- Add Seccomp Notify support using UNIX sockets and container metadata (#1074)
- config-linux: Add Intel RDT CMT and MBM Linux support (#1076)
- seccomp: allow to override default errno return code (#1087)
- Introduce zos as platform (#1095)
- config-linux: add idle option for container cgroup (#1136)
- config-linux: add CFS bandwidth burst (#1120)
- IDMapping field for mount point (#1143)
- schema: add cpu idle (#1145)
- add domainname spec entity (#1156)
- config-linux: add memory.checkBeforeUpdate (#1158)
- seccomp: Add flag SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV (#1161)
... (truncated)
Commits
- See full diff in compare view
2a9bb78
to
c4c205d
Compare
I'm a bit on the fence on enabling dependabot and updating dependencies for modules used as a library; at least not unless there were reasons that older versions of the dependencies can no longer be used; related comment in #132 (comment) as well. Keeping dependencies on the minimum required version would adhere to go module's minimum version selection, while still allowing consumers to pick any newer, SemVer compatible, version. |
Hi @thaJeztah I think dependency is a bit different than go module's minimum version. A dependency upgrade can be:
I think for 1, we should do the upgrade unless there is known broken/issue. I don't think this will impact consumers, even as a library? And also this is where dependabot is used the most. For 2 and 3, we need to decide if we want to upgrade and accept/reject dependabot PRs. Also for 1, another benefit of upgrading those deps is that we can do upgrade incrementally, which is easier for review. E.g., now this upgrade has 110+ commits since 2014: moby/sys@mountinfo/v0.6.2...mountinfo/v0.7.2. Another benefit of dependabot is it also alerts on deps that have security issues. Thanks! Let me know your thought :) happy to make any changes needed. |
Consumers can still update to a newer version, whereas the reverse is not true; if a library module updates the minimum required versions, consumers MUST upgrade as well. The result of that may be much more impactful than the impact the update has in the library module. I'm pretty much tempted to consider it the reverse; if nothing in the code used in this (library) module use broken, what reason would there be to update? That's the whole foundation of Go module's MVSS; it specifies the minimum version needed to use a (library) module. Any version above that (which may be because a consumer does need bug-fixes from a dependency) can be selected. |
I should add that that diff is quite deceiving, as |
@thaJeztah Thanks, that makes sense to me too. So IIUC, for libraries, we shouldn't upgrade dependency and golang unless something is broken or a user reports any issues? If so I can remove the commit 3 c4c205d (There are a few deps that have known security fixes, so I probably will keep those and comment on that) Also for dependabot, since it can report security vulnerabilities from dependencies, I suggest we still add it. Here are a few next steps for this:
Let me know which one you prefer. thanks. |
c4c205d
to
23516e6
Compare
Signed-off-by: Jin Dong <[email protected]>
Signed-off-by: Jin Dong <[email protected]>
…e-spec Signed-off-by: Jin Dong <[email protected]>
23516e6
to
e6153ca
Compare
The current version 1.6.9 has known vulnerbilities, and the minimum version fixing them is 1.6.26: https://pkg.go.dev/github.com/containerd/[email protected]?tab=versions I think we can just upgrade to the latest 1.6.36 release, which will also remove the dependency on runc 1.1.2, as runc also has vulnerbilities between 1.1.2 and 1.1.13. Signed-off-by: Jin Dong <[email protected]>
e6153ca
to
ddf06dc
Compare
Hi @thaJeztah @klihub 👋 so I've updated the PR to:
Let me know if you have any suggestions, or which commit(s) should be removed. thanks! |
This PR has 5 commits:
go mod tidy
all modules. This helps manual modifying deps and keep allgo.mod
in sync.example/
andplugins/**/*
directories, since they're used as plugins/binaries, whereas the root module is used as a library.3-5. bump up some dependencies. The updates are to use released tags or to resolve vulnerbilities.