Add fork_from to repository config
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful

Express a fork as an optional fork_from key on the repository yaml, so a
forked repo is declared the same way as any other repo.

- add fork_from "<owner>/<repo>" to the repository module and object type
- create gitea_fork instead of gitea_repository when fork_from is set
- validate the source repo name matches the config file name, since a fork
  inherits the source name
- move gitea_repository.this to index 0 for the count refactor
- index existing repository import targets to match
This commit is contained in:
2026-09-19 15:55:12 +10:00
parent 66823a939a
commit 9ab540719e
6 changed files with 72 additions and 35 deletions
+34 -34
View File
@@ -4,167 +4,167 @@ import {
}
import {
to = module.repository["git.unkin.net/unkin/puppet-prod"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/puppet-prod"].gitea_repository.this[0]
id = "2"
}
import {
to = module.repository["git.unkin.net/unkin/puppet-r10k"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/puppet-r10k"].gitea_repository.this[0]
id = "3"
}
import {
to = module.repository["git.unkin.net/unkin/rpmbuild-gonic"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/rpmbuild-gonic"].gitea_repository.this[0]
id = "23"
}
import {
to = module.repository["git.unkin.net/unkin/docker-almalinux-base"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/docker-almalinux-base"].gitea_repository.this[0]
id = "24"
}
import {
to = module.repository["git.unkin.net/unkin/rpmbuild-internal-ca-certificates"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/rpmbuild-internal-ca-certificates"].gitea_repository.this[0]
id = "27"
}
import {
to = module.repository["git.unkin.net/unkin/rpmbuild-template"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/rpmbuild-template"].gitea_repository.this[0]
id = "29"
}
import {
to = module.repository["git.unkin.net/unkin/rpmbuild-jellyfin-web"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/rpmbuild-jellyfin-web"].gitea_repository.this[0]
id = "31"
}
import {
to = module.repository["git.unkin.net/unkin/rpmbuild-proxlb"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/rpmbuild-proxlb"].gitea_repository.this[0]
id = "33"
}
import {
to = module.repository["git.unkin.net/unkin/docker-almalinux-buildrunner"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/docker-almalinux-buildrunner"].gitea_repository.this[0]
id = "36"
}
import {
to = module.repository["git.unkin.net/unkin/docker-template"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/docker-template"].gitea_repository.this[0]
id = "38"
}
import {
to = module.repository["git.unkin.net/unkin/terraform-vault"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/terraform-vault"].gitea_repository.this[0]
id = "39"
}
import {
to = module.repository["git.unkin.net/unkin/docker-almalinux-jupyterinstance"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/docker-almalinux-jupyterinstance"].gitea_repository.this[0]
id = "40"
}
import {
to = module.repository["git.unkin.net/unkin/rpmbuilder"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/rpmbuilder"].gitea_repository.this[0]
id = "41"
}
import {
to = module.repository["git.unkin.net/unkin/docker-almalinux-runnerdnd"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/docker-almalinux-runnerdnd"].gitea_repository.this[0]
id = "43"
}
import {
to = module.repository["git.unkin.net/unkin/initbuilder"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/initbuilder"].gitea_repository.this[0]
id = "47"
}
import {
to = module.repository["git.unkin.net/unkin/puppetapi"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/puppetapi"].gitea_repository.this[0]
id = "50"
}
import {
to = module.repository["git.unkin.net/unkin/terraform-nomad"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/terraform-nomad"].gitea_repository.this[0]
id = "53"
}
import {
to = module.repository["git.unkin.net/unkin/packer-images"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/packer-images"].gitea_repository.this[0]
id = "59"
}
import {
to = module.repository["git.unkin.net/unkin/app-sudaporn-research-normalised"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/app-sudaporn-research-normalised"].gitea_repository.this[0]
id = "60"
}
import {
to = module.repository["git.unkin.net/unkin/app-sudaporn-research-individual"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/app-sudaporn-research-individual"].gitea_repository.this[0]
id = "63"
}
import {
to = module.repository["git.unkin.net/unkin/terraform-incus"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/terraform-incus"].gitea_repository.this[0]
id = "66"
}
import {
to = module.repository["git.unkin.net/unkin/artifactapi"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/artifactapi"].gitea_repository.this[0]
id = "67"
}
import {
to = module.repository["git.unkin.net/unkin/argocd-apps"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/argocd-apps"].gitea_repository.this[0]
id = "100"
}
import {
to = module.repository["git.unkin.net/unkin/certmanager"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/certmanager"].gitea_repository.this[0]
id = "101"
}
import {
to = module.repository["git.unkin.net/unkin/node-lookup"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/node-lookup"].gitea_repository.this[0]
id = "102"
}
import {
to = module.repository["git.unkin.net/unkin/container-devcompute"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/container-devcompute"].gitea_repository.this[0]
id = "135"
}
import {
to = module.repository["git.unkin.net/unkin/streamstack"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/streamstack"].gitea_repository.this[0]
id = "136"
}
import {
to = module.repository["git.unkin.net/unkin/terraform-provider-artifactapi"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/terraform-provider-artifactapi"].gitea_repository.this[0]
id = "137"
}
import {
to = module.repository["git.unkin.net/unkin/forgebot"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/forgebot"].gitea_repository.this[0]
id = "139"
}
import {
to = module.repository["git.unkin.net/unkin/forgebot-skills"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/forgebot-skills"].gitea_repository.this[0]
id = "140"
}
import {
to = module.repository["git.unkin.net/unkin/container-agent-base"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/container-agent-base"].gitea_repository.this[0]
id = "141"
}
import {
to = module.repository["git.unkin.net/unkin/container-agent-dev"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/container-agent-dev"].gitea_repository.this[0]
id = "142"
}
import {
to = module.repository["git.unkin.net/unkin/container-agent-infra"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/container-agent-infra"].gitea_repository.this[0]
id = "143"
}
@@ -199,7 +199,7 @@ import {
}
import {
to = module.repository["git.unkin.net/unkin/terraform-git"].gitea_repository.this
to = module.repository["git.unkin.net/unkin/terraform-git"].gitea_repository.this[0]
id = "144"
}