Files
michaelschiemer/deployment/legacy/ansible/ansible/playbooks/CLEANUP_SUMMARY.md
2025-11-24 21:28:25 +01:00

214 lines
6.7 KiB
Markdown

# Playbook Cleanup & Server Redeploy - Summary
## Completed Tasks
### Phase 1: Playbook Cleanup ✅
#### 1.1 Redundante Diagnose-Playbooks konsolidiert
- ✅ Created `diagnose/gitea.yml` - Consolidates:
- `diagnose-gitea-timeouts.yml`
- `diagnose-gitea-timeout-deep.yml`
- `diagnose-gitea-timeout-live.yml`
- `diagnose-gitea-timeouts-complete.yml`
- `comprehensive-gitea-diagnosis.yml`
- ✅ Uses tags: `deep`, `complete` for selective execution
- ✅ Removed redundant playbooks
#### 1.2 Redundante Fix-Playbooks konsolidiert
- ✅ Created `manage/gitea.yml` - Consolidates:
- `fix-gitea-timeouts.yml`
- `fix-gitea-traefik-connection.yml`
- `fix-gitea-ssl-routing.yml`
- `fix-gitea-servers-transport.yml`
- `fix-gitea-complete.yml`
- `restart-gitea-complete.yml`
- `restart-gitea-with-cache.yml`
- ✅ Uses tags: `restart`, `fix-timeouts`, `fix-ssl`, `fix-servers-transport`, `complete`
- ✅ Removed redundant playbooks
#### 1.3 Traefik-Diagnose/Fix-Playbooks konsolidiert
- ✅ Created `diagnose/traefik.yml` - Consolidates:
- `diagnose-traefik-restarts.yml`
- `find-traefik-restart-source.yml`
- `monitor-traefik-restarts.yml`
- `monitor-traefik-continuously.yml`
- `verify-traefik-fix.yml`
- ✅ Created `manage/traefik.yml` - Consolidates:
- `stabilize-traefik.yml`
- `disable-traefik-auto-restarts.yml`
- ✅ Uses tags: `restart-source`, `monitor`, `stabilize`, `disable-auto-restart`
- ✅ Removed redundant playbooks
#### 1.4 Veraltete/Redundante Playbooks entfernt
- ✅ Removed `update-gitea-traefik-service.yml` (deprecated)
- ✅ Removed `ensure-gitea-traefik-discovery.yml` (redundant)
- ✅ Removed `test-gitea-after-fix.yml` (temporär)
- ✅ Removed `find-ansible-automation-source.yml` (temporär)
#### 1.5 Neue Verzeichnisstruktur erstellt
- ✅ Created `playbooks/diagnose/` directory
- ✅ Created `playbooks/manage/` directory
- ✅ Created `playbooks/setup/` directory
- ✅ Created `playbooks/maintenance/` directory
- ✅ Created `playbooks/deploy/` directory
#### 1.6 Playbooks verschoben
-`setup-infrastructure.yml``setup/infrastructure.yml`
-`deploy-complete.yml``deploy/complete.yml`
-`deploy-image.yml``deploy/image.yml`
-`deploy-application-code.yml``deploy/code.yml`
-`setup-ssl-certificates.yml``setup/ssl.yml`
-`setup-gitea-initial-config.yml``setup/gitea.yml`
-`cleanup-all-containers.yml``maintenance/cleanup.yml`
#### 1.7 README aktualisiert
- ✅ Updated `playbooks/README.md` with new structure
- ✅ Documented consolidated playbooks
- ✅ Added usage examples with tags
- ✅ Listed removed/consolidated playbooks
### Phase 2: Server Neustart-Vorbereitung ✅
#### 2.1 Backup-Script erstellt
- ✅ Created `maintenance/backup-before-redeploy.yml`
- ✅ Backs up:
- Gitea data (volumes)
- SSL certificates (acme.json)
- Gitea configuration (app.ini)
- Traefik configuration
- PostgreSQL data (if applicable)
- ✅ Includes backup verification
#### 2.2 Neustart-Playbook erstellt
- ✅ Created `setup/redeploy-traefik-gitea-clean.yml`
- ✅ Features:
- Automatic backup (optional)
- Stop and remove containers (preserves volumes/acme.json)
- Sync configurations
- Redeploy stacks
- Restore Gitea configuration
- Verify service discovery
- Final tests
#### 2.3 Neustart-Anleitung erstellt
- ✅ Created `setup/REDEPLOY_GUIDE.md`
- ✅ Includes:
- Step-by-step guide
- Prerequisites
- Backup verification
- Rollback procedure
- Troubleshooting
- Common issues
#### 2.4 Rollback-Playbook erstellt
- ✅ Created `maintenance/rollback-redeploy.yml`
- ✅ Features:
- Restore from backup
- Restore volumes, configurations, SSL certificates
- Restart stacks
- Verification
## New Playbook Structure
```
playbooks/
├── setup/ # Initial Setup
│ ├── infrastructure.yml
│ ├── gitea.yml
│ ├── ssl.yml
│ ├── redeploy-traefik-gitea-clean.yml
│ └── REDEPLOY_GUIDE.md
├── deploy/ # Deployment
│ ├── complete.yml
│ ├── image.yml
│ └── code.yml
├── manage/ # Management (konsolidiert)
│ ├── traefik.yml
│ └── gitea.yml
├── diagnose/ # Diagnose (konsolidiert)
│ ├── gitea.yml
│ └── traefik.yml
└── maintenance/ # Wartung
├── backup.yml
├── backup-before-redeploy.yml
├── cleanup.yml
├── rollback-redeploy.yml
└── system.yml
```
## Usage Examples
### Gitea Diagnosis
```bash
# Basic
ansible-playbook -i inventory/production.yml playbooks/diagnose/gitea.yml
# Deep
ansible-playbook -i inventory/production.yml playbooks/diagnose/gitea.yml --tags deep
# Complete
ansible-playbook -i inventory/production.yml playbooks/diagnose/gitea.yml --tags complete
```
### Gitea Management
```bash
# Restart
ansible-playbook -i inventory/production.yml playbooks/manage/gitea.yml --tags restart
# Fix timeouts
ansible-playbook -i inventory/production.yml playbooks/manage/gitea.yml --tags fix-timeouts
# Complete fix
ansible-playbook -i inventory/production.yml playbooks/manage/gitea.yml --tags complete
```
### Redeploy
```bash
# With automatic backup
ansible-playbook -i inventory/production.yml playbooks/setup/redeploy-traefik-gitea-clean.yml \
--vault-password-file secrets/.vault_pass
# With existing backup
ansible-playbook -i inventory/production.yml playbooks/setup/redeploy-traefik-gitea-clean.yml \
--vault-password-file secrets/.vault_pass \
-e "backup_name=redeploy-backup-1234567890" \
-e "skip_backup=true"
```
### Rollback
```bash
ansible-playbook -i inventory/production.yml playbooks/maintenance/rollback-redeploy.yml \
--vault-password-file secrets/.vault_pass \
-e "backup_name=redeploy-backup-1234567890"
```
## Statistics
- **Consolidated playbooks created**: 4 (diagnose/gitea.yml, diagnose/traefik.yml, manage/gitea.yml, manage/traefik.yml)
- **Redeploy playbooks created**: 3 (redeploy-traefik-gitea-clean.yml, backup-before-redeploy.yml, rollback-redeploy.yml)
- **Redundant playbooks removed**: ~20+
- **Playbooks moved to new structure**: 7
- **Documentation created**: 2 (README.md updated, REDEPLOY_GUIDE.md)
## Next Steps
1. ✅ Test consolidated playbooks (dry-run where possible)
2. ✅ Verify redeploy playbook works correctly
3. ✅ Update CI/CD workflows to use new playbook paths if needed
4. ⏳ Perform actual server redeploy when ready
## Notes
- All consolidated playbooks use tags for selective execution
- Old wrapper playbooks (e.g., `restart-traefik.yml`) still exist and work
- Backup playbook preserves all critical data
- Redeploy playbook includes comprehensive verification
- Rollback playbook allows quick recovery if needed