<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lilin/worker.go, branch main</title>
<subtitle>Service monitoring for HTTP and TCP servers.</subtitle>
<id>http://git.kilabit.info/lilin/atom?h=main</id>
<link rel='self' href='http://git.kilabit.info/lilin/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/lilin/'/>
<updated>2026-01-22T07:07:20Z</updated>
<entry>
<title>all: add option to set custom Title on server configuration</title>
<updated>2026-01-22T07:07:20Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-01-22T07:00:27Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/lilin/commit/?id=b20dc5c85b418b7167b3fb7866c7ea9a9fa0a705'/>
<id>urn:sha1:b20dc5c85b418b7167b3fb7866c7ea9a9fa0a705</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>all: support sending notification to SMTP server (email)</title>
<updated>2026-01-20T15:28:36Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-01-20T15:28:36Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/lilin/commit/?id=d0969869954c299c04ea58ab0fda1eba6a0350da'/>
<id>urn:sha1:d0969869954c299c04ea58ab0fda1eba6a0350da</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>all: increase the worker HTTP client timeout</title>
<updated>2025-09-26T08:33:22Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-09-26T08:33:05Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/lilin/commit/?id=2a1ae977a5e68439c97d47fe594d3a7514345166'/>
<id>urn:sha1:2a1ae977a5e68439c97d47fe594d3a7514345166</id>
<content type='text'>
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.

</content>
</entry>
<entry>
<title>all: implement notification using Mattermost incoming webhook</title>
<updated>2025-09-26T06:59:58Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-08-28T18:37:28Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/lilin/commit/?id=62161730b5802c4206f0cc169a744b364576bb74'/>
<id>urn:sha1:62161730b5802c4206f0cc169a744b364576bb74</id>
<content type='text'>
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.

</content>
</entry>
<entry>
<title>all: store the service file name as service ID</title>
<updated>2025-08-20T18:09:31Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-08-20T18:09:31Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/lilin/commit/?id=ea4ba5169e61b17d2e666ab3bae4899346ed08ac'/>
<id>urn:sha1:ea4ba5169e61b17d2e666ab3bae4899346ed08ac</id>
<content type='text'>
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.

</content>
</entry>
<entry>
<title>all: rename suffix Options with Config</title>
<updated>2025-08-20T16:25:17Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-08-20T16:25:17Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/lilin/commit/?id=5b33f2080ccfe3742d60fa769de61f4ff1618bd9'/>
<id>urn:sha1:5b33f2080ccfe3742d60fa769de61f4ff1618bd9</id>
<content type='text'>
Options means optional, while the field in struct may contains
mandatory or must not be empty.

</content>
</entry>
<entry>
<title>all: store the service logs into file</title>
<updated>2025-08-19T19:43:53Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-08-13T11:47:49Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/lilin/commit/?id=f9c0f7d0e73c89b7473b7c0123427b934fcbff65'/>
<id>urn:sha1:f9c0f7d0e73c89b7473b7c0123427b934fcbff65</id>
<content type='text'>
</content>
</entry>
<entry>
<title>all: record and display the history of failed scan</title>
<updated>2025-07-31T19:21:20Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-07-31T19:21:20Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/lilin/commit/?id=5338799c9fa5158031ebae53c6e64254175e7412'/>
<id>urn:sha1:5338799c9fa5158031ebae53c6e64254175e7412</id>
<content type='text'>
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.

</content>
</entry>
<entry>
<title>all: limit the history in ServiceReport</title>
<updated>2025-07-31T17:39:45Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-07-31T15:32:29Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/lilin/commit/?id=5a90a6822fc0d6a0d0d07b4b4583f9dbc20ba0e6'/>
<id>urn:sha1:5a90a6822fc0d6a0d0d07b4b4583f9dbc20ba0e6</id>
<content type='text'>
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.

</content>
</entry>
<entry>
<title>all: implement worker start and stop</title>
<updated>2025-07-31T13:00:28Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-07-31T13:00:28Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/lilin/commit/?id=bec99d46d65c451f18000a7247d3df06765a3894'/>
<id>urn:sha1:bec99d46d65c451f18000a7247d3df06765a3894</id>
<content type='text'>
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.

</content>
</entry>
</feed>
