Skip to content
Jacob Burley edited this page Oct 23, 2026 · 13 revisions

Welcome to the Krampus wiki!

Krampus is a Python sync server for Santa. Krampus is written with modularity in mind, meaning the server can work with different database backends. Currently implemented are integrations for Postgres, MySQL and Firestore.

Getting Started

To use Krampus, you must first setup and run the Krampus server. Server setup is described in depth here, with example configurations found here. Once you have Krampus up and running, Santa clients will be able to perform syncs, but they won't get any rules or host configurations until you've added some to the database. To this end, you can use krampusctl to apply YAML files containing your rules and host configurations to the Krampus server. Usage of the krampusctl tool is described here.

Santa Client Setup

The bare minimum Santa configuration profile keys you'll need to set for Krampus are as follows:

<dict>
    <key>SyncBaseURL</key>
    <string>https://my.sync.server/</string>
</dict>

However, this assumes that you have no authentication set up, and that you're also not passing the machine owner through to Krampus. A more complete setup (with a machine owner variable pushed from your MDM, and Krampus sync authentication) looks like this:

<dict>
    <key>MachineOwner</key>
    <string>$USERNAME</string>
    <key>SyncBaseURL</key>
    <string>https://my.sync.server/</string>
    <key>SyncExtraHeaders</key>
    <dict>
        <key>Krampus-Auth</key>
        <string>MySyncSecret</string>
    </dict>
</dict>