Timothy O'Connell edited this page Mar 16, 2018 · 13 revisions

Welcome to the kdm-manager development wiki!

For now, we're going to use this to track dev/deploy/update type issues and topics, though the scope may expand. No solid plans yet: just kind of playing it by ear.

General Info

  • About - kdm-manager is a campaign manager for "Monster" by Kingdom Death.
  • Framework - kdm-manager does not leverage any frameworks or platforms. It is a DIY, "from scratch" hobby project.
  • Ground Rules - The Manager is a fan project that is totally unaffiliated with Kingdom Death. Accordingly, I follow some basic guidelines.
  • Development Roadmap - coming soon

Installation and Deployment Issues


  • settings_private.cfg - If running a true production instance of the Manager, you'll need to create one of these files to store credentials for email users and CLI admin access.


  • .python_eggs - Running the Manager's init script for the first time throws a traceback about not having permission to modify /home/username/.python_eggs/
  • run_mode - The Manager can currently be put into a "production" or "downtime" run mode using the built-in init_script script.



As of 2018, asset management all happens in the API. Read the headings below before jumping into asset definition management.


  • Gear Asset Definitions - for their tiny size, Gear cards contain a ton of information. Read this for more on how to create/maintain gear asset definitions.


  • Semantic Logging using the log_event() method. Starting with release 2.59.1140 (December 14th, 2017), the API supports both legacy, string-based logging as well as and parameter-based ("semantic") logging.


  • clone_user.py - a CLI script that can be used to clone one or more production users to a remote/dev machine
  • get_user - download a user's data via CLI (e.g. using curl) to a remote machine

System Administration

  • logrotate - Neither the Manager nor the API create log rotation config on installation. Here are some recommendations for simple log rotation configs.