Using Patchman with a non-standard control panel
Patchman provides out-of-the-box integrations for the cPanel, DirectAdmin and Plesk control panels. If you are not using one of these panels, Patchman will show the following message in the logs:
ERROR: Could not determine platform software, unable to activate integrations
You will still be able to use Patchman, but rather than use one of our standard integration methods you will have to provide some data to Patchman yourself, using our API.
Why does Patchman need to integrate with my control panel?
The integration is required to associate appropriate metadata with the files and directories Patchman scans. Using this metadata, the Patchman Portal is able to provide a per-user detailed overview of detections, giving you insight into the detections for each customer. On top of that, you are able to configure specific details easily based on e.g. the user level or the reseller that owns a certain customer. If you use the notification system offered by Patchman, the software also needs to know which e-mail addresses to use when sending e-mails regarding certain files.
In the control panel itself, Patchman can offer a single sign-on button for customers to provide them access to the Patchman detection overview for their webhosting account. You configure the access to this button in the Portal, but the buttons themselves are made available in the panel using this integration.
For the most common control panels, we maintain these integrations ourselves and ship them with Patchman by default. If you are running a different panel, you will need to provide the required data and integration interfaces yourself.
How do I enable custom integration methods for my account?
Use of the custom integration method needs to be enabled by the Patchman staff. Please contact support@patchman.co with information about your control panel and platform, so we can help you with setting up and configuring the integration method on your servers.
Developing the integration
The manual for developing all components required for the integration is attached below. It contains all steps required for creating the different components, and contains illustrative examples to help you get started.
Patchman custom integration.pdf
In the sections below, you can find a quick overview of the general steps involved in integrating Patchman with your control panel. For any technical details, please refer to the attached manual. If you still have questions after reading the documentation, please contact support@patchman.co for more information.
Providing data to Patchman
The following information needs to be provided to Patchman for each user in your control panel:
Username
User language
E-mail addresses
E-mail addresses are only required when using notifications
Home directory
Home directory is only required when using per-user audit logging
User level
Parent user
Domains
Directories per domain
The data needs to be provided in JSON format. You have the option of writing scripts that provide the JSON data directly on demand, or generating JSON files in a predetermined location for Patchman to read.
Note that these scripts or files are always stored on the webserver for which they provide metadata, and are always called locally by the patchmand process.
Handling data provided by Patchman
For the single sign-on buttons, Patchman generates data on the webserver in question that you can use when creating the buttons in your control panel. This concerns a file specifying which users are granted access to the Portal based on your policy settings, and on which level they have access.