Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Cloudfront private in CDK code, add key-pair for auth #2060

Merged
merged 42 commits into from
Jan 23, 2025
Merged
Show file tree
Hide file tree
Changes from 39 commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
87a9816
adding basic upload to s3 and load from s3 paths
dubwub Jan 22, 2025
151959b
Adding to test mocks
dubwub Jan 22, 2025
d93bdc9
trying to fix tests, in case s3 doesnt exist
dubwub Jan 22, 2025
5ba607a
Merge branch 'main' into dd/write-to-s3
dubwub Jan 22, 2025
e960060
modified per conversations
dubwub Jan 22, 2025
ee78eba
Merge branch 'dd/write-to-s3' of github.com:fern-api/fern-platform in…
dubwub Jan 22, 2025
098131b
fixing text
dubwub Jan 22, 2025
796d233
modifying environment variable logic
dubwub Jan 22, 2025
3b5241b
merge
dubwub Jan 22, 2025
660bfbc
using NEXT_PUBLIC_FDR_ORIGIN
dubwub Jan 22, 2025
de4a87e
cleaning up env var logic
dubwub Jan 22, 2025
f4f98aa
use host instead of domain
dubwub Jan 23, 2025
785b8e0
fixing merge
dubwub Jan 23, 2025
5280ed5
hardwiring as a test
dubwub Jan 23, 2025
802fb1b
merge main
dubwub Jan 23, 2025
3a8d7da
fixing merge conflict
dubwub Jan 23, 2025
8161431
adding console.logs for debugging
dubwub Jan 23, 2025
31f2725
adding debugging
dubwub Jan 23, 2025
1892feb
changed to presigned url
dubwub Jan 23, 2025
ae1fbec
pnpm-lock
dubwub Jan 23, 2025
af06f90
resolve merge conflict
dubwub Jan 23, 2025
edc21da
merge conflict
dubwub Jan 23, 2025
2d8a791
prettier - turbo.json
dubwub Jan 23, 2025
d19019e
adding CDK to remove public and add keypair
dubwub Jan 23, 2025
52ef3ef
adding to turbo.json
dubwub Jan 23, 2025
d2d38b1
deploying dev fdr
dubwub Jan 23, 2025
f3a2c1c
adding to github workflow
dubwub Jan 23, 2025
dd6ff96
adding to github workflow properly this time
dubwub Jan 23, 2025
22072c1
modfiying env
dubwub Jan 23, 2025
e398255
modifying env var
dubwub Jan 23, 2025
e79bb60
modifying to use key group
dubwub Jan 23, 2025
b177af1
test
dubwub Jan 23, 2025
c6735bf
Merge branch 'main' into dd/write-to-s3
dubwub Jan 23, 2025
794197b
presigned url code uploaded
dubwub Jan 23, 2025
a5bffd5
removed console log
dubwub Jan 23, 2025
2c2944e
turbo
dubwub Jan 23, 2025
247f2ed
cleaned up:
dubwub Jan 23, 2025
8b136e7
fix lint
dubwub Jan 23, 2025
e6dd2c3
removing test
dubwub Jan 23, 2025
18b2857
adding version number
dubwub Jan 23, 2025
d89ea31
clean up workflow
dubwub Jan 23, 2025
414cdaa
fixed according to comments
dubwub Jan 23, 2025
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
4 changes: 4 additions & 0 deletions .github/workflows/deploy-fdr-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- main
- dd/write-to-s3
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lets remove

paths:
- "fern/apis/fdr/**"
- "fern/fern.config.json"
Expand All @@ -26,6 +27,7 @@ env:
FERNIE_SLACK_APP_TOKEN: ${{ secrets.FERNIE_SLACK_APP_TOKEN }}
GITHUB_TOKEN: ${{ secrets.FERN_GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.FERN_NPM_TOKEN }}
CLOUDFRONT_KEY_GROUP_ID: ${{ secrets.CLOUDFRONT_KEY_GROUP_ID }}

jobs:
sdk:
Expand All @@ -45,6 +47,7 @@ jobs:
ALGOLIA_SEARCH_INDEX: ${{ secrets.ALGOLIA_SEARCH_INDEX }}
ALGOLIA_SEARCH_V2_DOMAINS: "workato,rohin-bhargava-staging,monite,humanloop,cohere,buildwithfern.com/learn"
ALGOLIA_SEARCH_API_KEY: ${{ secrets.ALGOLIA_SEARCH_API_KEY }}
CLOUDFRONT_KEY_GROUP_ID: ${{ secrets.CLOUDFRONT_KEY_GROUP_ID }}
APPLICATION_ENVIRONMENT: dev
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -85,6 +88,7 @@ jobs:
VERSION="${git_version}" pnpm --filter=@fern-platform/fdr-deploy deploy:dev
env:
DATABASE_URL: ${{ secrets.DEV_POSTGRES_URL }}/fdr?schema=public&connection_limit=6&pool_timeout=30
CLOUDFRONT_KEY_GROUP_ID: ${{ secrets.CLOUDFRONT_KEY_GROUP_ID }}

smoke-test:
needs: deploy_dev
Expand Down
1 change: 1 addition & 0 deletions packages/fern-docs/bundle/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
"@ai-sdk/openai": "^1.0.8",
"@algolia/client-search": "^5.15.0",
"@aws-sdk/client-s3": "^3.685.0",
"@aws-sdk/cloudfront-signer": "^3.723.0",
"@aws-sdk/s3-request-presigner": "^3.685.0",
"@fern-api/fdr-sdk": "workspace:*",
"@fern-api/ui-core-utils": "workspace:*",
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { getSignedUrl } from "@aws-sdk/cloudfront-signer";
import { FdrAPI } from "@fern-api/fdr-sdk";

export async function loadDocsDefinitionFromS3({
Expand All @@ -8,12 +9,15 @@ export async function loadDocsDefinitionFromS3({
docsDefinitionUrl: string;
}): Promise<FdrAPI.docs.v2.read.LoadDocsForUrlResponse | undefined> {
try {
console.log("fetching docs definition:");
const cleanDomain = domain.replace(/^https?:\/\//, "");
const dbDocsDefUrl = `${docsDefinitionUrl}/${cleanDomain}.json`;
console.log("dbDocsDefUrl", dbDocsDefUrl);

const response = await fetch(dbDocsDefUrl);
const signedUrl = getSignedUrl({
url: dbDocsDefUrl,
privateKey: process.env.CLOUDFRONT_PRIVATE_KEY || "",
keyPairId: process.env.CLOUDFRONT_KEY_PAIR_ID || "",
dateLessThan: new Date(Date.now() + 1000 * 60 * 60 * 24 * 30).toString(),
});
const response = await fetch(signedUrl);
if (response.ok) {
const json = await response.json();
return json as FdrAPI.docs.v2.read.LoadDocsForUrlResponse;
Expand Down
3 changes: 3 additions & 0 deletions packages/fern-docs/bundle/turbo.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
"extends": ["//"],
"globalEnv": ["FERN_ENVIRONMENT", "APPLICATION_ENVIRONMENT"],
"tasks": {
"build": {
"env": ["CLOUDFRONT_PRIVATE_KEY", "CLOUDFRONT_KEY_PAIR_ID"]
},
"docs:build": {
"outputs": [".next/**", "!.next/cache/**"],
"inputs": ["$TURBO_DEFAULT$", ".env*"]
Expand Down
4 changes: 3 additions & 1 deletion packages/fern-docs/ui/turbo.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@
"NEXT_DEPLOYMENT_ID",
"NEXT_PUBLIC_FDR_ORIGIN",
"NEXT_PUBLIC_VERCEL_ENV",
"NEXT_PUBLIC_DOCS_DEFINITION_S3_URL"
"NEXT_PUBLIC_DOCS_DEFINITION_S3_URL",
"CLOUDFRONT_PRIVATE_KEY",
"CLOUDFRONT_KEY_GROUP_ID"
],
"inputs": ["$TURBO_DEFAULT$"]
}
Expand Down
Loading
Loading