That’s an excellent question. I must invoke the @sergiusens.
That totally works, with the downside of potentially (depending on how you’re doing it) committing a huge blob to your VCS. But if you have that setup in a way you like, I see no problem with building a snap like this.
Indeed, it’s probably better to upload it somewhere private in your infra and use a link for the source instead of a place on disk. Probably easier to update when the time comes, too.