Repository navigation
build(deps): move to core v0.19.4 - #80
Merged
antoinetoussaint-byte merged 3 commits intoOct 13, 2026
Merged
Conversation
Bump github.com/codefly-dev/core v0.17.0 -> v0.19.4 from its released tag. The agent compiles and vets unchanged against it: no core API this agent calls moved between the two tags. MVS carries grpc v1.83.2 -> v1.84.0 and the otel/swag/genproto indirects with it. Core's go directive is 1.27.0, below this module's 1.27.2, so the go directive and every Go pin that follows it are unchanged. kustomize stays on v0.21.1 and kube-openapi on d427ff9ee9ad; go mod graph carries no structured-merge-diff/v7. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
golangci-lint's errcheck flagged the deferred os.RemoveAll in TestMain. Discard it explicitly, as the suite's other cleanups do; the cleanup is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ci.yml and releaser.yml called core's go-service-ci.yml and go-service-release.yml at @main, so this repo's gates and its release changed whenever core's main did. Pin both to v0.19.4, the core tag this module builds on. At v0.19.4 both files exist at the same paths and are byte-identical to core main today. Each takes only the optional setup-run input, which neither caller passes. The release workflow reads secrets.GH_PAT, which releaser.yml's `secrets: inherit` still supplies. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #79.
Moves the vault agent from core v0.17.0 to v0.19.4, from the released tag. No
replace, and no codefly pseudo-versions.The issue says main is on core v0.5.1 with go 1.27.0. Main (5922114) is actually on core v0.17.0 with go 1.27.2, so the jump is two minor versions, not fourteen.
Changes
go.mod/go.sum: core v0.17.0 → v0.19.4. Fix. MVS also raisesgoogle.golang.org/grpcv1.83.2 → v1.84.0 (a direct require, because core v0.19.4 needs it), otel 1.46 → 1.47 (addsotel/log), go-openapi/swag → v0.29.2, x/sys, genproto, x/exp and docker/go-connections. Nothing is hand-pinned.recovery_scope_test.go:defer func() { _ = os.RemoveAll(dir) }(). Lint-only, so it's neither a fix nor a hack. golangci-lint's errcheck flagged it on main as well. The discard follows the suite's own_ = exec.Command(...).Run()cleanup idiom, and the cleanup itself is unchanged.ci.ymlandreleaser.yml: core's reusable workflows pinned@main→@v0.19.4. Fix, from review finding F2. Before this, CI and the release changed silently whenever core main changed. At v0.19.4 both files exist at the same paths and are byte-identical to core main today. Each takes only the optionalsetup-runinput, which neither caller passes, andsecrets: inheritstill supplies the release'sGH_PAT.There are no hacks. Nothing is shimmed, fenced or suppressed.
Call sites adapted
None were needed. The agent builds and vets unchanged. I diffed every core package the agent imports between the two tags. Most are byte-identical. The ones that changed are listed here, with what they mean for this agent:
agents. The per-spawn auth interceptors moved intocore/callertoken, which is now shared with the manager and gateways. I read the new code. It has the same metadata key (x-codefly-token), the same constant-time compare and the same health-only exemption (Health/Check,Health/Watch). An empty expected token still fails closed withUnauthenticated. The one difference is that an empty presented token is now refused explicitly, which is stricter. This agent's auth posture is unchanged or tighter.agents/services(base_builder,pod_overlay). Image SBOMs go throughsbom.ImageForSubject, which folds in the pin and digest checks the builder used to do inline. Service-account projection was refactored onto a filesystem abstraction and now also refuses remote kustomize references. These are core-internal, and the deployment tests below exercise them unchanged.resources. Workspaces now record their declaration path and sha256 on load. That's additive, and this agent doesn't read it.Constraints from the issue
go mod graph | grep structured-merge-diff/v7prints nothing.go 1.27.0, below this module'sgo 1.27.2, so the directive does not move. There is notoolchainline. Both CI workflows usego-version-file: go.mod, so there's nothing to edit there. Thegolang:1.26.9images and the grpc v1.83.2 pin inDockerfile.runtimebuild upstream HashiCorp Vault against Vault's own go.mod, not this agent's, so they don't follow this bump.LOCAL-PERSISTENCE.mdwere checked), so none changed.TestEphemeralDeploymentFailsClosedWithoutVaultToken,TestVaultServerArgsKeepRootTokenSecretand the provisioning-refusal tests pass on the branch.Reused
callertokeninterceptors, which the agent picks up throughagents.Serve.go-service-ci.ymlgate list, which I replicated locally.Verification (local, darwin/arm64, go1.27.2, Docker 29.4.0, nix)
The
go-service-ci.ymlgatesgo build ./...,go vet ./...andgo mod tidy -diffare clean.golangci-lint run ./...(v2.14.0, default config): 0 issues.Before/after proof. I ran
VAULT_REQUIRE_NIX=1 go test -race -v ./... -count=1(thenix-lifecyclejob) on this branch and on a worktree of main (5922114). Both runs produced the same 46 passing tests, and both had the same single failure,TestDurableVaultSurvivesRestart, failing the same way (vault provisioning: cannot install VAULT_ACCESS_TOKEN as a vault token). Run on its own on this branch, that test passes (34.9s). Main's CI passed it on 5922114. So it's a load-sensitive flake in the in-container provisioning on this host, present before this change and not caused by it.go test -v ./...(thetestjob as CI runs it): ok, 47 passing, includingTestDurableVaultSurvivesRestart, with nothing skipped or failing.CI on linux/amd64 passed on ca45904 (run 38407056183) and on 2e03a7d with the pinned workflows: build, test and nix-lifecycle (run 38409271358). That run exercises
go-service-ci.yml@v0.19.4.go-service-release.yml@v0.19.4only runs on a tag, so it was checked by diff rather than run.Not verified
releaser.ymlandruntime-image.ymlwere not exercised, andDockerfile.runtimewas not rebuilt (it's untouched).TestDurableVaultSurvivesRestartflake under load on Docker Desktop/arm64. My guess is thatauth/token/create-orphanruns before the transit-sealed server is fully active, because its error output is discarded atprovision/provision.sh:178, but I haven't confirmed that. I'd file a separate issue for it rather than change the provisioner in this PR.Release
Not done here. Per
agent.codefly.yaml(release.owner: workflow,releaser.yml), the coordinator bumpsversion0.0.42 → 0.0.43 in arelease:PR as #78 did, then tags. The version is deliberately unchanged in this PR.Open PR #66 (security-posture audit) edits many of the same source files but neither
go.modnorrecovery_scope_test.go, so the two shouldn't conflict textually.🤖 Generated with Claude Code