Compare commits
1 commit
89000c12e6
...
6c949065c9
Author | SHA1 | Date | |
---|---|---|---|
|
6c949065c9 |
8 changed files with 24 additions and 59 deletions
1
bundles/apt/files/sources.list-raspbian-buster
Normal file
1
bundles/apt/files/sources.list-raspbian-buster
Normal file
|
@ -0,0 +1 @@
|
||||||
|
deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
|
|
@ -7,6 +7,9 @@ supported_os = {
|
||||||
12: 'bookworm',
|
12: 'bookworm',
|
||||||
99: 'unstable',
|
99: 'unstable',
|
||||||
},
|
},
|
||||||
|
'raspbian': {
|
||||||
|
10: 'buster',
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -21,9 +21,6 @@ defaults = {
|
||||||
'cron/jobs/upgrade-and-reboot'
|
'cron/jobs/upgrade-and-reboot'
|
||||||
)
|
)
|
||||||
def patchday(metadata):
|
def patchday(metadata):
|
||||||
if not node.metadata.get('apt/unattended-upgrades/enabled', True):
|
|
||||||
return {}
|
|
||||||
|
|
||||||
day = metadata.get('apt/unattended-upgrades/day')
|
day = metadata.get('apt/unattended-upgrades/day')
|
||||||
hour = metadata.get('apt/unattended-upgrades/hour')
|
hour = metadata.get('apt/unattended-upgrades/hour')
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,12 @@ files = {
|
||||||
'svc_systemd:mosquitto:restart',
|
'svc_systemd:mosquitto:restart',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
'/usr/local/bin/tasmota-telegraf-plugin': {
|
||||||
|
'mode': '0755',
|
||||||
|
'needs': {
|
||||||
|
'pkg_apt:python3-paho-mqtt',
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
svc_systemd = {
|
svc_systemd = {
|
||||||
|
@ -17,12 +23,6 @@ svc_systemd = {
|
||||||
}
|
}
|
||||||
|
|
||||||
if node.has_bundle('telegraf'):
|
if node.has_bundle('telegraf'):
|
||||||
files['/usr/local/bin/tasmota-telegraf-plugin'] = {
|
files['/usr/local/bin/tasmota-telegraf-plugin']['triggers'] = {
|
||||||
'mode': '0755',
|
|
||||||
'needs': {
|
|
||||||
'pkg_apt:python3-paho-mqtt',
|
|
||||||
},
|
|
||||||
'triggers': {
|
|
||||||
'svc_systemd:telegraf:restart',
|
'svc_systemd:telegraf:restart',
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ defaults = {
|
||||||
'packages': {
|
'packages': {
|
||||||
'mosquitto': {},
|
'mosquitto': {},
|
||||||
'mosquitto-clients': {},
|
'mosquitto-clients': {},
|
||||||
|
'python3-paho-mqtt': {}, # for telegraf plugin
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'icinga2_api': {
|
'icinga2_api': {
|
||||||
|
@ -23,9 +24,6 @@ defaults = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if node.has_bundle('telegraf'):
|
|
||||||
defaults['apt']['packages']['python3-paho-mqtt'] = {}
|
|
||||||
|
|
||||||
|
|
||||||
@metadata_reactor.provides(
|
@metadata_reactor.provides(
|
||||||
'firewall/port_rules',
|
'firewall/port_rules',
|
||||||
|
|
|
@ -1,30 +1,22 @@
|
||||||
disable_overscan=1
|
disable_overscan=1
|
||||||
|
hdmi_force_hotplug=1
|
||||||
|
dtparam=spi=on
|
||||||
dtparam=audio=on
|
dtparam=audio=on
|
||||||
dtoverlay=vc4-kms-v3d
|
dtoverlay=vc4-fkms-v3d
|
||||||
max_framebuffers=2
|
max_framebuffers=2
|
||||||
|
hdmi_drive=2
|
||||||
force_turbo=1
|
force_turbo=1
|
||||||
|
|
||||||
gpu_mem=${node.metadata.get('raspberrypi/gpu_mem', 128)}
|
gpu_mem=${node.metadata['raspberrypi'].get('gpu_mem', 128)}
|
||||||
|
|
||||||
% if node.metadata.get('raspberrypi/enable_display'):
|
|
||||||
display_auto_detect=1
|
|
||||||
% else:
|
|
||||||
dtparam=i2c_arm=on
|
|
||||||
dtparam=i2s=on
|
|
||||||
dtparam=spi=on
|
|
||||||
hdmi_drive=2
|
|
||||||
hdmi_force_hotplug=1
|
|
||||||
% endif
|
|
||||||
|
|
||||||
% if node.os == 'debian':
|
% if node.os == 'debian':
|
||||||
arm_64bit=1
|
arm_64bit=1
|
||||||
% endif
|
% endif
|
||||||
arm_boost=1
|
|
||||||
|
|
||||||
% for item in sorted(node.metadata.get('raspberrypi/config.txt', set())):
|
% for item in sorted(node.metadata['raspberrypi'].get('config.txt', set())):
|
||||||
${item}
|
${item}
|
||||||
% endfor
|
% endfor
|
||||||
|
|
||||||
% if node.metadata.get('raspberrypi/enable_camera', False):
|
% if node.metadata['raspberrypi'].get('camera', False):
|
||||||
camera_auto_detect=1
|
start_x=1
|
||||||
% endif
|
% endif
|
||||||
|
|
|
@ -15,11 +15,11 @@ actions = {
|
||||||
}
|
}
|
||||||
|
|
||||||
files = {
|
files = {
|
||||||
'/boot/firmware/cmdline.txt': {
|
'/boot/cmdline.txt': {
|
||||||
'content': ' '.join(sorted(node.metadata['raspberrypi']['cmdline'])),
|
'content': ' '.join(sorted(node.metadata['raspberrypi']['cmdline'])),
|
||||||
**file_perms,
|
**file_perms,
|
||||||
},
|
},
|
||||||
'/boot/firmware/config.txt': {
|
'/boot/config.txt': {
|
||||||
'content_type': 'mako',
|
'content_type': 'mako',
|
||||||
'context': node.metadata['raspberrypi'],
|
'context': node.metadata['raspberrypi'],
|
||||||
**file_perms,
|
**file_perms,
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
defaults = {
|
defaults = {
|
||||||
'apt': {
|
'apt': {
|
||||||
'clean_old_kernels': False,
|
|
||||||
'packages': {
|
'packages': {
|
||||||
'dhcpcd5': {
|
'dhcpcd5': {
|
||||||
'installed': False,
|
'installed': False,
|
||||||
|
@ -15,16 +14,9 @@ defaults = {
|
||||||
'installed': False,
|
'installed': False,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'repos': {
|
|
||||||
'raspi': {
|
|
||||||
'install_gpg_key': False,
|
|
||||||
'items': {
|
|
||||||
'deb http://archive.raspberrypi.org/debian/ {os_release} main',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
'raspberrypi': {
|
'raspberrypi': {
|
||||||
|
'default-target': 'multi-user.target',
|
||||||
'cmdline': {
|
'cmdline': {
|
||||||
'console=tty1',
|
'console=tty1',
|
||||||
'root=/dev/mmcblk0p2',
|
'root=/dev/mmcblk0p2',
|
||||||
|
@ -36,8 +28,6 @@ defaults = {
|
||||||
'plymouth.ignore-serial-consoles',
|
'plymouth.ignore-serial-consoles',
|
||||||
'net.ifnames=0',
|
'net.ifnames=0',
|
||||||
},
|
},
|
||||||
'default-target': 'multi-user.target',
|
|
||||||
'enable_display': False,
|
|
||||||
},
|
},
|
||||||
'systemd': {
|
'systemd': {
|
||||||
'journal': {
|
'journal': {
|
||||||
|
@ -47,19 +37,3 @@ defaults = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@metadata_reactor.provides(
|
|
||||||
'raspberrypi/cmdline',
|
|
||||||
)
|
|
||||||
def display(metadata):
|
|
||||||
if not metadata.get('raspberrypi/enable_display'):
|
|
||||||
return {}
|
|
||||||
|
|
||||||
return {
|
|
||||||
'raspberrypi': {
|
|
||||||
'cmdline': {
|
|
||||||
'video=DSI-1:800x480@60,rotate=180',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue