From 5320b4e4cde6f45a361bb22abcf8ca636c792ae4 Mon Sep 17 00:00:00 2001 From: PrincessPi3 Date: Fri, 13 Jun 2025 18:23:47 -0600 Subject: [PATCH] 1749860627 --- .../50-tty.rules | 0 .../boot-firmware-config.txt | 0 .../chrony.conf | 0 .../gpsd | 0 .../grafana.ini | 0 debug-level-conf/hwclock-set | 2 ++ .../influxdb.conf | 0 debug-level-conf/root-crontab | 3 ++ .../telegraf.conf | 0 info-level-conf/50-tty.rules | 3 ++ info-level-conf/boot-firmware-config.txt | 12 +++++++ .../chrony.conf | 4 +-- .../gpsd | 0 .../grafana.ini | 0 info-level-conf/hwclock-set | 2 ++ .../influxdb.conf | 1 - info-level-conf/root-crontab | 3 ++ .../telegraf.conf | 0 installer3.sh | 1 - reconfig_full.sh | 2 +- running-warn-level-conf/50-tty.rules | 3 ++ .../boot-firmware-config.txt | 12 +++++++ .../chrony.conf | 2 +- .../gpsd | 0 .../grafana.ini | 0 running-warn-level-conf/hwclock-set | 2 ++ .../influxdb.conf | 1 - running-warn-level-conf/root-crontab | 3 ++ running-warn-level-conf/telegraf.conf | 22 +++++++++++++ warn-level-conf/50-tty.rules | 3 ++ warn-level-conf/boot-firmware-config.txt | 12 +++++++ warn-level-conf/chrony.conf | 31 +++++++++++++++++++ warn-level-conf/gpsd | 14 +++++++++ warn-level-conf/grafana.ini | 26 ++++++++++++++++ .../hwclock-set | 0 warn-level-conf/influxdb.conf | 21 +++++++++++++ .../root-crontab | 0 .../telegraf.conf | 0 .../50-tty.rules | 1 - .../50-tty.rules | 1 - 40 files changed, 178 insertions(+), 9 deletions(-) rename {debug-level-conf-dev => debug-level-conf}/50-tty.rules (100%) rename {debug-level-conf-dev => debug-level-conf}/boot-firmware-config.txt (100%) rename {debug-level-conf-dev => debug-level-conf}/chrony.conf (100%) rename {debug-level-conf-dev => debug-level-conf}/gpsd (100%) rename {debug-level-conf-dev => debug-level-conf}/grafana.ini (100%) create mode 100644 debug-level-conf/hwclock-set rename {debug-level-conf-dev => debug-level-conf}/influxdb.conf (100%) create mode 100644 debug-level-conf/root-crontab rename {debug-level-conf-dev => debug-level-conf}/telegraf.conf (100%) create mode 100644 info-level-conf/50-tty.rules create mode 100644 info-level-conf/boot-firmware-config.txt rename {working-normal-level-conf.unupdated => info-level-conf}/chrony.conf (94%) rename {working-normal-level-conf.unupdated => info-level-conf}/gpsd (100%) rename {working-normal-level-conf.unupdated => info-level-conf}/grafana.ini (100%) create mode 100644 info-level-conf/hwclock-set rename {working-normal-level-conf.unupdated => info-level-conf}/influxdb.conf (99%) create mode 100644 info-level-conf/root-crontab rename {working-normal-level-conf.unupdated => info-level-conf}/telegraf.conf (100%) create mode 100644 running-warn-level-conf/50-tty.rules create mode 100644 running-warn-level-conf/boot-firmware-config.txt rename {working-warn-level-conf.unupdated => running-warn-level-conf}/chrony.conf (97%) rename {working-warn-level-conf.unupdated => running-warn-level-conf}/gpsd (100%) rename {working-warn-level-conf.unupdated => running-warn-level-conf}/grafana.ini (100%) create mode 100644 running-warn-level-conf/hwclock-set rename {working-warn-level-conf.unupdated => running-warn-level-conf}/influxdb.conf (99%) create mode 100644 running-warn-level-conf/root-crontab create mode 100644 running-warn-level-conf/telegraf.conf create mode 100644 warn-level-conf/50-tty.rules create mode 100644 warn-level-conf/boot-firmware-config.txt create mode 100644 warn-level-conf/chrony.conf create mode 100644 warn-level-conf/gpsd create mode 100644 warn-level-conf/grafana.ini rename {debug-level-conf-dev => warn-level-conf}/hwclock-set (100%) create mode 100644 warn-level-conf/influxdb.conf rename {debug-level-conf-dev => warn-level-conf}/root-crontab (100%) rename {working-warn-level-conf.unupdated => warn-level-conf}/telegraf.conf (100%) delete mode 100644 working-normal-level-conf.unupdated/50-tty.rules delete mode 100644 working-warn-level-conf.unupdated/50-tty.rules diff --git a/debug-level-conf-dev/50-tty.rules b/debug-level-conf/50-tty.rules similarity index 100% rename from debug-level-conf-dev/50-tty.rules rename to debug-level-conf/50-tty.rules diff --git a/debug-level-conf-dev/boot-firmware-config.txt b/debug-level-conf/boot-firmware-config.txt similarity index 100% rename from debug-level-conf-dev/boot-firmware-config.txt rename to debug-level-conf/boot-firmware-config.txt diff --git a/debug-level-conf-dev/chrony.conf b/debug-level-conf/chrony.conf similarity index 100% rename from debug-level-conf-dev/chrony.conf rename to debug-level-conf/chrony.conf diff --git a/debug-level-conf-dev/gpsd b/debug-level-conf/gpsd similarity index 100% rename from debug-level-conf-dev/gpsd rename to debug-level-conf/gpsd diff --git a/debug-level-conf-dev/grafana.ini b/debug-level-conf/grafana.ini similarity index 100% rename from debug-level-conf-dev/grafana.ini rename to debug-level-conf/grafana.ini diff --git a/debug-level-conf/hwclock-set b/debug-level-conf/hwclock-set new file mode 100644 index 0000000..35028d4 --- /dev/null +++ b/debug-level-conf/hwclock-set @@ -0,0 +1,2 @@ +#!/bin/sh +dev=$1 \ No newline at end of file diff --git a/debug-level-conf-dev/influxdb.conf b/debug-level-conf/influxdb.conf similarity index 100% rename from debug-level-conf-dev/influxdb.conf rename to debug-level-conf/influxdb.conf diff --git a/debug-level-conf/root-crontab b/debug-level-conf/root-crontab new file mode 100644 index 0000000..f4e1329 --- /dev/null +++ b/debug-level-conf/root-crontab @@ -0,0 +1,3 @@ +# m h dom mon dow command +# set hardware I2C RTC every hour +0 * * * * bash /usr/sbin/hwclock -w diff --git a/debug-level-conf-dev/telegraf.conf b/debug-level-conf/telegraf.conf similarity index 100% rename from debug-level-conf-dev/telegraf.conf rename to debug-level-conf/telegraf.conf diff --git a/info-level-conf/50-tty.rules b/info-level-conf/50-tty.rules new file mode 100644 index 0000000..f0562c3 --- /dev/null +++ b/info-level-conf/50-tty.rules @@ -0,0 +1,3 @@ +SUBSYSTEM=="pps[0-9]*", GROUP="dialout", MODE="0660" +SUBSYSTEM=="tty[0-9]*", GROUP="dialout", MODE="0660" +SUBSYSTEM=="tty[A-Z]*[0-9]*", GROUP="dialout", MODE="0660" \ No newline at end of file diff --git a/info-level-conf/boot-firmware-config.txt b/info-level-conf/boot-firmware-config.txt new file mode 100644 index 0000000..c7e991c --- /dev/null +++ b/info-level-conf/boot-firmware-config.txt @@ -0,0 +1,12 @@ + +# Precision Timekeeping Fuckery Additions +## GPS PPS GPIO Signal +dtoverlay=pps-gpio,gpiopin=18 + +## GPS GPIO UART +enable_uart=1 +init_uart_baud=115200 + +## I2C Hardware RTC Overlay +dtoverlay=i2c-rtc,ds3231 +# End Precision Timekeeping Fuckery Additions \ No newline at end of file diff --git a/working-normal-level-conf.unupdated/chrony.conf b/info-level-conf/chrony.conf similarity index 94% rename from working-normal-level-conf.unupdated/chrony.conf rename to info-level-conf/chrony.conf index 3028544..160c064 100644 --- a/working-normal-level-conf.unupdated/chrony.conf +++ b/info-level-conf/chrony.conf @@ -16,7 +16,7 @@ refclock SHM 0 refid NMEA offset 0.000 precision 1e-3 poll 0 filter 3 refclock PPS /dev/pps0 refid PPS lock NMEA offset 0.0 poll 3 trust # also enable logging by uncommenting the logging line -# log tracking measurements statistics +log tracking # allow local connections to ntp allow 10.0.0.0/24 @@ -28,4 +28,4 @@ manual local stratum 1 # Good Time Servers -server time.cloudflare.com iburst +pool time.cloudflare.com iburst diff --git a/working-normal-level-conf.unupdated/gpsd b/info-level-conf/gpsd similarity index 100% rename from working-normal-level-conf.unupdated/gpsd rename to info-level-conf/gpsd diff --git a/working-normal-level-conf.unupdated/grafana.ini b/info-level-conf/grafana.ini similarity index 100% rename from working-normal-level-conf.unupdated/grafana.ini rename to info-level-conf/grafana.ini diff --git a/info-level-conf/hwclock-set b/info-level-conf/hwclock-set new file mode 100644 index 0000000..35028d4 --- /dev/null +++ b/info-level-conf/hwclock-set @@ -0,0 +1,2 @@ +#!/bin/sh +dev=$1 \ No newline at end of file diff --git a/working-normal-level-conf.unupdated/influxdb.conf b/info-level-conf/influxdb.conf similarity index 99% rename from working-normal-level-conf.unupdated/influxdb.conf rename to info-level-conf/influxdb.conf index 0d6a980..deee3e2 100644 --- a/working-normal-level-conf.unupdated/influxdb.conf +++ b/info-level-conf/influxdb.conf @@ -18,5 +18,4 @@ reporting-enabled = false [logging] format = "auto" - level = "info" \ No newline at end of file diff --git a/info-level-conf/root-crontab b/info-level-conf/root-crontab new file mode 100644 index 0000000..f4e1329 --- /dev/null +++ b/info-level-conf/root-crontab @@ -0,0 +1,3 @@ +# m h dom mon dow command +# set hardware I2C RTC every hour +0 * * * * bash /usr/sbin/hwclock -w diff --git a/working-normal-level-conf.unupdated/telegraf.conf b/info-level-conf/telegraf.conf similarity index 100% rename from working-normal-level-conf.unupdated/telegraf.conf rename to info-level-conf/telegraf.conf diff --git a/installer3.sh b/installer3.sh index c3aeab9..7f534a7 100644 --- a/installer3.sh +++ b/installer3.sh @@ -76,7 +76,6 @@ echo "Giving service users the right permissions..." sudo usermod -aG dialout gpsd sudo usermod -aG dialout _chrony - echo "installer3.sh complete" >> ./status.txt echo "Part 3 done!" diff --git a/reconfig_full.sh b/reconfig_full.sh index 3fed041..0041df6 100644 --- a/reconfig_full.sh +++ b/reconfig_full.sh @@ -1,5 +1,5 @@ #!/bin/bash -# set -e # die on any error +set -e # die on any error # make sure dir works if [ -z $1 ] || [ ! -d "$1" ]; then diff --git a/running-warn-level-conf/50-tty.rules b/running-warn-level-conf/50-tty.rules new file mode 100644 index 0000000..f0562c3 --- /dev/null +++ b/running-warn-level-conf/50-tty.rules @@ -0,0 +1,3 @@ +SUBSYSTEM=="pps[0-9]*", GROUP="dialout", MODE="0660" +SUBSYSTEM=="tty[0-9]*", GROUP="dialout", MODE="0660" +SUBSYSTEM=="tty[A-Z]*[0-9]*", GROUP="dialout", MODE="0660" \ No newline at end of file diff --git a/running-warn-level-conf/boot-firmware-config.txt b/running-warn-level-conf/boot-firmware-config.txt new file mode 100644 index 0000000..c7e991c --- /dev/null +++ b/running-warn-level-conf/boot-firmware-config.txt @@ -0,0 +1,12 @@ + +# Precision Timekeeping Fuckery Additions +## GPS PPS GPIO Signal +dtoverlay=pps-gpio,gpiopin=18 + +## GPS GPIO UART +enable_uart=1 +init_uart_baud=115200 + +## I2C Hardware RTC Overlay +dtoverlay=i2c-rtc,ds3231 +# End Precision Timekeeping Fuckery Additions \ No newline at end of file diff --git a/working-warn-level-conf.unupdated/chrony.conf b/running-warn-level-conf/chrony.conf similarity index 97% rename from working-warn-level-conf.unupdated/chrony.conf rename to running-warn-level-conf/chrony.conf index 3028544..3897d88 100644 --- a/working-warn-level-conf.unupdated/chrony.conf +++ b/running-warn-level-conf/chrony.conf @@ -28,4 +28,4 @@ manual local stratum 1 # Good Time Servers -server time.cloudflare.com iburst +pool time.cloudflare.com iburst diff --git a/working-warn-level-conf.unupdated/gpsd b/running-warn-level-conf/gpsd similarity index 100% rename from working-warn-level-conf.unupdated/gpsd rename to running-warn-level-conf/gpsd diff --git a/working-warn-level-conf.unupdated/grafana.ini b/running-warn-level-conf/grafana.ini similarity index 100% rename from working-warn-level-conf.unupdated/grafana.ini rename to running-warn-level-conf/grafana.ini diff --git a/running-warn-level-conf/hwclock-set b/running-warn-level-conf/hwclock-set new file mode 100644 index 0000000..35028d4 --- /dev/null +++ b/running-warn-level-conf/hwclock-set @@ -0,0 +1,2 @@ +#!/bin/sh +dev=$1 \ No newline at end of file diff --git a/working-warn-level-conf.unupdated/influxdb.conf b/running-warn-level-conf/influxdb.conf similarity index 99% rename from working-warn-level-conf.unupdated/influxdb.conf rename to running-warn-level-conf/influxdb.conf index 00cca6d..7b46287 100644 --- a/working-warn-level-conf.unupdated/influxdb.conf +++ b/running-warn-level-conf/influxdb.conf @@ -18,5 +18,4 @@ reporting-enabled = false [logging] format = "auto" - level = "warn" \ No newline at end of file diff --git a/running-warn-level-conf/root-crontab b/running-warn-level-conf/root-crontab new file mode 100644 index 0000000..f4e1329 --- /dev/null +++ b/running-warn-level-conf/root-crontab @@ -0,0 +1,3 @@ +# m h dom mon dow command +# set hardware I2C RTC every hour +0 * * * * bash /usr/sbin/hwclock -w diff --git a/running-warn-level-conf/telegraf.conf b/running-warn-level-conf/telegraf.conf new file mode 100644 index 0000000..6438b5d --- /dev/null +++ b/running-warn-level-conf/telegraf.conf @@ -0,0 +1,22 @@ +[global_tags] +[agent] + interval = "10s" + round_interval = true + metric_batch_size = 10000 + metric_buffer_limit = 1000000 + collection_jitter = "0s" + flush_interval = "10s" + flush_jitter = "0s" + precision = "0s" + logfile = "/var/log/telegraf/telegraf.log" + # debug = true + +[[inputs.chrony]] + metrics = ["tracking"] + timeout = "5s" + +[[outputs.influxdb]] + urls = ["http://127.0.0.1:8086"] + database = "Chrony_Stats" + timeout = "5s" + skip_database_creation = true diff --git a/warn-level-conf/50-tty.rules b/warn-level-conf/50-tty.rules new file mode 100644 index 0000000..f0562c3 --- /dev/null +++ b/warn-level-conf/50-tty.rules @@ -0,0 +1,3 @@ +SUBSYSTEM=="pps[0-9]*", GROUP="dialout", MODE="0660" +SUBSYSTEM=="tty[0-9]*", GROUP="dialout", MODE="0660" +SUBSYSTEM=="tty[A-Z]*[0-9]*", GROUP="dialout", MODE="0660" \ No newline at end of file diff --git a/warn-level-conf/boot-firmware-config.txt b/warn-level-conf/boot-firmware-config.txt new file mode 100644 index 0000000..c7e991c --- /dev/null +++ b/warn-level-conf/boot-firmware-config.txt @@ -0,0 +1,12 @@ + +# Precision Timekeeping Fuckery Additions +## GPS PPS GPIO Signal +dtoverlay=pps-gpio,gpiopin=18 + +## GPS GPIO UART +enable_uart=1 +init_uart_baud=115200 + +## I2C Hardware RTC Overlay +dtoverlay=i2c-rtc,ds3231 +# End Precision Timekeeping Fuckery Additions \ No newline at end of file diff --git a/warn-level-conf/chrony.conf b/warn-level-conf/chrony.conf new file mode 100644 index 0000000..c8013d3 --- /dev/null +++ b/warn-level-conf/chrony.conf @@ -0,0 +1,31 @@ +# SHM refclock is shared memory driver, it is populated by GPSd and read by chrony +# it is SHM 0 +# refid is what we want to call this source = NMEA +# offset = 0.000 means we do not yet know the delay +# precision is how precise this is. not 1e-3 = 1 millisecond, so not very precision +# poll 0 means poll every 2^0 seconds = 1 second poll interval +# filter 3 means take the average/median (forget which) of the 3 most recent readings. NMEA can be jumpy so we're averaging here +refclock SHM 0 refid NMEA offset 0.000 precision 1e-3 poll 0 filter 3 + +# PPS refclock is PPS specific, with /dev/pps0 being the source +# refid PPS means call it the PPS source +# lock NMEA means this PPS source will also lock to the NMEA source for time of day info +# offset = 0.0 means no offset... this should probably always remain 0 +# poll 3 = poll every 2^3=8 seconds. polling more frequently isn't necessarily better +# trust means we trust this time. the NMEA will be kicked out as false ticker eventually, so we need to trust the combo +refclock PPS /dev/pps0 refid PPS lock NMEA offset 0.0 poll 3 trust + +# also enable logging by uncommenting the logging line +log tracking measurements statistics + +# allow local connections to ntp +allow 10.0.0.0/24 + +# manual +manual + +# tell clients im the big dog +local stratum 1 + +# Good Time Servers +pool time.cloudflare.com iburst diff --git a/warn-level-conf/gpsd b/warn-level-conf/gpsd new file mode 100644 index 0000000..afd5b95 --- /dev/null +++ b/warn-level-conf/gpsd @@ -0,0 +1,14 @@ +# USB might be /dev/ttyACM0 +# serial might be /dev/ttyS0 +# pps might be /dev/pps0 +DEVICES="/dev/ttyS0 /dev/pps0" + +# -n means start without a client connection (i.e. at boot) +# -s 115200 is to set baud to 115200 +GPSD_OPTIONS="-n -s 115200" + +# also start in general +START_DAEMON="true" + +# Automatically hot add/remove USB GPS devices via gpsdctl +USBAUTO="true" diff --git a/warn-level-conf/grafana.ini b/warn-level-conf/grafana.ini new file mode 100644 index 0000000..c5c4ef9 --- /dev/null +++ b/warn-level-conf/grafana.ini @@ -0,0 +1,26 @@ +instance_name = "Precision Timekeeping" + +[server] +# Protocol (http, https, h2, socket) +protocol = http + +# The http port to use +http_port = 3000 + +[log] +# Either "debug", "info", "warn", "error", "critical", default is "info" +level = warn + +# Either "console", "file", "syslog". Default is console and file +# Use space to separate multiple modes, e.g. "console file" +mode = console file + +[log.file] +# log line format, valid options are text, console and json +format = text + +# This enables automated log rotate(switch of following options), default is true +log_rotate = true + +# Max line number of single file, default is 1000000 +max_lines = 1000000 \ No newline at end of file diff --git a/debug-level-conf-dev/hwclock-set b/warn-level-conf/hwclock-set similarity index 100% rename from debug-level-conf-dev/hwclock-set rename to warn-level-conf/hwclock-set diff --git a/warn-level-conf/influxdb.conf b/warn-level-conf/influxdb.conf new file mode 100644 index 0000000..7b46287 --- /dev/null +++ b/warn-level-conf/influxdb.conf @@ -0,0 +1,21 @@ +# report usage statistics to influxdb company +reporting-enabled = false + +[meta] + # Where the metadata/raft database is stored + dir = "/var/lib/influxdb/meta" + +[data] + # The directory where the TSM storage engine stores TSM files. + dir = "/var/lib/influxdb/data" + + # The directory where the TSM storage engine stores WAL files. + wal-dir = "/var/lib/influxdb/wal" + + # Trace logging provides more verbose output around the tsm engine. Turning + # this on can provide more useful output for debugging tsm engine issues. + trace-logging-enabled = false + +[logging] + format = "auto" + level = "warn" \ No newline at end of file diff --git a/debug-level-conf-dev/root-crontab b/warn-level-conf/root-crontab similarity index 100% rename from debug-level-conf-dev/root-crontab rename to warn-level-conf/root-crontab diff --git a/working-warn-level-conf.unupdated/telegraf.conf b/warn-level-conf/telegraf.conf similarity index 100% rename from working-warn-level-conf.unupdated/telegraf.conf rename to warn-level-conf/telegraf.conf diff --git a/working-normal-level-conf.unupdated/50-tty.rules b/working-normal-level-conf.unupdated/50-tty.rules deleted file mode 100644 index 9e6965d..0000000 --- a/working-normal-level-conf.unupdated/50-tty.rules +++ /dev/null @@ -1 +0,0 @@ -SUBSYSTEM=="pps*", GROUP="dialout", MODE="0660" \ No newline at end of file diff --git a/working-warn-level-conf.unupdated/50-tty.rules b/working-warn-level-conf.unupdated/50-tty.rules deleted file mode 100644 index 9e6965d..0000000 --- a/working-warn-level-conf.unupdated/50-tty.rules +++ /dev/null @@ -1 +0,0 @@ -SUBSYSTEM=="pps*", GROUP="dialout", MODE="0660" \ No newline at end of file