Giter VIP home page Giter VIP logo

eol-tracker's Introduction

eol-tracker

eol-tracker is an application that allows you to monitor what package versions different Linux distributions have available. With this new, powerful information, you can make decisions on what features you can rely on for your project given a set of target distributions.

It uses libdnf to query contents of RPM repositories and retrieves the data to present in a web page with timeline information (input by the user) to show the lifetimes of packages and the versions available of those packages in the distribution.

The web application is powered by Cutelyst and uses PostgreSQL as the backend database.

Setup

In dist/eol-tracker.conf's db section, there are options to customize postgres access. Location is the hostname/ip address of where the database is located. Username/password are the database username and password that the service should use to connect. Database is the name of the database to login to. Tables 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.

You 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. This directory is where each of the platforms specified in the app will set up their "chroots". Each chroot only contains a dnf cache and an extremely basic os-release.

Building and Running

There's a few dependencies that you'll need:

  • cmake, for making makefiles
  • g++, for compiling
  • libdnf, for reading repos
  • distribution-gpg-keys, for the repo keys
  • Qt5 (Core, Network, Sql), for cutelyst
  • Cutelyst2, for the web framework
  • cpptoml, for the config file I/O
  • yarn, for the js deps

Building and running is simple after that. Make will take care of both compiling the C++ and pulling the yarn deps and webpacking them into the frontend js.

mkdir build; cd build
cmake ..
make
src/eoltrackerweb

Container Setup

The main container is built with the Dockerfile in dist:

podman build . -f dist/Dockerfile --dns 8.8.8.8 -t eol-tracker

There 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. Note the environment options for the postgres service and the web config volume mount before running.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.