aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-02-10Release lilin v0.2.0 (2026-02-10)HEADv0.2.0maindevShulhan
**🪵 all: rename notif field "webhook_url" to "remote_url" These changes is to minimize duplicate field on "notif" section, so different kind of notif can use the same "remote_url" value. **🌱 all: support sending notification to SMTP server (email)** In the main configuration, lilin.cfg, user now can add "notif" section with kind "smtp" to send notification using user's email.
2026-01-22Makefile: add task for build and deploy to internal kilabitShulhan
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-22all: add footer to web pagesShulhan
The footer contains information about the program.
2026-01-21all: implement default down and up templates under section "[default"]Shulhan
To minimize defining the same templates in notification, user can set default down and up templates under the default section.
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-12-27Release lilin v0.1.0 (2025-12-27)v0.1.0Shulhan
This is the first release of lilin project with the following features, * Monitoring HTTP, TCP, UDP services * Sending notification when service up or down through, ** Mattermost incoming webhook
2025-12-27all: update the README and annotate some files using REUSE.tomlShulhan
In the README, we add section on how building the program, the main configuration, and how to monitor the services using configuration. Inside the _www directory, we create doc/ directory that contains symlink to README.md as index.md. This allow us to serve the lilin as page under https://kilabit.info/project/lilin .
2025-12-27go.mod: set minimum Go version 1.24.0 and update all dependenciesShulhan
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-26_www: increase the sid column lengthShulhan
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-28cmd/lilin: add flag to set basedirShulhan
The basedir flag set the working directory where the program will read the configuration and store the logs. By default the basedir is empty, which is equal to "/".
2025-08-28all: close the ServiceReport when testing StoreShulhan
While at it, remove logging on Store.
2025-08-21make: add task to run testing with dev modeShulhan
2025-08-21_www: change the class "name" to "sid"Shulhan
Since we use the service ID, derived from file name, change the class name to sid instead of name.
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: add missing SPDX license headersShulhan
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-07_www: improve the layout a little bitShulhan
Add a background color for section "Service status" and "Down history" to highlight it with other text. Add background color for service that is down in "Service status".
2025-08-06_www: add basic style for status pageShulhan
2025-08-06all: add "-dev" option for running lilinShulhan
The "-dev" flag enable running in development mode, where each refresh will re-read, parse, and execute the template.
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: implement Start and Stop methods on the ServiceShulhan
The Start method start the scanning periodically and send the report to channel reportq. The Stop method stop the periodic scanning. This changes introduces new option Interval in the Service that define the time interval between each scan.
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.