Reject fork_from alongside unsupported repository keys
gitea_fork can only express the source repo and owning organisation, so any other setting in a fork's yaml is silently dropped. - validate fork_from entries carry no other repository attributes, naming the offending config key and attributes - note that gitea_fork has no archive_on_destroy
This commit is contained in:
@@ -45,6 +45,19 @@ variable "repository" {
|
||||
migration_releases = optional(bool)
|
||||
}))
|
||||
default = {}
|
||||
|
||||
validation {
|
||||
condition = alltrue([
|
||||
for key, repo in var.repository :
|
||||
length([for attribute, value in repo : attribute if value != null && !contains(["name", "organisation", "fork_from"], attribute)]) == 0
|
||||
if repo.fork_from != null
|
||||
])
|
||||
error_message = "gitea_fork only takes the source repository and the owning organisation, so fork_from cannot be combined with other repository settings: ${join("; ", [
|
||||
for key, repo in var.repository :
|
||||
"${key} also sets ${join(", ", [for attribute, value in repo : attribute if value != null && !contains(["name", "organisation", "fork_from"], attribute)])}"
|
||||
if repo.fork_from != null && length([for attribute, value in repo : attribute if value != null && !contains(["name", "organisation", "fork_from"], attribute)]) > 0
|
||||
])}."
|
||||
}
|
||||
}
|
||||
|
||||
variable "branch_protection" {
|
||||
|
||||
Reference in New Issue
Block a user