pup

Universal process manager built in Deno

MIT License

Stars
129
Committers
5

Bot releases are hidden (Show)

pup - 1.0.0-beta.37

Published by Hexagon over 1 year ago

Changes

  • refactor(core): Refactor and jsdoc improvements of several modules.
  • fix(process): Add missing call to setState() on status change to STOPPING.
  • chore(build): Full dependency update
  • fix(core): Fix worker runner
  • feature(upgrader): Use hardened permissions by default, allow override on setup/upgrade by supplying --all-permissions

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.36...1.0.0-beta.37

pup - 1.0.0-beta.36

Published by Hexagon over 1 year ago

Changes

  • feature(webinterface): Add process telemetry to sidebar.
  • fix(webinterface): Hide unused elements while loading interface.
  • fix(logger): Fix purging of logs

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.35...1.0.0-beta.36

pup - 1.0.0-beta.35

Published by Hexagon over 1 year ago

Changes

  • fix(core): Decrease watchdog interval from 2000ms to 1000ms.
  • fix(core): Write status history to internal store at most once per 20 seconds.
  • fix(core): Assign exit signal 1 when child process makes an unclean exit.
  • fix(core): Unref watchdog timer.
  • fix(process-runner): Handle sub process errors more gracefully, do not print "Pipe error".
  • refactor(core): Gather all core constants in configuration.ts
  • refactor(webinterface): UI cleanup, move process state/config to sidebar, adjust colors etc.
  • fix(webinterface): Do not throw on websocket send errors.
  • docs(contributing): Add documentation on how to contribute in packaging Pup.

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.34...1.0.0-beta.35

pup - 1.0.0-beta.34

Published by Hexagon over 1 year ago

Changes

  • fix(upgrader): Small regression fix caused by 1.0.0-beta.33

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.33...1.0.0-beta.34

pup - 1.0.0-beta.33

Published by Hexagon over 1 year ago

Changes

Upgrader (breaking)

  • BREAKING feature(upgrader): Support upgrade channels stable, prerelease and canary. Default to stable, select with upgrade --channel <channel-name>.
  • feature(upgrader): Support fresh installs using the upgrader to select channels using install [--channel <channel-name>] etc.
  • fix(upgrader): Refactor upgrader with various fixes. use std/semver instead of flawed logic. Add confirmation. Add changelog reference.

Core / Logger / Status (breaking)

  • BREAKING feature(status,logger): Use Deno KV instead of plain file, for keeping status and internal logs.
  • fix(core): Wrap Pup constructor in an static async factory function new Pup() -> await Pup.init(...) to avoid unawaited calls.
  • fix(core): Allow core to shut down gracefully.
  • feature(core): Add maintenance loop, currently purging internal logs and status after a set number of hours. Running every 15 minutes.
  • feature(logger): Move internal logs from temporary to persistent storage.
  • feature(configuration): Add option to global logger logger.internalLogHours defaulting to 24.

Web Interface Plugin

  • fix(webinterface): Allow serving from sub-uri.
  • feature(webinterface): Add extra sidebar showing config/status details of selected process.
  • chore(webinterface): Code refactor, convert js to esm, small bugfixes etc.
  • chore(webinterface): Add separate README.md (plugins/web-interface/README.md) with docs for developers/contributors.
  • chore(webinterface, build): Add build step for bundling web interface assets.

Load balancer

  • feature(loadbalancer): Run load balancer-instances as separate workers instead of in main thread.

Docs

A note on breaking changes

This release contains breaking changes. Starting from this version, Deno KV is used for storing internal states and logs. Deno KV is an experimental feature that requires Deno to run with the
--unstable flag.

You cannot update from a previous version using the built-in installer, as it would install Pup without the --unstable flag. Instead, please follow the instructions for a fresh install in the
manual, and the old version of Pup will be overwritten.

From now on, the upgrader will check your installed Deno version and the need for using --unstable, and it will act/suggest actions accordingly.

Also not that the stable installation channel will be empty until the first stable release. From now on, you will have to pass --channel prerelease when using the setup or upgrade commands.

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.32...1.0.0-beta.33

pup - 1.0.0-beta.32

Published by Hexagon over 1 year ago

Changes

  • fix(cli): pup uninstall fixed.

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.31...1.0.0-beta.32

pup - 1.0.0-beta.31

Published by Hexagon over 1 year ago

Changes

  • Update depency hexagon/service, resolves issue #27.

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.30...1.0.0-beta.31

pup - 1.0.0-beta.30

Published by Hexagon over 1 year ago

Changes

  • docs: Fix typo on environment variable PUP_CLUSTER_INSTANCE.
  • deps: Full dependency update.
  • security: Use stricter security flags in build process (deno task build).
  • chore: Improve the commenting of the code.
  • feature(loadbalancer): Periodically track backend health.
  • feature(loadbalancer): Flag backend as down after 5 failed connections.
  • feature(loadbalancer): Redirect clients to next alive backend on error.
  • fix(loadbalancer): Use pup logger insted of console.log.

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.29...1.0.0-beta.30

pup - 1.0.0-beta.29

Published by Hexagon over 1 year ago

Changes

  • docs: Add Known Issues section in docs.
  • docs: Add Known Issue on problem stopping a managed process using deno task.
  • docs: Remove stray outdated file docs/resources/pup.schema.json. Correct path is docs/pup.schema.json.
  • docs: Add note on using "$schema" in pup.json for auto completion.
  • docs: Upgrade Deno version in example Dockerfile.
  • docs: Fix error in example Dockerfile.

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.28...1.0.0-beta.29

pup - 1.0.0-beta.28

Published by Hexagon over 1 year ago

Changes

  • Refactor(cli): Cleanup of status output. Add column for blocked. Use local dates.
  • Refactor(process): Remove process status BLOCKED, as it is a state independent of process status
  • Fix(dax-runner): Handle exit code 124 (aborted by command stop) as process status FINISHED.

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.27...1.0.0-beta.28

pup - 1.0.0-beta.27

Published by Hexagon over 1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.26...1.0.0-beta.27

pup - 1.0.0-beta.26

Published by Hexagon over 1 year ago

Changes

  • Refactor(args): Simplify argument check
  • Fix(loadbalancer): least-connections not used even if configured
  • Refactor(tests): More consistent test names
  • Fix(docs): Improve documentation on library usage
  • Fix(cli): Remove debug console log
  • Fix(build): Follow new flat convention of deno.json

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.25...1.0.0-beta.26

pup - 1.0.0-beta.25

Published by Hexagon over 1 year ago

Changes

  • Fix: Find default config files in working directory when using --cwd without specifying --config
  • Fix: Bugged cli <-> main process communication
  • Fix: Make --terminate even more graceful

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.24...1.0.0-beta.25

pup - 1.0.0-beta.24

Published by Hexagon over 1 year ago

Changes

  • Improve IPC implementation (speed and security)
  • Improve cleanup functions and graceful shutdown
  • Show outcome when running cli commands start, stop, block, ...
  • Fix: pup terminate should not require specifying an process id
  • Documentation fixes

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.23...1.0.0-beta.24

pup - 1.0.0-beta.23

Published by Hexagon over 1 year ago

Changes

  • Change: BREAKING: Process configuration entry cmd: now expects string (deno run -A script.ts) instead of array of strings (["deno","run",...])
  • Change: Use dax instead of Deno.Command to launch process, enabling shell functions and chaining of processes.
  • Reduce pup service install/uninstall/generate to pup install/uninstall [--dry-run]

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.22...1.0.0-beta.23

pup - 1.0.0-beta.22

Published by Hexagon over 1 year ago

Changes

  • Make -- optional for --help, --version and --upgrade
  • Bugfix: Always use config file
  • Feature: Allow to configure process cluster/load balancer using cli run init and append
  • Feature: Allow to configure process logger using cli
  • Feature: Add command line argument logs, which show the logs of the current instance
  • Refactor: Reorganize output of pup help
  • Docs: Various documentation fixes
  • Fix: Better error handling in Splunk HEC plugin
  • Docs: Add example for the Splunk HEC plugin
  • Feature: Allow configuring Spluk HEC plugin using environment variables
  • Cleanup: Remove non functional monitor plugin

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.21...1.0.0-beta.22

pup - 1.0.0-beta.21

Published by Hexagon over 1 year ago

Changes

  • Regression fix for pup run without config

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.20...1.0.0-beta.21

pup - 1.0.0-beta.20

Published by Hexagon over 1 year ago

Changes

  • Add feature to run scripts as service workers (thread) instead of a full process
    • Add service worker example
    • Add --worker command line option, make --cmd optional, but require one of them.
    • Add worker: option, make cmd: optional, but require one of them
  • Ref processes, makes sure that child processes exit when pup exit
  • Add -n pup to upgrader
  • Remove explicit kill signal (fix for windows)
  • Use map instead of object in watcher (typescri pt fix)

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.19...1.0.0-beta.20

pup - 1.0.0-beta.19

Published by Hexagon over 1 year ago

Changes

  • Support passing one or more global environment variables to the service installer through --env
  • Update documentation

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.18...1.0.0-beta.19

pup - 1.0.0-beta.18

Published by Hexagon over 1 year ago

Changes

  • Dependency update fixing stopping of windows services

Full Changelog: https://github.com/Hexagon/pup/compare/1.0.0-beta.17...1.0.0-beta.18

Package Rankings
Top 5.88% on Deno.land
Related Projects