aboutsummaryrefslogtreecommitdiff
path: root/worker.go
AgeCommit message (Collapse)Author
2026-01-22all: add option to set custom Title on server configurationShulhan
The title will be displayed for window title and as the heading in the status page. While at it, remove the status column on the Down History section, since the value is static.
2026-01-20all: support sending notification to SMTP server (email)Shulhan
In the main configuration, lilin.cfg, user now can add "notif" section with kind "smtp" to send notification using user's email. This require renaming "webhook_url" to "remote_url" to minimize duplicate field, so different kind of notif can use the same "remote_url" value.
2025-09-26all: increase the worker HTTP client timeoutShulhan
Using 5 seconds timeout cause an error "context deadline exceeded" when sending notification on some instance of Mattermost. While at it, fix missing return statement on pushNotifMattermost.
2025-09-26all: implement notification using Mattermost incoming webhookShulhan
In the server configuration, one can defined the following section to send the notification using Mattermost, [notif] kind = mattermost webhook_url = # The incoming webhook URL. channel = # The channel where the notification will be placed. down_template = # Message template when service is down. up_template = # Message template when service is up.
2025-08-21all: store the service file name as service IDShulhan
Instead of using name, which may contains space, use the file name as service ID. In this way, the log file name will match with the service file name.
2025-08-20all: rename suffix Options with ConfigShulhan
Options means optional, while the field in struct may contains mandatory or must not be empty.
2025-08-20all: store the service logs into fileShulhan
2025-08-01all: record and display the history of failed scanShulhan
In the main Reports struct, we record the failed ScanReport in separate slices. Those slices then displayed on the main page under "Fail history" section.
2025-08-01all: limit the history in ServiceReportShulhan
When the service keep scanning longer than let say 1 day, the history of service report keep growing. We did not want this history consume memory, so at one point we need to purge it. This changes limit the maximum history to 120 items.
2025-07-31all: implement worker start and stopShulhan
The start method run all the services scanner in the background and consume the report from it from channel. Each time new report coming it will notify the Server to update the index page body.
2025-07-31all: refactoring web page to render using templateShulhan
Instead of using HTML and JavaScript, generate the web page using template. This minimize number of works we do in the future (creating client in JavaScript and HTTP APIs).
2025-07-29all: refactoring Service to create with ServiceOptionsShulhan
Instead of defining the options in the Service, create it in the ServiceOptions and pass it to NewService function. In this way, we can check it, initialize it, and set default value. The Address option now use URL with scheme, so we can derive the service type based on the scheme, for example "http://" for HTTP based service, "tcp://xxx" for TCP based service, and so on.
2025-07-23wip: implement loading per service configurationShulhan
The service configuration is stored under "$BASE_DIR/etc/lilin/service.d". with ".cfg" as the file extension. The service configuration use INI format.
2025-07-17lilin: simple service monitoringShulhan
lilin is a program to help monitor other services through HTTP, TCP, and UDP connection.