From 29cdfcb6952eaa1914445222fb889f2aae106996 Mon Sep 17 00:00:00 2001 From: shockrah Date: Tue, 4 Nov 2025 23:24:16 -0800 Subject: [PATCH] openobserve inimal setup running now with it's own namespace and volumes --- infra/vultr-kubernetes/open-observe.tf | 105 +++++++++++++++++++++++++ infra/vultr-kubernetes/volumes.tf | 18 ++++- 2 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 infra/vultr-kubernetes/open-observe.tf diff --git a/infra/vultr-kubernetes/open-observe.tf b/infra/vultr-kubernetes/open-observe.tf new file mode 100644 index 0000000..b3dd516 --- /dev/null +++ b/infra/vultr-kubernetes/open-observe.tf @@ -0,0 +1,105 @@ +resource random_password root_password { + length = 24 + special = true +} + +output openobserve_root_password { + value = random_password.root_password.result + sensitive = true + +} + +resource kubernetes_stateful_set openobserve { + metadata { + name = "openobserve" + namespace = "openobserve" + labels = { + "name" = "openobserve" + } + } + spec { + service_name = "openobserve" + replicas = 1 + selector { + match_labels = { + "name" = "openobserve" + "app" = "openobserve" + } + } + template { + metadata { + labels = { + "name" = "openobserve" + "app" = "openobserve" + } + } + spec { + security_context { + fs_group = 2000 + run_as_user = 10000 + run_as_group = 3000 + run_as_non_root = true + } + container { + name = "openobserve" + image = "o2cr.ai/openobserve/openobserve-enterprise:v0.15.3" + env { + name = "ZO_ROOT_USER_EMAIL" + value = "dev@shockrah.xyz" + } + env { + name = "ZO_ROOT_USER_PASSWORD" + value = random_password.root_password.result + } + env { + name = "ZO_DATA_DIR" + value = "/data" + } + image_pull_policy = "Always" + resources { + limits = { + "cpu" = "1000m" + "memory" = "2048Mi" + } + requests = { + "cpu" = "256m" + "memory" = "50Mi" + } + } + port { + container_port = 5080 + name = "http" + } + volume_mount { + name = "openobserve-data" + mount_path = "/data" + } + } + volume { + name = "openobserve-data" + persistent_volume_claim { + claim_name = kubernetes_persistent_volume_claim_v1.openobserve.metadata[0].name + } + } + } + } + } +} + +resource kubernetes_service openobserve { + metadata { + name = "openobserve" + namespace = "openobserve" + } + spec { + selector = { + "app" = "openserve" + } + port { + name = "http" + port = 5080 + target_port = 5080 + } + } +} + diff --git a/infra/vultr-kubernetes/volumes.tf b/infra/vultr-kubernetes/volumes.tf index a4fc16d..433e536 100644 --- a/infra/vultr-kubernetes/volumes.tf +++ b/infra/vultr-kubernetes/volumes.tf @@ -29,4 +29,20 @@ resource kubernetes_persistent_volume_claim_v1 gitea { } } } -} \ No newline at end of file +} + +resource kubernetes_persistent_volume_claim_v1 openobserve { + metadata { + name = "openobserve-data" + namespace = "openobserve" + } + spec { + volume_mode = "Filesystem" + access_modes = [ "ReadWriteOnce"] + resources { + requests = { + storage = "10Gi" + } + } + } +}