Configure Amplify Gen 2 backend with secrets

- Add secret definition to backend.ts using proper Amplify Gen 2 syntax
- Update amplify.yml to include backend build phase
- This should properly expose secrets as environment variables

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Derek Slenk 2025-06-27 15:51:57 -04:00
parent 21ac70c502
commit b03225cf76
2 changed files with 17 additions and 7 deletions

View file

@ -1,4 +1,10 @@
version: 1
backend:
phases:
build:
commands:
- npm ci --cache .npm
- npx ampx pipeline-deploy --branch $AWS_BRANCH --app-id $AWS_APP_ID
frontend:
phases:
preBuild:
@ -7,11 +13,8 @@ frontend:
build:
commands:
- echo "Build started on `date`"
- echo "Configuring environment variables..."
- echo "YOUTUBE_API_KEY value is ${YOUTUBE_API_KEY}"
- echo "YOUTUBE_API_KEY=${YOUTUBE_API_KEY}" > .env.production
- echo "Contents of .env.production file"
- cat .env.production
- echo "Available environment variables:"
- printenv | grep -E "(YOUTUBE|AMPLIFY)" || echo "No relevant env vars found"
- npm run build
artifacts:
baseDirectory: .next

View file

@ -1,11 +1,18 @@
import { defineBackend } from '@aws-amplify/backend';
import { defineBackend, secret } from '@aws-amplify/backend';
import { auth } from './auth/resource';
import { data } from './data/resource';
/**
* @see https://docs.amplify.aws/react/build-a-backend/ to add storage, functions, and more
*/
defineBackend({
const backend = defineBackend({
auth,
data,
});
// Define secrets that will be available as environment variables
backend.addOutput({
custom: {
YOUTUBE_API_KEY: secret('YOUTUBE_API_KEY'),
},
});