- Enable showRelatedContent + showSummary in article config
- Add IndexNow ping step to CI deploy pipeline
- Fix site.webmanifest branding (was Congo, now Internet for Kids)
- Update llms.txt to include French language section
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Previously, :latest was pushed during build before any validation.
If health checks failed, rollback restored locally but Watchtower
re-pulled the broken :latest from registry, undoing the rollback.
Now: build pushes only SHA tag, deploy uses SHA tag locally,
new promote job pushes :latest only after smoke tests pass.
Rollback also pushes restored image as :latest to registry.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- French Hugo config (languages.fr.toml)
- All 6 content pages translated: homepage, about, imprint, privacy,
global overview article, France social media ban article
- Child-safety-map shortcode updated with French table + legend
- Nginx redirect updated to include /fr/ path
- CI smoke tests now verify /fr/ endpoint
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- docker-compose.yml in repo (replaces inline generation in CI)
- /health nginx endpoint for container health checks
- HEALTHCHECK directive in Dockerfile
- CI pipeline: build → deploy → health check → smoke test → rollback on failure
- Smoke tests verify /health, /en/, /de/ after deploy
- Automatic rollback to previous image on health/smoke failure
- workflow_dispatch with force_deploy option
- Deploy-guard audit logging
IFK-6
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Docker build on push to main, deploy to infra VM on port 3006.
Gateway nginx updated to proxy internetforkids.ong → infra:3006.
IFK-6
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>