{"id":31565694,"url":"https://github.com/correlaid/updaid","last_synced_at":"2025-10-05T07:15:16.309Z","repository":{"id":281229935,"uuid":"944628595","full_name":"CorrelAid/updaid","owner":"CorrelAid","description":"Automating update checks","archived":false,"fork":false,"pushed_at":"2025-03-07T17:30:46.000Z","size":48,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-07T18:30:56.042Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CorrelAid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-03-07T17:24:50.000Z","updated_at":"2025-03-07T17:30:50.000Z","dependencies_parsed_at":"2025-03-07T18:42:21.002Z","dependency_job_id":null,"html_url":"https://github.com/CorrelAid/updaid","commit_stats":null,"previous_names":["correlaid/updaid"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CorrelAid/updaid","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CorrelAid%2Fupdaid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CorrelAid%2Fupdaid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CorrelAid%2Fupdaid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CorrelAid%2Fupdaid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CorrelAid","download_url":"https://codeload.github.com/CorrelAid/updaid/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CorrelAid%2Fupdaid/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278421632,"owners_count":25984048,"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","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-10-05T07:15:15.119Z","updated_at":"2025-10-05T07:15:16.303Z","avatar_url":"https://github.com/CorrelAid.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Updaid\n\nThis code implements an automated dependency update checker that runs weekly using Modal to monitor both infrastructure-as-code repositories for outdated dependencies. It sends email reports when major or minor version updates are detected.\n\nSpecifically, it compares image versions in docker compose files, Dockerfiles or .txt against the latest release in the GitHub repository of a dependency.\n\n## Dev Setup\n\n1. Install uv and create modal account\n2. ```uv sync ```\n3. ```uv run pre-commit install ```\n4. Create .env:\n```\nINFISICAL_ID=\"\"\nINFISICAL_SECRET=\"\"\nINFISICAL_PROJECT=\"\"\n\nSMTP_SERVER=smtp.gmail.com\nSMTP_PORT=587\nSENDER_EMAIL=mail@correlaid.org\n\nREPORT_RECIPIENTS=mail@example.com\n```\n5. Create config.py\n```\niac_repos = [\n    {\n        \"repo\": \"CloudStack\",\n        \"owner\": \"TechCorp\",\n        \"to_check\": [\n            {\n                \"file_path\": \"ansible/templates/dashboard/docker-compose.yml.j2\",\n                \"software\": \"dashboard\",\n            },\n            {\n                \"file_path\": \"ansible/templates/proxy/docker-compose.yml.j2\",\n                \"software\": \"proxy\",\n            },\n        ],\n    }\n]\n\nsoftware_repos = {\n    \"dashboard\": {\"owner\": \"dashboardhq\", \"repo\": \"dashboard\"},\n    \"proxy\": {\"repo\": \"proxyserver\", \"owner\": \"proxytech\"},\n}\n\n\ndoc_link = link\n```\n\n## Deploy to Modal\n\n1. Follow Dev Setup\n2. ```modal login```\n3. ```uv run modal deploy main```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorrelaid%2Fupdaid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcorrelaid%2Fupdaid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorrelaid%2Fupdaid/lists"}