victoria-traces
First step toward routing OTLP signals from Homebox into the Victoria stack.

Assisted-by: Claude Opus 4.7 via Claude Code

lotus-land-story: otel
change rvnrvywwtxorlvkmykyptzxopuoppnpn
commit e02a61803eb2acc22d79696e5334420a9d3b9f69
author Alpha Chen <alpha@kejadlen.dev>
date
parent qqqnvtty
diff --git a/lotus-land-story/main.yml b/lotus-land-story/main.yml
index 8b6c2d9..68ebf87 100644
--- a/lotus-land-story/main.yml
+++ b/lotus-land-story/main.yml
@@ -69,5 +69,6 @@
 - import_playbook: homebox.yml     # noqa: name[play]
 - import_playbook: vector.yml      # noqa: name[play]
 - import_playbook: logs.yml        # noqa: name[play]
+- import_playbook: otel.yml        # noqa: name[play]
 
 # vim: ft=yaml.ansible
diff --git a/lotus-land-story/otel.yml b/lotus-land-story/otel.yml
new file mode 100644
index 0000000..459ec41
--- /dev/null
+++ b/lotus-land-story/otel.yml
@@ -0,0 +1,35 @@
+- name: VictoriaTraces
+  tags: victoria-traces
+  hosts: lotus-land-story
+  vars:
+    version: 0.9.0
+  tasks:
+
+    - name: Make directories
+      ansible.builtin.file:
+        path: /mnt/lotus-land-story/victoria-traces
+        state: directory
+        mode: "0755"
+
+    - name: Install victoria-traces systemd unit
+      ansible.builtin.template:
+        src: templates/systemd/victoria-traces.service
+        dest: /etc/systemd/system/victoria-traces.service
+        mode: "0644"
+      notify: Restart victoria-traces
+
+    - name: Enable and start victoria-traces
+      ansible.builtin.systemd_service:
+        name: victoria-traces
+        enabled: true
+        state: started
+        daemon_reload: true
+
+  handlers:
+    - name: Restart victoria-traces
+      ansible.builtin.systemd_service:
+        name: victoria-traces
+        state: restarted
+        daemon_reload: true
+
+# vim: ft=yaml.ansible
diff --git a/lotus-land-story/templates/Caddyfile b/lotus-land-story/templates/Caddyfile
index 6afff67..9330e47 100644
--- a/lotus-land-story/templates/Caddyfile
+++ b/lotus-land-story/templates/Caddyfile
@@ -69,6 +69,12 @@ logs {
 	reverse_proxy victoria-logs:9428
 }
 
+traces {
+	tls internal
+	bind tailscale/traces
+	reverse_proxy victoria-traces:10428
+}
+
 # need scheme here since `metrics` is a directive
 https://metrics {
  	tls internal
diff --git a/lotus-land-story/templates/systemd/victoria-traces.service b/lotus-land-story/templates/systemd/victoria-traces.service
new file mode 100644
index 0000000..c447230
--- /dev/null
+++ b/lotus-land-story/templates/systemd/victoria-traces.service
@@ -0,0 +1,20 @@
+[Unit]
+Description=VictoriaTraces container
+Requires=docker.service
+After=docker.service
+PartOf=docker.service
+
+[Service]
+Restart=always
+RestartSec=5s
+ExecStartPre=-/usr/bin/docker rm -f victoria-traces
+ExecStartPre=-/usr/bin/docker pull quay.io/victoriametrics/victoria-traces:v{{ version }}
+ExecStart=/usr/bin/docker run --rm --name victoria-traces \
+  --network lotus_land_story \
+  -v /mnt/lotus-land-story/victoria-traces:/data \
+  quay.io/victoriametrics/victoria-traces:v{{ version }} \
+  -storageDataPath=/data
+ExecStop=/usr/bin/docker stop victoria-traces
+
+[Install]
+WantedBy=multi-user.target