Created
July 8, 2025 22:32
-
-
Save jakelmg/32253a4995af0eb59c82ffb8328f28fd to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"ignition": { | |
"version": "3.3.0" | |
}, | |
"kernelArguments": { | |
"shouldExist": [ | |
"flatcar.autologin" | |
] | |
}, | |
"passwd": { | |
"users": [ | |
{ | |
"name": "core", | |
"sshAuthorizedKeys": [ | |
"ssh-ed25519 T0r5c5h2exdqJOsFgoimZmnNGkOwHse6CkbMcGrW8pi0vxXbkgdmcRDIepuw EXAMPLE SSH KEY" | |
] | |
} | |
] | |
}, | |
"storage": { | |
"disks": [ | |
{ | |
"device": "/dev/disk/by-id/nvme-KIOXIA_KCMYXRUG15T3_\u003cSERIAL1\u003e", | |
"partitions": [ | |
{ | |
"label": "LC-STRIPE-0" | |
} | |
], | |
"wipeTable": true | |
}, | |
{ | |
"device": "/dev/disk/by-id/nvme-KIOXIA_KCMYXRUG15T3_\u003cSERIAL2\u003e", | |
"partitions": [ | |
{ | |
"label": "LC-STRIPE-1" | |
} | |
], | |
"wipeTable": true | |
}, | |
{ | |
"device": "/dev/disk/by-id/nvme-KIOXIA_KCMYXRUG15T3_\u003cSERIAL3\u003e", | |
"partitions": [ | |
{ | |
"label": "LC-STRIPE-2" | |
} | |
], | |
"wipeTable": true | |
}, | |
{ | |
"device": "/dev/disk/by-id/nvme-KIOXIA_KCMYXRUG15T3_\u003cSERIAL4\u003e", | |
"partitions": [ | |
{ | |
"label": "LC-STRIPE-3" | |
} | |
], | |
"wipeTable": true | |
} | |
], | |
"files": [ | |
{ | |
"path": "/etc/hostname", | |
"contents": { | |
"compression": "", | |
"source": "data:,lancache" | |
}, | |
"mode": 420 | |
}, | |
{ | |
"overwrite": true, | |
"path": "/etc/flatcar/update.conf", | |
"contents": { | |
"compression": "gzip", | |
"source": "data:;base64,H4sIAAAAAAAC/wpydfL3D4kPDglyDHF1j7QtSk3Kzy/h8vF39g729QzxcImHqgj39HPxD48PDnEMCrE1MLMyMMCtyMfVzz3Ew9YwQwEOuAABAAD//xw3xBhpAAAA" | |
}, | |
"mode": 272 | |
}, | |
{ | |
"path": "/etc/systemd/network/10-add-enp1s0fxxxx-to-bond.network", | |
"contents": { | |
"compression": "", | |
"source": "data:,%5BMatch%5D%0AName%3Denp1s0f*%0A%0A%5BNetwork%5D%0ABond%3Dbond0%0A" | |
} | |
}, | |
{ | |
"path": "/etc/systemd/network/20-bond0.netdev", | |
"contents": { | |
"compression": "", | |
"source": "data:,%5BNetDev%5D%0AName%3Dbond0%0AKind%3Dbond%0A%0A%5BBond%5D%0AMode%3D802.3ad%0AMIIMonitorSec%3D1s%0ALACPTransmitRate%3Dfast%0ATransmitHashPolicy%3Dlayer3%2B4%0A" | |
} | |
}, | |
{ | |
"path": "/etc/systemd/network/20-bond0.network", | |
"contents": { | |
"compression": "gzip", | |
"source": "data:;base64,H4sIAAAAAAAC/4r2TSxJzojl8kvMTbVNys9LMeDiivZLLSnPL8qO5XLKzEtxTiwqykwtsk3NKzAsNkjT4nLxC7Y11ANDLseUlKLU4mJbQwM9EDQy0Dcy4nJPLEktT6yECRpycUVD1cViaDAEacAjb0RA3hgkDwgAAP//PEzyBsUAAAA=" | |
} | |
} | |
], | |
"filesystems": [ | |
{ | |
"device": "/dev/md/lancache", | |
"format": "xfs", | |
"label": "lancache", | |
"path": "/mnt/lancache", | |
"wipeFilesystem": true | |
} | |
], | |
"links": [ | |
{ | |
"overwrite": true, | |
"path": "/etc/localtime", | |
"target": "/usr/share/zoneinfo/America/Vancouver" | |
} | |
], | |
"raid": [ | |
{ | |
"devices": [ | |
"/dev/disk/by-id/nvme-KIOXIA_KCMYXRUG15T3_\u003cSERIAL1\u003e-part1", | |
"/dev/disk/by-id/nvme-KIOXIA_KCMYXRUG15T3_\u003cSERIAL2\u003e-part1", | |
"/dev/disk/by-id/nvme-KIOXIA_KCMYXRUG15T3_\u003cSERIAL3\u003e-part1", | |
"/dev/disk/by-id/nvme-KIOXIA_KCMYXRUG15T3_\u003cSERIAL4\u003e-part1" | |
], | |
"level": "raid0", | |
"name": "lancache", | |
"options": [ | |
"--chunk=128" | |
] | |
} | |
] | |
}, | |
"systemd": { | |
"units": [ | |
{ | |
"contents": "[Unit]\nDescription=Mount LANCache Linux RAID0 Array XFS\n\n[Mount]\nWhat=/dev/md/lancache\nWhere=/mnt/lancache\nType=xfs\nOptions=rw,noatime\n\n[Install]\nWantedBy=local-fs.target\n", | |
"enabled": true, | |
"name": "mnt-lancache.mount" | |
}, | |
{ | |
"contents": "[Unit]\nDescription=LANCache-DNS Docker Container\nAfter=docker.service\nRequires=docker.service\n\n[Service]\nExecStart=/usr/bin/docker run \\\n --name lancache-dns \\\n --rm \\\n --publish 10.0.0.20:53:53/udp \\\n --publish 10.0.0.20:53:53/tcp \\\n -e USE_GENERIC_CACHE=true \\\n -e LANCACHE_IP=\"10.0.0.20 10.0.0.21 10.0.0.22 10.0.0.23\" \\\n -e DNS_BIND_IP=10.0.0.20 \\\n -e UPSTREAM_DNS=\"1.1.1.1 8.8.8.8\" \\\n --label com.centurylinklabs.watchtower.enable=true \\\n lancachenet/lancache-dns:latest\nExecStop=/usr/bin/docker stop lancache-dns\nRestart=always\nRestartSec=5\n\n[Install]\nWantedBy=multi-user.target\n", | |
"enabled": true, | |
"name": "lancache-dns.service" | |
}, | |
{ | |
"contents": "[Unit]\nDescription=LANCache-Monolithic Docker Container\nAfter=docker.service\nRequires=docker.service\n\n[Service]\nExecStart=/usr/bin/docker run \\\n --name lancache-monolithic \\\n --rm \\\n --network host \\\n --label com.centurylinklabs.watchtower.enable=true \\\n -v /mnt/lancache/cache:/data/cache \\\n -v /mnt/lancache/logs:/data/logs \\\n -e CACHE_DISK_SIZE=40000g \\\n -e MIN_FREE_DISK=1000g \\\n -e CACHE_INDEX_SIZE=12500m \\\n -e CACHE_MAX_AGE=1095d \\\n -e TZ=America/Vancouver \\\n -e UPSTREAM_DNS=\"1.1.1.1 8.8.8.8\" \\\n lancachenet/monolithic:latest\nExecStop=/usr/bin/docker stop lancache-monolithic\nRestart=always\nRestartSec=5\n\n[Install]\nWantedBy=multi-user.target\n", | |
"enabled": true, | |
"name": "lancache-monolithic.service" | |
}, | |
{ | |
"contents": "[Unit]\nDescription=Watchtower Docker Container Auto-Updater\nAfter=docker.service\nRequires=docker.service\n\n[Service]\nExecStart=/usr/bin/docker run \\\n --name watchtower \\\n --rm \\\n --label com.centurylinklabs.watchtower.enable=true \\\n -e WATCHTOWER_LABEL_ENABLE=true \\\n -e WATCHTOWER_CLEANUP=true \\\n -e WATCHTOWER_NO_RESTART=true \\\n -v /var/run/docker.sock:/var/run/docker.sock \\\n ghcr.io/containrrr/watchtower:latest\nExecStop=/usr/bin/docker stop watchtower\nRestart=always\nRestartSec=5\n\n[Install]\nWantedBy=multi-user.target", | |
"enabled": true, | |
"name": "watchtower.service" | |
} | |
] | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment