mirror of
https://gitlab.archlinux.org/archlinux/infrastructure.git
synced 2024-05-19 10:46:04 +02:00
Terraform uptimerobot monitors
Add our uptimerobot to terraform so it's managed in code and we can easily extend it. This currently only adds our to be monitored sites and leaves the status page as is now. Deleting resources on uptimerobot will cause terraform unable to run see: https://github.com/louy/terraform-provider-uptimerobot/issues/82 References: #209
This commit is contained in:
parent
7b216d5710
commit
f741bc6a20
|
@ -0,0 +1,11 @@
|
|||
$ANSIBLE_VAULT;1.1;AES256
|
||||
62633262613331616434383361643166396632326534376238363661343162383563633738666165
|
||||
3265376465363330373030636337643838663232346331660a356536353363363837323466363066
|
||||
65363737363465643633323536393261636438383336343334656439333136383934376538653466
|
||||
3965373639366131330a633962366637396332363237363364383238663133323664616132303365
|
||||
62653761353366623364363365633937343339386562323133353030316635376265356166343965
|
||||
64333931383836306563373138383262313335663530623863666565656136653162333437333536
|
||||
34346632313438386362643433373936346266353562333562303562303432316330663261303636
|
||||
32363735346366323038346336386364313634356131633463373837366261623534626361636563
|
||||
36656164633363396231346135643765663062656230333838343538643361383632373533306236
|
||||
3261343064333737346166316562616637353330373736633634
|
|
@ -18,6 +18,25 @@ provider "registry.terraform.io/hashicorp/external" {
|
|||
]
|
||||
}
|
||||
|
||||
provider "registry.terraform.io/louy/uptimerobot" {
|
||||
version = "0.5.1"
|
||||
constraints = "0.5.1"
|
||||
hashes = [
|
||||
"h1:Oc5L04pt+5NJ8n47K7tVHbqFmuobW/x5zaF5sPGCQwE=",
|
||||
"zh:0cab4092125cf524a2e5caf74a4e90f230734b20bbceb20e51ffb82f2fcc90fc",
|
||||
"zh:130d9d9ddb2f9070d7846066d424d785a624472a25b413382bf6e80ad4754158",
|
||||
"zh:29c1ff142ec76adb751cf1e99b2c7bd9ba5f17b97bfcce5954043db9c4a83039",
|
||||
"zh:2ade3d4b911bcceb795b009105dfd58c40d27d06c2ea7402159a76559e86dd25",
|
||||
"zh:474d83e659597ee143d09100787bb35daf05dc2a0b3fbfcb8159792143b8c598",
|
||||
"zh:62694db2f947bafb00532a5b961067eb488005061e684eb74148bcbf80805270",
|
||||
"zh:6a4e423519a331328764ba0790eb79c63882e77aa8ffdf811a319b5efaf7034e",
|
||||
"zh:7e7f7c16f54690f84fcb6d1a90848bd51fc7b2eb2cc23bfa0583e18a80157393",
|
||||
"zh:a4a63a32ac0bbe0d11fda36768c824698db4c2378cbfdf5522276fe996621864",
|
||||
"zh:af3062664c5c4ec012af48dea769318dcb8ef77cbb59f15d8b6c252fb9adda85",
|
||||
"zh:de555bac4bd86d17e7b5592ec22a6db8d1496470d3dab4fa286a86e44bdad991",
|
||||
]
|
||||
}
|
||||
|
||||
provider "registry.terraform.io/mrparkers/keycloak" {
|
||||
version = "2.0.0"
|
||||
constraints = "2.0.0"
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
# When deleting a resource outside of terraform, the provider errors out and a
|
||||
# resource has to be manually deleted in terraform, see:
|
||||
# https://github.com/louy/terraform-provider-uptimerobot/issues/82
|
||||
|
||||
data "external" "vault_uptimerobot" {
|
||||
program = ["${path.module}/../misc/get_key.py", "group_vars/all/vault_uptimerobot.yml",
|
||||
"vault_uptimerobot_api_key",
|
||||
"vault_uptimerobot_alert_contact",
|
||||
"--format", "json"]
|
||||
}
|
||||
|
||||
provider "uptimerobot" {
|
||||
api_key = data.external.vault_uptimerobot.result.vault_uptimerobot_api_key
|
||||
}
|
||||
|
||||
data "uptimerobot_account" "account" {}
|
||||
|
||||
data "uptimerobot_alert_contact" "default_alert_contact" {
|
||||
friendly_name = data.external.vault_uptimerobot.result.vault_uptimerobot_alert_contact
|
||||
}
|
||||
|
||||
locals {
|
||||
archlinux_org_monitor = {
|
||||
"Wiki" = "https://wiki.archlinux.org"
|
||||
"Website" = "https://archlinux.org"
|
||||
"Security Tracker" = "https://security.archlinux.org"
|
||||
"Gitlab" = "https://gitlab.archlinux.org"
|
||||
"Forum" = "https://bbs.archlinux.org"
|
||||
"Bugtracker" = "https://bugs.archlinux.org"
|
||||
"AUR" = "https://aur.archlinux.org"
|
||||
"Man" = "https://man.archlinux.org"
|
||||
}
|
||||
}
|
||||
|
||||
resource "uptimerobot_monitor" "uptimerobot_monitor_archlinux" {
|
||||
for_each = local.archlinux_org_monitor
|
||||
|
||||
friendly_name = each.key
|
||||
type = "http"
|
||||
url = each.value
|
||||
interval = 60
|
||||
|
||||
alert_contact {
|
||||
id = data.uptimerobot_alert_contact.default_alert_contact.id
|
||||
}
|
||||
}
|
|
@ -7,6 +7,10 @@ terraform {
|
|||
source = "mrparkers/keycloak"
|
||||
version = "2.0.0"
|
||||
}
|
||||
uptimerobot = {
|
||||
source = "louy/uptimerobot"
|
||||
version = "0.5.1"
|
||||
}
|
||||
}
|
||||
required_version = ">= 0.13"
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue