<feed xmlns='http://www.w3.org/2005/Atom'>
<title>awwan/http_server_test.go, branch dev</title>
<subtitle>Configuration management software, scriptable shell with SSH support.</subtitle>
<id>http://git.kilabit.info/awwan/atom?h=dev</id>
<link rel='self' href='http://git.kilabit.info/awwan/atom?h=dev'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/'/>
<updated>2026-02-11T18:29:15Z</updated>
<entry>
<title>all: change Serve parameters to struct `ServeOptions`</title>
<updated>2026-02-11T18:29:15Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-02-11T17:17:29Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=ff5a7ecdb8aa0ccfe4bd4f71648e7254e470c930'/>
<id>urn:sha1:ff5a7ecdb8aa0ccfe4bd4f71648e7254e470c930</id>
<content type='text'>
In case we needs to add another parameter, which will do later, the
argument will be too long.
Using parameters is acceptable only for 2 to 3 arguments.
</content>
</entry>
<entry>
<title>all: improve the Server-Sent Events (SSE) output</title>
<updated>2026-02-06T00:08:29Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-02-06T00:08:29Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=54d395f53e344a3cf3861c0e3d2f82ad14ecc602'/>
<id>urn:sha1:54d395f53e344a3cf3861c0e3d2f82ad14ecc602</id>
<content type='text'>
In the ExecResponse, store the event in the Output instead of message
data, so the server can iterate the Output directly and pass it to
WriteEvent directly.

The event ID now start at 1 with type "begin".
This is to minimize confusion when comparing empty Last-Event-ID from
client, which is equal to 0.
</content>
</entry>
<entry>
<title>cmd/awwan: implement socket based activation on serve command</title>
<updated>2026-02-03T10:51:15Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-02-02T15:31:42Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=7e7ed646e2c3db2404b628e5e8b5584b9de0ff60'/>
<id>urn:sha1:7e7ed646e2c3db2404b628e5e8b5584b9de0ff60</id>
<content type='text'>
The "awwan serve" command now can run based on socket activation under
systemd.
</content>
</entry>
<entry>
<title>internal/cmd/gocheck: internal linters</title>
<updated>2025-02-07T16:43:20Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-02-07T16:43:09Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=49e7143dbad57a48115fdd299b42ab8e66f6d7cc'/>
<id>urn:sha1:49e7143dbad57a48115fdd299b42ab8e66f6d7cc</id>
<content type='text'>
The fieldalignment and shadow is a linter from golang.org/x/tools.
This program actually have an API that can be used.
The pakakeh.go/lib/goanalysis wrap those APIs into a single function
call that can be run inside a main.
This minimize and simplified our tools dependencies.
</content>
</entry>
<entry>
<title>all: comply with linter recommendations</title>
<updated>2024-04-05T18:53:49Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-04-05T18:53:49Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=490dcc6ec98d065a7b1a81016adae13e11454984'/>
<id>urn:sha1:490dcc6ec98d065a7b1a81016adae13e11454984</id>
<content type='text'>
</content>
</entry>
<entry>
<title>all: replace module "share" with "pakakeh.go"</title>
<updated>2024-03-22T13:12:34Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-03-22T13:11:57Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=62bf073d3d5b55a7e76cf5d9cebefdc9c00cbcee'/>
<id>urn:sha1:62bf073d3d5b55a7e76cf5d9cebefdc9c00cbcee</id>
<content type='text'>
The "share" project has been moved to SourceHut with new name
"pakakeh.go".
</content>
</entry>
<entry>
<title>all: implement HTTP API to stop local or play execution</title>
<updated>2023-12-21T20:08:04Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-12-21T19:57:21Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=aa64efe9e8957da6c122f9decaaa78dca83d14ee'/>
<id>urn:sha1:aa64efe9e8957da6c122f9decaaa78dca83d14ee</id>
<content type='text'>
The HTTP API for stopping execution have the following signature,

	DELETE /awwan/api/execute?id=&lt;string&gt;

If the ID is exist, the execution will be cancelled and return HTTP
status 200 with the following body,

	Content-Type: application/json
	{
		"code": 200,
	}

Otherwise it will return HTTP status 404 with error message.

References: https://todo.sr.ht/~shulhan/awwan/9
</content>
</entry>
<entry>
<title>all: changes based on reports from linter revive</title>
<updated>2023-12-14T13:23:47Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-12-09T20:23:02Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=f1bcd6e27e9cbf541b9f6d76944bb491aede370a'/>
<id>urn:sha1:f1bcd6e27e9cbf541b9f6d76944bb491aede370a</id>
<content type='text'>
Better to fix and follow the reported warnings rather than adding
configuration file to add an exception.
</content>
</entry>
<entry>
<title>all: write the output as is when sending with server-sent events</title>
<updated>2023-12-03T17:20:30Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-12-02T17:38:56Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=775af78cc6c8ebe9e258b81dd9442bbe6b8b36d4'/>
<id>urn:sha1:775af78cc6c8ebe9e258b81dd9442bbe6b8b36d4</id>
<content type='text'>
Previously, if the command output is "line1\n\nline2\n", the web output
it as

  line1
  line2

it should be

  line1

  line2

This fix the empty line not displayed in wui output.
</content>
</entry>
<entry>
<title>all: implement HTTP API to fetch execution output by ID</title>
<updated>2023-12-01T06:17:30Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-11-26T14:44:10Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=d46473cf2d8b224443352c6d5f617a64312af793'/>
<id>urn:sha1:d46473cf2d8b224443352c6d5f617a64312af793</id>
<content type='text'>
The new API is "GET /awwan/api/execute/tail" that implement Server-sent
events, not a normal GET request.
Its accept the query parameter "id" with value is the execution ID
from "/awwan/api/execute".

Once called with valid ID, it will streaming the command output
to client.

By using this new API, the WUI can receive the output of command
immediately without waiting for all commands to be completed.

Implements: https://todo.sr.ht/~shulhan/awwan/5
Signed-off-by: Shulhan &lt;ms@kilabit.info&gt;
</content>
</entry>
</feed>
