feat(cert-checker): add Kubernetes resources for certificate checking functionality
- Implemented a new module for cert-checker with Kubernetes resources including ServiceAccount, Role, RoleBinding, ConfigMap, and CronJob. - Added Python script to check certificate expiry and restart deployments if necessary. - Configured environment variables for deployment name, namespace, and service details. - Included requirements for the Python environment. feat(devolo-exporter): introduce Devolo exporter for Prometheus metrics - Created a new module for Devolo exporter with Kubernetes resources including ServiceAccount, ConfigMap, Deployment, and Service. - Developed Python scripts to scrape metrics from Devolo devices and expose them to Prometheus. - Configured environment variables for Devolo device IP, model, and ports. - Added requirements for the Python environment.
This commit is contained in:
@@ -10,7 +10,7 @@ module "open-webui" {
|
||||
module "samba" {
|
||||
source = "../../modules/apps/samba"
|
||||
|
||||
shared_folder = local.samba_shared_folder
|
||||
shares = local.samba_shares
|
||||
}
|
||||
|
||||
module "dns" {
|
||||
@@ -73,20 +73,3 @@ module "grafana" {
|
||||
fqdn = local.grafana_fqdn
|
||||
}
|
||||
|
||||
module "node_exporter" {
|
||||
source = "../../modules/utils/node-exporter"
|
||||
}
|
||||
|
||||
module "auth_exporter" {
|
||||
source = "../../modules/utils/auth-exporter"
|
||||
persistent_folder = "${local.persistent_folder}/monitoring"
|
||||
}
|
||||
|
||||
module "disk_exporter" {
|
||||
source = "../../modules/utils/disk-exporter"
|
||||
persistent_folder = "${local.persistent_folder}/monitoring"
|
||||
smartctl_static_version = local.smartctl_static_version
|
||||
smartctl_sha256 = local.smartctl_sha256
|
||||
check_frequency = 600
|
||||
standby_mode = false
|
||||
}
|
||||
|
||||
@@ -8,7 +8,18 @@ locals {
|
||||
internal_issuer = "internal-ca"
|
||||
|
||||
# samba
|
||||
samba_shared_folder = "/mnt/usb"
|
||||
samba_shares = [
|
||||
{
|
||||
name = "USB"
|
||||
path = "/mnt/usb"
|
||||
comment = "USB Drive"
|
||||
},
|
||||
{
|
||||
name = "Storage"
|
||||
path = "/srv/storage"
|
||||
comment = "Main Storage"
|
||||
}
|
||||
]
|
||||
|
||||
# DNS
|
||||
dns_nameservers = [
|
||||
@@ -127,6 +138,18 @@ locals {
|
||||
upstream = "dns.dns.svc.cluster.local"
|
||||
protocol = "udp"
|
||||
}
|
||||
"smb" = {
|
||||
port = 445
|
||||
host_port = 445
|
||||
upstream = "smb.samba.svc.cluster.local"
|
||||
protocol = "tcp"
|
||||
}
|
||||
"netbios" = {
|
||||
port = 139
|
||||
host_port = 139
|
||||
upstream = "netbios.samba.svc.cluster.local"
|
||||
protocol = "tcp"
|
||||
}
|
||||
}
|
||||
|
||||
ollama_proxy = {
|
||||
@@ -191,6 +214,17 @@ locals {
|
||||
telegram_message = file("${path.module}/resources/telegram.tpl")
|
||||
|
||||
grafana_fqdn = "grafana.${local.lab_domain}"
|
||||
|
||||
devolo_devices = {
|
||||
devolo_620 = {
|
||||
ip = "192.168.0.199"
|
||||
model = "620"
|
||||
}
|
||||
# devolo_326 = {
|
||||
# ip = "192.168.0.200"
|
||||
# model = "326"
|
||||
# }
|
||||
}
|
||||
}
|
||||
|
||||
data "terraform_remote_state" "scaleway" {
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
module "node_exporter" {
|
||||
source = "../../modules/utils/node-exporter"
|
||||
}
|
||||
|
||||
module "auth_exporter" {
|
||||
source = "../../modules/utils/auth-exporter"
|
||||
persistent_folder = "${local.persistent_folder}/monitoring"
|
||||
}
|
||||
|
||||
module "disk_exporter" {
|
||||
source = "../../modules/utils/disk-exporter"
|
||||
persistent_folder = "${local.persistent_folder}/monitoring"
|
||||
smartctl_static_version = local.smartctl_static_version
|
||||
smartctl_sha256 = local.smartctl_sha256
|
||||
check_frequency = 600
|
||||
standby_mode = false
|
||||
}
|
||||
|
||||
module "devolo_exporter" {
|
||||
for_each = local.devolo_devices
|
||||
source = "../../modules/utils/devolo-expporter"
|
||||
devolo_ip = each.value.ip
|
||||
devolo_model = each.value.model
|
||||
}
|
||||
|
||||
@@ -21,3 +21,9 @@ scrape_configs:
|
||||
- "disk-exporter.prometheus.svc.cluster.local:9100"
|
||||
- labels:
|
||||
cluster: "dev-01"
|
||||
- job_name: devolo-exporter
|
||||
scrape_interval: 10s
|
||||
static_configs:
|
||||
- targets:
|
||||
- "devolo-exporter-620.prometheus.svc.cluster.local:9100"
|
||||
# - "devolo-exporter-326.prometheus.svc.cluster.local:9100"
|
||||
|
||||
Reference in New Issue
Block a user