Repository navigation
chore(deps): bump github.com/ConfigButler/krm-stream/gateway from 0.2.1 to 0.4.0 in /gateway/kube in the gomod group - #36
Conversation
Bumps the gomod group in /gateway/kube with 1 update: [github.com/ConfigButler/krm-stream/gateway](https://github.com/ConfigButler/krm-stream). Updates `github.com/ConfigButler/krm-stream/gateway` from 0.2.1 to 0.4.0 - [Release notes](https://github.com/ConfigButler/krm-stream/releases) - [Commits](gateway/v0.2.1...gateway/v0.4.0) --- updated-dependencies: - dependency-name: github.com/ConfigButler/krm-stream/gateway dependency-version: 0.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gomod ... Signed-off-by: dependabot[bot] <support@github.com>
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Superseded by #40. |
|
This pull request was built based on a group rule. Closing it will not ignore any of these versions in future pull requests. To ignore these dependencies, configure ignore rules in dependabot.yml |
…ng watches, and let releases own versions (#42) * ci: let releases own the adapter's core requirement and the changelogs Two release steps needed hand-fixing around 0.5.0, and both now run by themselves. The adapter's requirement on the core module was never moved by a release. Adapter changes needing unreleased core API had to pin a pseudo-version by hand, Dependabot proposed stale bumps (#36), and v0.5.0 shipped requiring a commit that lives only on a merged PR branch. Now: - gateway/kube/go.mod requires the core at its release tag, marked x-release-please-version, and Release Please rewrites it in every release PR to the version being released. - CI's go-get check builds an unreleased adapter together with the core from the same commit, and builds a release by its tag alone. It refuses a pseudo-version (the release updater would mangle it) and a missing marker. - Dependabot ignores the internal core module. Release Please also inserts each version below hand-written "Unreleased" changelog sections and never removes them, so released notes stayed labelled unreleased. File the existing notes under the versions that shipped them, and make CI refuse any section Release Please did not write. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat: refuse redirects that would carry the caller's credential, and stop reopening watches that end early Addresses asks 6 to 8 of krm-foyer's renewed field report. Ask 6: client-go follows redirects and puts the configured credential on the redirected request, so a backend holding the caller's token sent it wherever a redirect pointed. kube.NewBackendForConfig now builds its client with the new kube.HTTPClientFor, which refuses redirects; a refused redirect is a terminal INTERNAL (it will not go away on retry) whose cause is kube.ErrRedirectRefused. The shared-host example and the docs use the refusing client. Ask 7: the stream loop reopened at once after ErrWatchClosed or RESYNC_REQUIRED, so an upstream ending every watch before its snapshot completed, or straight after, was reopened in a tight loop on one connection. A cycle now counts as useful only once it has completed its snapshot and stayed live for a second. The first early end is still recovered in band (spec §5); a second in a row ends the connection with a non-terminal UPSTREAM_UNAVAILABLE. A StreamError now decides before ErrWatchClosed, so an UPSTREAM_UNAVAILABLE caused by a closed watch is no longer read as a routine close through Unwrap. Ask 8: the operations guide says client-go retries a 429 or 5xx carrying Retry-After up to ten times before the gateway sees it. Those retries stay on: the API server sets the pace, the browser holds a heartbeating connection in "syncing" meanwhile, and turning them off would trade one paced wait for a reconnect and fresh snapshot from every browser. Also record krm-foyer's renewed report, with its links made absolute. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix: refuse redirects for participant clients, keep http.DefaultClient intact, and back off shared watches that end early Review follow-ups for asks 6 to 8. - The shared-host example's participant SelfSubjectReview client carried the participant's token through a client that followed redirects. It is now built on kube.HTTPClientFor too. - rest.HTTPClientFor returns http.DefaultClient for a configuration needing no special transport, so installing the redirect policy on it changed every HTTP caller in the process. HTTPClientFor now copies the client first. - The stream loop bounded each connection to two early cycles, but a SharedBackend dropped an early-ending upstream watch without any backoff, so a cohort of reconnecting subscribers still reopened it once each. The shared scope now applies the same rule to its upstream: a watch is of use once it has completed its snapshot and stayed live for a second; one early end is tolerated, a second in a row backs off. Only a useful watch's end resets the backoff, which also removes the delayed-recovery race structurally. - The operations guide no longer claims that turning client-go's retries off requires stripping Retry-After; it states why the default is kept. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(gateway): pass typed errors to shared subscribers even when caused by a closed watch SharedBackend's die() classified its cause StreamError-first for the backoff, but then still converted anything matching errors.Is(cause, ErrWatchClosed) into RESYNC_REQUIRED for subscribers. StreamError.Unwrap exposes its Cause, so a terminal FORBIDDEN, or an UPSTREAM_UNAVAILABLE with a retry hint, caused by a closed watch reached the browser as a resync it retried. Decide once whether the cause is typed, and convert only an untyped close. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ci: require a released adapter's core requirement to equal the release version The release check only verified that the core tag the adapter requires exists. Had a release PR left the marked requirement at an older, tagged version, the adapter-tag-only build would pass while resolving an older core. Compare the two when RELEASE_VERSION is set. (CodeRabbit review on #42.) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Bumps the gomod group in /gateway/kube with 1 update: github.com/ConfigButler/krm-stream/gateway.
Updates
github.com/ConfigButler/krm-stream/gatewayfrom 0.2.1 to 0.4.0Release notes
Sourced from github.com/ConfigButler/krm-stream/gateway's releases.
... (truncated)
Commits
9aa0013chore: release main (#32)6be6cbbfeat!: bound HTTP delivery and balance stream lifecycle observations (#35)e450334docs: trim obsolete history and align current integration guidance (#34)8b37a92fix: define content and redaction convergence while suppressed writes retain ...7477c2dfeat(kube)!: remove compatibility shims and sharpen stream/save plans (#31)f38e4carefactor(ci): validate releases once and reuse artifacts on retry (#30)2154f9dfix(ci): publish validated release commits and recover interrupted uploads (#29)209537cchore: release main (#26)a8ad27achore(deps): separate major updates and narrow Kubernetes ignores (#28)f5b9f44chore(deps): bump@playwright/test(#22)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions