~shulhan/awwan

Release awwan v0.12.1 (2024-04-05)

This release replace module "share" with "pakakeh.go".

In the "_wui", we use shared static assets from Cloud Storage.
The idea is to minimize noise in the logs that does not related to page
access and minimize binary size.

In the "_ops", we use shared mkosi cache in user’s home ".cache".
This is to minimize duplicate files and allow us to find or grep files
without excluding certains directory.

We also apply some recommendations from linters.
all: comply with linter recommendations
all: update module "pakakeh.go" to latest release
_ops: use shared mkosi cache in user's home ".cache"

This is to minimize duplicate files and allow us to find or grep files
without excluding certains directory.
_wui: use shared static assets from Cloud Storage

The idea is to minimize noise in the logs that does not related to
page access and minimize binary size.
all: replace module "share" with "pakakeh.go"

The "share" project has been moved to SourceHut with new name
"pakakeh.go".
Release awwan v0.12.0 (2024-02-08)

=== Breaking changes

* all: refactoring "env-set" arguments

  Previously, the "env-set" take the file argument as the last argument
  and optional.
  This changes move the file argument to the first argument so the bash
  completion can detect and print the completion for list of keys.

  While at it, fix handling key with quoted in EnvSet and EnvGet.

* all: refactoring env-get command

  This changes the order of arguments of env-get command to pass the
  directory first before the key.
  The reason is to simplify auto-completion later from the command line.

=== New features

* all: add command env-keys

  The "env-keys" command print list of environment variables under a
  directory.
  This command is internal, not documented, used by bash completion.

* all: add bash completion script

  Using awwan from CLI now can automatically complete the arguments based on
  the command and current parameter number.
go.mod: update share module
bash-completion: add completion for range in local and play argument

When user type the "local" or "play" command and the current input is
the range, read the script file and print each line prefixed with line
number.

Implements: https://todo.sr.ht/~shulhan/awwan/10
completions: enable completion on first parameter in local and play

The first parameter of "local" and "play" command is the path to file
to execute.
all: refactoring "env-set" arguments

Previously, the "env-set" take the file argument as the last argument
and optional.
This changes move the file argument to the first argument so the bash
completion can detect and print the completion for list of keys.

While at it, fix handling key with quoted in EnvSet and EnvGet.

Closes: https://todo.sr.ht/~shulhan/awwan/10
bash-completion: use command env-keys to show completion for env-get

After the env-get first parameter is filled, the file or directory,
we can show possible completion for the second parameter by printing
all keys under the path.

References: https://todo.sr.ht/~shulhan/awwan/10
all: add command env-keys

The "env-keys" command print list of environment variables under a
directory.
This command is internal, not documented, used by bash completion.
all: refactoring env-get command

This changes the order of arguments of env-get command to pass the
directory first before the key.
The reason is to simplify auto-completion later from the command line.
all: add bash completion script

While at it, set the AUR architecture to 'any' since Go can be build
on all ArchLinux supported architecture; and update the url variable
to official awwan website.

References: https://todo.sr.ht/~shulhan/awwan/10
internal: update memfs for www-awwan and wui
Release awwan v0.11.0 (2024-01-06)

In this release we create https://tour.awwan.org where user can try and
learn awwan using step-by-step tutorial.

In the web-user interface (WUI) we add functionality to stop the local or
SSH execution.

=== Breaking changes

* all: make the magic line "#put:" use explicit source for encrypted file

=== New features

* _wui: implement button to stop execution
* all: implement HTTP API to stop local or play execution

=== Bug fixes

* all: check script file is a directory
* all: fix panic due to out of range when running "#require" statement

=== Enhancements

* all: delete the execution response and context cancellation on finished
* all: change the remote temporary directory to "~/.cache/awwan"
go.mod: update all dependencies
go.mod: update share module

The update on share module fix several issues in "lib/ssh/config".
Including,

* Fix on SSH Config the default values.
  Using Host with different Port now working as expected.

* Refactoring the Config merge.
  Using IdentityFile or UserKnownHostsFile with relative path in
  ".ssh/config", for example

    UserKnownHostsFile known_hosts

  will now load the known_hosts in the same directory as config file.
_ops/tour: enable and start the awwan-tour container

Enablnig them allow the container to auto started when machine started.
Next