locals {

  # general
  # storage
  persistent_folder = "/mnt/microk8s_persistent"
  database_folder   = "/var/lib"

  # domains
  primary_domain = "alexpires.me"
  websites = {
    "alexpires.me" = {
      domain_name    = "alexpires.me"
      fqdn           = ["blog.alexpires.me", "www.alexpires.me", "alexpires.me"]
      tls            = true
      issuer         = "internal-ca"
      custom_snippet = file("${path.module}/resources/alexpires.me.conf")
    }
  }

  # gitea
  gitea_version = "1.23.7"
  gitea_fqdn    = "code.${local.primary_domain}"

  # sftpgo
  sftpgo_version = "2.6.x"
  sftpgo_fqdn    = "webdav.${local.primary_domain}"

  # m3uproxy
  m3uproxy_version = "latest"
  m3uproxy_fqdn    = "tv.${local.primary_domain}"

  # geoip
  geoip_cron_schedule = "0 0 * * *"
  geoip_editions = [
    "GeoLite2-Country",
    "GeoLite2-City",
    "GeoLite2-ASN"
  ]

  rustdesk_fqdn = "rustdesk.${local.primary_domain}"

  # trivy
  trivy_cronjob_schedule = "0 1 1/15 * *"

  # backup
  local_backup_retention_days       = 2
  cloud_backup_retention_days       = 3
  mail_backup_path                  = "${local.persistent_folder}/backup.mail"
  gitea_backup_path                 = "${local.persistent_folder}/backup.gitea"
  sftpgo_backup_path                = "${local.persistent_folder}/backup.sftpgo"
  gitea_sql_backup_cron_schedule    = "20 2 * * *"
  gitea_files_backup_cron_schedule  = "30 2 * * *"
  sftpgo_files_backup_cron_schedule = "50 2 * * *"
  mail_files_backup_cron_schedule   = "0 3 * * *"


  # email settings
  fetch_emails_schedule = "*/2 * * * *"
  scaleway_smtp_host    = "smtp.tem.scw.cloud"
  scaleway_smtp_port    = 587
  email_accounts = [
    {
      domain    = "alexpires.me"
      recipient = "c.alexandre.pires"
      receive = {
        type   = "imap"
        server = "mail-pt.securemail.pro"
        port   = 993
      }
      send = {
        server = "smtp-pt.securemail.pro"
        port   = 465
      }
      username  = var.alexpires_me_email_username
      password  = var.alexpires_me_email_password
      mailboxes = ["INBOX", "Sent", "Drafts", "Trash", "Spam"]
    }
  ]

}

data "scaleway_account_project" "default" {
  project_id      = var.scaleway_project_id
  organization_id = var.scaleway_organization_id
}
