| Age | Commit message (Collapse) | Author |
|
[NEW FEATURES]
Add option "$noparse" for magic "#put" command.
The "$noparse" option allow copying file without reading and parsing
the input file.
[CHORES]
Fix "reuse lint" warnings due to embedded SPDX annotation.
Fix field alignment on struct Statement.
|
|
In the internal/, fix the "reuse lint" warnings due to embedded SPDX
headers string that contains "\n" considered as invalid.
Realign struct Statement based on fieldaligment check.
|
|
|
|
The "$noparse" option allow copying file without reading and parsing
the input file.
|
|
|
|
This commit also test WebHook on SourceHut.
|
|
|
|
This release mostly chores, updating the dependencies, linters, and fix
on integration testing with mkosi and Arch Linux.
[CHORE]
The default linters now "go vet" and internal/cmd/gocheck.
The gocheck is collection of static Analyzers that are not included in
"go vet" from golang.org/x/tools.
[CHORE]
The replace directive on esbuild and golang.org/x/crypt in go.mod has
been removed.
Maintaining fork is not easy and take a lot of time.
As we seen in crypto fork, we are 10 minor versions behind upstream.
So now we are back to using upstream.
[CHORE]
The integration tests using mkosi and Arch Linux has been fixed and
updated.
|
|
In the mkosi 25.3 the environment variable $MKOSI_UID now using subuid,
which return 0 if we have subuid "<user>:100000:65536".
The mkosi.nspawn is not imported to the build directory, so we need to
copy it from source.
|
|
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.
|
|
|
|
|
|
The latest mkosi use importctl instead of machinectl to import the
image.
There is an issue in mkosi.conf where build with Format=tar always get
compressed using zstd, but importctl unable to import it, so we need
to set CompressOutput=false.
The home directory mode needs to be set to open 0755, because now its
default to 0700, which makes the test failed to read file on others
user's home.
The pacman mirror changes to public one that is always available,
geo.mirror.pkgbuild.com.
The BUG_REPORT_URL in os-release for Arch changes which we need to
modify because its included in the test-container.
|
|
This changes remove the replace module and back to upstream.
Maintaining fork is not easy and take a lot of time.
As we seen in crypto fork, we are 10 minor version behind upstream.
|
|
We are not happy with this linter, it create an illussion of works
rather than fixing real issues.
The golangci-lint does not works on gotip and its become
red herring and subjective rather than correctness.
|
|
=== Chores
* all: replace licensing format to REUSE.toml
Using ".reuse/dep5" has been deprecated since REUSE v3.2.0.
* _wui: update wui submodule URL
The wui submodule has been renamed to "pakakeh.ts".
|
|
The wui submodule has been renamed to "pakakeh.ts".
|
|
Using ".reuse/dep5" has been deprecated since REUSE v3.2.0.
|
|
|
|
Move the local source to the bottom to help use test build on local
easily.
|
|
|
|
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.
|
|
|
|
|
|
This is to minimize duplicate files and allow us to find or grep files
without excluding certains directory.
|
|
The idea is to minimize noise in the logs that does not related to
page access and minimize binary size.
|
|
The "share" project has been moved to SourceHut with new name
"pakakeh.go".
|
|
=== 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.
|
|
|
|
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
|
|
The first parameter of "local" and "play" command is the path to file
to execute.
|
|
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
|
|
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
|
|
The "env-keys" command print list of environment variables under a
directory.
This command is internal, not documented, used by bash completion.
|
|
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.
|
|
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
|
|
|
|
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"
|
|
|
|
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.
|
|
Enablnig them allow the container to auto started when machine started.
|
|
This changes require us to replace golang.org/x/crypto with our fork,
since the [ssh.Session.Run] with context is not available yet in
upstream.
Implements: https://todo.sr.ht/~shulhan/awwan/9
|
|
This update is for security fixes in x/crypto on related to
Prefix Truncation Attack.
|
|
|
|
Once the ExecResponse EndAt is not empty or event queue has been closed,
clear the map that store the execution response and context cancellation
to minimize resources usage.
|
|
The Stop button call "DELETE /awwan/api/execute?id=" with id is the
previous execution ID.
Implements: https://todo.sr.ht/~shulhan/awwan/9
|
|
The HTTP API for stopping execution have the following signature,
DELETE /awwan/api/execute?id=<string>
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
|
|
Passing context allow the command Local or Play to be cancelled when
running in asynchronous mode, in this case when awwan run with WUI.
|
|
This changes we make sure that the passed script path is not a directory
to prevent error when running play with unknown host name.
|
|
|