{"id":27603606,"url":"https://github.com/mohamedelashri/condor-watch","last_synced_at":"2025-07-25T21:36:58.785Z","repository":{"id":289115780,"uuid":"970170256","full_name":"MohamedElashri/condor-watch","owner":"MohamedElashri","description":"Poor's man solution to monitor your HTCondor jobs ","archived":false,"fork":false,"pushed_at":"2025-04-21T16:01:04.000Z","size":24,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-22T19:18:11.460Z","etag":null,"topics":["cern"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MohamedElashri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-21T15:36:23.000Z","updated_at":"2025-04-21T16:03:20.000Z","dependencies_parsed_at":"2025-04-21T16:39:15.829Z","dependency_job_id":"c1eb9b8b-c9ea-4343-8a91-97ad84e35626","html_url":"https://github.com/MohamedElashri/condor-watch","commit_stats":null,"previous_names":["mohamedelashri/condor-watch"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MohamedElashri/condor-watch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohamedElashri%2Fcondor-watch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohamedElashri%2Fcondor-watch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohamedElashri%2Fcondor-watch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohamedElashri%2Fcondor-watch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MohamedElashri","download_url":"https://codeload.github.com/MohamedElashri/condor-watch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohamedElashri%2Fcondor-watch/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264559167,"owners_count":23628037,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cern"],"created_at":"2025-04-22T19:17:58.523Z","updated_at":"2025-07-10T09:33:45.854Z","avatar_url":"https://github.com/MohamedElashri.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# condor-watch\n\nA lightweight, cron-compatible HTCondor job monitoring tool.\n\n## Features\n\n- Monitor one or multiple HTCondor job IDs\n- Get email notifications on status changes\n- Fully configurable via a single config file\n- Works on CERN lxplus or any HTCondor user machine\n- Relies solely on `msmtp` for outbound mail\n- Cron-friendly and does not require root\n\n## Configuration\n\nEdit `condor-watch.conf` to specify:\n- Job IDs to monitor\n- Email settings (sender, receiver, subject)\n- Notification level (on every check or only on changes)\n\n## Email Delivery with `msmtp`\n\nThis tool **only supports** sending email via [`msmtp`](https://marlam.de/msmtp/), a lightweight SMTP relay tool.\n\n### ✅ Step 1: Install `msmtp` locally\n\n#### Option A: From Conda (preferred on lxplus)\n\n```bash\nconda install -c conda-forge msmtp\n```\n\nMake sure the installed binary is on your `$PATH`.\n\n#### Option B: Manual build in `$HOME`\n\n```bash\nmkdir -p ~/opt/msmtp \u0026\u0026 cd ~/opt\nwget https://marlam.de/msmtp/releases/msmtp-1.8.24.tar.xz\ntar -xf msmtp-1.8.24.tar.xz \u0026\u0026 cd msmtp-1.8.24\n./configure --prefix=$HOME/opt/msmtp-install\nmake \u0026\u0026 make install\nexport PATH=\"$HOME/opt/msmtp-install/bin:$PATH\"\n```\n\n### ✅ Step 2: Create a secure `.msmtprc`\n\n```bash\ncat \u003e ~/.msmtprc \u003c\u003cEOF\ndefaults\nauth on\ntls on\ntls_trust_file /etc/ssl/certs/ca-certificates.crt\nlogfile ~/.msmtp.log\n\naccount gmail\nhost smtp.gmail.com\nport 587\nfrom your-email@gmail.com\nuser your-email@gmail.com\npasswordeval \"gpg --quiet --for-your-eyes-only --no-tty --decrypt ~/.gmail.gpg\"\naccount default : gmail\nEOF\n\nchmod 600 ~/.msmtprc\n```\n\nUse an [App Password](https://support.google.com/accounts/answer/185833) from Gmail. Store it encrypted:\n\n```bash\necho \"your-app-password\" | gpg --symmetric --output ~/.gmail.gpg\n```\n\n### ✅ Step 3: Test `msmtp`\n\n```bash\necho \"Test from condor-watch\" | msmtp -s \"Test Email\" your-email@gmail.com\n```\n\nIf this works, `condor-watch` is ready to send alerts.\n\n## Usage\n\n1. Clone the repo and configure `condor-watch.conf`:\n   ```bash\n   git clone https://github.com/MohamedElashri/condor-watch\n   ```\n\n2. Make the script executable:\n   ```bash\n   chmod +x condor-watch.sh\n   ```\n\n3. Test run:\n   ```bash\n   ./condor-watch.sh\n   ```\n\n4. Add to cron:\n   ```bash\n   crontab -e\n   ```\n\n   Example (run every 10 mins):\n   ```\n   */10 * * * * /path/to/condor-watch/condor-watch.sh\n   ```\n\n## Dependencies\n\n- `condor_q` (part of HTCondor)\n- `msmtp` (must be manually installed by the user)\n\n## Security\n\nNever commit `.msmtprc`, `.gmail.gpg`, or any credential-related files to version control.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohamedelashri%2Fcondor-watch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohamedelashri%2Fcondor-watch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohamedelashri%2Fcondor-watch/lists"}