This page contains information about Pakiti v3 development.
Pakiti v3 is the successor of the Pakiti v2, but it doesn't add only new features, it is written from the scratch. V3 is intended to support deployments containing thousands of hosts, this implies huge changes in the current DB scheme and logic.
Pakiti using client-server architecture. Client is a small and simple bash script, which gathers list of installed packages using common tools (rpm, dpkg). Server is written in PHP and using MySQL as DB backend.
- Processing vulnerabilities definitions from the OVAL sources and from the OS vendor packages repositories.
- Modular design, so adding new functionality is quite simple.
- Supporting several access channels: Web GUI, CLI, RPC
- Asynchronous and synchronous data processing
- Asynchronous is designed to be able to process tens of reports per second
- ACL support
- Directory structure - Done
- Database schema - Done (but there will be probably some changes)
- Feeder with synchronous and asynchronous mode - Done
|- bin - Various scripts for managing the Pakiti installation (e.g. initialization script) |- client - Pakiti client bash script |- docs - Documentation |- etc |- Config.php - Main configuration file |- Repositories.xml - Repositories configuration file |- install - Files related to the installation of the Pakiti |- pakiti.sql - MySQL DB DDL |- lib - Libraries |- common - Common libraries |- dao - Definition of the DAO objects |- managers - Managers |- model - Model classes |- modules - Various modules |- analytics - Analytics module |- cli - Commnad line interface module |- feeder - Feeder module |- gui - Web GUI module |- rpc - RPC module |- vds - Vulnerabilities' Definition Source module |- www - Web directory structure with symlinks to the lib/modules/*/www directories