OCPBUGS-85826: rebase to pick up dependency updates#237
Conversation
Somehow we missed this case; if CHECK is called with no bandwidth configuration, we segfault. Oops. Fixes: #1221 Signed-off-by: Casey Callendrello <c1@caseyc.net>
The previous implementation filtered out routes without an explicit source address (route.Src == nil), which incorrectly removed routes added by IPAM plugins. IPAM plugins typically configure routes without setting a source address, causing those routes to be lost when the interface was moved to the VRF. The SCOPE_UNIVERSE filter already excludes local and connected routes that are automatically recreated by the kernel, so the additional route.Src filter was both unnecessary and harmful. Fixes #1223 Signed-off-by: Marcelo Guerrero <marcegue@cisco.com>
The "test" prefix on hostVethName exceeds the 15-char Linux interface name limit (IFNAMSIZ), causing ERANGE instead of EEXIST. Shorten the prefix so the test exercises the intended error path. Signed-off-by: Marcelo Guerrero <marcegue@cisco.com>
Signed-off-by: sbiradar10 <sbiradar@redhat.com>
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 8 to 9. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](golangci/golangci-lint-action@v8...v9) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-version: '9' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
This PR includes the IP in the `AddrAdd` error message which could help debug better with any issues while adding the IP address to the bridge and improves the readability. Signed-off-by: Amulyam24 <amulmek1@in.ibm.com>
This reflects the version used in the GitHub workflows. Signed-off-by: Mads Jensen <atombrella@users.noreply.github.com>
Signed-off-by: Mads Jensen <atombrella@users.noreply.github.com>
Signed-off-by: Tomofumi Hayashi <tohayash@redhat.com>
Bumps the golang group with 7 updates in the / directory: | Package | From | To | | --- | --- | --- | | [github.com/buger/jsonparser](https://github.com/buger/jsonparser) | `1.1.1` | `1.1.2` | | [github.com/coreos/go-systemd/v22](https://github.com/coreos/go-systemd) | `22.6.0` | `22.7.0` | | [github.com/godbus/dbus/v5](https://github.com/godbus/dbus) | `5.1.0` | `5.2.2` | | [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) | `2.25.1` | `2.28.1` | | [github.com/opencontainers/selinux](https://github.com/opencontainers/selinux) | `1.13.0` | `1.13.1` | | [github.com/safchain/ethtool](https://github.com/safchain/ethtool) | `0.6.2` | `0.7.0` | | [sigs.k8s.io/knftables](https://github.com/kubernetes-sigs/knftables) | `0.0.18` | `0.0.21` | Updates `github.com/buger/jsonparser` from 1.1.1 to 1.1.2 - [Release notes](https://github.com/buger/jsonparser/releases) - [Commits](buger/jsonparser@v1.1.1...v1.1.2) Updates `github.com/coreos/go-systemd/v22` from 22.6.0 to 22.7.0 - [Release notes](https://github.com/coreos/go-systemd/releases) - [Commits](coreos/go-systemd@v22.6.0...v22.7.0) Updates `github.com/godbus/dbus/v5` from 5.1.0 to 5.2.2 - [Release notes](https://github.com/godbus/dbus/releases) - [Commits](godbus/dbus@v5.1.0...v5.2.2) Updates `github.com/onsi/ginkgo/v2` from 2.25.1 to 2.28.1 - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](onsi/ginkgo@v2.25.1...v2.28.1) Updates `github.com/onsi/gomega` from 1.38.1 to 1.39.0 - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](onsi/gomega@v1.38.1...v1.39.0) Updates `github.com/opencontainers/selinux` from 1.13.0 to 1.13.1 - [Release notes](https://github.com/opencontainers/selinux/releases) - [Commits](opencontainers/selinux@v1.13.0...v1.13.1) Updates `github.com/safchain/ethtool` from 0.6.2 to 0.7.0 - [Release notes](https://github.com/safchain/ethtool/releases) - [Commits](safchain/ethtool@v0.6.2...v0.7.0) Updates `golang.org/x/sys` from 0.35.0 to 0.40.0 - [Commits](golang/sys@v0.35.0...v0.40.0) Updates `sigs.k8s.io/knftables` from 0.0.18 to 0.0.21 - [Changelog](https://github.com/kubernetes-sigs/knftables/blob/master/CHANGELOG.md) - [Commits](kubernetes-sigs/knftables@v0.0.18...v0.0.21) --- updated-dependencies: - dependency-name: github.com/buger/jsonparser dependency-version: 1.1.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: golang - dependency-name: github.com/coreos/go-systemd/v22 dependency-version: 22.7.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang - dependency-name: github.com/godbus/dbus/v5 dependency-version: 5.2.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang - dependency-name: github.com/onsi/ginkgo/v2 dependency-version: 2.28.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang - dependency-name: github.com/onsi/gomega dependency-version: 1.39.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang - dependency-name: github.com/opencontainers/selinux dependency-version: 1.13.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: golang - dependency-name: github.com/safchain/ethtool dependency-version: 0.7.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang - dependency-name: golang.org/x/sys dependency-version: 0.40.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang - dependency-name: sigs.k8s.io/knftables dependency-version: 0.0.21 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: golang ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.69.0 to 1.79.3. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](grpc/grpc-go@v1.69.0...v1.79.3) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-version: 1.79.3 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
- add static IPAM spec proving multiple routes with the same dst keep distinct GWs - add ConfigureIface ECMP test that inspects netlink routes for both gateways Signed-off-by: Yusho Yamaguchi <ys-yamaguchi@kddi.com>
Bumps the golang group with 3 updates: [github.com/Microsoft/hcsshim](https://github.com/Microsoft/hcsshim), [github.com/onsi/gomega](https://github.com/onsi/gomega) and [golang.org/x/sys](https://github.com/golang/sys). Updates `github.com/Microsoft/hcsshim` from 0.13.0 to 0.14.0 - [Release notes](https://github.com/Microsoft/hcsshim/releases) - [Commits](microsoft/hcsshim@v0.13.0...v0.14.0) Updates `github.com/onsi/gomega` from 1.39.0 to 1.39.1 - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](onsi/gomega@v1.39.0...v1.39.1) Updates `golang.org/x/sys` from 0.40.0 to 0.42.0 - [Commits](golang/sys@v0.40.0...v0.42.0) --- updated-dependencies: - dependency-name: github.com/Microsoft/hcsshim dependency-version: 0.14.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang - dependency-name: github.com/onsi/gomega dependency-version: 1.39.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: golang - dependency-name: golang.org/x/sys dependency-version: 0.42.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang ... Signed-off-by: dependabot[bot] <support@github.com>
Add two configuration options:
1. "gateways" ([]string): Static gateway IPs that override prevResult.
Supports dual-stack (one IPv4 and/or one IPv6 address).
2. "addSourceHints" (bool): Preserves subnet routes in the main table
with source IP hints, enabling destination-based routing to work
alongside source-based routing
Example:
{
"type": "sbr",
"gateways": ["10.0.0.1"],
"addSourceHints": true
}
Signed-off-by: David Whyte-Gray <40244437+dagrayvid@users.noreply.github.com>
- Use 0.0.0.0/0 or ::/0 as source address when MasqAll is true for full traffic match Signed-off-by: l1b0k <libokang.lbk@alibaba-inc.com>
|
@danwinship: This pull request references Jira Issue OCPBUGS-83942, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
WalkthroughBumps Go/tooling and CI images, refreshes module deps, adds MasqAll portmap behavior with tests, extends SBR with static gateways and optional main-table source-hint routing plus tests, adds ECMP/multi-gateway tests, and applies minor networking fixes. ChangesDependency and Toolchain Modernization
Networking and Routing Enhancements
🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 10 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (10 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@danwinship: This pull request references Jira Issue OCPBUGS-85826, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
/jira refresh |
|
@danwinship: This pull request references Jira Issue OCPBUGS-85826, which is valid. 3 validation(s) were run on this bug
DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (5)
plugins/meta/bandwidth/main.go (1)
302-305: ⚡ Quick winMake the no-bandwidth short-circuit truly early.
At Line 302, this return is correct, but it happens after
PrevResult/netns/host-interface work. Move this check earlier incmdCheckso zero/absent bandwidth cannot fail unrelated validations.Proposed refactor
func cmdCheck(args *skel.CmdArgs) error { bwConf, err := parseConfig(args.StdinData) if err != nil { return err } + bandwidth := getBandwidth(bwConf) + // No bandwidth config; nothing to validate. + if bandwidth == nil || bandwidth.isZero() { + return nil + } + if bwConf.PrevResult == nil { return fmt.Errorf("must be called as a chained plugin") } @@ - bandwidth := getBandwidth(bwConf) - - // No bandwidth config; nothing to do. - if bandwidth == nil || bandwidth.isZero() { - return nil - } - if bandwidth.IngressRate > 0 && bandwidth.IngressBurst > 0 {🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@plugins/meta/bandwidth/main.go` around lines 302 - 305, The code currently checks "if bandwidth == nil || bandwidth.isZero()" too late in cmdCheck after running PrevResult/netns/host-interface work; move that nil/zero-bandwidth short-circuit to the very start of cmdCheck (before any PrevResult handling, netns setup, or host-interface validations) so that when bandwidth is absent or zero no further validations or network namespace/host-interface actions are performed; update cmdCheck to return nil immediately on that condition and ensure any downstream code that assumes bandwidth is non-nil is still guarded.plugins/meta/sbr/main.go (2)
408-408: 💤 Low valueComment is misleading.
The
routesslice was fetched from all tables at line 247. The deletion loop removes routes from their original tables, not specifically "from main table."📝 Suggested comment fix
- // Delete non-subnet routes from main table (gateway routes, etc.) + // Delete non-subnet routes from their original tables (gateway routes, etc.)🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@plugins/meta/sbr/main.go` at line 408, The comment above the deletion loop is misleading because the slice named routes (populated earlier) contains routes from all tables, and the loop removes each entry from its original table rather than specifically the main table; update the comment to accurately describe the action (e.g., "Delete non‑subnet routes from their original route tables" or "Remove non‑subnet routes from their source tables") so it refers to the routes slice and the deletion loop that iterates over routes and deletes them from each routeEntry's table.
401-405: 💤 Low valueSilent failure on RouteReplace may leave routing in inconsistent state.
When
RouteReplacefails, only a warning is logged, but the function continues. If the subnet route with source hint cannot be added, destination-based routing won't work as expected, yet the plugin reports success. Consider returning an error for consistency with the error handling in theelsebranch (lines 424-427).🛠️ Suggestion: propagate error or document the rationale
If warning-only is intentional (e.g., best-effort behavior), consider adding a comment explaining why. Otherwise:
err := netlink.RouteReplace(&route) if err != nil { - log.Printf("Warning: Failed to add subnet route to main table: %v", err) - // Don't fail completely, just warn + return fmt.Errorf("failed to add subnet route with source hint to main table: %v", err) }🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@plugins/meta/sbr/main.go` around lines 401 - 405, The current netlink.RouteReplace(&route) call swallows failures by only logging a warning which can leave routing inconsistent; update the error handling where netlink.RouteReplace and the route variable are used so that on error you return the error (e.g., wrap with context like "failed to replace subnet route" and the route info) instead of continuing, to match the behavior in the existing else branch that propagates errors; if this warning-only behavior is intentional, add a clear comment above the netlink.RouteReplace call explaining the best-effort rationale and why the function may still return success.plugins/meta/sbr/sbr_linux_test.go (2)
950-951: 💤 Low valueMask comparison is unconventional.
Using
.Mask.String() == "ffffff00"works but is less readable than comparing mask lengths. Consider using a clearer approach.📝 Alternative mask comparison
- if route.Dst != nil && route.Dst.IP.Equal(net.IPv4(192, 168, 1, 0)) && - route.Dst.Mask.String() == "ffffff00" { + if route.Dst != nil && route.Dst.IP.Equal(net.IPv4(192, 168, 1, 0)) { + ones, _ := route.Dst.Mask.Size() + if ones == 24 {🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@plugins/meta/sbr/sbr_linux_test.go` around lines 950 - 951, Replace the opaque string comparison of the mask with a clear mask length check: instead of checking route.Dst.Mask.String() == "ffffff00", call route.Dst.Mask.Size() (or use net.CIDRMask/bytes.Count) to assert the prefix length equals 24; e.g. check that route.Dst != nil && route.Dst.IP.Equal(net.IPv4(192, 168, 1, 0)) && ones == 24 where ones, _ := route.Dst.Mask.Size(). This makes the intent explicit and more readable while still using route.Dst.Mask and route.Dst.IP.Equal from the test.
848-890: 💤 Low valueConsider adding test for multiple IPv6 gateways rejection.
The implementation at
main.go:270-273rejects multiple IPv6 gateways with a similar error, but there's no corresponding test case.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@plugins/meta/sbr/sbr_linux_test.go` around lines 848 - 890, Add a new test mirroring "Rejects multiple IPv4 gateways" that verifies multiple IPv6 gateways are rejected: create a test (e.g., "Rejects multiple IPv6 gateways") in sbr_linux_test.go that uses ifname, targetNs, setup(targetNs, createDefaultStatus()), builds a conf JSON like the IPv4 case but with "gateways": ["2001:db8::1","2001:db8::2"] and a prevResult "ips" entry with "version": "6" and an IPv6 address (e.g., "2001:db8::5/64"), call testutils.CmdAddWithArgs(args, func() error { return cmdAdd(args) }), and assert err occurs and err.Error() contains the same IPv6-specific message used in main.go (the "multiple IPv6" rejection text).
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/go-version:
- Line 1: The CI Go version in .github/go-version (currently "1.26") does not
match the module target declared in go.mod ("go 1.25.0"); update the CI
configuration so it includes or targets Go 1.25 to match consumers — either
change the value in .github/go-version to "1.25" or expand to a matrix that runs
both "1.25" and "1.26" to ensure compatibility with the go.mod setting.
In `@plugins/ipam/static/static_test.go`:
- Line 102: Update the mismatched test comment in static_test.go: replace the
current line that claims "Result must preserve both default gateways in order to
prove static IPAM keeps ECMP routes." with a concise comment that describes what
the test actually asserts (e.g., that the result preserves the expected gateway
or preserves order/selection being tested). Locate the comment near the
assertion(s) in the test (in plugins/ipam/static/static_test.go) and make the
wording match the concrete assertion being checked so the comment accurately
reflects the test's expectation.
---
Nitpick comments:
In `@plugins/meta/bandwidth/main.go`:
- Around line 302-305: The code currently checks "if bandwidth == nil ||
bandwidth.isZero()" too late in cmdCheck after running
PrevResult/netns/host-interface work; move that nil/zero-bandwidth short-circuit
to the very start of cmdCheck (before any PrevResult handling, netns setup, or
host-interface validations) so that when bandwidth is absent or zero no further
validations or network namespace/host-interface actions are performed; update
cmdCheck to return nil immediately on that condition and ensure any downstream
code that assumes bandwidth is non-nil is still guarded.
In `@plugins/meta/sbr/main.go`:
- Line 408: The comment above the deletion loop is misleading because the slice
named routes (populated earlier) contains routes from all tables, and the loop
removes each entry from its original table rather than specifically the main
table; update the comment to accurately describe the action (e.g., "Delete
non‑subnet routes from their original route tables" or "Remove non‑subnet routes
from their source tables") so it refers to the routes slice and the deletion
loop that iterates over routes and deletes them from each routeEntry's table.
- Around line 401-405: The current netlink.RouteReplace(&route) call swallows
failures by only logging a warning which can leave routing inconsistent; update
the error handling where netlink.RouteReplace and the route variable are used so
that on error you return the error (e.g., wrap with context like "failed to
replace subnet route" and the route info) instead of continuing, to match the
behavior in the existing else branch that propagates errors; if this
warning-only behavior is intentional, add a clear comment above the
netlink.RouteReplace call explaining the best-effort rationale and why the
function may still return success.
In `@plugins/meta/sbr/sbr_linux_test.go`:
- Around line 950-951: Replace the opaque string comparison of the mask with a
clear mask length check: instead of checking route.Dst.Mask.String() ==
"ffffff00", call route.Dst.Mask.Size() (or use net.CIDRMask/bytes.Count) to
assert the prefix length equals 24; e.g. check that route.Dst != nil &&
route.Dst.IP.Equal(net.IPv4(192, 168, 1, 0)) && ones == 24 where ones, _ :=
route.Dst.Mask.Size(). This makes the intent explicit and more readable while
still using route.Dst.Mask and route.Dst.IP.Equal from the test.
- Around line 848-890: Add a new test mirroring "Rejects multiple IPv4 gateways"
that verifies multiple IPv6 gateways are rejected: create a test (e.g., "Rejects
multiple IPv6 gateways") in sbr_linux_test.go that uses ifname, targetNs,
setup(targetNs, createDefaultStatus()), builds a conf JSON like the IPv4 case
but with "gateways": ["2001:db8::1","2001:db8::2"] and a prevResult "ips" entry
with "version": "6" and an IPv6 address (e.g., "2001:db8::5/64"), call
testutils.CmdAddWithArgs(args, func() error { return cmdAdd(args) }), and assert
err occurs and err.Error() contains the same IPv6-specific message used in
main.go (the "multiple IPv6" rejection text).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 4a661a5f-da7d-4577-b366-c3628ac222a5
⛔ Files ignored due to path filters (285)
go.sumis excluded by!**/*.sumvendor/cyphar.com/go-pathrs/.golangci.ymlis excluded by!**/vendor/**,!vendor/**vendor/cyphar.com/go-pathrs/COPYINGis excluded by!**/vendor/**,!vendor/**vendor/cyphar.com/go-pathrs/doc.gois excluded by!**/vendor/**,!vendor/**vendor/cyphar.com/go-pathrs/handle_linux.gois excluded by!**/vendor/**,!vendor/**vendor/cyphar.com/go-pathrs/internal/fdutils/fd_linux.gois excluded by!**/vendor/**,!vendor/**vendor/cyphar.com/go-pathrs/internal/libpathrs/error_unix.gois excluded by!**/vendor/**,!vendor/**vendor/cyphar.com/go-pathrs/internal/libpathrs/libpathrs_linux.gois excluded by!**/vendor/**,!vendor/**vendor/cyphar.com/go-pathrs/procfs/procfs_linux.gois excluded by!**/vendor/**,!vendor/**vendor/cyphar.com/go-pathrs/root_linux.gois excluded by!**/vendor/**,!vendor/**vendor/cyphar.com/go-pathrs/utils_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/Microsoft/hcsshim/.golangci.ymlis excluded by!**/vendor/**,!vendor/**vendor/github.com/Microsoft/hcsshim/hcn/hcnerrors.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/Microsoft/hcsshim/internal/log/hook.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/Microsoft/hcsshim/internal/oc/exporter.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/Microsoft/hcsshim/internal/protocol/guestrequest/types.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/Microsoft/hcsshim/internal/safefile/safeopen.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/Microsoft/hcsshim/internal/security/grantvmgroupaccess.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/Microsoft/hcsshim/internal/wclayer/importlayer.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/Microsoft/hcsshim/internal/winapi/cimfs.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/Microsoft/hcsshim/internal/winapi/devices.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/Microsoft/hcsshim/internal/winapi/zsyscall_windows.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/buger/jsonparser/.travis.ymlis excluded by!**/vendor/**,!vendor/**vendor/github.com/buger/jsonparser/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/buger/jsonparser/bytes.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/buger/jsonparser/parser.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/containerd/typeurl/v2/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/containerd/typeurl/v2/types.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/containerd/typeurl/v2/types_gogo.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/coreos/go-systemd/v22/activation/files.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/coreos/go-systemd/v22/activation/files_stub.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/coreos/go-systemd/v22/activation/files_unix.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/coreos/go-systemd/v22/activation/listeners.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/COPYING.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/LICENSE.BSDis excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/LICENSE.MPL-2.0is excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/internal/consts/consts.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/assert/assert.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/errors_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/fd/at_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/fd/fd.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/fd/fd_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/fd/mount_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/fd/openat2_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/gocompat/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/gocompat/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/gocompat/gocompat_errors_go120.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/gocompat/gocompat_errors_unsupported.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/gocompat/gocompat_generics_go121.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/gocompat/gocompat_generics_unsupported.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/gopathrs/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/gopathrs/lookup_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/gopathrs/mkdir_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/gopathrs/open_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/gopathrs/openat2_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/kernelversion/kernel_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/linux/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/linux/mount_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/linux/openat2_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/procfs/procfs_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/internal/procfs/procfs_lookup_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/mkdir.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/mkdir_libpathrs.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/mkdir_purego.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/open.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/open_libpathrs.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/open_purego.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/procfs/procfs_libpathrs.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cyphar/filepath-securejoin/pathrs-lite/procfs/procfs_purego.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/.cirrus.ymlis excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/.golangci.ymlis excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/SECURITY.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/auth.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/auth_default_other.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/auth_default_windows.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/auth_sha1_windows.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/call.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/conn.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/conn_darwin.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/conn_other.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/conn_unix.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/conn_windows.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/dbus.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/decoder.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/default_handler.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/encoder.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/export.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/homedir.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/match.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/message.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/object.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/sequential_handler.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/server_interfaces.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/sig.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/transport_nonce_tcp.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/transport_unix.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/transport_unixcred_freebsd.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/transport_unixcred_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/variant.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/variant_lexer.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/godbus/dbus/v5/variant_parser.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/pprof/profile/profile.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/pprof/profile/proto.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/CHANGELOG.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/core_dsl.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/decorator_dsl.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/automaxprocs.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/automaxprocs/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/automaxprocs/automaxprocs.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/automaxprocs/cgroup.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/automaxprocs/cgroups.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/automaxprocs/cgroups2.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/automaxprocs/cpu_quota_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/automaxprocs/cpu_quota_unsupported.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/automaxprocs/errors.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/automaxprocs/mountpoint.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/automaxprocs/runtime.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/automaxprocs/subsys.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/command/command.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/profiles_and_reports.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/run.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/main.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo/run/run_command.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/ginkgo_t_dsl.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/internal/focus.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/internal/group.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/internal/node.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/internal/ordering.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/internal/reporters/gojson.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/internal/reporters/gojson_event_writer.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/internal/reporters/gojson_reporter.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/internal/suite.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/default_reporter.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/gojson_report.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/junit_report.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/reporters/teamcity_report.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/reporting_dsl.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/table_dsl.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/types/config.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/types/errors.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/types/semver_filter.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/types/types.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/ginkgo/v2/types/version.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/gomega/CHANGELOG.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/gomega/format/format.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/gomega/gomega_dsl.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/gomega/matchers.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/gomega/matchers/have_key_matcher.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/gomega/matchers/have_key_with_value_matcher.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/gomega/matchers/match_error_strictly_matcher.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/onsi/gomega/matchers/support/goraph/edge/edge.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/opencontainers/selinux/go-selinux/selinux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/opencontainers/selinux/go-selinux/selinux_linux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/opencontainers/selinux/go-selinux/selinux_stub.gois excluded by!**/vendor/**,!vendor/**vendor/go.uber.org/automaxprocs/.codecov.ymlis excluded by!**/vendor/**,!vendor/**vendor/go.uber.org/automaxprocs/.gitignoreis excluded by!**/vendor/**,!vendor/**vendor/go.uber.org/automaxprocs/CHANGELOG.mdis excluded by!**/vendor/**,!vendor/**vendor/go.uber.org/automaxprocs/CODE_OF_CONDUCT.mdis excluded by!**/vendor/**,!vendor/**vendor/go.uber.org/automaxprocs/CONTRIBUTING.mdis excluded by!**/vendor/**,!vendor/**vendor/go.uber.org/automaxprocs/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/go.uber.org/automaxprocs/Makefileis excluded by!**/vendor/**,!vendor/**vendor/go.uber.org/automaxprocs/README.mdis excluded by!**/vendor/**,!vendor/**vendor/go.uber.org/automaxprocs/automaxprocs.gois excluded by!**/vendor/**,!vendor/**vendor/go.uber.org/automaxprocs/internal/cgroups/doc.gois excluded by!**/vendor/**,!vendor/**vendor/go.uber.org/automaxprocs/maxprocs/maxprocs.gois excluded by!**/vendor/**,!vendor/**vendor/go.uber.org/automaxprocs/maxprocs/version.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/mod/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/mod/PATENTSis excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/mod/semver/semver.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/net/html/escape.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/net/html/parse.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/net/html/render.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sync/errgroup/errgroup.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/affinity_linux.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/fdset.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/ifreq_linux.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/ioctl_signed.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/ioctl_unsigned.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/mkall.shis excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/mkerrors.shis excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/syscall_linux.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/syscall_netbsd.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/syscall_solaris.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/syscall_unix.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zerrors_linux.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zerrors_linux_386.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zerrors_linux_amd64.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zerrors_linux_arm.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zerrors_linux_arm64.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zerrors_linux_loong64.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zerrors_linux_mips.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zerrors_linux_mips64.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zerrors_linux_ppc.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zerrors_linux_s390x.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zsyscall_linux.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/ztypes_linux.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/windows/aliases.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/windows/registry/key.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/windows/registry/zsyscall_windows.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/windows/syscall_windows.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/windows/types_windows.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/sys/windows/zsyscall_windows.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/text/encoding/japanese/eucjp.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/text/encoding/japanese/iso2022jp.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/text/encoding/japanese/shiftjis.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/text/encoding/korean/euckr.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/text/encoding/traditionalchinese/big5.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/text/encoding/unicode/unicode.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/go/ast/inspector/cursor.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/go/gcexportdata/importer.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/go/packages/doc.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/go/packages/external.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/go/packages/golist.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/go/packages/golist_overlay.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/go/packages/loadmode_string.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/go/packages/packages.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/go/packages/visit.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/go/types/objectpath/objectpath.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/go/types/typeutil/callee.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/go/types/typeutil/imports.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/go/types/typeutil/map.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/go/types/typeutil/methodsetcache.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/go/types/typeutil/ui.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/aliases/aliases.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/aliases/aliases_go122.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/event/core/event.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/event/core/export.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/event/core/fast.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/event/doc.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/event/event.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/event/keys/keys.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/event/keys/standard.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/event/keys/util.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/event/label/label.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/gcimporter/bimport.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/gcimporter/exportdata.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/gcimporter/gcimporter.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/gcimporter/iexport.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/gcimporter/iimport.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/gcimporter/predeclared.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/gcimporter/support.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/gcimporter/ureader_yes.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/gocommand/invoke.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/gocommand/invoke_notunix.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/gocommand/invoke_unix.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/gocommand/vendor.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/gocommand/version.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/packagesinternal/packages.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/pkgbits/codes.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/pkgbits/decoder.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/pkgbits/doc.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/pkgbits/encoder.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/pkgbits/flags.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/pkgbits/reloc.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/pkgbits/support.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/pkgbits/sync.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/pkgbits/syncmarker_string.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/pkgbits/version.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/stdlib/deps.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/stdlib/import.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/stdlib/manifest.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/stdlib/stdlib.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/typeparams/common.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/typeparams/coretype.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/typeparams/free.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/typeparams/normalize.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/typeparams/termlist.gois excluded by!**/vendor/**,!vendor/**vendor/golang.org/x/tools/internal/typeparams/typeterm.gois excluded by!**/vendor/**,!vendor/**
📒 Files selected for processing (15)
.github/go-version.github/workflows/test.yaml.golangci.ymlgo.modpkg/ip/ipmasq_iptables_linux.gopkg/ip/link_linux_test.gopkg/ipam/ipam_linux_test.goplugins/ipam/static/static_test.goplugins/main/bridge/bridge.goplugins/meta/bandwidth/main.goplugins/meta/portmap/portmap_nftables.goplugins/meta/portmap/portmap_nftables_test.goplugins/meta/sbr/main.goplugins/meta/sbr/sbr_linux_test.goplugins/meta/vrf/vrf.go
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: danwinship The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
Dockerfile (1)
3-3: ⚡ Quick winReplace
ADDwithCOPYfor local source tree staging.
ADD . /usr/src/pluginsis unnecessary here and has extra semantics (e.g., archive/URL handling). UseCOPYfor predictable behavior and to satisfy the DL3020 lint error.Proposed fix
-ADD . /usr/src/plugins +COPY . /usr/src/pluginsApply the same replacement at Line 3, Line 11, and Line 19.
Also applies to: 11-11, 19-19
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Dockerfile` at line 3, Replace the three uses of the ADD instruction with COPY to avoid ADD's extra semantics; specifically, change the ADD occurrences that stage the local tree (the lines containing "ADD . /usr/src/plugins" and the similar two occurrences shown in the diff) to "COPY . /usr/src/plugins" so all three spots use COPY for predictable local file copying and to satisfy DL3020.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@Dockerfile`:
- Line 3: Replace the three uses of the ADD instruction with COPY to avoid ADD's
extra semantics; specifically, change the ADD occurrences that stage the local
tree (the lines containing "ADD . /usr/src/plugins" and the similar two
occurrences shown in the diff) to "COPY . /usr/src/plugins" so all three spots
use COPY for predictable local file copying and to satisfy DL3020.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: b07b6f00-08c5-4847-867b-1bb073695c90
📒 Files selected for processing (2)
.ci-operator.yamlDockerfile
✅ Files skipped from review due to trivial changes (1)
- .ci-operator.yaml
925556d to
0e0b6ef
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Dockerfile`:
- Line 3: Replace the Dockerfile ADD instructions with COPY for plain local file
copies to address DL3020: change every occurrence of "ADD . /usr/src/plugins"
(and the other ADD occurrences at the same pattern around lines 11 and 19) to
"COPY . /usr/src/plugins" so the Dockerfile uses the clearer, safer COPY
instruction for local source context.
In `@Dockerfile.microshift`:
- Line 3: Replace the Dockerfile instruction that adds the repo contents with
COPY instead of ADD to satisfy best-practices/DL3020; update the instruction in
Dockerfile.microshift where the line reads ADD . /usr/src/plugins to use COPY .
/usr/src/plugins so only a plain file copy is performed (no archive extraction
or URL handling).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: d4e69f15-c733-4b6e-a403-e4afe068696a
📒 Files selected for processing (3)
.ci-operator.yamlDockerfileDockerfile.microshift
✅ Files skipped from review due to trivial changes (1)
- .ci-operator.yaml
|
@danwinship: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
This picks up the last six months of upstream work. Not too much of interest besides the dependency updates, which include a fix for a CVE that doesn't affect the Linux plugins but might affect the Windows plugins. (I didn't bother to figure out.)
/assign @bpickard22
Summary by CodeRabbit
New Features
Bug Fixes
Tests
Chores