From 7ce1459f4a00805851fe36e87a489749e5f323a8 Mon Sep 17 00:00:00 2001
From: Egor Tensin <egor@tensin.name>
Date: Sat, 3 Feb 2024 22:47:58 +0100
Subject: digitalocean/server: customizable alerts w/ higher thresholds

---
 digitalocean/server/alerts.tf    | 12 +++++++++---
 digitalocean/server/variables.tf | 17 +++++++++++++++++
 2 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/digitalocean/server/alerts.tf b/digitalocean/server/alerts.tf
index e8a2c19..6667369 100644
--- a/digitalocean/server/alerts.tf
+++ b/digitalocean/server/alerts.tf
@@ -5,24 +5,30 @@ resource "digitalocean_monitor_alert" "cpu" {
   alerts {
     email = [data.digitalocean_account.this.email]
   }
+
   description = "CPU utilization on ${digitalocean_droplet.this.name}"
   window      = "5m"
   type        = "v1/insights/droplet/cpu"
   compare     = "GreaterThan"
-  value       = 70
+  value       = var.alert_cpu_threshold
   enabled     = true
   entities    = [digitalocean_droplet.this.id]
+
+  count = var.alert_cpu_enable ? 1 : 0
 }
 
-resource "digitalocean_monitor_alert" "load1" {
+resource "digitalocean_monitor_alert" "loadavg1" {
   alerts {
     email = [data.digitalocean_account.this.email]
   }
+
   description = "1-min load avg on ${digitalocean_droplet.this.name}"
   window      = "5m"
   type        = "v1/insights/droplet/load_1"
   compare     = "GreaterThan"
-  value       = 5
+  value       = var.alert_loadavg1_threshold
   enabled     = true
   entities    = [digitalocean_droplet.this.id]
+
+  count = var.alert_loadavg1_enable ? 1 : 0
 }
diff --git a/digitalocean/server/variables.tf b/digitalocean/server/variables.tf
index a3620fc..4912b78 100644
--- a/digitalocean/server/variables.tf
+++ b/digitalocean/server/variables.tf
@@ -38,3 +38,20 @@ variable "size" {
   type    = string
   default = "s-1vcpu-2gb"
 }
+
+variable "alert_cpu_enable" {
+  type    = bool
+  default = true
+}
+variable "alert_cpu_threshold" {
+  type    = number
+  default = 80
+}
+variable "alert_loadavg1_enable" {
+  type    = bool
+  default = true
+}
+variable "alert_loadavg1_threshold" {
+  type    = number
+  default = 5
+}
-- 
cgit v1.2.3