Skip to content

Move module, image and copyright to Cozystack - #5

Merged
Timofei Larkin (lllamnyp) merged 5 commits into
mainfrom
move-to-cozystack
Oct 7, 2026
Merged

Timofei Larkin (lllamnyp) merged 5 commits into
mainfrom
move-to-cozystack

Conversation

@lllamnyp

@lllamnyp Timofei Larkin (lllamnyp) commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

This repo was transferred from lllamnyp/address-controller to cozystack/address-controller. This PR moves its code, image and copyright from the personal account to the org.

  • Copyright: every source header and hack/boilerplate.go.txt now say "The Cozystack Authors". zz_generated.deepcopy.go was regenerated with controller-gen v0.17.1. LICENSE is the unmodified Apache-2.0 text and names no holder, so it is unchanged.
  • Go module: the module is now github.com/cozystack/address-controller. I used go mod edit -module, rewrote the imports, ran go mod tidy and updated the PROJECT file. Regenerating the CRDs and the ClusterRole produced no diff.
  • Image: the image is now ghcr.io/cozystack/address-controller in the Makefile, the chart default (values.yaml) and the README. The Dockerfile's org.opencontainers.image.source label now points here, so GHCR links the new package to this repo.
  • Links: the chart home/sources and the metallb-iad links point at the cozystack org.
  • Lint: golangci-lint is now the current v2.14.0, in CI (golangci-lint-action v9) and in the Makefile. .golangci.yml was converted with golangci-lint migrate. The findings that had kept Lint red on main are fixed in the code: the claim tests share constants for repeated values, test helpers drop parameters that always got the same value, and the reported address list is preallocated.
  • Versions: go.mod now says go 1.26, matching the golang:1.26 builder and metallb-iad. godebug default=go1.23 keeps runtime defaults unchanged. The checkout, setup-go and docker actions are on their current major versions, which run on Node 24 instead of the deprecated Node 20.
  • GHCR linking: the release workflow now writes OCI labels and annotations to the multi-arch image index as well as the per-arch manifests. GHCR reads org.opencontainers.image.source from the index; metallb-iad does the same.

The release workflow already builds its image name from github.repository and requests packages: write. Once this merges, the push to main will publish ghcr.io/cozystack/address-controller:main and :main-<sha>, and later v* tags will publish semver tags. Nothing under ghcr.io/lllamnyp is touched.

Downstream users still on the old names need follow-ups. metallb-iad imports github.com/lllamnyp/address-controller/api/v1alpha1 and must switch to the new module path once this merges. cozystack/cozystack#3382 still points at the lllamnyp repo and image.

go build ./..., go vet ./..., go test ./... and golangci-lint run all pass. Regenerating CRDs, RBAC and deepcopy with controller-gen produces no diff.

The repository now lives under the cozystack organization, so the
project's copyright belongs to its authors collectively rather than to
the original individual author. Update every source header and
hack/boilerplate.go.txt, and regenerate zz_generated.deepcopy.go with
controller-gen so its header follows the boilerplate.

LICENSE carries the unmodified Apache-2.0 text with no named holder,
so it needs no change.

Assisted-By: LLM
Signed-off-by: Timofei Larkin <lllamnyp@gmail.com>
The repository was transferred from lllamnyp/address-controller to
cozystack/address-controller. Point everything that named the old
owner at the new one:

- Go module path github.com/cozystack/address-controller (go mod edit
  -module, imports rewritten, go mod tidy) and the kubebuilder PROJECT
  file.
- Image ghcr.io/cozystack/address-controller in the Makefile, the chart
  default and the README. The release workflow already derives its
  image from github.repository, so CI needs no change.
- org.opencontainers.image.source label, so GHCR links the new package
  to this repository.
- Chart home/sources and the metallb-iad links, which also moved to the
  cozystack organization.

Images already published under ghcr.io/lllamnyp are left untouched.

Assisted-By: LLM
Signed-off-by: Timofei Larkin <lllamnyp@gmail.com>
@coderabbitai

coderabbitai Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 5c798ad1-2cae-44eb-9edd-6eecf7ba0064
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

The Lint workflow was failing on main. Move the linter to the current
release, v2.14.0, in both the workflow (golangci-lint-action v9, which
requires v2) and the Makefile, and convert .golangci.yml with
golangci-lint migrate. Bump checkout and setup-go in the same workflow.

Fix what v2 reports instead of silencing it: the claim tests now share
constants for the class, provisioner, namespace, claim name and claim
UID, the claim helpers drop the namespace and name parameters that
always received the same values, and updateClaimStatus preallocates
the reported address list.

Assisted-By: LLM
Signed-off-by: Timofei Larkin <lllamnyp@gmail.com>
CI took its Go version from go.mod, which still said 1.23.0 (end of
life), while the image is built with golang:1.26. Set go 1.26 with
go mod edit and keep godebug default=go1.23 so runtime defaults don't
change, matching metallb-iad. Move the test and release workflows to
the current major versions of the checkout, setup-go and docker
actions, which run on Node 24 instead of the deprecated Node 20.

Assisted-By: LLM
Signed-off-by: Timofei Larkin <lllamnyp@gmail.com>
The release builds a multi-arch image, and GHCR reads
org.opencontainers.image.source from the index manifest; the
Dockerfile LABEL only lands in the per-arch image configs. Have
metadata-action emit its labels and annotations at the manifest and
index levels and pass both to build-push-action, as metallb-iad does.

Assisted-By: LLM
Signed-off-by: Timofei Larkin <lllamnyp@gmail.com>

@myasnikovdaniil myasnikovdaniil left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

APPROVE. Checked locally, go mod tidy and make manifests generate leave no diff, build, vet and tests pass.

@lllamnyp
Timofei Larkin (lllamnyp) merged commit ee38d0a into main Oct 7, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants