1.9 KiB
Vendored board-manager indexes
Snapshot copies of third-party Arduino board-manager indexes whose hosting has a history of outages breaking builds and fresh deployments.
Why this exists
package_drazzy.com_index.json (Spence Konde's ATTinyCore index) is served
from drazzy.com, which has repeatedly had TLS problems — most recently a
certificate that expired on 2026-06-22 and stayed expired for weeks, while
the host also began 301-redirecting http:// to https://, defeating the
plain-http URL we pin to sidestep exactly this. See issue #254.
Two things go wrong when that host is down:
arduino-cli core update-indexexits non-zero, so any image build that runs it in aRUN ... && ...chain fails hard.- Worse, at runtime: if the arduino-cli config references the index URL but the index file was never downloaded, arduino-cli fails instance initialization outright — which breaks every compile, including boards that have nothing to do with ATtiny.
A stale index is fine (we pin ATTinyCore 1.4.1, whose platform archive and micronucleus tool both download from github.com, not drazzy.com/azduino.com). A missing index is not. So we vendor the index and seed it wherever it could be missing:
Dockerfile.standalonecopies this directory to/opt/arduino15-seed/;docker/entrypoint.shcopies any missingpackage_*.jsoninto/root/.arduino15/at boot. This also heals pre-existing named volumes created by older images (the actual trigger of issue #254).backend/Dockerfilecopies the index into/root/.arduino15/before running a now-tolerantcore update-index.
Refreshing the snapshot
When drazzy.com is healthy:
curl -fL https://drazzy.com/package_drazzy.com_index.json \
-o backend/board-indexes/package_drazzy.com_index.json
There is no need to refresh on a schedule — the file only has to be recent enough to describe the pinned ATTinyCore version.