Hi Bret,
The microkernel is transferred by standard HTTP connection, not TFTP, so standard HTTP caching should work. These are the two endpoints that nodes hit to download the microkernel, which you would want to cache:
- /svc/repo/microkernel/initrd0.img
- /svc/repo/microkernel/vmlinuz0
The same approach would be used for any other repo files that you want to cache in squid, but with the name of the repo in that path instead of `microkernel`.
It's no problem to have these (large) files cached, and as long as the nodes can still download the iPXE file from Razor server (via /svc/boot over HTTP), the state updates will still operate normally.
Let me know if you need any more info to get this working.
Minor note: These /svc endpoints are not technically part of the Razor API, meaning they might change in a future release. We have no plans to change these endpoints in the future, so with that caveat in place, you won't have an issue using these for now.
Scott