| Josh Bleecher Snyder | 1c18ec9 | 2025-07-08 10:55:54 -0700 | [diff] [blame] | 1 | //go:build outie |
| 2 | |
| 3 | package embedded |
| 4 | |
| 5 | import ( |
| Josh Bleecher Snyder | 61fa306 | 2025-07-11 10:21:13 -0700 | [diff] [blame] | 6 | "embed" |
| Josh Bleecher Snyder | 1c18ec9 | 2025-07-08 10:55:54 -0700 | [diff] [blame] | 7 | _ "embed" |
| 8 | "io/fs" |
| 9 | ) |
| 10 | |
| Josh Bleecher Snyder | 5ae245b | 2025-07-08 22:00:24 +0000 | [diff] [blame] | 11 | //go:embed sketch-linux/sketch-linux-amd64 |
| 12 | var sketchLinuxBinaryAmd64 []byte |
| 13 | |
| 14 | //go:embed sketch-linux/sketch-linux-arm64 |
| 15 | var sketchLinuxBinaryArm64 []byte |
| Josh Bleecher Snyder | 1c18ec9 | 2025-07-08 10:55:54 -0700 | [diff] [blame] | 16 | |
| 17 | // LinuxBinary returns the embedded linux binary. |
| Josh Bleecher Snyder | 5ae245b | 2025-07-08 22:00:24 +0000 | [diff] [blame] | 18 | func LinuxBinary(arch string) []byte { |
| 19 | switch arch { |
| 20 | case "amd64", "x86_64": |
| 21 | return sketchLinuxBinaryAmd64 |
| 22 | case "arm64", "aarch64": |
| 23 | return sketchLinuxBinaryArm64 |
| 24 | } |
| 25 | return nil |
| Josh Bleecher Snyder | 1c18ec9 | 2025-07-08 10:55:54 -0700 | [diff] [blame] | 26 | } |
| 27 | |
| Josh Bleecher Snyder | 61fa306 | 2025-07-11 10:21:13 -0700 | [diff] [blame] | 28 | //go:embed webui-dist |
| 29 | var webUIAssets embed.FS |
| 30 | |
| 31 | // WebUIFS returns the embedded webui filesystem for direct serving |
| Josh Bleecher Snyder | 1c18ec9 | 2025-07-08 10:55:54 -0700 | [diff] [blame] | 32 | func WebUIFS() fs.FS { |
| Josh Bleecher Snyder | 61fa306 | 2025-07-11 10:21:13 -0700 | [diff] [blame] | 33 | // TODO: can we avoid this fs.Sub somehow? |
| 34 | webuiFS, _ := fs.Sub(webUIAssets, "webui-dist") |
| 35 | return webuiFS |
| Josh Bleecher Snyder | 1c18ec9 | 2025-07-08 10:55:54 -0700 | [diff] [blame] | 36 | } |