Files
ansible/roles/cron
Phil 85cfca08f5 fix: improve dockcheck cron job logging and reliability
- Added comprehensive logging to /var/log/dockcheck/dockcheck.log
- Created wrapper script to avoid cron variable escaping issues
- Added timestamp logging for each execution with exit codes
- Created proper log directory with correct permissions
- Removed unnecessary -n flag (config file handles DontUpdate=true)
- Added cron handlers for service management

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-20 10:30:51 -06:00
..

Cron Role

Purpose

Manages scheduled tasks and automated maintenance jobs for the infrastructure.

What It Does

Warhammer RSS Feed Updater

  • Copies update_warhammer_feed.sh script to /usr/local/bin/ with executable permissions
  • Creates a daily cron job that runs at 09:10 AM
  • The script performs these actions:
    1. Creates a temporary directory /tmp/warhammer_feed
    2. Runs a custom Docker container (git.thesatelliteoflove.com/phil/rss-warhammer) to generate RSS feed
    3. Copies the generated warhammer_rss_feed.xml to /opt/stacks/caddy/site/tsol/feeds/
    4. Restarts the Glance dashboard stack to reflect the updated feed

Files Managed

  • /usr/local/bin/update_warhammer_feed.sh - RSS feed update script
  • Cron job: "Update Warhammer RSS Feed" (daily at 09:10)

Dependencies

  • Requires Docker to be installed and running
  • Depends on the following Docker stacks being deployed:
    • Custom RSS generator container at git.thesatelliteoflove.com/phil/rss-warhammer
    • Caddy web server stack at /opt/stacks/caddy/
    • Glance dashboard stack at /opt/stacks/glance/

Usage

This role is automatically applied as part of the main site.yml playbook with the cron tag.

# Deploy only cron jobs
ansible-playbook site.yml -i hosts.yml --tags cron

Customization

To add additional cron jobs, create new tasks in the main.yml file following the same pattern as the Warhammer feed updater.