149 Commits

Author SHA1 Message Date
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
Nicolas K.
11a7e68e93 feat(core)!: make tenant id required (#8460)
* feat(core)!: WIP make tenant id required

* feat(core)!: WIP make tenant id required

* test(core)!: WIP fix storage unit test

* build(deps): bump com.google.guava:guava from 33.4.7-jre to 33.4.8-jre

Bumps [com.google.guava:guava](https://github.com/google/guava) from 33.4.7-jre to 33.4.8-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-version: 33.4.8-jre
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): bump io.micronaut.platform:micronaut-platform

Bumps [io.micronaut.platform:micronaut-platform](https://github.com/micronaut-projects/micronaut-platform) from 4.8.0 to 4.8.2.
- [Release notes](https://github.com/micronaut-projects/micronaut-platform/releases)
- [Commits](https://github.com/micronaut-projects/micronaut-platform/compare/v4.8.0...v4.8.2)

---
updated-dependencies:
- dependency-name: io.micronaut.platform:micronaut-platform
  dependency-version: 4.8.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): bump flyingSaucerVersion from 9.11.6 to 9.12.0

Bumps `flyingSaucerVersion` from 9.11.6 to 9.12.0.

Updates `org.xhtmlrenderer:flying-saucer-core` from 9.11.6 to 9.12.0
- [Release notes](https://github.com/flyingsaucerproject/flyingsaucer/releases)
- [Changelog](https://github.com/flyingsaucerproject/flyingsaucer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyingsaucerproject/flyingsaucer/compare/v9.11.6...v9.12.0)

Updates `org.xhtmlrenderer:flying-saucer-pdf` from 9.11.6 to 9.12.0
- [Release notes](https://github.com/flyingsaucerproject/flyingsaucer/releases)
- [Changelog](https://github.com/flyingsaucerproject/flyingsaucer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyingsaucerproject/flyingsaucer/compare/v9.11.6...v9.12.0)

---
updated-dependencies:
- dependency-name: org.xhtmlrenderer:flying-saucer-core
  dependency-version: 9.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.xhtmlrenderer:flying-saucer-pdf
  dependency-version: 9.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): bump software.amazon.awssdk:bom from 2.31.21 to 2.31.25

Bumps software.amazon.awssdk:bom from 2.31.21 to 2.31.25.

---
updated-dependencies:
- dependency-name: software.amazon.awssdk:bom
  dependency-version: 2.31.25
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): bump com.github.oshi:oshi-core from 6.8.0 to 6.8.1

Bumps [com.github.oshi:oshi-core](https://github.com/oshi/oshi) from 6.8.0 to 6.8.1.
- [Release notes](https://github.com/oshi/oshi/releases)
- [Changelog](https://github.com/oshi/oshi/blob/master/CHANGELOG.md)
- [Commits](https://github.com/oshi/oshi/compare/oshi-parent-6.8.0...oshi-parent-6.8.1)

---
updated-dependencies:
- dependency-name: com.github.oshi:oshi-core
  dependency-version: 6.8.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): bump org.opensearch.client:opensearch-java

Bumps [org.opensearch.client:opensearch-java](https://github.com/opensearch-project/opensearch-java) from 2.22.0 to 2.23.0.
- [Release notes](https://github.com/opensearch-project/opensearch-java/releases)
- [Changelog](https://github.com/opensearch-project/opensearch-java/blob/v2.23.0/CHANGELOG.md)
- [Commits](https://github.com/opensearch-project/opensearch-java/compare/v2.22.0...v2.23.0)

---
updated-dependencies:
- dependency-name: org.opensearch.client:opensearch-java
  dependency-version: 2.23.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): bump co.elastic.logging:logback-ecs-encoder

Bumps [co.elastic.logging:logback-ecs-encoder](https://github.com/elastic/ecs-logging-java) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/elastic/ecs-logging-java/releases)
- [Commits](https://github.com/elastic/ecs-logging-java/compare/v1.6.0...v1.7.0)

---
updated-dependencies:
- dependency-name: co.elastic.logging:logback-ecs-encoder
  dependency-version: 1.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* tests(system): isolate SchedulerScheduleTest tests with tenantId

* Feat/storage outputs (#8361)

* feat(executions): Store outputs inside the internal storage (1/2)

* feat(executions): Store outputs inside the internal storage (2/2)

* feat(test): allow passing tenantId to tests

---------

Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>

* chore(deps): regular dependency update (#8484)

Performing a weekly round of dependency updates in the NPM ecosystem to keep everything up to date.

* fix(ui): full view height for single task logs (#8042)

Co-authored-by: Miloš Paunović <paun992@hotmail.com>

* feat: synchronize task edition with editor (#8433)

* fix(controls): adjust bottom position of contorls in multiPanelsEditor (#8465)

* fix(executions): unqueing execution must remove the execution queued

When an execution is queued in the JDBC backend, a record is inserted inside the execution_queued table, we must remove this record when we unqeue an execution.

Fixes #8448

* chore(core): localize to languages other than english (#8485)

Extended localization support by adding translations for multiple languages using English as the base. This enhances accessibility and usability for non-English-speaking users while keeping English as the source reference.

Co-authored-by: GitHub Action <actions@github.com>

* tests(webserver): fix flaky test which could query previous tests tasks

* tests(system): debug flaky error of shouldPauseExecutionByQueryRunningFlows

* tests(system): debug flaky error of shouldPauseExecutionByQueryRunningFlows

* tests(system): try with different task id

* tests(system): bump sleep-short sleep time to 10s

* fix(execution)*: decode and hide nested inputs of type SECRET

Fixes #7964

* refactor(core): pass the dynamic concurrency schema to no code editor (#8488)

There was an issue with passing hard-coded concurrency schema to be rendered in No Code editor, which is now amended and we're passing down the previously fetched one

* chore(deps): update gradle version

* doc(basic.md): add link to configuration for kestra property variables (#8490)

* fix(flows): properly check average duration for dashboard graphs (#8457)

There was a problem on flows view with the main chart not showing proper data until user clicks on duration toggle.

Closes https://github.com/kestra-io/kestra/issues/8435.
Closes https://github.com/kestra-io/kestra-ee/issues/3499.

* docs(core-pause): update pauseDuration properties, titles, descriptions (#8495)

* fix(system): restrict the JdbcConcurrencyLimitService to the JDBC runner

* fix(core): fix indexer metric description (#8500)

* Add examples with expression and trimmed values (#6154)

* chore(ui): improvement to drilldown for Default and Custom Charts. (#7885)

* chore(ui): improvement to drilldown for Default and Custom Charts.

* minor tweak

* test: fix the Barchart stories to test drilldown

---------

Co-authored-by: Bart Ledoux <bledoux@kestra.io>

* fix(ui): restart trigger position for backfill column (#8246)

Co-authored-by: Miloš Paunović <paun992@hotmail.com>
Co-authored-by: Barthélémy Ledoux <ledouxb@me.com>
Co-authored-by: Bart Ledoux <bledoux@kestra.io>

* feat(plugin): add a way to provide additional type of plugins

Provide a way for plugins to define a new type of plugins.
To do that, a plugin must provide both an abstract base class that extends AdditionalPlugin and a set of concret classes.
Both the abstract base class and the concrete classes mut be inside the same plugin. This is a limitation that we may work on later by providing, for example, an SPI to add base classes to the application classloader.

* fix(ui): save existing flow after making changes (#8378)

Co-authored-by: Barthélémy Ledoux <ledouxb@me.com>

* fix(core): failing DocumentationGeneratorTest.returnDoc()

* chore(core): refactor  component to composition API  structure and with some styling (#8504)

* feat(flows): add validation for use of inputs and outputs with '-' in the name (#8379)

* test(core): fix breaking change in local flow repository (#8517)

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

* feat(system)!: remove the SQLServer runner

Part-of: https://github.com/kestra-io/kestra-ee/issues/3504

* chore(build): add Postgres stat extension

* feat(plugins): add Langchain4J plugins

* chore(system): add warn log when emit logQueue failed (#8432)

* feat(plugins): add Go Script plugin

* fix(jdbc): add service_id index on service_instance table

* chore(flows): improve the blueprints view within the flow editing panels (#7983)

Changes here consist of removing the tags from blueprint view on Multi Panel flow editor, along with couple of other UI improvements.

Closes https://github.com/kestra-io/kestra/issues/7881.

Co-authored-by: Miloš Paunović <paun992@hotmail.com>

* fix(flows): properly load blueprints in multi panel view (#8524)

While using the new Multi Panel view blueprints were not loading properly due to wrong paramtere being sent to action. now that's sorted.

Closes https://github.com/kestra-io/kestra/issues/8523.

* feat(flows): improve the display of array inputs when running an execution (#7953)

This PR is introducing a change of how the `array` inputs are displayed inside the flow run dialog, to be more user-friendly.

Closes https://github.com/kestra-io/kestra/issues/6947.

---------

Co-authored-by: Miloš Paunović <paun992@hotmail.com>

* fix(system): change default config values for liveness

Change kestra.server.liveness.interval from 5s to 10s
to be less agressive on liveness check. Align
other default liveness configs with kafka implementation.

* fix(ui): amend Absolute date filter's looks (#8501)

* chore(core): localize to languages other than english (#8528)

Extended localization support by adding translations for multiple languages using English as the base. This enhances accessibility and usability for non-English-speaking users while keeping English as the source reference.

Co-authored-by: GitHub Action <actions@github.com>

* docs(flow-trigger): add note about no Pebble in conditions

* fix(ui): remove parts of filter using backspace (#8105)

Co-authored-by: Miloš Paunović <paun992@hotmail.com>
Co-authored-by: Barthélémy Ledoux <ledouxb@me.com>

* fix(ui): open link in markdown in other tab. (#8258)

* fix(ui): open link in markdown in other tab.

* chore(core): restrict attribute to external links.

Co-authored-by: Barthélémy Ledoux <ledouxb@me.com>

---------

Co-authored-by: Barthélémy Ledoux <ledouxb@me.com>

* fix(system): load OpenTelemetry lib in the app classloader

Without that, as we have it here, plugins may have class loading issue if they use OpenTelemetry internally (like in the Elasticsearch client).

* feat(ui): Add search in internal docs (#8458)

Co-authored-by: Barthélémy Ledoux <ledouxb@me.com>

* fix(triggers): inject default later inside the Scheduler

Today, as they are injected eagerly, they are done even if no trigger exists.
This is counter-performant, and in case the flow is an error will log each seconds.
Doing it a little later will be better.

* build(deps): bump software.amazon.awssdk:bom from 2.31.25 to 2.31.30

Bumps software.amazon.awssdk:bom from 2.31.25 to 2.31.30.

---
updated-dependencies:
- dependency-name: software.amazon.awssdk:bom
  dependency-version: 2.31.30
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): bump org.wiremock:wiremock-jetty12 from 3.12.1 to 3.13.0

Bumps [org.wiremock:wiremock-jetty12](https://github.com/wiremock/wiremock) from 3.12.1 to 3.13.0.
- [Release notes](https://github.com/wiremock/wiremock/releases)
- [Commits](https://github.com/wiremock/wiremock/compare/3.12.1...3.13.0)

---
updated-dependencies:
- dependency-name: org.wiremock:wiremock-jetty12
  dependency-version: 3.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): bump jacksonVersion from 2.18.3 to 2.19.0

Bumps `jacksonVersion` from 2.18.3 to 2.19.0.

Updates `com.fasterxml.jackson:jackson-bom` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson-bom/compare/jackson-bom-2.18.3...jackson-bom-2.19.0)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.18.3...jackson-core-2.19.0)

Updates `com.fasterxml.jackson.core:jackson-databind` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.core:jackson-annotations` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.module:jackson-module-parameter-names` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson-modules-java8/compare/jackson-modules-java8-2.18.3...jackson-modules-java8-2.19.0)

Updates `com.fasterxml.jackson.dataformat:jackson-dataformat-yaml` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson-dataformats-text/compare/jackson-dataformats-text-2.18.3...jackson-dataformats-text-2.19.0)

Updates `com.fasterxml.jackson.dataformat:jackson-dataformat-smile` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson-dataformats-binary/compare/jackson-dataformats-binary-2.18.3...jackson-dataformats-binary-2.19.0)

Updates `com.fasterxml.jackson.dataformat:jackson-dataformat-cbor` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson-dataformats-binary/compare/jackson-dataformats-binary-2.18.3...jackson-dataformats-binary-2.19.0)

Updates `com.fasterxml.jackson.dataformat:jackson-dataformat-ion` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson-dataformat-ion/commits)

Updates `com.fasterxml.jackson.dataformat:jackson-dataformat-xml` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson-dataformat-xml/compare/jackson-dataformat-xml-2.18.3...jackson-dataformat-xml-2.19.0)

Updates `com.fasterxml.jackson.datatype:jackson-datatype-guava` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson-datatypes-collections/compare/jackson-datatypes-collections-2.18.3...jackson-datatypes-collections-2.19.0)

Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.18.3 to 2.19.0

Updates `com.fasterxml.jackson.datatype:jackson-datatype-jdk8` from 2.18.3 to 2.19.0

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson:jackson-bom
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.core:jackson-annotations
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.module:jackson-module-parameter-names
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.dataformat:jackson-dataformat-yaml
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.dataformat:jackson-dataformat-smile
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.dataformat:jackson-dataformat-cbor
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.dataformat:jackson-dataformat-ion
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.dataformat:jackson-dataformat-xml
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-guava
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jsr310
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jdk8
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(execution): update display names for executions. (#8527)

* fix(core): change incorrectly used search parameter (#8534)

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

* fix(ui): set isCreating to false when opening flow edit mode (#8549)

* fix(core): safely access section and identifier query params (#8542)

Co-authored-by: Barthélémy Ledoux <ledouxb@me.com>

* fix(ui): update storybook editor tests with provided keys (#8550)

Co-authored-by: Piyush Bhaskar <102078527+Piyush-r-bhaskar@users.noreply.github.com>

* chore(core): localize to languages other than english (#8554)

Extended localization support by adding translations for multiple languages using English as the base. This enhances accessibility and usability for non-English-speaking users while keeping English as the source reference.

Co-authored-by: GitHub Action <actions@github.com>

* fix(triggers): amend broken filtering on triggers tab (#8553)

There was a problem with both namespace and state filters on Triggers page which is now properly sorted.

Closes https://github.com/kestra-io/kestra/issues/8529.

* chore: attempt to fix flaky tests (#8537)

SingleFlowCommandsTest:

The flow Delete -> Create -> Update sequence is weird - delete got HTTP 404.
Reworked to Create -> Update -> Delete sequence.

PurgeLogsTest:

The log repository contained the prepared single entry but also might
contain additional entries from previously logged messages.

* fix(namespaces): namespaceFiles with same name are wrongly overwritten (#8562)

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

* feat(core): forward execution labels in Flow Trigger

* chore(triggers)*: properly handle switches for triggers disabled from within flow source (#8106)

It was not clear as to which trigger can not be enabled and why. Now, that is much more clear with the proper tooltips and disabling of switch toggling.

Closes https://github.com/kestra-io/kestra/issues/8011.
Closes https://github.com/kestra-io/kestra/issues/5736.

* fix(executions): fix execution failure due to UnsupportedOperationException (#8563)

Fix: #8563

* chore(core): localize to languages other than english (#8568)

Extended localization support by adding translations for multiple languages using English as the base. This enhances accessibility and usability for non-English-speaking users while keeping English as the source reference.

Co-authored-by: GitHub Action <actions@github.com>

* feat(system): add TestSuite model,taskFixture impl

* fix: redirect to edit when saving new flow (#8560)

Co-authored-by: Piyush Bhaskar <102078527+Piyush-r-bhaskar@users.noreply.github.com>

* feat(system)*: decrease defaut JDBC queue poll size

Decreasing it from 100 to 50 didn't show any performance hit but should lower the memory consumption now that we process the queue concurrently in the executor.

## BEFORE - pollSize=100
- 10 tx/s: 150ms
- 25 tx/s: 200ms
- 50 tx/s: 300ms
- 75 tx/s: 5.2s
- 100 tx/s: 15s

## AFTER - pollSize=50
- 10 tx/s: 150ms
- 25 tx/s: 200ms
- 50 tx/s: 300ms
- 75 tx/s: 4.8s
- 100 tx/s: 14s

* feat(flows): Allow to define an onPause task on the Pause task

The onPause task will be executed immediatly when the execution is paused.
Part-of: #3601

* feat(core)!: WIP make tenant id required

* feat(core)!: WIP make tenant id required

* Feat/storage outputs (#8361)

* feat(executions): Store outputs inside the internal storage (1/2)

* feat(executions): Store outputs inside the internal storage (2/2)

* feat(test): allow passing tenantId to tests

---------

Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>

* tests(webserver): fix flaky test which could query previous tests tasks

* feat(executions): Add workerId to each worker task attemps

Closes #7799

* Feat/storage outputs (#8361)

* feat(executions): Store outputs inside the internal storage (1/2)

* feat(executions): Store outputs inside the internal storage (2/2)

* feat(test): allow passing tenantId to tests

---------

Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>

* wip(core): fix unit tests

* test(core): fix unit tests

* test(core): fix unit tests

* test(core): fix unit tests

* feat(core): make tenant id required everywhere

* feat(core): make tenant required in create user command

* feat(core): clean the PR

* feat(core): add tenant id to dashboard controller

* fix(core): tests after merging

* clean(core): fixes after review

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Roman Acevedo <roman.acevedo62@gmail.com>
Co-authored-by: Loïc Mathieu <loikeseke@gmail.com>
Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
Co-authored-by: Piyush Bhaskar <102078527+Piyush-r-bhaskar@users.noreply.github.com>
Co-authored-by: Barthélémy Ledoux <ledouxb@me.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <actions@github.com>
Co-authored-by: AJ Emerich <aemerich@kestra.io>
Co-authored-by: ben8t <46634684+Ben8t@users.noreply.github.com>
Co-authored-by: Bart Ledoux <bledoux@kestra.io>
Co-authored-by: Satvik Kushwaha <59243339+satvik2131@users.noreply.github.com>
Co-authored-by: Karuna Tata <karuna.tata@devrev.ai>
Co-authored-by: Hashim Khalifa <105060840+hashimzs@users.noreply.github.com>
Co-authored-by: lwyang <1670906161@qq.com>
Co-authored-by: 杨利伟 <yangliwei@xiaomi.com>
Co-authored-by: Florian Hussonnois <fhussonnois@kestra.io>
Co-authored-by: yuri <1969yuri1969@gmail.com>
Co-authored-by: AJ Emerich <aj-emerich@proton.me>
Co-authored-by: rajatsingh23 <48049052+rajatsingh23@users.noreply.github.com>
2025-05-19 14:49:10 +02:00
Ludovic DEHON
b2ae2ff6f7 feat(build): fix some sonar alert 2025-04-20 22:23:41 +02:00
Nicolas K.
5285bea930 feat(Unit Tests) #8171 convert hamcrest to assertj (#8276)
* feat(Unit Tests) #8171 convert hamcrest to assertj

* fix(Unit Tests) #8171 failing unit test after assertj migration

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-04-08 15:48:54 +02:00
Florian Hussonnois
8f29a72df7 refactor: add GenericFlow to support un-typed flow deserialization
Add new FlowId, FlowInterface and GenericFlow classes to support
deserialization of flow with un-typed plugins (i.e., tasks, triggers)
in order to inject defaults prior to strongly-typed deserialization.
2025-04-07 17:32:06 +02:00
YannC
593558dd22 fix(runner-memory): delete MemorySchedulerTriggerState back due to cherry-pick 2025-03-06 15:28:29 +01:00
YannC
78bfbf0d5e fix(): align to EE 2025-03-06 14:13:06 +01:00
Ludovic DEHON
6e58b3fe18 refactor(core): move YamlFlowParser to YamlParser
since it's already able to handle all types with generic
2024-11-04 08:19:23 +01:00
Ludovic DEHON
e9f8a8f3c2 feat(core): use a standard logger for unit test 2024-06-21 15:05:57 +02:00
Ludovic DEHON
bd5d5c5758 feat(core): move test utils to a proper package 2024-06-20 22:58:40 +02:00
brian-mulier-p
b15d2cf409 feat(memory): remove memory runner and introduce @KestraTest (#3948) 2024-06-12 19:17:57 +02:00
Florian Hussonnois
bc34aeb16c chore(jdbc): cleanup QueueInterface 2024-06-10 19:01:21 +02:00
Florian Hussonnois
c06938f155 chore(core): remove useless method pause for WorkerJobQueueInterface 2024-06-10 10:15:58 +02:00
Ludovic DEHON
5fd7a2b3a3 feat(cicd): publish allure report 2024-06-08 22:39:14 +02:00
brian.mulier
e6b89ab77c fix(queues): add forUpdate boolean to receive method to allow non-locking receiving 2024-06-05 16:49:25 +02:00
brian.mulier
cc64e526cc fix(core): hold cancellation runnable references to run them upon shutdown 2024-06-05 16:49:25 +02:00
Loïc Mathieu
6aa1a228fa feat(*): rename task defaults as plugin defaults
Fixes #3556
2024-05-21 17:16:26 +02:00
Loïc Mathieu
a313108508 feat(*): move plugin classes to a dedicated package
Fixes #2062

Fixes #2862
2024-05-16 13:55:54 +02:00
Ludovic DEHON
203df2180f feat(core): kill trigger running on worker when updated 2024-04-30 10:01:07 +02:00
Ludovic DEHON
3145e1c71e feat(core): add onResume inputs on Pause tasks (#3640)
close kestra-io/kestra#1581
2024-04-30 09:54:09 +02:00
Florian Hussonnois
4feb91c6fb build(gradle): use gradle configurations for micronaut deps 2024-04-24 16:15:08 +02:00
Florian Hussonnois
56884d5a72 refactor(core): migrate to standard Java ServiceLoader for plugins
Changes:
- add new top level interface `Plugin`
- add new `JsonDeserializer` aware of the `PluginRegistry`
- add new annotation processor for plugin
- migrate to hibernate-validator for the JSR-303 (no bean introspection dependencies)
- update all Validation annotations to be complitant with the JSR-303
- remove all KestraApplicationContext stuffs
- fix some tests

part-of: kestra-io/plugin-template-test#25
part-of: kestra-io/plugin-serdes#103
2024-04-24 16:15:08 +02:00
YannC
3f3ce1ce6b fix(scheduler): better handling of locked triggers (#3603) 2024-04-22 17:01:26 +02:00
Loïc Mathieu
d71ff2b1ee feat(*): skip executions based on flow identifiers
Fixes #3383
2024-04-12 12:30:18 +02:00
YannC
e58ff958a0 feat(core): retry flowable (#3473)
* feat(core): retry flowable

* feat(core): migrate retry memory runner test to jdbc/kafka runner test

* feat(core): memory executor delayType use
2024-04-08 16:43:21 +02:00
YannC
81f281e92b feat(): retry-flow (#3392)
* feat(): retry-flow

* fix: rename behavior

* feat: created a metadata props for executions

* fix(ui): translate + new metadata prop
2024-04-03 15:42:39 +02:00
Loïc Mathieu
41ade3eb90 fix(core): declare the FlowExecutor as a bean (#3389) 2024-04-02 08:45:02 +02:00
Florian Hussonnois
5e48602477 chore(core): fix bean lifecycle to properly handle context close (#3318)
Fix: #3318
2024-03-27 14:17:16 +01:00
YannC
96f1eef502 feat(): retry revamp (#3322)
* feat(): init revamp

* feat(): first working iteration

* feat(): first working iteration

* feat(): cleanup code

* feat(): correct implem of new retrying state

* feat(): memoryExecutor + handle errors

* fix(core): handle allow failure

* fix(): better coverage + change random

* fix: review changes

* fix: prevent flow from continuing while retrying
2024-03-25 10:35:45 +01:00
Florian Hussonnois
015659ae1b feat(core): enhance Kestra services liveness mechanism
part-of: #3055
2024-03-18 17:11:00 +01:00
Loïc Mathieu
17a2541486 feat: ForEachItem as a flowable
Splitting the file can take a lot of time and need access to the internal storage.
That's why it should be done on the Worker.
A clever way to do this is to transform it as a Flowable task that will generates tasks to split the items, generates the execution , then merge the outputs.
2024-02-28 17:17:48 +01:00
YannC
6482a4f63a feat(): new execution date property (#2793)
Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2024-02-09 09:09:32 +01:00
Florian Hussonnois
8ce499a8dc feat(core): allow flow to define and expose outputs (#2133) 2024-01-29 17:28:36 +01:00
Loïc Mathieu
17aea6e05a feat(*): improve closing of the queue and the server components 2024-01-29 16:05:24 +01:00
Loïc Mathieu
5cc33c90f3 fix(core): rename test application.yml to application-test.yml (#2225) 2024-01-15 11:07:11 +01:00
Loïc Mathieu
0ac8cdc0e3 chore(*): refactoring of subflow 2024-01-10 14:21:54 +01:00
Loïc Mathieu
715ed8eb02 fix(core): mark the execution as killing to avoid ghost execution (#2586)
Fixes #309
2023-12-15 21:51:03 +01:00
Loïc Mathieu
2450c6d59a feat(jdbc,runner-memory): send a FAILED worker task result when we cannot create it from the executable task 2023-12-12 10:54:28 +01:00
Loïc Mathieu
fca0030f0f fix(worker): worker execution result (#2616)
* fix(core, jdbc, runner-memory): set Executable taskrun to RUNNING earlier

Or RUNNING will be set when the subflow is RUNNING and when it is terminated erasing previous RUNNING start date.

* fix(core): avoid duplicate state change in the Flow task
2023-11-30 21:09:32 +01:00
Loïc Mathieu
379133c0f7 feat(core): allowFailure at the task level for flowable tasks 2023-11-23 13:06:36 +01:00
YannC
16d38a13ff feat(ui); foreachItem progress bar 2023-11-10 16:54:15 +01:00
Loïc Mathieu
8143660381 feat(*): send a worker task result for each subflow creation and termination 2023-11-10 16:54:15 +01:00
Loïc Mathieu
a570cc675b feat(core): ForEachItem task (#2359)
close kestra-io/kestra#2131
2023-11-03 09:33:04 +01:00
Loïc Mathieu
119db01b56 feat(core): multi-tenancy in the multipleconditions storage (#2427) 2023-11-02 22:06:33 +01:00
Loïc Mathieu
16e54fcbe3 fix(jdbc,runner-memory): worker task execution has already been created if we don't wait on a flow task 2023-11-02 12:03:48 +01:00
Loïc Mathieu
f0023e2e84 fix(core): there can be multiple ExecutionDelay in an execution (#2258)
there can be multiple ExecutionDelay in an execution, so we must have an UID that contains both the executionId and the taskRunId as key.

close #1223
2023-10-26 08:43:53 +02:00
Loïc Mathieu
0dc270d6c2 feat(core): multi tenant (#2217) 2023-10-12 14:40:38 +02:00
YannC
9af64102b0 fix(jdbc): handle trigger in jdbc heartbeat/resubmit (#2240)
This fix follow the JDBC heartbeat & task resubmit feature recently released in the 0.12
2023-10-11 10:41:20 +02:00
YannC
c9e6145fc2 feat(core): zombie worker task detection & automatic resubmission (#2081)
close kestra-io/kestra#2055
2023-09-28 14:36:20 +02:00
Loïc Mathieu
3c0104abc7 feat(core): make the queue fault tolerant (#1981) 2023-09-05 15:32:10 +02:00