Skip to content
Merged
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
9797838
feat: add option to protect ssr server with origin access control
MrHertal Mar 24, 2025
19d8aec
Merge branch 'dev' into feat/ssr-site-enable-oac
MrHertal Mar 26, 2025
698d7c3
Merge branch 'sst:dev' into feat/ssr-site-enable-oac
MrHertal Mar 28, 2025
15a4fe3
feat: use metadata in key value store
MrHertal Mar 28, 2025
9b87de7
Merge remote-tracking branch 'origin/dev' into feat/ssr-site-enable-oac
MrHertal Apr 2, 2025
f3dad04
Merge branch 'dev' into feat/ssr-site-enable-oac
MrHertal Apr 8, 2025
5a37305
Merge branch 'sst:dev' into feat/ssr-site-enable-oac
MrHertal Apr 28, 2025
11a175d
fix: parent self
MrHertal Apr 28, 2025
2d8e82e
Merge branch 'sst:dev' into feat/ssr-site-enable-oac
MrHertal May 11, 2025
e46f460
Merge branch 'sst:dev' into feat/ssr-site-enable-oac
MrHertal May 12, 2025
f82b440
Merge branch 'sst:dev' into feat/ssr-site-enable-oac
MrHertal May 24, 2025
b329512
docs: add an example of usage with tanstack start
MrHertal May 24, 2025
82f5513
fix: add a better example
MrHertal May 24, 2025
5c608fd
Merge branch 'sst:dev' into feat/ssr-site-enable-oac
MrHertal Jun 25, 2025
dd90849
Merge branch 'sst:dev' into feat/ssr-site-enable-oac
MrHertal Sep 3, 2025
47d0c58
Merge branch 'sst:dev' into feat/ssr-site-enable-oac
MrHertal Sep 30, 2025
90a7bb6
chore: remove outdated example
MrHertal Sep 30, 2025
463bdb6
Merge branch 'sst:dev' into feat/ssr-site-enable-oac
MrHertal Nov 6, 2025
2dfcd97
feat: protect nextjs image optimiser
MrHertal Nov 6, 2025
7220546
feat: lambda at edge
MrHertal Nov 16, 2025
cf6d2ae
chore: trim comments
MrHertal Nov 16, 2025
9c182a2
Merge branch 'sst:dev' into feat/ssr-site-enable-oac
MrHertal Nov 19, 2025
6e8d8f0
Merge branch 'sst:dev' into feat/ssr-site-enable-oac
MrHertal Dec 12, 2025
61f63e2
chore(review): move function to right folder
MrHertal Dec 13, 2025
0791c64
chore(review): handle file upload
MrHertal Dec 13, 2025
e675073
chore(review): add note about lambda@edge long deletion
MrHertal Dec 13, 2025
4d2d842
chore(review): update platform/functions/oac-edge-signer/index.ts
MrHertal Dec 17, 2025
3210246
chore(review): prettier
MrHertal Dec 17, 2025
d11b8f2
chore(review): rename arg
MrHertal Dec 18, 2025
4cedfbc
Merge branch 'anomalyco:dev' into feat/ssr-site-enable-oac
MrHertal Jan 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions platform/src/components/aws/helpers/arn.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,30 @@ export function parseRoleArn(arn: string) {
return { roleName };
}

export function parseLambdaEdgeArn(arn: string) {
// First validate it's a Lambda function ARN
const { functionName } = parseFunctionArn(arn);

// arn:aws:lambda:region:account-id:function:function-name:version
const parts = arn.split(":");
const region = parts[3];
const version = parts[7];

if (region !== "us-east-1") {
throw new VisibleError(
`Lambda@Edge functions must be deployed in us-east-1 region. Got region: ${region}`,
);
}

if (!version || version === "$LATEST") {
throw new VisibleError(
`Lambda@Edge requires a qualified ARN (with version). Got: ${arn}`,
);
}

return { functionName, region, version };
}

export function parseElasticSearch(arn: string) {
// arn:aws:es:region:account-id:domain/domain-name
const tableName = arn.split("/")[1];
Expand Down
11 changes: 10 additions & 1 deletion platform/src/components/aws/router.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2010,7 +2010,7 @@ async function routeSite(kvNamespace, metadata) {

// Route to image optimizer
if (metadata.image && baselessUri.startsWith(metadata.image.route)) {
setUrlOrigin(metadata.image.host);
setUrlOrigin(metadata.image.host, metadata.image.originAccessControlConfig ? { originAccessControlConfig: metadata.image.originAccessControlConfig } : undefined);
return;
}

Expand Down Expand Up @@ -2149,6 +2149,9 @@ function setUrlOrigin(urlHost, override) {
if (override.timeouts) {
origin.timeouts = override.timeouts;
}
if (override.originAccessControlConfig) {
origin.originAccessControlConfig = override.originAccessControlConfig;
}
cf.updateRequestOrigin(origin);
}

Expand Down Expand Up @@ -2187,6 +2190,12 @@ export type KV_SITE_METADATA = {
image?: {
host: string;
route: string;
originAccessControlConfig?: {
enabled: boolean;
signingBehavior: string;
signingProtocol: string;
originType: string;
};
};
servers?: [string, number, number][];
origin?: {
Expand Down
Loading