- Replace Codeberg action URLs with standard actions/checkout@v4
- Remove caching actions that require external dependencies
- Simplify workflows for self-hosted runners with Node.js pre-installed
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Create CI workflow for automated testing on push/PR
- Create deployment workflow with secrets handling
- Use self-hosted runners with existing Node.js installation
- Support YouTube API key and AWS credentials from repository secrets
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Rename .github directory to .forgejo
- Update workflow actions to use Forgejo-specific URLs
- Change runners from ubuntu-latest to self-hosted
- Replace GitHub-specific AWS action with environment variables
- Update documentation references from GitHub to Forgejo/git.deco.sh
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove CardDescription from imports in long-story page
- Component was imported but never used, causing linting error
- All ESLint warnings now resolved
- Create Footer component with consistent styling and angrymichigander.com link
- Replace inline footers in all pages (home, long-story, gallery) with Footer component
- Ensure consistent footer content across the entire site
- Add proper link styling with hover effects and security attributes
- Add proper CSS classes for link visibility (text-primary hover:underline)
- Add target='_blank' to open in new tab
- Add security attributes for external link
- Fix spacing around the link text
## Overview
This PR adds the necessary secrets configuration and deployment
infrastructure to enable automated deployment of the Next.js application
to AWS.
## Changes Made
### GitHub Actions Configuration
- Updated to include environment variables and secrets for AWS
deployment
- Added proper secret references for AWS credentials and configuration
### Application Configuration
- **next.config.ts**: Added environment variable configuration for
production deployment
- **package.json**: Updated with deployment-related dependencies and
scripts
- **robots.ts**: Added SEO configuration for search engine crawlers
- **sitemap.ts**: Added sitemap generation for better SEO
### Deployment Scripts
- **scripts/create-s3-bucket.js**: Added utility script for S3 bucket
creation and management
## Benefits
- ✅ Automated deployment pipeline ready
- ✅ Proper secrets management in place
- ✅ SEO optimization with robots.txt and sitemap
- ✅ Production-ready configuration
- ✅ AWS infrastructure automation scripts
## Testing
- All configuration files have been validated
- Environment variables properly referenced
- Scripts are executable and ready for deployment
Ready for review and merge to enable automated deployments! 🚀
- Changed aws-region from us-east-2 to us-east-1 for correct deployment
- Updated S3 website URL to use us-east-1 endpoint
- Added note about CloudFlare proxy for production serving
- Replace 'any' types with proper TypeScript interfaces
- Fix unescaped apostrophe in not-found page
- Convert actionTypes constant to type definition to fix unused variable
- Optimize font loading using next/font instead of external links
- Improve type safety and remove linting warnings
- Replace hardcoded AWS role ARN with CC_OIDC_ROLE secret
- Improves security by not exposing AWS account details in workflow
- Makes the workflow more portable and configurable
- Runs on all pushes except to master branch
- Also runs on pull requests
- Performs linting, building, and optional testing
- Provides fast feedback for development branches
- Uses concurrency groups to cancel outdated runs
- Update amplify.yml to use Node.js 20 to resolve engine compatibility
warnings
- Add .nvmrc file to ensure consistent Node.js version across
environments
- Replace basic README with comprehensive project documentation
including features, setup instructions, and deployment options
🤖 Generated with [Claude Code](https://claude.ai/code)
- Update amplify.yml to use Node.js 20 to resolve engine compatibility warnings
- Add .nvmrc file to ensure consistent Node.js version across environments
- Replace basic README with comprehensive project documentation including features, setup instructions, and deployment options
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Try AWS Secrets Manager first with the Amplify secret path
- Fall back to SSM Parameter Store if Secrets Manager fails
- Fall back to environment variable if both fail
- Write retrieved secret to .env.production for Next.js to use
- Log the process but hide the actual secret value
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove unnecessary Lambda function and API route
- Remove backend deployment from amplify.yml
- Just use process.env.YOUTUBE_API_KEY directly
- Keep it simple - no need for complex secret management
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Create Lambda function with secret environment variable
- Add YouTube API function to backend configuration
- Create Next.js API route to handle YouTube requests
- Update gallery page to use API route
- This follows the correct Amplify Gen 2 pattern for secrets
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove backend pipeline deployment that was causing IAM issues
- Remove complex secret configuration from backend.ts
- Use simple environment variable approach from Amplify Console
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 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>