475 Commits

Author SHA1 Message Date
Loïc Mathieu
dd1e006da3 fix(system): the WatchService should not be null
Using `@Nullable` here hides a configuration issue where watching is enabled but due to mis-configuration (ex: the directory to watch didn't exist) the WatchService cannot be created by Micronaut.

Part-of: https://github.com/kestra-io/kestra/issues/13700
2026-02-02 13:39:28 +01:00
Nicolas K.
22193929ee feat(CLI): improve the error message from FLowSynch command (#14379)
* feat(CLI): improve the error message from FLowSynch command

* feat(CLI): improve the error message from FLowSynch command

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2026-01-30 17:49:23 +01:00
Loïc Mathieu
0a5f915fe4 chore(system): remove unused deleted column in logs and metrics 2026-01-30 11:47:41 +01:00
Nicolas K.
dd757539cd feat(CLI): handle flow update errors with syncFromSource command (#14324)
* feat(CLI): handle flow update errors with syncFromSource command

* feat(CLI): handle flow update errors with syncFromSource command

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2026-01-27 17:43:07 +01:00
YannC
cca1e47891 fix: set default timerange for chart to 24H (#14256) 2026-01-21 15:09:26 +01:00
Florian Hussonnois
2fa3153560 refactor(core): cleanup API and config for namespace
Changes:
* Extract interface from NamespaceService
* Move NamespaceService.issNamespaceExist impl to FlowRepositoryInterface
* Simplify DefaultNamespaceService
* Create new KestraConfig to encapsulate kestra instance config
* Move static methods from NamespaceUtils.asTreee to NamespaceInterface
* Remove NamespaceUtils
2026-01-19 12:12:37 +01:00
Loïc Mathieu
0a95c1dc70 chore(system): deprecate RunnerUtils
TestRunnerUtils should be used in test.
The only usage has been replaced by polling the repository
2026-01-19 11:22:36 +01:00
Karel Krýda
0bd850fdd9 Adapted tests 2026-01-19 11:07:41 +01:00
Karel Krýda
b91c6a3b48 Use multipart for flows validation instead of YAML string body 2026-01-19 11:07:41 +01:00
Karel Krýda
f532e67be9 Use multipart for namespace update instead of YAML string body 2026-01-19 11:07:30 +01:00
Yaroslav Halchenko
2b2d2bbc25 Add codespell support (config, workflow to detect/not fix) and make it fix some typos (#12912)
* Add github action to codespell develop on push and PRs

* Add rudimentary codespell config

* Tune up excludes for codespell

* [DATALAD RUNCMD] chore: run codespell throughout fixing a few typos interactively

=== Do not change lines below ===
{
 "chain": [],
 "cmd": "codespell -w -i 3 -C 4",
 "exit": 0,
 "extra_inputs": [],
 "inputs": [],
 "outputs": [],
 "pwd": "."
}
^^^ Do not change lines above ^^^

* Add inline codespell ignores in a few spots

* [DATALAD RUNCMD] chore: run codespell on two files ignoring our mixed case skips

=== Do not change lines below ===
{
 "chain": [],
 "cmd": "codespell -w core/src/main/java/io/kestra/core/runners/pebble/AbstractIndent.java ui/src/components/logs/linkify.ts",
 "exit": 0,
 "extra_inputs": [],
 "inputs": [],
 "outputs": [
  "core",
  "ui"
 ],
 "pwd": "."
}
^^^ Do not change lines above ^^^

* [DATALAD RUNCMD] chore: run codespell throughout fixing a few  new typos automagically

=== Do not change lines below ===
{
 "chain": [],
 "cmd": "codespell -w",
 "exit": 0,
 "extra_inputs": [],
 "inputs": [],
 "outputs": [],
 "pwd": "."
}
^^^ Do not change lines above ^^^

---------

Co-authored-by: Loïc Mathieu <loikeseke@gmail.com>
2026-01-15 17:42:05 +01:00
YannC
5f39a24bdf fix(cli): avoid checking path existence when migrating ns files (#14020)
* fix(cli): avoid checking path existence when migrating ns files

* fix: avoid local storage to crash if path doesnt exists and just return empty list
2026-01-06 17:12:32 +01:00
Roman Acevedo
ac86de27df test(cli): add retries on PluginInstallCommandTest which relies on maven central 2026-01-06 15:59:32 +01:00
Roman Acevedo
3596ec0d79 test(cli): add error logs when PluginInstallCommandTest CLI fails 2026-01-06 15:59:32 +01:00
Roman Acevedo
00379fd981 test(cli): improve assertions of PluginInstallCommandTest to debug flakyness 2026-01-06 14:14:04 +01:00
yuri
55eb6806bd chore(logs): make start/stop messages clearer 2026-01-05 10:10:48 +01:00
YannC
135a9fcdaa feat: allow to logs all files that are migrated (#13851) 2025-12-29 10:49:32 +01:00
Roman Acevedo
dec1ee4272 test(cli): try to unflaky PluginDocCommandTest.run 2025-12-23 20:23:30 +01:00
Nicolas K.
4784e459d6 feat(CLI): add a new update from flow source CLI (#13760)
* feat(CLI): add a new update from flow source CLI

* feat(CLI): use the repository instead of the webserver

* feat(CLI): change command name to SyncFromSource

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-12-19 09:55:07 +01:00
brian-mulier-p
fe7849d7fe fix(metadata): add system namespace to migrated namespaces (#13419)
closes https://github.com/kestra-io/kestra-ee/issues/6019
2025-12-05 14:01:02 +01:00
Florian Hussonnois
e440c402b4 fix(flows): add flow variables to runContext for checks
Related-to: kestra-io/kestra-ee#5759
2025-12-04 16:13:32 +01:00
brian.mulier
9d21ab4b26 fix(cli): don't throw on ns files migration for ns without files
closes https://github.com/kestra-io/kestra-ee/issues/6019#event-21325612781
2025-12-03 14:32:30 +01:00
brian.mulier
8f3a5058b1 fix(cli): also fetch parent namespaces resources for metadata migration
part of https://github.com/kestra-io/kestra-ee/issues/6019#event-21325612781
2025-12-03 14:32:30 +01:00
brian.mulier
682d258e7b feat(ns-files): add a metadata layer on top for better performance & versioned ns files
part of https://github.com/kestra-io/kestra/issues/5617
2025-12-01 18:13:49 +01:00
brian.mulier
6a111a676c fix(tests): remove @RetryingTest for flaky test 2025-11-27 19:23:17 +01:00
François Delbrayelle
b5323f969c chore: update core plugins icons with new look & feel (#13102) 2025-11-20 16:56:09 +01:00
Loïc Mathieu
1d1a065833 fix(tests): lower termination grace period
If a test mis-behave, for ex starting an execution but not terminating it, as the default termination grace period is 5mn it can take very long time to wait for post-test terminaison.
Switching to a termination grace period of 5s may help.

I also detect that the ExecutionControllerRunner test when launching the test suite, would not properly kill the `sleep-long` flow so waiting for it to complete, or the termination grace period. When a test that use this flow is launched separatly it works properly. As a safety net I reduce the sleep from 5mn to 30s.
2025-11-19 11:58:06 +01:00
brian-mulier-p
816a1bb543 fix(cli): no-args will properly return help (#12980)
closes https://github.com/kestra-io/kestra-ee/issues/5842
2025-11-18 11:23:30 +01:00
Loïc Mathieu
7b05caf934 fix(system): access log configuration
Due to a change in the configuration file, access log configuration was in the wrong sub-document.

Fixes https://github.com/kestra-io/kestra-ee/issues/5670
2025-11-12 15:02:21 +01:00
Ludovic DEHON
5ada578271 feat(cli): add --flow-path on executor to preload some flows
close kestra-io/kestra-ee#5721
2025-11-06 19:24:35 +01:00
brian-mulier-p
98fe1aead2 fix(cli): metadata commands weren't working with external storages (#12743)
closes #12713
2025-11-06 11:47:18 +01:00
YannC
f164cddf7a Fix/sdk changes (#12411) (#12617)
* Fix/sdk changes (#12411)

* fix: kv controller remove namespace check

* clean(API): add query to filter parameter

* fix: flow update not deprecated

* clean(API): add deprecated on open api

* feat: executions annotations for skipping, follow method generation in sdk

* feat: add typing indication to validateTask

* fix(flowController): set correct hidden for json method in

* fix: optional params in delete executions endpoints

* fix: inputs/outputs as object

* change KV schema type to be object

* add back , deprecated = false on flow update, otherwise its marked as deprecated

* Revert "add back , deprecated = false on flow update, otherwise its marked as deprecated"

This reverts commit 3772404b68f14f0a80af9e0adb9952d58e9102b4.

* feat(API): add multipart to openAPI

* feat(API): add multipart to openAPI

* fix: only use plain-text for setKeyValue endpoint

* fix: KV command test

* chore: add multipart vendor annotations for custom generation on SDK

---------

Co-authored-by: YannC. <ycoornaert@kestra.io>
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>

* fix: kv test remove content type

---------

Co-authored-by: Roman Acevedo <roman.acevedo62@gmail.com>
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-11-04 08:37:08 +01:00
brian-mulier-p
bb0e15a2cc fix(cli): avoid resaving existing metadata upon migration (#12607) 2025-11-03 11:16:03 +01:00
brian-mulier-p
3ab6d6a94f feat(cli): have separate commands for KV & secrets metadata migrations (#12585) 2025-11-03 09:33:26 +01:00
Krie
e116186201 feat: make charts default duration configurable, add kestra.ui.charts… (#12599)
* feat: make charts default duration configurable, add kestra.ui.charts.default-duration config parameter (default: PT720H/30 days)

* Update cli/src/main/resources/application.yml

Co-authored-by: YannC <37600690+Skraye@users.noreply.github.com>

* Update ui/src/components/flows/FlowRoot.vue

Co-authored-by: YannC <37600690+Skraye@users.noreply.github.com>

* Update ui/src/routes/routes.js

Co-authored-by: YannC <37600690+Skraye@users.noreply.github.com>

* feat: set P30D instead of PT720H for readability

---------

Co-authored-by: YannC <37600690+Skraye@users.noreply.github.com>
Co-authored-by: YannC. <ycoornaert@kestra.io>
2025-11-03 09:21:39 +01:00
brian.mulier
2b29a36850 fix(kv): get value doesn't need metadata migration
Also purge expired kv in metadata migrate command
2025-10-30 16:57:57 +01:00
brian.mulier
07e90de835 fix(core): CrudEvent should not be done on the repository side for KV 2025-10-30 16:57:57 +01:00
brian.mulier
d9144c8c4f feat(core): introduce KV Metadata in-repository storing (#12342)
part of https://github.com/kestra-io/kestra/issues/12341
2025-10-29 17:18:43 +01:00
brian.mulier
4ed44754ab fix(core): use index by adding deleted everytime in query 2025-10-29 17:18:43 +01:00
brian-mulier-p
2c024c2586 feat: add global secret search controller (#12036)
closes kestra-io/kestra-ee#5130
closes kestra-io/kestra-ee#5132
closes kestra-io/kestra-ee#3476
2025-10-21 19:09:53 +02:00
Roman Acevedo
f347cea28b fix(flows): allow using OSS CLI to deploy EE flows
- fixes https://github.com/kestra-io/kestra-ee/issues/5490
2025-10-21 08:19:50 +02:00
Roman Acevedo
7a0d388ed6 fix(flows): allow using OSS CLI to validate EE flows (#12104)
* fix(flows): allow using OSS CLI to validate EE flows

https://github.com/kestra-io/kestra/pull/12047 was not enough

- fixxes https://github.com/kestra-io/kestra-ee/issues/5455

* f
2025-10-16 19:33:16 +02:00
yuri1969
a4f257b6ea Switch to ServiceRegistry 2025-10-16 08:55:12 +02:00
yuri1969
33628107c3 fix(core): keep web up during graceful shutdown
The `@PreDestroy` hook is triggered very late in the lifecycle.

Started the graceful clean using the global `ShutdownEvent`.
2025-10-16 08:55:12 +02:00
Roman Acevedo
5ec869b1cc fix(flows): allow using OSS CLI to validate EE flows
- fixes https://github.com/kestra-io/kestra-ee/issues/5455
2025-10-16 08:27:04 +02:00
Loïc Mathieu
4a9564be3c fix(system): refactor concurrency limit to use a counter
A counter allow to lock by flow which solves the race when two executions are created at the same time and the executoion_runnings table is empty.

Evaluating concurrency limit on the main executionQueue method also avoid an unexpected behavior where the CREATED execution is processed twice as its status didn't change immediatly when QUEUED.

Closes https://github.com/kestra-io/kestra-ee/issues/4877
2025-10-09 15:39:59 +02:00
yuri
e3b07dc78e chore(webserver): exclude metrics from access log
Do not log metrics requests, such as:

> 2025-10-08 10:16:09,649 INFO  default-nioEventLoopGroup-1-4 io.kestra.webserver.access 2025-10-08T10:16:09.642Z | GET /metrics/jvm.memory.used?tag=area:heap HTTP/1.1 | status: 200 | ip: x.x.x.x | length: 238
2025-10-08 13:07:34 +02:00
Mustafa Tarek
3346f3a3f9 feat(tests): add test coverage for cli commands with no repo config (#11742)
* fix(core): Add warning logs for mismatched (Parent-Subflow) inputs for subflow plugin.

* feat(tests): add test coverage for cli commands with no repository configurations

* refactor(tests): enhance test assertions and namings

* refactor(tests): replace HelloCommand with Namespace KV helper in no-config tests

- Use Namespace KV command (with no params) to verify repo-independent CLI behavior
- Remove HelloCommand usage in NoConfigCommandTest
- Keep FlowCreateCommand case to assert repo-dependent commands fail without config
2025-10-06 15:00:23 +02:00
Nicolas K.
d243ba65e9 fix(tests): add sleep before restarting to make sure the queue is clean (#11597)
* fix(tests): add sleep before restarting to make sure the queue is clean

* fix(tests): add retry on a flaky test

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-09-30 17:07:27 +02:00
Loïc Mathieu
0fce77cc8d chore(system): move the SkipExecution service to the services package
It was there before so it will be easier to backport the change if it moves there.
2025-09-30 11:46:20 +02:00