pmon3

Golang Production Process Manager

Stars
9

Bot releases are visible (Hide)

pmon3 - v1.18.2 Latest Release

Published by github-actions[bot] 4 days ago

  • Upgrades go to 1.23.2
  • Adds support for MacOSX #45
  • Changes the system configuration schema to a more coherent structure #46
  • Adding configurability for file/folder permissions and ownership #47
  • Improves test coverage #43
  • Removes fatal error output from pmon3 CLI

Full Changelog: https://github.com/joe-at-startupmedia/pmon3/compare/v1.17.0...1.18.2

pmon3 - v1.17.0

Published by joe-at-startupmedia 25 days ago

  • refactoring AppsConfig and ExecFlags #42

Note

  • apps_config_file is renamed to process_config_file
  • schema of the renamed process_config_file is changed and needs to be modified to conform

Full Changelog: https://github.com/joe-at-startupmedia/pmon3/compare/v1.16.2...v1.17.0

pmon3 - v1.16.2

Published by joe-at-startupmedia 26 days ago

  • adds Application Configuration formatting support for toml and yaml #41

Full Changelog: https://github.com/joe-at-startupmedia/pmon3/compare/v1.16.1...v1.16.2

pmon3 - v1.16.1

Published by joe-at-startupmedia 26 days ago

  • Prevents spawning process as root with non-root user for security reasons #38
  • Adds the ability to reset the restart counter #39
  • Add the ability to generate an Application Configuration into the console from the current process list #40

Full Changelog: https://github.com/joe-at-startupmedia/pmon3/compare/v1.16.0...v1.16.1

pmon3 - v1.16.0

Published by joe-at-startupmedia 27 days ago

  • Adds a process monitor interval to adjust the frequency of process monitoring
  • updates shmemipc dependency to fix segfault on SIGINT github.com/https://github.com/joe-at-startupmedia/shmemipc/issues/3
  • implements flap detection/prevention #34
  • implements process group associations and commands #35

NOTE

Due to schema changes, be sure to remove your database after upgrading and before restarting:

systemctl stop pmond
rm -f /etc/pmon3/data/data.db
systemctl start pmond

Full Changelog: https://github.com/joe-at-startupmedia/pmon3/compare/v1.15.1...v1.16.0

pmon3 - v1.15.1

Published by joe-at-startupmedia 2 months ago

  • Increasing memory max message size from 4096 for pmon3 instances running more than 12 apps #33
  • Randomizing pidlist for the topn command when more that 20 apps are running #32
  • Upgrades golang to 1.22

Full Changelog: https://github.com/joe-at-startupmedia/pmon3/compare/v1.15.0...v1.15.1

pmon3 - v1.15.0

Published by joe-at-startupmedia 2 months ago

  • Changes how pmond loads processes from both Apps Config (takes precedence) and the database #30
  • Adds the ability to initialize processes only specified in the Apps Config #30
  • Adds the ability to start processes specified in the Apps Config which haven't already been started and persisted to the database #30
  • Implements a dependency resolution system #31
  • Adds the ability to debug dependency resolution without restarting processes #31
  • Adds the ability to wait (n) milliseconds after initializing a dependent process #31
  • Adds more flags to log, logf and topn commands
  • Reloads the configuration files on each command execution, omitting the need for restarting pmond
  • Adds a --blocking flag to the init command which only returns a response after all processes have been queued

NOTE

Due to schema changes, be sure to remove your database after upgrading and before restarting:

systemctl stop pmond
rm -f /etc/pmon3/data/data.db
systemctl start pmond

Full Changelog: https://github.com/joe-at-startupmedia/pmon3/compare/v1.14.13...v1.15.0

pmon3 - v1.15.0-alpha.1

Published by joe-at-startupmedia 2 months ago

  • Changes how pmond loads processes from both Apps Config (takes precedence) and the database #30
  • Adds the ability to initialize processes only specified in the Apps Config #30
  • Adds the ability to start processes specified in the Apps Config which haven't already been started and persisted to the database #30
  • Implements a dependency resolution system #31
  • Adds the ability to debug dependency resolution without restarting processes #31
  • Adds the ability to wait (n) milliseconds after initializing a dependent process #31
  • Adds more flags to log, logf and topn commands
  • Reloads the configuration files on each command execution, omitting the need for restarting pmond
  • Adds a --blocking flag to the init command which only returns a response after all processes have been queued

NOTE

Due to schema changes, be sure to remove your database after upgrading and before restarting:

systemctl stop pmond
rm -f /etc/pmon3/data/data.db
systemctl start pmond
pmon3 - v1.14.13

Published by joe-at-startupmedia 3 months ago

Allows the process to inherit all of the users groups #27
Remove hashing from log names and improve documentation on --log versus --log-dir #29
Process log is accessible with adequate permissions by the managing user from --user #14
Adds the ability to specify environment variables #28

pmon3 - v1.14.12

Published by joe-at-startupmedia 4 months ago

Switching the default IPC mechanism between the daemon and the cli from unix domain sockets to shared memory, significantly increasing cli command response times.

pmon3 - v1.14.10

Published by joe-at-startupmedia 4 months ago

  • Suppresses configor failure message from loading non-existent configuration files #25
pmon3 - v1.14.9

Published by joe-at-startupmedia 5 months ago

  • Implements configor to simplify configuration boilerplate and allow overrides via environment variable specifications
  • Implements xipc to provide an abstraction for swapping out underlying IPC mechanisms (using build tags) including the addition of shared-memory
pmon3 - v1.14.7

Published by joe-at-startupmedia 5 months ago

  • fixes a race condition in the golang-ipc library
pmon3 - v1.14.6

Published by joe-at-startupmedia 5 months ago

  • enhances log level specificity through the PMON3_DEBUG environment var
  • properly handle/log particular error scenarios
  • Makefile improvements
  • Adding code coverage via integration tests
pmon3 - v1.14.5

Published by joe-at-startupmedia 5 months ago

  • Adds an -a flag to the log command which outputs compressed/rotated files in addition to the current log file
  • Adds the ability to specify an application config from which to reference upon pmond initialization, as opposed to manually running several exec commands.
  • fixes nil pointer dereference panics on fresh installations
pmon3 - v1.14.4

Published by joe-at-startupmedia 5 months ago

  • Adds an -a flag to the log command which outputs compressed/rotated files in addition to the current log file
  • Adds the ability to specify an application config from which to reference upon pmond initialization, as opposed to manually running several exec commands.
pmon3 - v1.14.3

Published by joe-at-startupmedia 5 months ago

Makes the topn command update every second.

pmon3 - v1.14.2

Published by joe-at-startupmedia 5 months ago

  • Adds a topn command for monitoring CPU and Memory utilization using the top command pre-installed on unix systems #23
  • Fixes races conditions in both the underlying IPC library and in pmond itself
  • Updates in the the underlying IPC library nearly doubles the speed of IPC communication between the daemon and the cli
pmon3 - v1.14.1

Published by joe-at-startupmedia 5 months ago

  • Updates the underlying golang-ipc library for improved performance and resilience
pmon3 - v1.14.0

Published by joe-at-startupmedia 6 months ago

  • Makes pmon3 portable by removing CGO dependencies and underlying posix_mq functionality #16
  • Improves logging by allowing log level specificity and adding more logging #18
  • Based on improved logging, adds the ability to easily (and reliably) capture events using log monitors #17
  • Adds the ability for event handling with custom scripts #17
  • Updates Gorm and replaces sqlite with non-CGO sqlite for portability #19
  • Prevents two instances of pmond running simultaneously #20
  • Adding the ability to prioritize performance over portability using build tags #22
  • Fixes various race conditions with underlying IPC and sqlite library
  • Prevents orphaned process from causing infinite restart loops
  • Adds column auto-resizing to output tables, CPU precision and improved readability

https://github.com/joe-at-startupmedia/pmon3/compare/v1.13.2...v1.14.0