1773ed5f95
Mirror to GitHub / mirror (push) Successful in 26s
Test and Lint / backend-test (push) Successful in 1m11s
continuous-integration/drone/push Build is passing
Test and Lint / frontend-test (push) Successful in 2m28s
Version and Release / version-bump (push) Successful in 32s
Version and Release / trigger-drone (push) Has been skipped
Original: feat: enhance security logging and ensure rate limit blocks are properly tracked - Add comprehensive logging for rate limit blocks with full request details - IP address (with proper proxy detection), user agent, headers, timestamps - Rate limit info (current count, limit, remaining, reset time) - Separate tracking for auth vs general endpoints - Enhance authentication failure logging - JWT validation failures with detailed error info - Admin auth attempts without token - Failed token validation with user context - All events include IP, path, method, user agent - Improve Winston logger configuration for production - Add automatic log rotation (10MB errors, 50MB combined) - Create separate security.log for auth/rate limit events - Ensure logs directory exists automatically - Add structured JSON format for log aggregation - Support container logging with LOG_TO_CONSOLE env var - Create comprehensive documentation - Security logging guide with examples - Monitoring recommendations - Configuration reference - Add test script to verify logging functionality All rate limit settings remain configurable via admin panel: - Window duration, max requests, auth limits - Skip authenticated requests option - Public endpoints only option 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
99 lines
3.3 KiB
YAML
99 lines
3.3 KiB
YAML
name: Mirror to GitHub
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
workflow_dispatch: # Allow manual triggering
|
|
|
|
jobs:
|
|
mirror:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0 # Full history needed for mirroring
|
|
|
|
- name: Setup Git
|
|
run: |
|
|
git config --global user.name "the-luap"
|
|
git config --global user.email "paul-nothaft@hotmail.de"
|
|
|
|
- name: Debug - Show current branch and status
|
|
run: |
|
|
echo "Current branch:"
|
|
git branch -a
|
|
echo "Git status:"
|
|
git status
|
|
echo "Remote info:"
|
|
git remote -v
|
|
|
|
- name: Create filtered branch
|
|
run: |
|
|
# Clean up any existing github-mirror branch
|
|
git branch -D github-mirror || true
|
|
|
|
# Create a new branch for GitHub
|
|
git checkout --orphan github-mirror
|
|
|
|
# Remove sensitive files/directories
|
|
# Example: Remove .env files, private configs, etc.
|
|
git rm -r --cached .env* || true
|
|
git rm -r --cached backend/.env* || true
|
|
git rm -r --cached frontend/.env* || true
|
|
git rm -r --cached docker-compose.prod.yml || true
|
|
git rm -r --cached .claudedocs/ || true
|
|
git rm -r --cached backend/data/ || true
|
|
git rm -r --cached backend/storage/ || true
|
|
git rm -r --cached .gitea/ || true
|
|
git rm -r --cached scripts/install-gitea-runner.sh || true
|
|
git rm -r --cached .drone* || true
|
|
git rm -r --cached .github-mirror-exclude || true
|
|
git rm -r --cached .gitattributes-github || true
|
|
git rm -r --cached photo-sharing-prd.md || true
|
|
git rm -r --cached CLAUDE.md || true
|
|
git rm -r --cached PRODUCTION_DEPLOYMENT_GUIDE.md || true
|
|
git rm -r --cached logs/ || true
|
|
git rm -r --cached frontend/.claudedocs/ || true
|
|
git rm -r --cached test-maintenance.sh || true
|
|
git rm -r --cached storage/ || true
|
|
|
|
|
|
# Commit the changes
|
|
git commit -m "Remove sensitive files for GitHub mirror" || true
|
|
|
|
- name: Check GitHub token
|
|
env:
|
|
GITHUBTOKEN: ${{ secrets.GITHUBTOKEN }}
|
|
run: |
|
|
if [ -z "$GITHUBTOKEN" ]; then
|
|
echo "ERROR: GITHUBTOKEN secret is not set!"
|
|
exit 1
|
|
else
|
|
echo "GitHub token is available (length: ${#GITHUBTOKEN})"
|
|
fi
|
|
|
|
- name: Push to GitHub
|
|
env:
|
|
GITHUBTOKEN: ${{ secrets.GITHUBTOKEN }}
|
|
run: |
|
|
# Remove existing github remote if it exists
|
|
git remote remove github || true
|
|
|
|
# Add GitHub remote
|
|
git remote add github https://x-access-token:${GITHUBTOKEN}@github.com/the-luap/picpeak.git
|
|
|
|
# Verify remote was added
|
|
echo "GitHub remote added:"
|
|
git remote -v
|
|
|
|
# Force push the filtered branch to GitHub main
|
|
echo "Pushing to GitHub..."
|
|
git push github github-mirror:main --force
|
|
echo "Push completed successfully!"
|
|
|
|
- name: Workflow completed
|
|
run: |
|
|
echo "✅ Mirror to GitHub workflow completed successfully!"
|
|
echo "Check https://github.com/the-luap/picpeak to verify the mirror." |