Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kubectl-gather for openSUSE:Factory checked in at 2026-05-11 16:55:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kubectl-gather (Old) and /work/SRC/openSUSE:Factory/.kubectl-gather.new.1966 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kubectl-gather" Mon May 11 16:55:51 2026 rev:6 rq:1352291 version:0.13.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kubectl-gather/kubectl-gather.changes 2026-03-27 06:42:34.532808665 +0100 +++ /work/SRC/openSUSE:Factory/.kubectl-gather.new.1966/kubectl-gather.changes 2026-05-11 17:06:23.575138818 +0200 @@ -1,0 +2,70 @@ +Sun May 10 14:42:03 UTC 2026 - Johannes Kastl <[email protected]> + +- Update to version 0.13.0: + * docs: document addons + * ramen: annotate VRG resources with cluster time + * addon: support multiple resources per addon + * addon: add Name() method to Addon interface + * gather: add ramen addon for DRPlacementControl resources + * gather: pass cluster time to Inspect() + * gather: call Inspect() before dumpResource() + * e2e: keep test output and logs after make clean + * e2e: add build tag to skip e2e tests without clusters + * e2e: upload e2e.log with test artifacts in CI + * e2e: use logging and test packages in e2e CLI and tests + * e2e: add test package with T wrapper for logging test failures + * e2e: add logging package for shared logger configuration + * go: Update toolchain to go1.26.2 + * e2e: Extract minikube package from clusters + * build: Remove leftover cd e2e + * Remove e2e module + * ci: Simplify unit test matrix + * test: Force LF line endings for testdata files + * ci: Add unit test job + * make: Add unit-tests and test targets + * ci: Rename e2e job to e2e-matrix + * make: Rename test target to e2e-tests + * remote: Remove redundant must-gather.log + * container: Add gawk to container image for must-gather volume + checker + * container: Switch from Alpine to UBI for image scanning support + * make: Simplify container-push + * docs: Add example sanitized secret to README + * e2e: Remove e2e/out directories in artifacts + * ci: Run e2e tests in test workflow + * ci: Update build binaries job + * container: Add util-linux for setsid -w support + * e2e: Pin PVs to PVCs with claimRef to fix flaky tests + * e2e: Switch to docker driver on linux + * e2e: Remove tarfile before podman save + * e2e: Run verifyDNS only on darwin + * e2e: Configure DNS in minikube clusters on macOS + * e2e: Add runMinikube() helper + * build: Push container using skopeo + * e2e: Use vmnet-shared networking on macOS + * e2e: Switch from kind to minikube + * e2e: Use devel version for e2e builds + * docs: Update container build and push docs + * build: Make container build platforms configurable + * e2e: Add TestRemoteGather + * e2e: Add Validator struct to validate remote gather + * e2e: Add remote subtest to TestOutput + * e2e: Prepare TestOutput for remote gather testing + * e2e: Remove test output before running tests + * cmd: Show richer --version output in YAML format + * cmd: Add --must-gather-version flag + * build: Clean up container images in make clean + * container: Fix ldflags not passed to go build + * e2e: Build and load container image for remote tests + * docs: Simplify testing instructions + * e2e: Consolidate into single Makefile + * e2e: Add load command for parallel image loading into clusters + * docs: Document how to create the podman machine + * e2e: More consistent usage of clusterKubeconfig + * container: Add OCI source label to link image to repository + * container: Use Go compile object cache for faster rebuilds + * container: Use toolchain version for base image + * ci: Build container images natively in parallel + * ci: Update docker/login-action to v4 + +------------------------------------------------------------------- Old: ---- kubectl-gather-0.12.0.obscpio New: ---- kubectl-gather-0.13.0.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kubectl-gather.spec ++++++ --- /var/tmp/diff_new_pack.NjAod4/_old 2026-05-11 17:06:25.391213070 +0200 +++ /var/tmp/diff_new_pack.NjAod4/_new 2026-05-11 17:06:25.399213397 +0200 @@ -17,7 +17,7 @@ Name: kubectl-gather -Version: 0.12.0 +Version: 0.13.0 Release: 0 Summary: Kubectl plugin to gather data about your cluster License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.NjAod4/_old 2026-05-11 17:06:25.463216014 +0200 +++ /var/tmp/diff_new_pack.NjAod4/_new 2026-05-11 17:06:25.475216504 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/nirs/kubectl-gather</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v0.12.0</param> + <param name="revision">v0.13.0</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.NjAod4/_old 2026-05-11 17:06:25.527218631 +0200 +++ /var/tmp/diff_new_pack.NjAod4/_new 2026-05-11 17:06:25.531218794 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/nirs/kubectl-gather</param> - <param name="changesrevision">a0e7607071c92e7d7c8b1902eafb0dcd39f392dc</param></service></servicedata> + <param name="changesrevision">62c6089cb7cb3552a81b6f74b8394d4b1433fd70</param></service></servicedata> (No newline at EOF) ++++++ kubectl-gather-0.12.0.obscpio -> kubectl-gather-0.13.0.obscpio ++++++ ++++ 3179 lines of diff (skipped) ++++++ kubectl-gather.obsinfo ++++++ --- /var/tmp/diff_new_pack.NjAod4/_old 2026-05-11 17:06:25.759228117 +0200 +++ /var/tmp/diff_new_pack.NjAod4/_new 2026-05-11 17:06:25.767228444 +0200 @@ -1,5 +1,5 @@ name: kubectl-gather -version: 0.12.0 -mtime: 1774520808 -commit: a0e7607071c92e7d7c8b1902eafb0dcd39f392dc +version: 0.13.0 +mtime: 1778417881 +commit: 62c6089cb7cb3552a81b6f74b8394d4b1433fd70 ++++++ vendor.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/go.uber.org/zap/zaptest/observer/logged_entry.go new/vendor/go.uber.org/zap/zaptest/observer/logged_entry.go --- old/vendor/go.uber.org/zap/zaptest/observer/logged_entry.go 1970-01-01 01:00:00.000000000 +0100 +++ new/vendor/go.uber.org/zap/zaptest/observer/logged_entry.go 2026-05-10 14:58:01.000000000 +0200 @@ -0,0 +1,39 @@ +// Copyright (c) 2017 Uber Technologies, Inc. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +package observer + +import "go.uber.org/zap/zapcore" + +// A LoggedEntry is an encoding-agnostic representation of a log message. +// Field availability is context dependent. +type LoggedEntry struct { + zapcore.Entry + Context []zapcore.Field +} + +// ContextMap returns a map for all fields in Context. +func (e LoggedEntry) ContextMap() map[string]interface{} { + encoder := zapcore.NewMapObjectEncoder() + for _, f := range e.Context { + f.AddTo(encoder) + } + return encoder.Fields +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/go.uber.org/zap/zaptest/observer/observer.go new/vendor/go.uber.org/zap/zaptest/observer/observer.go --- old/vendor/go.uber.org/zap/zaptest/observer/observer.go 1970-01-01 01:00:00.000000000 +0100 +++ new/vendor/go.uber.org/zap/zaptest/observer/observer.go 2026-05-10 14:58:01.000000000 +0200 @@ -0,0 +1,203 @@ +// Copyright (c) 2016-2022 Uber Technologies, Inc. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +// Package observer provides a zapcore.Core that keeps an in-memory, +// encoding-agnostic representation of log entries. It's useful for +// applications that want to unit test their log output without tying their +// tests to a particular output encoding. +package observer // import "go.uber.org/zap/zaptest/observer" + +import ( + "strings" + "sync" + "time" + + "go.uber.org/zap/internal" + "go.uber.org/zap/zapcore" +) + +// ObservedLogs is a concurrency-safe, ordered collection of observed logs. +type ObservedLogs struct { + mu sync.RWMutex + logs []LoggedEntry +} + +// Len returns the number of items in the collection. +func (o *ObservedLogs) Len() int { + o.mu.RLock() + n := len(o.logs) + o.mu.RUnlock() + return n +} + +// All returns a copy of all the observed logs. +func (o *ObservedLogs) All() []LoggedEntry { + o.mu.RLock() + ret := make([]LoggedEntry, len(o.logs)) + copy(ret, o.logs) + o.mu.RUnlock() + return ret +} + +// TakeAll returns a copy of all the observed logs, and truncates the observed +// slice. +func (o *ObservedLogs) TakeAll() []LoggedEntry { + o.mu.Lock() + ret := o.logs + o.logs = nil + o.mu.Unlock() + return ret +} + +// AllUntimed returns a copy of all the observed logs, but overwrites the +// observed timestamps with time.Time's zero value. This is useful when making +// assertions in tests. +func (o *ObservedLogs) AllUntimed() []LoggedEntry { + ret := o.All() + for i := range ret { + ret[i].Time = time.Time{} + } + return ret +} + +// FilterLevelExact filters entries to those logged at exactly the given level. +func (o *ObservedLogs) FilterLevelExact(level zapcore.Level) *ObservedLogs { + return o.Filter(func(e LoggedEntry) bool { + return e.Level == level + }) +} + +// FilterMessage filters entries to those that have the specified message. +func (o *ObservedLogs) FilterMessage(msg string) *ObservedLogs { + return o.Filter(func(e LoggedEntry) bool { + return e.Message == msg + }) +} + +// FilterLoggerName filters entries to those logged through logger with the specified logger name. +func (o *ObservedLogs) FilterLoggerName(name string) *ObservedLogs { + return o.Filter(func(e LoggedEntry) bool { + return e.LoggerName == name + }) +} + +// FilterMessageSnippet filters entries to those that have a message containing the specified snippet. +func (o *ObservedLogs) FilterMessageSnippet(snippet string) *ObservedLogs { + return o.Filter(func(e LoggedEntry) bool { + return strings.Contains(e.Message, snippet) + }) +} + +// FilterField filters entries to those that have the specified field. +func (o *ObservedLogs) FilterField(field zapcore.Field) *ObservedLogs { + return o.Filter(func(e LoggedEntry) bool { + for _, ctxField := range e.Context { + if ctxField.Equals(field) { + return true + } + } + return false + }) +} + +// FilterFieldKey filters entries to those that have the specified key. +func (o *ObservedLogs) FilterFieldKey(key string) *ObservedLogs { + return o.Filter(func(e LoggedEntry) bool { + for _, ctxField := range e.Context { + if ctxField.Key == key { + return true + } + } + return false + }) +} + +// Filter returns a copy of this ObservedLogs containing only those entries +// for which the provided function returns true. +func (o *ObservedLogs) Filter(keep func(LoggedEntry) bool) *ObservedLogs { + o.mu.RLock() + defer o.mu.RUnlock() + + var filtered []LoggedEntry + for _, entry := range o.logs { + if keep(entry) { + filtered = append(filtered, entry) + } + } + return &ObservedLogs{logs: filtered} +} + +func (o *ObservedLogs) add(log LoggedEntry) { + o.mu.Lock() + o.logs = append(o.logs, log) + o.mu.Unlock() +} + +// New creates a new Core that buffers logs in memory (without any encoding). +// It's particularly useful in tests. +func New(enab zapcore.LevelEnabler) (zapcore.Core, *ObservedLogs) { + ol := &ObservedLogs{} + return &contextObserver{ + LevelEnabler: enab, + logs: ol, + }, ol +} + +type contextObserver struct { + zapcore.LevelEnabler + logs *ObservedLogs + context []zapcore.Field +} + +var ( + _ zapcore.Core = (*contextObserver)(nil) + _ internal.LeveledEnabler = (*contextObserver)(nil) +) + +func (co *contextObserver) Level() zapcore.Level { + return zapcore.LevelOf(co.LevelEnabler) +} + +func (co *contextObserver) Check(ent zapcore.Entry, ce *zapcore.CheckedEntry) *zapcore.CheckedEntry { + if co.Enabled(ent.Level) { + return ce.AddCore(ent, co) + } + return ce +} + +func (co *contextObserver) With(fields []zapcore.Field) zapcore.Core { + return &contextObserver{ + LevelEnabler: co.LevelEnabler, + logs: co.logs, + context: append(co.context[:len(co.context):len(co.context)], fields...), + } +} + +func (co *contextObserver) Write(ent zapcore.Entry, fields []zapcore.Field) error { + all := make([]zapcore.Field, 0, len(fields)+len(co.context)) + all = append(all, co.context...) + all = append(all, fields...) + co.logs.add(LoggedEntry{ent, all}) + return nil +} + +func (co *contextObserver) Sync() error { + return nil +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt --- old/vendor/modules.txt 2026-03-26 11:26:48.000000000 +0100 +++ new/vendor/modules.txt 2026-05-10 14:58:01.000000000 +0200 @@ -106,6 +106,7 @@ go.uber.org/zap/internal/pool go.uber.org/zap/internal/stacktrace go.uber.org/zap/zapcore +go.uber.org/zap/zaptest/observer # golang.org/x/crypto v0.49.0 ## explicit; go 1.25.0 golang.org/x/crypto/pbkdf2
