Compare commits

...

4 Commits

Author SHA1 Message Date
29cdfcb695 openobserve inimal setup running now with it's own namespace and volumes
Some checks failed
Ansible Linting / ansible-lint (push) Failing after 7s
Secops Linting and Safety Checks / checkov-scan-s3 (push) Failing after 19s
2025-11-04 23:24:16 -08:00
bbbc9ed477 Upsizing the singular node to accomodate the new observability stack 2025-11-04 23:20:03 -08:00
d64c5526e6 Creating namespace for the openserve 2025-11-04 23:18:39 -08:00
469b3d08ce Adding hashicorp/random provider 2025-11-04 23:16:58 -08:00
5 changed files with 130 additions and 6 deletions

View File

@ -27,11 +27,14 @@ terraform {
source = "hashicorp/helm" source = "hashicorp/helm"
version = "3.0.2" version = "3.0.2"
} }
tls = { tls = {
source = "hashicorp/tls" source = "hashicorp/tls"
version = "4.1.0" version = "4.1.0"
} }
random = {
source = "hashicorp/random"
version = "3.7.2"
}
} }
} }

View File

@ -7,11 +7,11 @@ resource kubernetes_namespace playground {
} }
} }
resource kubernetes_namespace dev { resource kubernetes_namespace openobserve {
metadata { metadata {
annotations = { annotations = {
names = "dev" names = "openobserve"
} }
name = "dev" name = "openobserve"
} }
} }

View File

@ -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
}
}
}

View File

@ -5,7 +5,7 @@ cluster = {
pools = { pools = {
main = { main = {
node_quantity = 1 node_quantity = 1
plan = "vc2-1c-2gb" plan = "vc2-2c-4gb"
label = "main" label = "main"
min_nodes = 1 min_nodes = 1
max_nodes = 2 max_nodes = 2

View File

@ -29,4 +29,20 @@ resource kubernetes_persistent_volume_claim_v1 gitea {
} }
} }
} }
} }
resource kubernetes_persistent_volume_claim_v1 openobserve {
metadata {
name = "openobserve-data"
namespace = "openobserve"
}
spec {
volume_mode = "Filesystem"
access_modes = [ "ReadWriteOnce"]
resources {
requests = {
storage = "10Gi"
}
}
}
}