Files
plane/monitor
Akshat Jain 6adf38a6c6 infra: external deployments for commercial edition (#2523)
* restructured Proxy, Deploy/CLI-install contents

* removed caddy assets fron release

* fixed changes in variables.env

* fixed action

* test build

* testing release

* finalize the caddy changes

* renamed proxy-ee to proxy.

* chore: changed docker compose file swarm compatible

* fix: added port no in proxy configuration

* added Replica Envs for services

* compose file for coolify

* updated docker-compose

* fix changes

* updated docker-compose.yml

* updated monitor to handle COOLIFY

* updated deploy_platform value

* pulled latest preview

* updated variables env

* fix merge conflicts

* fix changes

* fix changes

* chore: coolify compose file

* chore: added github action to upload coolify compose file on s3

* fixed monitor build

* testing release build

* updated branch-build-ee

---------

Co-authored-by: Manish Gupta <manish@plane.so>
Co-authored-by: Manish Gupta <59428681+mguptahub@users.noreply.github.com>
2025-03-04 01:47:29 +05:30
..
2024-09-19 18:06:02 +05:30

Monitor

Monitor a package written in go, aims to provide services responsible for healthcheck, feature flagging and validation of entities with respect to deployments. The services of Monitor are encapsulated in a command line interface inside the ./cli folder and all the features are encapsulated inside packages inside the lib folder ./lib folder.

Convention and Adding New Features

  • Each feature lies on a seprate module, and for every module, there must be it's individual tests and readme associated with it, with the function signatures associated with it.
  • Examples must be provided for each of the functions that are present inside the package that, it can be used as a reference manual.
  • Every function should be written in such a way such that it can be consumed by any external host, maybe used with cron, http, cli or a seprate package on itself. Passing callback functions are sometimes best for such scenarios.

Running and Usage of Monitor

Monitor relies on 4 different environment variables of execution, which are listed below,

  • PRIME_HOST : The host for the prime service, defaults to https://prime.plane.so.
  • LICENSE_KEY: The client's license key, required for validation purposes of the api requests to the prime server.
  • LICENSE_VERSION: The currently used version by the client, it's generally the plane app version, but it's required and needed to be passed.
  • MACHINE_SIGNATURE: Machine signature field indicates the machine signature of the host machine. Say you're using monitor as a docker image on a mac, then we would require the MACHINE_SIGNATURE of mac, assuming mac's machine signature is associated with the license.

You can build monitor, with make build and test it with make test. Monitor can be run with --help command, to check the capabilites of it.