98 lines
2.3 KiB
Terraform
98 lines
2.3 KiB
Terraform
|
|
resource "kubernetes_secret" "geoip_maxmind_credentials" {
|
||
|
|
metadata {
|
||
|
|
name = "geoip-maxmind-credentials"
|
||
|
|
namespace = kubernetes_namespace.m3uproxy.metadata[0].name
|
||
|
|
}
|
||
|
|
data = {
|
||
|
|
account_id = var.maxmind_account_id
|
||
|
|
license_key = var.maxmind_license_key
|
||
|
|
}
|
||
|
|
type = "Opaque"
|
||
|
|
}
|
||
|
|
|
||
|
|
resource "kubernetes_cron_job_v1" "geoip_update" {
|
||
|
|
|
||
|
|
metadata {
|
||
|
|
name = "geoip-update"
|
||
|
|
namespace = kubernetes_namespace.m3uproxy.metadata[0].name
|
||
|
|
}
|
||
|
|
|
||
|
|
spec {
|
||
|
|
schedule = local.geoip_cron_schedule
|
||
|
|
job_template {
|
||
|
|
metadata {
|
||
|
|
name = "geoip-update"
|
||
|
|
}
|
||
|
|
spec {
|
||
|
|
template {
|
||
|
|
metadata {
|
||
|
|
labels = {
|
||
|
|
app = "geoip-update"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
spec {
|
||
|
|
container {
|
||
|
|
name = "geoip-update"
|
||
|
|
image = "${local.geoip_image}:${local.geoip_version}"
|
||
|
|
|
||
|
|
env {
|
||
|
|
name = "GEOIPUPDATE_ACCOUNT_ID"
|
||
|
|
value_from {
|
||
|
|
secret_key_ref {
|
||
|
|
name = kubernetes_secret.geoip_maxmind_credentials.metadata[0].name
|
||
|
|
key = "account_id"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
env {
|
||
|
|
name = "GEOIPUPDATE_LICENSE_KEY"
|
||
|
|
value_from {
|
||
|
|
secret_key_ref {
|
||
|
|
name = kubernetes_secret.geoip_maxmind_credentials.metadata[0].name
|
||
|
|
key = "license_key"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
env {
|
||
|
|
name = "GEOIPUPDATE_EDITION_IDS"
|
||
|
|
value = join(" ", local.geoip_editions)
|
||
|
|
}
|
||
|
|
|
||
|
|
resources {
|
||
|
|
requests = {
|
||
|
|
memory = "64Mi"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
volume_mount {
|
||
|
|
name = "geoip-db"
|
||
|
|
mount_path = "/usr/share/GeoIP"
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
security_context {
|
||
|
|
run_as_user = 1000
|
||
|
|
run_as_group = 1000
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
service_account_name = kubernetes_service_account.m3uproxy_service_account.metadata[0].name
|
||
|
|
|
||
|
|
restart_policy = "OnFailure"
|
||
|
|
|
||
|
|
volume {
|
||
|
|
name = "geoip-db"
|
||
|
|
host_path {
|
||
|
|
path = local.geoip_path
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|