feat/automatic-update-and-backup #1

Merged
gitea_admin merged 6 commits from feat/automatic-update-and-backup into main 2026-06-11 15:51:49 +00:00

6 Commits

Author SHA1 Message Date
aviyadeveloper
3821f45d63 docs: update docs.
All checks were successful
Update Automation Tests / Integration Tests (pull_request) Successful in 33s
2026-06-11 17:40:27 +02:00
aviyadeveloper
fbcd561ee8 fix: 2
All checks were successful
Update Automation Tests / Integration Tests (pull_request) Successful in 43s
2026-06-11 17:33:53 +02:00
aviyadeveloper
907f579acf fix: runner 2
Some checks failed
Update Automation Tests / Integration Tests (pull_request) Failing after 39s
2026-06-11 17:32:40 +02:00
aviyadeveloper
4971eca296 fix: runner config
Some checks failed
Update Automation Tests / Integration Tests (pull_request) Failing after 43s
2026-06-11 17:28:17 +02:00
aviyadeveloper
890a23e8d5 feat: complete CI/CD automation and fix deployment issues
Some checks failed
Update Automation Tests / Integration Tests (pull_request) Failing after 40s
Infrastructure & Permissions:
- Set recovery_window_in_days=0 on secrets for immediate deletion on destroy
- Add secretsmanager:UpdateSecret permission to EC2 IAM role
- Move SES secret definition from ses.tf to secrets.tf for better organization
- Create scripts/empty-s3-bucket.sh to handle versioned S3 object deletion
- Update Makefile to use S3 cleanup script in full-destroy target

Gitea Admin User Automation:
- Remove non-functional GITEA_ADMIN_* environment variables from docker-compose.yml
- Add CLI-based admin user creation via docker exec in deploy-gitea.yml
- Add database update to disable must_change_password requirement
- Fix runner token API call to use GET instead of POST

Runner Setup Fixes:
- Change runner gitea_instance to http://localhost:3000 (was failing with public URL)
- Fix registration to work from same host as Gitea

Domain Migration:
- Change domain from gitea.poll-streams.com to git.poll-streams.com
- Update DNS, docker-compose, nginx configs, ansible inventory, and SSL setup
- Enables fresh SSL certificate (avoids Let's Encrypt rate limit)

All changes enable zero-to-one deployment: make full-destroy && make full-deploy
2026-06-11 17:16:51 +02:00
aviyadeveloper
153bd11b05 feat: implement update automation and backup system with CI tests
- Diun monitors Docker images
- Automated updates for nginx, manual approval for gitea/postgres
- Weekly cert renewal automation via cron
- Health checks with automatic rollback on failure
- AWS SES email notifications on update failures
- Daily S3 backups + pre-update snapshots
- Integration tests with Gitea Actions quality gate

Deployment + optional PoC complete.
2026-06-11 14:03:57 +02:00