aboutsummaryrefslogtreecommitdiff
path: root/internal
AgeCommit message (Collapse)Author
2026-02-04cmd/gorankusu: implement socket based activation with systemdHEADmaindevShulhan
The internal/cmd/gorankusu now can run using systemd.socket(5).
2025-02-03all: replace external linters with internalShulhan
The fieldalignment and shadow is linter from golang.org/x/tools. This linters actually have an API that can be combined into a program, which provided by package "pakakeh.go/lib/goanalysis".
2025-02-03internal/cmd: use different port for local developmentShulhan
The previous port, 10007, is used for local deployment in my home PC. When we run the test it may cause port conflicts with it.
2025-02-03all: split the CSS into separate fileShulhan
Instead of inside the index.html split the CSS so we can modify them without touching the HTML.
2025-02-03all: update all dependenciesShulhan
2025-02-03cmd/gorankusu: add flags to set HTTP address and development modeShulhan
The flag "dev" is boolean that when set will run service in development mode, watching the adoc and ts files. The flag "http" is string that set the HTTP listen address.
2024-10-07_www: rename submodule "wui" to "pakakeh_ts"Shulhan
2024-10-07all: update dependenciesShulhan
This include updating the git submodule on pakakeh.ts.
2024-04-23internal/cmd/gorankusu: convert documentation to HTML on "build"Shulhan
2024-03-05all: replace module "share" with "pakakeh.go"Shulhan
2024-02-21all: move reading GORANKUSU_DEV environment to [Environment.IsDevelopment]Shulhan
2024-02-21all: add parameter to use custom listen address in NewExampleShulhan
This will allow running Example server with "make dev" and the test with "make" or "make test" at the same time.
2024-02-15all: move example to root directoryShulhan
The goal is to remove duplicate code in testing and show the example on how to create Gorankusu service from godoc. Implements: https://todo.sr.ht/~shulhan/gorankusu/5
2024-02-07all: rename the project to gorankusuShulhan
The original idea of "trunks" is because the core library that we use for load testing is named "vegeta" (from Dragon Ball) [1][2], and Vegeta has a son named Trunks. In English, trunks also have multiple meanings. In order to have a unique name, we rename the project to "gorankusu", which is a combination of "go" (the main programming language that built the application) and "torankusu" the Hepburn of "Trunks". [1]: https://github.com/tsenart/vegeta/ [2]: https://en.wikipedia.org/wiki/Vegeta Implements: https://todo.sr.ht/~shulhan/gorankusu/2
2024-01-25internal/cmd/trunks: fix command to run TypeScript compilerShulhan
The correct options to run tsc on specific directory is "--project" not "-b".
2023-11-11_www: setup eslint for linting TypeScript filesShulhan
2023-05-16all: move the _doc directory under _wwwShulhan
This is to minimize symlinks in the repository.
2022-08-25all: group all documentations under directory _docShulhan
The _doc directory provides an entry point for all documentation. While at it we reformat the README to use AsciiDoc markup.
2022-08-21all: remove trailing new line on each mlog formatShulhan
The mlog functions automatically add new line to each format, so we did not need to add it manually.
2022-08-21go.mod: set minimum Go to 1.18 and update all dependenciesShulhan
This changes replace any usage of ioutil with os and io package.
2022-03-14all: changes the license of trunks software to GPL 3.0 or laterShulhan
See https://kilabit.info/journal/2022/gpl for more information.
2021-12-06go.mod: update to latest share moduleShulhan
This changes update on how memfs initialized and GoEmbed called.
2021-10-19cmd/trunks: update the node when changes on .js and .html filesShulhan
When the worker build received an update to .js or .html files, we run the Node.Update method on affected node to fetch their latest content. This is to allow the task to embed files, generate the latest content.
2021-10-18all: rename internal/cmd/trunks-example to internal/cmd/trunksShulhan
The internal/cmd/trunks-example is not run and provide an example only now, its include the workers to build, recompile, re-embeded files.
2021-10-17all: merge all workers for related to development to internal/cmdShulhan
Previously, we have a workers to recompile TypeScript and regenerate HTML files from adoc inside the Trunks type. The workers will run if the environment variable TRUNKS_DEV set to non-zero. This changes move those workers to the internal/cmd/trunks-example, because those workers are related for development only not for running Trunks server.
2021-10-17all: move the main program for example to internal/cmd/trunks-exampleShulhan
The "cmd" directory on module should be reserved for installable program that can be executed outside of this repository. The trunks-example is development server should be run on root of this repository only, not installable to $GOBIN.
2021-10-11go.mod: update to latest share and ciigo moduleShulhan
Changes, * share: fix the HTTP caching using ETag on the server * share: rename the terminology to generate Go source code to "embed" * ciigo: check markup modification time before converting to HTML
2021-09-27all: implement WebSocket APIShulhan
The WebSocket API replace the HTTP APIs for running and canceling attack. Later, it will use to notify the result of attack.
2021-09-25all: simplify development on trunks-exampleShulhan
Previously to developer and test trunks on local we need to run "tsc -w" on directory _www to watch and recompile any changes to TypeScript files, and run "go run ./cmd/trunks-example" to view the Trunks web interface. Since we will have internal documentation inside _www/docs, we need to run another ciigo server that watch any changes to .adoc files and convert it to HTML. Three separate commands for development. This changes refactoring the development process by running two goroutines when TRUNKS_DEV environment variable is set to non-empty. One goroutine watch any changes to TypeScript, HTML, and tsconfig files inside the _www, and when there is an update it will execute "tsc -p" to recompile and "go run ./internal/generate-memfs" to embed them into Go source. Another goroutine watch any changes to .adoc files inside "_www/docs" directory and convert them into HTML files. This goroutine will running in the background while the HTTP server is running too.
2021-09-18www: refactoring using TypeScript and wui libraryShulhan
Previously, the web user interface is written in pure, single JavaScript file. The LOC is short but its become hard to maintenance, especially when there is a change in HTML layout or on the response format. This changes rewrite the interface to use TypeScript in order to easily maintenance. The generated JavaScript is loaded using module [1]. [1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules
2021-04-09all: add task to generate embedded files in _wwwShulhan
The content of _www directory is required to run the trunks as library.