~shulhan/karajo

v0.9.3 a month ago .tar.gz browse log

Release karajo v0.9.3 (2024-12-08)

=== Bug fixes

* env: fix missing ini tag on IsDevelopment field::

* all: fix permission of "/srv/karajo"::

  The content of directory "/srv/karajo" may contains files served to
  public, even internal, so it should be accesible by other user or
  group.

=== Enhancements

* all: return and show the current version in API environment and main
  page

* all: set the module Version during build

  The Version information is derived from latest tag and commit hash.
  This allow command "karajo version" and user interface show on which
  version its currently run.

v0.9.2 4 months ago .tar.gz browse log

Release karajo v0.9.2 (2024-09-08)

=== Bug fix

* make: fix file permissions when installing public index.html

  Using 0640 (where user and group owner set to root) cause karajo
  service—that run as karajo user—unable to read the file.

v0.9.1 9 months ago .tar.gz browse log

Release karajo v0.9.1 (2024-04-06)

This release mostly contains chores.

* env: remove [rand.Seed] usage

  The [ascii.Random] generate random using "crypto/rand", so no need
  to seed it anymore.

* all: replace module "share" with "pakakeh.go"

  The "share" module repository has been moved to SourceHut, with new
  name "pakakeh.go".

v0.9.0 11 months ago .tar.gz browse log

Release karajo v0.9.0 (2024-02-08)

=== Breaking changes

* all: refactoring JobExec APIs to have "_exec" suffix

  In JobHttp, we have "_http" suffix for its HTTP APIs.
  To make it consistent we changes the HTTP API path to have "_exec" suffix.

* all: apply default revive suggestions

  I prefer zero configuration rather that creating exclusions,
  like "revive.toml" file that we have earlier, even thought it will cause
  breaking changes to our APIs.

  Some breaking changes, [Env.HttpJobs] become [Env.HTTPJobs]
  [Env.HttpTimeout] become [Env.HTTPTimeout],
  [Env.HttpJobs] become [Env.HTTPJobs], and many more.

=== New features

* all: implement API to cancel running job

  In the JobBase we add method Cancel to cancel running JobExec or JobHTTP.
  In the HTTP server, we add endpoint "POST /karajo/api/job_exec/cancel"
  to cancel JobExec by its ID.

  Implements: https://todo.sr.ht/~shulhan/karajo/1

=== Enhancements

* all: export the HTTP server field in Karajo

  By exporting the HTTP server field, user of Karajo can register
  additional HTTP endpoints without creating new HTTP server instance.

=== Bug fixes

* all: always call finish even if the job is paused

  This is to make the [JobBase.NextRun] always set to next interval or
  schedule.

  Fixes: https://todo.sr.ht/~shulhan/karajo/2

* _sys: set systemd unit to start after network.target

  This is to fix karajo failed to start because the DNS has not working
  yet when initializing email notification.

v0.8.0 1 year, 2 months ago .tar.gz browse log

Release karajo v0.8.0 (2023-11-10)

=== New features

* all: implement notification using email

  Karajo server now support sending notification when the job success or
  failed with inline log inside the email body.

=== Breaking changes

* all: change the JobHttp log to use the same as Job

  Previously, the JobHttp use single file for log with limited size.
  The way it works is quite complex, we need to maintain one file and
  a buffer that able to truncate the log if its reached its max size.
  We also need to store the job state in separate file.

  In this changes, we replace the JobHttp log mechanism to use the same
  as Job, where each execution will be log separately. Not only this
  give us less complex code, it also remove some duplicate code.

  In the HTTP API we changes the path to get the JobHttp log to match
  with Job path.

=== Bug fixes

* all: fix the HTTP API to get the Job log

  The loop set job to non-nil if the Job ID not found, which may
  return the wrong Job log.

* all: changes the HTTP response code for a success JobExec run to 200

  Previously, in the HTTP endpoint for running a job, we return HTTP
  status code 202 (Accepted) on success, but in the WUI we check using
  200 (OK).

  This changes fix this by return HTTP status code 200 to make it
  consistent with other endpoints.

v0.7.0 1 year, 8 months ago .tar.gz browse log

Release karajo v0.7.0 (2023-05-10)

This release add login feature to Karajo using user name and password
that are pre-defined in the user.conf.

=== Breaking changes

* all: remove MaxRunning and NumRunning from JobBase

=== New features

* all: implement login page

=== Bug fixes

* all: fix possible lock on API environment

===  Enhancements

* all: changes on how the job queued using channel

v0.6.0 1 year, 10 months ago .tar.gz browse log

Release karajo v0.6.0 (2023-03-04)

This release add Job scheduler, Job as WebHook, loading Job and JobHttp
configuration from directory, and HTTP APIs for pausing and resuming
Job.

=== Breaking changes

* all: change the API path to execute Job

===  New features

* all: implement job timer with Scheduler
* all: implement Job auth_kind
* all: implement loading JobHTTP configuration from separate
  directory
* all: implement loading Job configuration from separate directory
* all: implement HTTP API to resume the job execution
* all: implement HTTP API to pause a job
* all: implement interval based Hook

=== Enhancements

* all: set default DirBase to "/"
* all: implement UI to trigger hook manually

=== Bug fixes

* all: fix double checking for isPaused
* _www/karajo: fix UI rendering empty hook and with status "Running"

=== Chores

* _AUR: add package builder script for Arch Linux

v0.5.0 2 years ago .tar.gz browse log

Release karajo v0.5.0 (2022-08-10)

This release add auto-refresh when viewing hook's log, add options to
customized hook header signature, and option to set maximum hook running at
the same time.

v0.4.0 2 years ago .tar.gz browse log

Release karajo v0.4.0 (2022-07-10)

Highlights on this release,

* Set minimum Go version to 1.17.
* Introduce Hook, a HTTP endpoint that execute commands; reverse of Job.
* Refactoring Environment.
  Karajo now run under DirBase where all Hook and Job logs, state stored.
* Refactoring Job configuration.
* Improve web user interface (WUI) refresh mechanism.
* Add authorization to Job APIs using secret and signature mechanism.

v0.3.0 2 years ago .tar.gz browse log

Release karajo v0.3.0 (2022-03-12)

This release change the license of karajo software to GPL 3.0 or later.

See https://kilabit.info/journal/2022/gpl/ for more information.
1 / 2