# 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. ```bash # 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.