changeset 303:9e15c07d5258

get telegraf running on pipe (non k8s)
author drewp@bigasterisk.com
date Wed, 07 Aug 2024 15:14:17 -0700
parents 3204157bb3e5
children 8c25b1a8f294
files kube.py system.py
diffstat 2 files changed, 21 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/kube.py	Wed Aug 07 00:59:16 2024 -0700
+++ b/kube.py	Wed Aug 07 15:14:17 2024 -0700
@@ -1,9 +1,12 @@
+import io
 import os
+import subprocess
+from tempfile import NamedTemporaryFile
 
 from pyinfra import host
 from pyinfra.facts.files import FindInFile
 from pyinfra.facts.server import Arch, LinuxDistribution
-from pyinfra.operations import files, server, systemd
+from pyinfra.operations import files, server, systemd, apt
 
 # https://github.com/GoogleContainerTools/skaffold/releases
 skaffold_version = 'v2.11.1'
@@ -155,6 +158,21 @@
         )
 
 
+def run_non_k8s_telegraf(node):
+    if host.name != node:
+        return
+    # this CM is written by /my/serv/telegraf/tasks.py
+    conf = io.BytesIO(subprocess.check_output(["kubectl", "get", "cm", "telegraf-config", "-o", "jsonpath={.data." + node + "}"]))
+    apt.packages(packages=['telegraf'])
+    files.put(src=conf, dest="/etc/telegraf/telegraf.conf", create_remote_dir=True, assume_exists=True)
+    systemd.service(
+        service='telegraf',
+        running=True,
+        enabled=True,
+        restarted=True,
+    )
+
+
 make_cluster(
     server_ip="10.5.0.7",
     server_node='ditto',
@@ -168,6 +186,7 @@
     ],
     k3s_version='v1.29.1+k3s1')
 
+run_non_k8s_telegraf('pipe')
 # consider https://github.com/derailed/k9s/releases/download/v0.32.4/k9s_Linux_amd64.tar.gz
 
 # k label node ws-printer unschedulable=octoprint-allowed
--- a/system.py	Wed Aug 07 00:59:16 2024 -0700
+++ b/system.py	Wed Aug 07 15:14:17 2024 -0700
@@ -115,7 +115,7 @@
 if host.name in ['bang', 'ditto']:
     nfs_server()
 
-if host.name in ['prime', 'ditto']:
+if host.name in ['prime', 'ditto', 'pipe']:
     smaller_journals()
 
 if host.name == 'prime':