feat: add boot staging configuration and automation utility scripts
This commit is contained in:
58
boot_staging/Automation_Custom_Script.sh
Normal file
58
boot_staging/Automation_Custom_Script.sh
Normal file
@@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "[FIRST-BOOT] Starting automated provisioning for sninfr2lnxwrk01..."
|
||||
|
||||
# 1. SSH Key Enrollment
|
||||
PUB_KEY="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOsRiwuL7nfm1Ruew+Xk+3tbzD9ONyKAO0q2QwkppEPZ snarfnet-automation-master@snarfnet.net"
|
||||
mkdir -p /root/.ssh /etc/dropbear
|
||||
chmod 700 /root/.ssh
|
||||
echo "$PUB_KEY" >> /root/.ssh/authorized_keys
|
||||
echo "$PUB_KEY" >> /etc/dropbear/authorized_keys
|
||||
chmod 600 /root/.ssh/authorized_keys /etc/dropbear/authorized_keys
|
||||
|
||||
# 2. Filesystem Hardening
|
||||
ROOT_DEV=$(findmnt -n -o SOURCE /)
|
||||
if [[ "$ROOT_DEV" == /dev/* ]]; then
|
||||
tune2fs -e continue "$ROOT_DEV" || true
|
||||
fi
|
||||
|
||||
# 3. Time Synchronization
|
||||
cat << 'EOF' > /etc/systemd/timesyncd.conf
|
||||
[Time]
|
||||
NTP=140.44.4.11 14.4.4.44
|
||||
FallbackNTP=time.cloudflare.com time.google.com 0.us.pool.ntp.org 1.us.pool.ntp.org
|
||||
PollIntervalMinSec=32
|
||||
PollIntervalMaxSec=512
|
||||
EOF
|
||||
systemctl restart systemd-timesyncd.service || true
|
||||
|
||||
# 4. Install & Configure Zabbix Agent 2
|
||||
apt-get update -y
|
||||
apt-get install -y zabbix-agent2
|
||||
mkdir -p /etc/zabbix
|
||||
echo "a1142332ccfa9c53040e36171bb551ceb2865fb4051d203404df39e88ebe94f0" > /etc/zabbix/zabbix_agent2.psk
|
||||
chmod 600 /etc/zabbix/zabbix_agent2.psk
|
||||
chown zabbix:zabbix /etc/zabbix/zabbix_agent2.psk 2>/dev/null || true
|
||||
|
||||
cat << 'EOF' > /etc/zabbix/zabbix_agent2.conf
|
||||
Server=zabbix.snarfnet.net
|
||||
ServerActive=zabbix.snarfnet.net
|
||||
HostnameItem=system.hostname
|
||||
HostMetadata=Linux
|
||||
TLSConnect=psk
|
||||
TLSAccept=psk
|
||||
TLSPSKIdentity=PSK_autoregister
|
||||
TLSPSKFile=/etc/zabbix/zabbix_agent2.psk
|
||||
LogFile=/var/log/zabbix/zabbix_agent2.log
|
||||
LogFileSize=10
|
||||
BufferSend=5
|
||||
BufferSize=100
|
||||
EOF
|
||||
systemctl enable --now zabbix-agent2.service
|
||||
|
||||
# 5. Install K3s Agent
|
||||
curl -sfL https://get.k3s.io | K3S_URL=https://140.44.4.11:6443 K3S_TOKEN=myworstkeptsecret44 sh -
|
||||
|
||||
echo "[FIRST-BOOT] Provisioning completed successfully!"
|
||||
|
||||
44
boot_staging/dietpi.txt
Normal file
44
boot_staging/dietpi.txt
Normal file
@@ -0,0 +1,44 @@
|
||||
# Standard DietPi Automated Headless Config for sninfr2lnxwrk01 (140.44.4.21)
|
||||
AUTO_SETUP_LOCALE=C.UTF-8
|
||||
AUTO_SETUP_KEYBOARD_LAYOUT=us
|
||||
AUTO_SETUP_TIMEZONE=America/New_York
|
||||
AUTO_SETUP_NET_ETHERNET_ENABLED=1
|
||||
AUTO_SETUP_NET_WIFI_ENABLED=0
|
||||
AUTO_SETUP_NET_USESTATIC=1
|
||||
AUTO_SETUP_NET_STATIC_IP=140.44.4.21
|
||||
AUTO_SETUP_NET_STATIC_MASK=255.255.255.0
|
||||
AUTO_SETUP_NET_STATIC_GATEWAY=140.44.4.1
|
||||
AUTO_SETUP_NET_STATIC_DNS=140.44.4.11 14.4.4.44
|
||||
AUTO_SETUP_DHCP_TO_STATIC=0
|
||||
AUTO_SETUP_NET_HOSTNAME=sninfr2lnxwrk01
|
||||
AUTO_SETUP_NET_ETH_FORCE_SPEED=0
|
||||
AUTO_SETUP_BOOT_WAIT_FOR_NETWORK=1
|
||||
AUTO_SETUP_SWAPFILE_SIZE=0
|
||||
AUTO_SETUP_HEADLESS=1
|
||||
AUTO_UNMASK_LOGIND=0
|
||||
AUTO_SETUP_CUSTOM_SCRIPT_EXEC=1
|
||||
AUTO_SETUP_BACKUP_RESTORE=0
|
||||
AUTO_SETUP_SSH_SERVER_INDEX=-1
|
||||
AUTO_SETUP_LOGGING_INDEX=-1
|
||||
AUTO_SETUP_RAMLOG_MAXSIZE=50
|
||||
AUTO_SETUP_WEB_SERVER_INDEX=0
|
||||
AUTO_SETUP_DESKTOP_INDEX=0
|
||||
AUTO_SETUP_BROWSER_INDEX=-1
|
||||
AUTO_SETUP_AUTOSTART_TARGET_INDEX=0
|
||||
AUTO_SETUP_AUTOSTART_LOGIN_USER=root
|
||||
AUTO_SETUP_AUTOMATED=1
|
||||
AUTO_SETUP_GLOBAL_PASSWORD=dietpi
|
||||
SURVEY_OPTED_IN=0
|
||||
CONFIG_CPU_GOVERNOR=performance
|
||||
CONFIG_CHECK_DIETPI_UPDATES=1
|
||||
CONFIG_CHECK_APT_UPDATES=1
|
||||
CONFIG_NTP_MODE=4
|
||||
CONFIG_SERIAL_CONSOLE_ENABLE=1
|
||||
CONFIG_SOUNDCARD=none
|
||||
CONFIG_LCDPANEL=none
|
||||
CONFIG_ENABLE_IPV6=0
|
||||
CONFIG_NTP_MIRROR=default
|
||||
SOFTWARE_DISABLE_SSH_PASSWORD_LOGINS=0
|
||||
DEV_GITBRANCH=master
|
||||
DEV_GITOWNER=MichaIng
|
||||
|
||||
Reference in New Issue
Block a user