Commit 09a8c51
Fetch image data over the internal ALB (#14)
The satori renderer fetched its payload from the public site, which meant
going out through Cloudflare and needing this lambda's NAT address
allowlisted to get back in. That coupling is what left every image
timing out for four days when bot mitigation was turned on, and it would
do it again the next time the rules are tightened.
/spi is already internal-only - the public ALB fixed-responds it, the
internal one forwards it to Rails - so pointing at internal.exercism.org
keeps the request inside the VPC. No Cloudflare, no round trip out to the
internet and back, no NAT data charges, and nothing to allowlist.
The Chrome path still uses the public site. It's screenshotting a
rendered page rather than reading a payload, so it has no internal
equivalent until profiles are ported too.
Needs exercism/website#9351 deployed first: it moves the payload onto the
existing /spi/solution_image_data endpoint.
Claude-Session: https://claude.ai/code/session_018iQj4EdMfNsWP6NtFTqwUU
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>1 parent c6ba6ff commit 09a8c51
3 files changed
Lines changed: 27 additions & 17 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
| 44 | + | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
48 | | - | |
| 47 | + | |
| 48 | + | |
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
62 | | - | |
| 62 | + | |
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
15 | 21 | | |
16 | 22 | | |
17 | 23 | | |
| |||
47 | 53 | | |
48 | 54 | | |
49 | 55 | | |
| 56 | + | |
50 | 57 | | |
51 | 58 | | |
52 | 59 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
290 | 290 | | |
291 | 291 | | |
292 | 292 | | |
293 | | - | |
294 | | - | |
295 | | - | |
| 293 | + | |
| 294 | + | |
296 | 295 | | |
297 | 296 | | |
298 | | - | |
| 297 | + | |
299 | 298 | | |
300 | 299 | | |
301 | 300 | | |
302 | 301 | | |
303 | 302 | | |
304 | | - | |
305 | | - | |
306 | | - | |
307 | | - | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
308 | 311 | | |
309 | 312 | | |
310 | 313 | | |
| |||
0 commit comments