kubebuilder alpha update not working locally or via GHA

Author: treydockCreated Sep 15, 2026Updated Sep 15, 2026
Labelskind/bug

What broke? What's expected?

Both GHA update and local update are failing.

GHA update failed: https://github.com/OSC/keycloak-cr-operator/actions/runs/34921183175/job/104229459773

Looks like go.mod got merge conflicts and that may have broken the ability of kubebuilder to open issue and branch.

Trying to do the upgrade locally results in this:

$ kubebuilder alpha update --from-version v4.15.0 --to-version v4.16.0 --force --show-commits --output-branch kubebuilder-update --from-branch main
INFO Checking if is a git repository
INFO Checking if branch has uncommitted changes
INFO Binary version available version=v4.15.0
INFO Binary version available version=v4.16.0
INFO Checking out base branch branch=main
INFO Preparing Ancestor branch branch_name=tmp-ancestor-15-09-26-09-59
ERROR Update failed error=failed to prepare ancestor branch: failed to cleanup the tmp-ancestor-15-09-26-09-59 : failed to clean up files: exit status 1

The local git operations switch to the tmp-ancestor-15-09-26-09-59 with most files removed:

$ git status
On branch kubebuilder-update
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	deleted:    .custom-gcl.yml
	deleted:    .devcontainer/devcontainer.json
	deleted:    .devcontainer/post-install.sh
	deleted:    .dockerignore
	deleted:    .github/workflows/auto_update.yml
	deleted:    .github/workflows/lint.yml
	deleted:    .github/workflows/release.yaml
	deleted:    .github/workflows/test-chart.yml
	deleted:    .github/workflows/test-e2e.yml
	deleted:    .github/workflows/test.yml
	deleted:    .gitignore
	deleted:    .golangci.yml
	deleted:    AGENTS.md
	deleted:    CHANGELOG.md
	deleted:    CLAUDE.md
	deleted:    CODEOWNERS
	deleted:    Dockerfile
	deleted:    Makefile
	deleted:    README.md
	deleted:    api/v1alpha1/groupversion_info.go
	deleted:    api/v1alpha1/keycloakclient_configmap.go
	deleted:    api/v1alpha1/keycloakclient_conversion.go
	deleted:    api/v1alpha1/keycloakclient_conversion_test.go
	deleted:    api/v1alpha1/keycloakclient_secret.go
	deleted:    api/v1alpha1/keycloakclient_types.go
	deleted:    api/v1alpha1/suite_test.go
	deleted:    api/v1alpha1/zz_generated.deepcopy.go
	deleted:    api/v1alpha2/groupversion_info.go
	deleted:    api/v1alpha2/keycloakclient_configmap.go
	deleted:    api/v1alpha2/keycloakclient_conversion.go
	deleted:    api/v1alpha2/keycloakclient_secret.go
	deleted:    api/v1alpha2/keycloakclient_types.go
	deleted:    api/v1alpha2/zz_generated.deepcopy.go
	deleted:    charts/keycloak-cr-operator/.helmignore
	deleted:    charts/keycloak-cr-operator/Chart.yaml
	deleted:    charts/keycloak-cr-operator/README.md
	deleted:    charts/keycloak-cr-operator/README.md.gotmpl
	deleted:    charts/keycloak-cr-operator/ci/test-values.yaml
	deleted:    charts/keycloak-cr-operator/templates/NOTES.txt
	deleted:    charts/keycloak-cr-operator/templates/_helpers.tpl
	deleted:    charts/keycloak-cr-operator/templates/cert-manager/metrics-certs.yaml
	deleted:    charts/keycloak-cr-operator/templates/cert-manager/selfsigned-issuer.yaml
	deleted:    charts/keycloak-cr-operator/templates/cert-manager/serving-cert.yaml
	deleted:    charts/keycloak-cr-operator/templates/crd/keycloakclients.keycloak.osc.edu.yaml
	deleted:    charts/keycloak-cr-operator/templates/extras/manager-configmap.yaml
	deleted:    charts/keycloak-cr-operator/templates/extras/manager-secret.yaml
	deleted:    charts/keycloak-cr-operator/templates/hooks/job.yaml
	deleted:    charts/keycloak-cr-operator/templates/hooks/rbac.yaml
	deleted:    charts/keycloak-cr-operator/templates/hooks/serviceaccount.yaml
	deleted:    charts/keycloak-cr-operator/templates/manager/manager.yaml
	deleted:    charts/keycloak-cr-operator/templates/metrics/metrics-service.yaml
	deleted:    charts/keycloak-cr-operator/templates/monitoring/servicemonitor.yaml
	deleted:    charts/keycloak-cr-operator/templates/network-policy/allow-metrics-traffic.yaml
	deleted:    charts/keycloak-cr-operator/templates/network-policy/allow-webhook-traffic.yaml
	deleted:    charts/keycloak-cr-operator/templates/rbac/keycloakclient-admin-role.yaml
	deleted:    charts/keycloak-cr-operator/templates/rbac/keycloakclient-editor-role.yaml
	deleted:    charts/keycloak-cr-operator/templates/rbac/keycloakclient-viewer-role.yaml
	deleted:    charts/keycloak-cr-operator/templates/rbac/leader-election-role.yaml
	deleted:    charts/keycloak-cr-operator/templates/rbac/leader-election-rolebinding.yaml
	deleted:    charts/keycloak-cr-operator/templates/rbac/manager-role.yaml
	deleted:    charts/keycloak-cr-operator/templates/rbac/manager-rolebinding.yaml
	deleted:    charts/keycloak-cr-operator/templates/rbac/manager.yaml
	deleted:    charts/keycloak-cr-operator/templates/rbac/metrics-auth-role.yaml
	deleted:    charts/keycloak-cr-operator/templates/rbac/metrics-auth-rolebinding.yaml
	deleted:    charts/keycloak-cr-operator/templates/rbac/metrics-reader.yaml
	deleted:    charts/keycloak-cr-operator/templates/webhook/mutating-webhook-configuration.yaml
	deleted:    charts/keycloak-cr-operator/templates/webhook/validating-webhook-configuration.yaml
	deleted:    charts/keycloak-cr-operator/templates/webhook/webhook-service.yaml
	deleted:    charts/keycloak-cr-operator/values.yaml
	deleted:    cmd/main.go
	deleted:    config/certmanager/certificate-metrics.yaml
	deleted:    config/certmanager/certificate-webhook.yaml
	deleted:    config/certmanager/issuer.yaml
	deleted:    config/certmanager/kustomization.yaml
	deleted:    config/certmanager/kustomizeconfig.yaml
	deleted:    config/crd/bases/keycloak.osc.edu_keycloakclients.yaml
	deleted:    config/crd/kustomization.yaml
	deleted:    config/crd/kustomizeconfig.yaml
	deleted:    config/crd/patches/webhook_in_keycloakclients.yaml
	deleted:    config/default/cert_metrics_manager_patch.yaml
	deleted:    config/default/kustomization.yaml
	deleted:    config/default/manager_metrics_patch.yaml
	deleted:    config/default/manager_webhook_patch.yaml
	deleted:    config/default/metrics_service.yaml
	deleted:    config/manager/kustomization.yaml
	deleted:    config/manager/manager.yaml
	deleted:    config/network-policy/allow-metrics-traffic.yaml
	deleted:    config/network-policy/allow-webhook-traffic.yaml
	deleted:    config/network-policy/kustomization.yaml
	deleted:    config/prometheus/kustomization.yaml
	deleted:    config/prometheus/monitor.yaml
	deleted:    config/prometheus/monitor_tls_patch.yaml
	deleted:    config/rbac/keycloakclient_admin_role.yaml
	deleted:    config/rbac/keycloakclient_editor_role.yaml
	deleted:    config/rbac/keycloakclient_viewer_role.yaml
	deleted:    config/rbac/kustomization.yaml
	deleted:    config/rbac/leader_election_role.yaml
	deleted:    config/rbac/leader_election_role_binding.yaml
	deleted:    config/rbac/metrics_auth_role.yaml
	deleted:    config/rbac/metrics_auth_role_binding.yaml
	deleted:    config/rbac/metrics_reader_role.yaml
	deleted:    config/rbac/role.yaml
	deleted:    config/rbac/role_binding.yaml
	deleted:    config/rbac/service_account.yaml
	deleted:    config/samples/keycloak_v1alpha1_keycloakclient_upgrade.yaml
	deleted:    config/samples/keycloak_v1alpha2_keycloakclient.yaml
	deleted:    config/samples/keycloak_v1alpha2_keycloakclient_headlamp.yaml
	deleted:    config/samples/keycloak_v1alpha2_keycloakclient_oauth2-proxy.yaml
	deleted:    config/samples/keycloak_v1alpha2_keycloakclient_public.yaml
	deleted:    config/samples/keycloak_v1alpha2_keycloakclient_upgrade.yaml
	deleted:    config/samples/keycloak_v1alpha2_keycloakclient_with_secret.yaml
	deleted:    config/samples/kustomization.yaml
	deleted:    config/samples/oauth2-proxy-values.yaml
	deleted:    config/webhook/kustomization.yaml
	deleted:    config/webhook/kustomizeconfig.yaml
	deleted:    config/webhook/manifests.yaml
	deleted:    config/webhook/service.yaml
	deleted:    docs/crds.md
	deleted:    docs/keycloakclient.md
	deleted:    docs/kubebuilder_usage.md
	deleted:    go.mod
	deleted:    go.sum
	deleted:    hack/boilerplate.go.txt
	deleted:    internal/controller/constants.go
	deleted:    internal/controller/keycloak.go
	deleted:    internal/controller/keycloakclient_controller.go
	deleted:    internal/controller/keycloakclient_controller_checksum.go
	deleted:    internal/controller/keycloakclient_controller_configmap.go
	deleted:    internal/controller/keycloakclient_controller_secret.go
	deleted:    internal/controller/keycloakclient_controller_test.go
	deleted:    internal/controller/suite_test.go
	deleted:    internal/models/models.go
	deleted:    internal/webhook/v1alpha1/keycloakclient_webhook.go
	deleted:    internal/webhook/v1alpha1/keycloakclient_webhook_defaulting_test.go
	deleted:    internal/webhook/v1alpha1/keycloakclient_webhook_test.go
	deleted:    internal/webhook/v1alpha1/keycloakclient_webhook_validating_test.go
	deleted:    internal/webhook/v1alpha1/webhook_suite_test.go
	deleted:    internal/webhook/v1alpha2/keycloakclient_webhook.go
	deleted:    internal/webhook/v1alpha2/keycloakclient_webhook_defaulting_test.go
	deleted:    internal/webhook/v1alpha2/keycloakclient_webhook_test.go
	deleted:    internal/webhook/v1alpha2/keycloakclient_webhook_validating_test.go
	deleted:    internal/webhook/v1alpha2/webhook_suite_test.go
	deleted:    test/e2e/deployment.yaml
	deleted:    test/e2e/e2e_keycloakclient_test.go
	deleted:    test/e2e/e2e_suite_test.go
	deleted:    test/e2e/e2e_test.go
	deleted:    test/e2e/keycloak-values.yaml
	deleted:    test/e2e/keycloak_test.go
	deleted:    test/e2e/kind.yaml
	deleted:    test/utils/utils.go

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	bin/

no changes added to commit (use "git add" and/or "git commit -a")

$ ls -la
total 8
drwxr-xr-x@   5 tdockendorf  SI\Domain Users   160 Sep 15 09:59 .
drwxr-xr-x@ 200 tdockendorf  SI\Domain Users  6400 Jul 27 09:39 ..
drwxr-xr-x@  15 tdockendorf  SI\Domain Users   480 Sep 15 09:59 .git
drwxr-xr-x@   3 tdockendorf  SI\Domain Users    96 Sep 15 09:51 bin
-rw-r--r--@   1 tdockendorf  SI\Domain Users  1101 Sep 15 09:47 PROJECT

$ ls -la bin/
total 0
drwxr-xr-x@ 3 tdockendorf  SI\Domain Users   96 Sep 15 09:51 .
drwxr-xr-x@ 5 tdockendorf  SI\Domain Users  160 Sep 15 09:59 ..
drwxr-xr-x@ 4 tdockendorf  SI\Domain Users  128 Jul 26 10:58 k8s

$ ls -la bin/k8s/
total 0
drwxr-xr-x@ 4 tdockendorf  SI\Domain Users  128 Jul 26 10:58 .
drwxr-xr-x@ 3 tdockendorf  SI\Domain Users   96 Sep 15 09:51 ..
dr-xr-xr-x@ 5 tdockendorf  SI\Domain Users  160 Mar  7  2026 1.35.0-darwin-arm64
dr-xr-xr-x@ 5 tdockendorf  SI\Domain Users  160 Jul 26 10:58 1.36.2-darwin-arm64

Reproducing this issue

The command is in the issue:

kubebuilder alpha update --from-version v4.15.0 --to-version v4.16.0 --force --show-commits --output-branch kubebuilder-update --from-branch main

On new branch from this repo: https://github.com/OSC/keycloak-cr-operator

KubeBuilder (CLI) Version

4.16.0

PROJECT version

3

Plugin versions

yaml
go.kubebuilder.io/v4

Other versions

$ go version
go version go1.27.1 darwin/arm64
$ grep controller go.mod
	sigs.k8s.io/controller-runtime v0.24.1
$ kubectl version
Client Version: v1.36.1
Kustomize Version: v5.8.1
Server Version: v1.34.11
Warning: version difference between client (1.36) and server (1.34) exceeds the supported minor version skew of +/-1

The server above is my site's cluster, not laptop Kubernetes.

Extra Labels

No response

Source: kubernetes-sigs/kubebuilder