variable "manage_google" {
  description = "Manage Google Cloud release storage resources."
  type        = bool
  default     = false
}

variable "google_project_id" {
  description = "Google Cloud project id for Burrow release storage."
  type        = string
  default     = "project-88c23ce9-918a-470a-b33"
}

variable "google_storage_location" {
  description = "Google Cloud Storage bucket location for release, package, and cache backup buckets."
  type        = string
  default     = "US"
}

variable "google_runner_service_account_email" {
  description = "Forgejo runner service account email allowed to publish release, package, and cache backup objects."
  type        = string
  default     = "burrow-forgejo-runner@project-88c23ce9-918a-470a-b33.iam.gserviceaccount.com"
}

variable "google_release_bucket_name" {
  description = "GCS bucket for release artifacts served by releases.burrow.net."
  type        = string
  default     = "burrow-net-releases"
}

variable "google_package_bucket_name" {
  description = "GCS bucket for signed package repositories served by packages.burrow.net."
  type        = string
  default     = "burrow-net-packages"
}

variable "google_nix_cache_bucket_name" {
  description = "GCS backup bucket for the Garage-backed Burrow Nix cache."
  type        = string
  default     = "burrow-net-nix-cache"
}

variable "google_release_public_read" {
  description = "Grant allUsers objectViewer on the release artifact bucket."
  type        = bool
  default     = true
}

variable "google_package_public_read" {
  description = "Grant allUsers objectViewer on the package repository bucket."
  type        = bool
  default     = true
}

variable "google_nix_cache_public_read" {
  description = "Grant allUsers objectViewer on the Nix cache backup bucket."
  type        = bool
  default     = false
}

variable "google_release_extra_writer_members" {
  description = "Additional IAM members allowed to write release, repository, and cache backup objects."
  type        = set(string)
  default     = []
}

variable "google_storage_cors_origins" {
  description = "Allowed origins for public release/package downloads."
  type        = list(string)
  default = [
    "https://burrow.net",
    "https://releases.burrow.net",
    "https://packages.burrow.net",
  ]
}

variable "tags" {
  description = "Additional labels applied to supported Google resources."
  type        = map(string)
  default     = {}
}
