{"id":18832675,"url":"https://github.com/datto/eol-tracker","last_synced_at":"2026-02-08T09:08:24.716Z","repository":{"id":42300173,"uuid":"235203697","full_name":"datto/eol-tracker","owner":"datto","description":"Web service for monitoring distro package and dependency versions","archived":false,"fork":false,"pushed_at":"2023-10-06T14:48:51.000Z","size":522,"stargazers_count":2,"open_issues_count":6,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-03T16:14:12.031Z","etag":null,"topics":["dnf","libdnf","linux-distribution","package-management"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/datto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2020-01-20T21:36:54.000Z","updated_at":"2025-04-09T19:31:52.000Z","dependencies_parsed_at":"2025-04-15T11:31:59.015Z","dependency_job_id":null,"html_url":"https://github.com/datto/eol-tracker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/datto/eol-tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datto%2Feol-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datto%2Feol-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datto%2Feol-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datto%2Feol-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datto","download_url":"https://codeload.github.com/datto/eol-tracker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datto%2Feol-tracker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269355245,"owners_count":24403408,"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-08-08T02:00:09.200Z","response_time":72,"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":["dnf","libdnf","linux-distribution","package-management"],"created_at":"2024-11-08T01:58:42.928Z","updated_at":"2026-02-08T09:08:19.694Z","avatar_url":"https://github.com/datto.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# eol-tracker\n\neol-tracker is an application that allows you to monitor what package versions different Linux distributions have\navailable. With this new, powerful information, you can make decisions on what features you can rely on for your project\ngiven a set of target distributions.\n\nIt uses [libdnf](https://github.com/rpm-software-management/libdnf) to query contents of RPM repositories and retrieves\nthe data to present in a web page with timeline information (input by the user) to show the lifetimes of packages and\nthe versions available of those packages in the distribution.\n\nThe web application is powered by Cutelyst and uses PostgreSQL as the backend database.\n\n## Setup\n\nIn `dist/eol-tracker.conf`'s `db` section, there are options to customize postgres access.\nLocation is the hostname/ip address of where the database is located.\nUsername/password are the database username and password that the service should use to connect.\nDatabase is the name of the database to login to.\nTables will be auto-populated by the first run of the application, so this should be a fresh database if you're not doing a migration.\n\nYou should also set the value of `dnf.cacheDir` if you're not happy with the default, and then proceed to make that directory with proper r/w permissions for the user running the app.\nThis directory is where each of the platforms specified in the app will set up their \"chroots\".\nEach chroot only contains a dnf cache and an extremely basic os-release.\n\n## Building and Running\n\nThere's a few dependencies that you'll need:\n\n- cmake, for making makefiles\n- g++, for compiling\n- libdnf, for reading repos\n- distribution-gpg-keys, for the repo keys\n- Qt5 (Core, Network, Sql), for cutelyst\n- Cutelyst2, for the web framework\n- cpptoml, for the config file I/O\n- yarn, for the js deps\n\nBuilding and running is simple after that.\nMake will take care of both compiling the C++ and pulling the yarn deps and webpacking them into the frontend js.\n\n```sh\nmkdir build; cd build\ncmake ..\nmake\nsrc/eoltrackerweb\n```\n\n## Container Setup\n\nThe main container is built with the Dockerfile in dist:\n\n```sh\npodman build . -f dist/Dockerfile --dns 8.8.8.8 -t eol-tracker\n```\n\nThere is a kubernetes/podman pod definition in `dist/pod.yaml` for setting up a pod that includes the main eol-tracker image as well as the dependant postgres service.\nNote the environment options for the postgres service and the web config volume mount before running.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatto%2Feol-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatto%2Feol-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatto%2Feol-tracker/lists"}