Sitelet https://github.com/kubernetes/kops/pull/18653
Skip to content

Remove the protokube binary - #18653

Merged
kubernetes-prow[bot] merged 3 commits into
kubernetes:masterfrom
hakman:remove-protokube
Jul 30, 2026
Merged

kubernetes-prow[bot] merged 3 commits into
kubernetes:masterfrom
hakman:remove-protokube

Conversation

@hakman

@hakman hakman commented Jul 30, 2026 •

Copy link
Copy Markdown
Member

Follow-up to #18601 and #18650. protokube no longer has any responsibilities: its only remaining function was gossip DNS, and nodes stopped installing and running it in kOps 1.37.

  • Relocate the two packages still used outside protokube: the /etc/hosts writer (used by None-DNS clusters) moves to pkg/dns/hosts, and the etcd cluster spec volume-tag parsing moves to pkg/etcd.
  • Delete the protokube/ tree, the forked memberlistmesh library, and the gcediscovery package, whose only consumer was protokube's GCE volume provider, along with the now-unused hashicorp/memberlist and weaveworks/mesh dependencies.
  • Keep the four gossip ports as Deprecated constants in wellknownports (restoring the two dns-controller ones removed in Remove support for gossip DNS #18601) so the port numbers are not reused, and fix a long-standing 3998/3999 label swap in docs/contributing/ports.md.
  • The release promotion and validation scripts gain an OPTIONAL_BINARIES mechanism that probes artifacts.k8s.io per version, so older releases keep full coverage: 1.35 and earlier validate channels and protokube, 1.36 validates protokube only, and 1.37+ skips both. Only a confirmed 404 counts as absent; any other probe outcome fails the scripts, so a transient error cannot silently drop an artifact. This also fixes validate-github-release.sh failing against 1.35.0 over its channels assets.

Refs: #18240

pkg/dns/hosts (the /etc/hosts writer used by none-DNS clusters) and
pkg/etcd (etcd cluster spec parsing from volume tags) are still used
outside protokube, so relocate them ahead of the protokube removal.
protokube temporarily imports the new locations.
@kubernetes-prow

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@kubernetes-prow kubernetes-prow Bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jul 30, 2026
@kubernetes-prow
kubernetes-prow Bot requested review from olemarkus and zetaab July 30, 2026 20:45
@kubernetes-prow kubernetes-prow Bot added area/documentation area/nodeup area/provider/aws Issues or PRs related to aws provider area/provider/azure Issues or PRs related to azure provider area/provider/digitalocean Issues or PRs related to digitalocean provider area/provider/gcp Issues or PRs related to gcp provider area/provider/hetzner Issues or PRs related to Hetzner provider area/provider/openstack Issues or PRs related to openstack provider labels Jul 30, 2026
@hakman
hakman force-pushed the remove-protokube branch 2 times, most recently from a41760e to f313945 Compare July 30, 2026 20:51
@hakman
hakman requested review from ameukam, justinsb and rifelpet and removed request for olemarkus and zetaab July 30, 2026 20:53
@hakman
hakman marked this pull request as ready for review July 30, 2026 20:53
@kubernetes-prow kubernetes-prow Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 30, 2026
@kubernetes-prow
kubernetes-prow Bot requested review from olemarkus and zetaab July 30, 2026 20:54
hakman added 2 commits July 31, 2026 00:17
protokube no longer had any responsibilities after the gossip DNS
removal: nodes stopped installing and running it, and its only remaining
function was serving gossip DNS. Delete the protokube tree, the forked
memberlistmesh library, and the gcediscovery package whose only consumer
was protokube's GCE volume provider. Remove the protokube build targets
and stop publishing its release assets.

The gossip well-known ports are kept (and the two dns-controller ones
restored) as Deprecated constants so the port numbers are not reused.

The release promotion and validation scripts learn an OPTIONAL_BINARIES
mechanism, probing artifacts.k8s.io per version, so older releases that
still ship protokube (and channels, dropped in kOps 1.36) keep full
coverage while newer releases skip them. Only a confirmed 404 counts as
absent; any other probe outcome fails the scripts.
github.com/hashicorp/memberlist and github.com/weaveworks/mesh are no
longer used after the protokube removal.
@hakman
hakman force-pushed the remove-protokube branch from f313945 to d222788 Compare July 30, 2026 21:19
@kubernetes-prow kubernetes-prow Bot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 30, 2026
@kubernetes-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: rifelpet

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubernetes-prow kubernetes-prow Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 30, 2026
@kubernetes-prow
kubernetes-prow Bot merged commit 01aaded into kubernetes:master Jul 30, 2026
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/documentation area/nodeup area/provider/aws Issues or PRs related to aws provider area/provider/azure Issues or PRs related to azure provider area/provider/digitalocean Issues or PRs related to digitalocean provider area/provider/gcp Issues or PRs related to gcp provider area/provider/hetzner Issues or PRs related to Hetzner provider area/provider/openstack Issues or PRs related to openstack provider cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants