Add Gitea pull-mirror support and a mirrors organisation #95

Merged
benvin merged 1 commits from benvin/gitea-mirror-repos into main 2026-09-19 15:58:01 +10:00
Member

Gitea forbids a fork living in the same owner as its source, so upstream mirrors need their own org before any local fork can keep the canonical name under unkin. The repository module also had no way to express a mirror at all.

  • add the non-secret gitea_repository mirror/migration attributes to the repository module
  • thread them through the gitea_instance repository map
  • add the mirrors organisation config

Public upstreams only; no auth credentials are plumbed.

Gitea forbids a fork living in the same owner as its source, so upstream mirrors need their own org before any local fork can keep the canonical name under unkin. The repository module also had no way to express a mirror at all. - add the non-secret gitea_repository mirror/migration attributes to the repository module - thread them through the gitea_instance repository map - add the mirrors organisation config Public upstreams only; no auth credentials are plumbed.
unkin-agent added 1 commit 2026-09-19 15:47:53 +10:00
Add pull-mirror support and a mirrors organisation
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
66823a939a
Expose the non-secret gitea_repository mirror/migration attributes through
the repository module and add the mirrors org for public upstream mirrors.
Author
Member
  • nit: modules/gitea_instance/modules/repository/main.tf:24,33 — migration_mirror_interval is now exposed as a configurable input but stays under lifecycle.ignore_changes; an interval set in a mirror yaml only takes effect at repo creation, later edits to that field are silently no-op'd by terraform → document this write-once behavior (or drop it from ignore_changes scope) before the first mirror yaml relies on it.
- nit: modules/gitea_instance/modules/repository/main.tf:24,33 — `migration_mirror_interval` is now exposed as a configurable input but stays under `lifecycle.ignore_changes`; an interval set in a mirror yaml only takes effect at repo creation, later edits to that field are silently no-op'd by terraform → document this write-once behavior (or drop it from ignore_changes scope) before the first mirror yaml relies on it.
benvin merged commit 2cb056cbac into main 2026-09-19 15:58:01 +10:00
benvin deleted branch benvin/gitea-mirror-repos 2026-09-19 15:58:01 +10:00
Sign in to join this conversation.