Compare commits

...

5490 Commits

Author SHA1 Message Date
Loïc Mathieu
911cd47fe6 feat(flow): EmbeddedFlow task
Adds an EmbeddedFlow that allow to embed subflow tasks into a parent tasks.

Fixes #6518
2025-04-14 17:02:21 +02:00
dependabot[bot]
ec7bf52e08 build(deps-dev): bump vite in /ui in the npm_and_yarn group (#8362)
Bumps the npm_and_yarn group in /ui with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.2.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.2.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.2.6
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-14 15:22:09 +02:00
Loïc Mathieu
247594299c feat(system)!: Describe our internal metrics
Add a description to all our internal metrics.

BREAKING CHANGE: the following metrics has been removed:
- executor.taskrun.next.count
- executor.workertaskresult.count

The metric scheduler.execution.running.duration has been renamed to scheduler.execution.lock.duration
2025-04-14 15:17:23 +02:00
Loïc Mathieu
513139976c feat(system): Allow to describe metrics (#1989) 2025-04-14 15:17:23 +02:00
Miloš Paunović
2cab9de57c refactor(namespaces): remove the unused maximize property (#8380)
There is no more need for `maximize` property to be passed for locked tabs, and therefore it's removed in this commit.
2025-04-14 13:55:45 +02:00
dependabot[bot]
cfae13c045 build(deps): bump io.micrometer:micrometer-core from 1.14.5 to 1.14.6
Bumps [io.micrometer:micrometer-core](https://github.com/micrometer-metrics/micrometer) from 1.14.5 to 1.14.6.
- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)
- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.14.5...v1.14.6)

---
updated-dependencies:
- dependency-name: io.micrometer:micrometer-core
  dependency-version: 1.14.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 11:55:59 +02:00
dependabot[bot]
6190f8774a build(deps): bump com.google.guava:guava from 33.4.6-jre to 33.4.7-jre
Bumps [com.google.guava:guava](https://github.com/google/guava) from 33.4.6-jre to 33.4.7-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.7-jre
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 10:55:50 +02:00
dependabot[bot]
b98a0a783d build(deps): bump commons-io:commons-io from 2.18.0 to 2.19.0
Bumps commons-io:commons-io from 2.18.0 to 2.19.0.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 10:10:24 +02:00
dependabot[bot]
3da2dc6257 build(deps): bump flyingSaucerVersion from 9.11.5 to 9.11.6
Bumps `flyingSaucerVersion` from 9.11.5 to 9.11.6.

Updates `org.xhtmlrenderer:flying-saucer-core` from 9.11.5 to 9.11.6
- [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.5...v9.11.6)

Updates `org.xhtmlrenderer:flying-saucer-pdf` from 9.11.5 to 9.11.6
- [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.5...v9.11.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 10:10:06 +02:00
dependabot[bot]
6feb027696 build(deps): bump org.aspectj:aspectjweaver from 1.9.23 to 1.9.24
Bumps [org.aspectj:aspectjweaver](https://github.com/eclipse/org.aspectj) from 1.9.23 to 1.9.24.
- [Release notes](https://github.com/eclipse/org.aspectj/releases)
- [Commits](https://github.com/eclipse/org.aspectj/commits)

---
updated-dependencies:
- dependency-name: org.aspectj:aspectjweaver
  dependency-version: 1.9.24
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 10:09:21 +02:00
dependabot[bot]
83d6095669 build(deps): bump software.amazon.awssdk:bom from 2.31.16 to 2.31.21
Bumps software.amazon.awssdk:bom from 2.31.16 to 2.31.21.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 10:09:02 +02:00
dependabot[bot]
444e3d2a77 build(deps): bump software.amazon.awssdk.crt:aws-crt
Bumps [software.amazon.awssdk.crt:aws-crt](https://github.com/awslabs/aws-crt-java) from 0.37.0 to 0.38.1.
- [Release notes](https://github.com/awslabs/aws-crt-java/releases)
- [Commits](https://github.com/awslabs/aws-crt-java/compare/v0.37.0...v0.38.1)

---
updated-dependencies:
- dependency-name: software.amazon.awssdk.crt:aws-crt
  dependency-version: 0.38.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 10:08:28 +02:00
Satvik Kushwaha
752405ac78 fix(flows)*: amend text color problem in no code editor on firefox (#8367)
There was an issue with title color of tasks on the `No Code` editor (which stayed dark no matter the mode selected), but only viewed in `Firefox` browser. That is sorted out with this pull request.

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

Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-04-14 09:35:39 +02:00
Miloš Paunović
860c1b218c feat(core)*: allow closing all tabs at once in a single panel (#8360)
Adds the ability to close all tabs in a single panel with a single click, improving usability and eliminating the need to close each tab individually.

Closes https://github.com/kestra-io/kestra/issues/8273.
2025-04-11 15:14:04 +02:00
Barthélémy Ledoux
0bd017556a fix(ui): command array should display properly in no-code (#8349) 2025-04-11 14:47:17 +02:00
Miloš Paunović
63ec5cab27 build(core): update commit message and description for translation-related pull requests (#8358)
This change updates the commit message and description generated by the translation CI process to be more descriptive and consistent with our commit conventions. It improves the clarity and traceability of automated translation updates in the commit history.
2025-04-11 14:38:31 +02:00
brian-mulier-p
e73f15a538 fix(core): bring back documentation on some plugins (#8354)
swagger is now resolved from Kestra classpath

closes #8265
2025-04-11 13:00:53 +02:00
github-actions[bot]
f871fa838e chore(translations)*: localize to languages other than english (#8353) 2025-04-11 12:11:38 +02:00
Miloš Paunović
c2028759e4 feat(core)*: introduce a dropdown menu for each panel (#8351)
This is the initial work to support the two related issues mentioned above, which is introducing the context menu for each tab panel, which will give us the place to list related actions.

Relates to https://github.com/kestra-io/kestra/issues/8272.
Relates to https://github.com/kestra-io/kestra/issues/8273.
2025-04-11 11:56:04 +02:00
Nicolas K.
21d6e0fa62 test(system): rework concurrency paused tests so they actually test t… (#8339)
* test(system): rework concurrency paused tests so they actually test the pause + concurrency behavior

* test(system): Add a flow name check in the queue because kafka queue is not cleaned between tests

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-04-11 11:16:01 +02:00
Bart Ledoux
ab666bff11 test(ui): failing test for autocompletiona after contributor's PR 2025-04-11 09:42:23 +02:00
Miloš Paunović
92c082e2e0 chore(flows)*: hide horizontal scroll on editor based inputs (#8347)
There was always a horizontal scrollbar present at editor compnent when used as input field, which was previously handled for the No Code editor in https://github.com/kestra-io/kestra/pull/8216.

Relates to https://github.com/kestra-io/kestra-ee/issues/3404.
2025-04-11 08:09:22 +02:00
Frank Tianyu Zeng
5a3a54fd57 feat(variables): add missing functions to editor autocompletion (#8245)
closes #7733

---------

Co-authored-by: brian.mulier <bmmulier@hotmail.fr>
2025-04-10 23:32:40 +02:00
Florian Hussonnois
1576051ebb fix(flow): re-enable NotEmpty constraint on property tasks for Sequential 2025-04-10 18:03:35 +02:00
Loïc Mathieu
4ec2a5d064 chore(system): don't emit two time a workertaskresult for RUNNING
We emit a WorkerTaskResult in RUNNING, then create an attempt, emit a new WorkerTaskResult with the attemps and then start running the task.
We can only emit one time a WorkerTaskResult as the second would be emitted microseconds after so it's just noise.
2025-04-10 18:02:42 +02:00
Florian Hussonnois
846e20a100 fix(flow): enhance error handling when injecting plugin defaults
Add a new checked exception FlowProcessingException to enhance error
handling when parsing, validating a flow, and injecting plugin defaults.

Related-to: #7894
2025-04-10 17:13:40 +02:00
Barthélémy Ledoux
433a332123 feat: use TaskTasks.vue to show subtask (#8332) 2025-04-10 16:59:10 +02:00
Loïc Mathieu
9b8b240d7c feat(core): use a fixed-size mask to mask secrets (#8131)
Fixes 8131
2025-04-10 15:17:05 +02:00
Miloš Paunović
e6937c4a8c feat(core)*: close code tab if file is deleted (#8331)
In the new multi panel view, if we have `code` tab opened and delete that file from `files` panel, we'll automatically close the opened tab for the file in question.

Closes https://github.com/kestra-io/kestra/issues/8271.
2025-04-10 14:51:43 +02:00
Nicolas K.
70dbe6a219 test(system): fix flaky runner test by adding sleep in subtask (#8329)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-04-10 14:41:21 +02:00
Mathieu Gabelle
8ceee4cfdc refactor: migrate plugin.core flowable tasks to dynamic proeprties (#8313)
* refactor: migrate plugin.core flowable tasks to dynamic proeprties

migrated properties to dynamic properties if possible
updated tests accordingly
remove unused import and fix sonar issues
2025-04-10 13:59:57 +02:00
Florian Hussonnois
b97347df97 fix(flow): handle parsing error when reading flows from repository
This commit fixes NPE in JdbcExecutor that can occurred when
reading invalid an flow, and add better handling of parsing error in JDBC flow
repositories.

Related-to: #7894
2025-04-10 13:28:11 +02:00
Piyush Bhaskar
b177a1f304 chore(ui): Add a trigger from Triggers tab (#7754)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
Co-authored-by: Barthélémy Ledoux <ledouxb@me.com>
2025-04-10 11:11:34 +02:00
Piyush Bhaskar
999406aee4 fix(ui): uniform scrollbar across UI (#7758)
* scrollbar  uniforming

* fix(ui): uniform scrollbar across ui.

* minor tweaks

* minor tweak

---------

Co-authored-by: Miloš Paunović <paun992@hotmail.com>
Co-authored-by: Barthélémy Ledoux <ledouxb@me.com>
2025-04-10 11:10:46 +02:00
Barthélémy Ledoux
31fd0303b5 fix: make monaco composition API (#8320)
* refactor: make monaco composition API

* fix kv

* rename var in monaco

* enable autocomplete in new panel

* fix: set theme even in diff mode

* refactor: avoid using computed when unnecessary
2025-04-10 10:57:28 +02:00
Florian Hussonnois
32b4a9e0be fix(core): handle parsing error when reading flows from repository
This commit fixes a regression after applying plugin default
versions in the AbstractJdbcFlowRepository
2025-04-09 22:58:24 +02:00
Barthélémy Ledoux
2c411a27cc build: use storybook test addon to get coverage (#8316) 2025-04-09 20:53:53 +02:00
Florian Hussonnois
504ff282ef fix: add missing indices for service instance table 2025-04-09 19:01:42 +02:00
Nicolas K.
365d82eb96 feat(#233)!: remove warningOnError behavior (#8321)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-04-09 18:00:20 +02:00
YannC
9a67466d9c chore(deps): upgrade micronaut-platform to 4.8.0 (#8232)
* chore(deps): upgrade micronaut-platform to 4.8.0

* fix: http client version enforcement is not needed anymore as docker-java as updated the dependency

* fix: make applicationContext protected in SchedulerPollingTriggerTest

* fix: upgrade docker-java version to 3.5.0

* fix: make some method protected in the AbstractRunnerTest so it can be override
2025-04-09 17:06:38 +02:00
Nicolas K.
a04db6510b feat(makefile): add pull-plugin script and fixe clone-plugin script (#8283)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-04-09 17:03:05 +02:00
Will Russell
ab2fea660a doc(Core): task example indentation error 2025-04-09 15:25:25 +01:00
ben8t
1c9016ba45 fix(sanitycheck): update flows id and namespace
* fix:sleep assert comparison

* fix:edit sanitycheck according to new process

* fix:typo
2025-04-09 14:46:47 +02:00
Miloš Paunović
935ff944a5 fix(ui): make sure that dropping tab places it into right place (#8315)
Co-authored-by: Barthélémy Ledoux <ledouxb@me.com>
2025-04-09 14:41:01 +02:00
Will Russell
fd4667383c doc(Devcontainer): link instructions to contributing guide 2025-04-09 12:15:44 +01:00
Loïc Mathieu
5bec2fa8b3 feat(cli,core)!: change KESTRA_ env prefix by ENV_
This avoid possible security issue as you can use env var to override Kestra configuration properties and Kestra related configuration properties starts with `kestra`.

Fixes https://github.com/kestra-io/kestra-ee/issues/3131
2025-04-09 12:48:54 +02:00
Piyush Bhaskar
c24fcfd0ca chore(ui): Add a trigger from Triggers tab (#7754)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
Co-authored-by: Barthélémy Ledoux <ledouxb@me.com>
2025-04-09 11:25:34 +02:00
Piyush Bhaskar
22424c69b6 chore(ui): improve the filter label colors on hover (#8141) 2025-04-09 11:17:18 +02:00
Bart Ledoux
938b3cc08b tests: fix storybook multipanel test 2025-04-09 11:15:14 +02:00
Piyush Bhaskar
5fdf2f3085 chore(ui): amend scrollbar issue on the no code editor fields (#8216) 2025-04-09 11:10:07 +02:00
Tanvir Ahmed
062957982b fix: [#8282] - Fixed issue with Devcontainer not running on arm64 architecture (#8285)
* fix: [#8282] - Fixed issue with Devcontainer not running on arm64 architecture

* chore: Updated implementation of dynamic install of Java JDK
2025-04-09 10:07:16 +01:00
Bart Ledoux
c08213b48d ci: remove some odd arguments to frontend checkout 2025-04-09 10:49:25 +02:00
Karuna Tata
152d96f018 chore(ui): remove reorder buttons when there's only one value in no code arrays (#8266) 2025-04-09 09:52:02 +02:00
AJ Emerich
4865843b10 fix(docs): add titles and examples to Dashboard chart types (#8233)
* fix(docs): add titles to Dashboard chart types

* fix(docs): add examples to Dashboard chart types

* fix(docs): add bar chart example
2025-04-09 09:19:46 +02:00
Miloš Paunović
47309a0782 chore(deps): regular dependency update (#8310) 2025-04-09 08:11:58 +02:00
Bart Ledoux
7d7340b4ba fix: remove the big plus when dragging 2025-04-08 16:11:58 +02:00
Bart Ledoux
eb1509959c chore: remove console.log drop 2025-04-08 15:50:59 +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
Bart Ledoux
cc5a1c9f68 fix: remove props warning in flow editor 2025-04-08 15:47:04 +02:00
MilosPaunovic
725e5e5d78 fix(ui): allow tab button to take effect while using editor 2025-04-08 15:09:30 +02:00
Bart Ledoux
56b903b8fd fix: repair docs home page 2025-04-08 15:05:08 +02:00
Miloš Paunović
21c0c86238 fix(ui): amend namespace files creation & editing problems (#8279) 2025-04-08 13:43:20 +02:00
Miloš Paunović
65ab695001 chore(ui): pass prop to maximize the height of namespace file editor (#8278) 2025-04-08 13:34:33 +02:00
Miloš Paunović
1310e59cf9 chore(ui): amend the sizing of editor panels (#8277) 2025-04-08 13:30:22 +02:00
YannC
c35352e2b4 feat: Deprecated BOOLEAN input for new BOOL input with no undefined state (#8257)
close #8225
2025-04-08 10:22:11 +02:00
Miloš Paunović
59589b1c2d refactor(ui): uniform the namespace components for oss and ee versions (#8256) 2025-04-08 09:29:19 +02:00
brian.mulier
4729430a00 feat(ui): ability to hide secret value when typing in secrets
closes kestra-io/kestra-ee#3358
2025-04-08 00:10:22 +02:00
brian.mulier
1aa37d5756 fix(core): duration defaults are rendered as duration string instead of timestamp
closes #3742
2025-04-07 22:06:24 +02:00
brian.mulier
1a121951d6 fix(jdbc): conflict on migration numbers 2025-04-07 21:59:14 +02:00
YannC
92ee3f749e fix: correct version migration for H2 sql file 2025-04-07 19:20:49 +02:00
dependabot[bot]
ae7bb88ff0 build(deps): bump com.google.guava:guava from 33.4.0-jre to 33.4.6-jre
Bumps [com.google.guava:guava](https://github.com/google/guava) from 33.4.0-jre to 33.4.6-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-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 17:45:18 +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
Loïc Mathieu
fc8732f96e chore: use @Nullable from Jakarata annotations 2025-04-07 17:01:52 +02:00
Loïc Mathieu
14f4449d99 chore(deps): Upgrade Guava to 33.4.5-jre (#8005) 2025-04-07 17:01:52 +02:00
AJ Emerich
dd80a91ab3 fix(docs): remove note about Podman rootless (#8259)
closes https://github.com/kestra-io/docs/issues/2404
2025-04-07 16:54:06 +02:00
Florian Hussonnois
840f010921 fix(core): fix NPE when generating flow graph
Fix NPE when generating flow graph and a task cannot be deserialized

Fix: kestra-io/kestra-ee#3369
2025-04-07 16:33:08 +02:00
Loïc Mathieu
8462b178cb feat(jdbc-h2,jdbc-mysql,jdbc-postgres): add an index on queues.key 2025-04-07 15:55:54 +02:00
brian.mulier
901625786d fix(ui)!: prevent infinite loading loop in Namespace KV Store & Secrets pages if there is none 2025-04-07 15:07:50 +02:00
YannC
4def8c5764 chore(ci): Implement JReleaser for GitHub Release (#8231) 2025-04-07 13:34:33 +02:00
brian.mulier
65a204356c fix(ui): bump ui-libs to 0.0.168 2025-04-07 12:03:06 +02:00
dependabot[bot]
73e3fd08e9 build(deps): bump software.amazon.awssdk:bom from 2.31.11 to 2.31.16
Bumps software.amazon.awssdk:bom from 2.31.11 to 2.31.16.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 11:29:42 +02:00
dependabot[bot]
0665b52014 build(deps): bump org.owasp.dependencycheck from 12.1.0 to 12.1.1
Bumps org.owasp.dependencycheck from 12.1.0 to 12.1.1.

---
updated-dependencies:
- dependency-name: org.owasp.dependencycheck
  dependency-version: 12.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 11:05:05 +02:00
dependabot[bot]
781f9dc8d8 build(deps): bump com.google.cloud:libraries-bom from 26.58.0 to 26.59.0
Bumps [com.google.cloud:libraries-bom](https://github.com/googleapis/java-cloud-bom) from 26.58.0 to 26.59.0.
- [Release notes](https://github.com/googleapis/java-cloud-bom/releases)
- [Changelog](https://github.com/googleapis/java-cloud-bom/blob/main/release-please-config.json)
- [Commits](https://github.com/googleapis/java-cloud-bom/compare/v26.58.0...v26.59.0)

---
updated-dependencies:
- dependency-name: com.google.cloud:libraries-bom
  dependency-version: 26.59.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 11:04:49 +02:00
dependabot[bot]
92e4570158 build(deps): bump org.jooq:jooq from 3.20.2 to 3.20.3
Bumps org.jooq:jooq from 3.20.2 to 3.20.3.

---
updated-dependencies:
- dependency-name: org.jooq:jooq
  dependency-version: 3.20.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 11:04:36 +02:00
brian.mulier
ce47b4ee5e fix(ui): bump ui-libs to 0.0.167 2025-04-07 09:54:35 +02:00
brian.mulier
69193c6096 Revert "fix(core): add additionalProperties=false to tasks to have a warning if there is unknown properties"
This reverts commit 6fee99a78a.
2025-04-07 09:54:30 +02:00
Bart Ledoux
9d437957fa chore: add a rule to prevent angle brackets cast in TS 2025-04-07 09:49:10 +02:00
Ludovic DEHON
dfea86fb07 chore(deps): update pebble to 3.2.4
affected by CVE-2025-1686
2025-04-06 18:23:55 +02:00
brian.mulier
6fee99a78a fix(core): add additionalProperties=false to tasks to have a warning if there is unknown properties 2025-04-05 02:14:20 +02:00
brian.mulier
2c766a5497 feat(webserver): move oneOf to anyOf in JsonSchemaGenerator to have better autocompletion 2025-04-05 01:52:41 +02:00
brian.mulier
959737f545 feat(ui): introduce patched version of monaco-yaml & yaml-language-server to have better autocompletion
waiting for https://github.com/redhat-developer/yaml-language-server/pull/1048
2025-04-05 01:05:27 +02:00
brian.mulier
2c1b6ffe3c fix(ui): exclude additional files from UI coverage report 2025-04-04 16:53:29 +02:00
brian.mulier
9b819f6925 fix(ui): avoid jsx confusion on cast that prevent Storybook from running 2025-04-04 16:24:02 +02:00
brian.mulier
a81c0a5737 fix(ui): move bunch of utils to typescript 2025-04-04 15:38:15 +02:00
brian.mulier
ebcb0bd2a2 feat(ui): add plugin icons to auto-completions + make autocompletion work upon writing full package 2025-04-04 15:28:53 +02:00
Loïc Mathieu
2a26c415bf feat(jdbc): avoid using the WorkerTaskResult queue when possible
Instead, directly process the result (add the taskrun) to avoid one rountrip inside the queue.
2025-04-04 14:15:13 +02:00
Loïc Mathieu
1e06b9f1c0 feat(jdbc): allow disabling queue cleaning. 2025-04-04 13:43:09 +02:00
Loïc Mathieu
0b64da5e84 fix(core): default namespace in namespace file 2025-04-04 11:51:00 +02:00
AJ Emerich
d95b65082f fix(docs): add title, description, and example to Dashboard chart data (#8220)
* fix(docs): add title, description, and example to Metrics chart data

* fix(docs): add title, description, example for Logs and Executions

* fix(docs): fix line break in Assert plugin docs
2025-04-04 08:18:14 +02:00
Mathieu Gabelle
1bba3e4035 refactor: migrate plugin condition to dynamic properties (#6907)
* refactor: migrate plugin condition to dynamic properties
2025-04-04 08:18:01 +02:00
Will Russell
efe0c6e1e4 fix(docs): update task type in example to updated name 2025-04-03 17:19:02 +01:00
Nicolas K.
fce7ec135e fire(core): flaky allow failure for each item test (#8228)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-04-03 18:00:15 +02:00
Nicolas K.
5a2456716f fix(jdbc): #8219 unquoted timestamp field breaking query (#8222)
* fix(jdbc): #8219 unquoted timestamp field breaking query

* fix(jdbc): #8219 fix hard coded quoted field

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-04-03 14:54:05 +02:00
Loïc Mathieu
f43f8c2dc0 fix(core): be tolerant of decryption issue
If we cannot decrupt outputs, let's ignore the outpot and log a warning.
This may only happen on configuratin mismatch between nodes.
2025-04-03 13:57:41 +02:00
YannC
94811d4e06 chore(ci): align plugins handle for docker publish on EE CI 2025-04-03 13:16:41 +02:00
YannC
b7166488be chore(ci): modify publish docker to align on EE 2025-04-03 11:56:11 +02:00
brian.mulier
78066fef62 fix(ui): remove all warnings from MonacoEditor.vue 2025-04-02 19:33:04 +02:00
brian.mulier
c70abcb85f fix(ui): auto-resize suggest window to fit tasks
closes #5823
2025-04-02 17:01:36 +02:00
YannC
774a4ef7a1 Feat(): ci changes (#8217)
* fix(): avoid running release workflow on releases branch

* feat(): avoid running CI on draft PR

close #4964

* fix(ci): only publish docker image in workflow release if develop branch or specific asked

close #8136
2025-04-02 15:51:28 +02:00
Florian Hussonnois
a48fd02ed7 fix(cli): fix NPE for commands not requiring plugins (#8212)
Fix: #8212
2025-04-02 14:51:41 +02:00
Loïc Mathieu
030d948521 chore(core): remove un-used attribute in FlowWithWorkerTrigger 2025-04-02 12:18:23 +02:00
Loïc Mathieu
c4aa6c1097 fix(jdbc): possible deadlock on service instance
If multiple Executors restart at the same time and there was a not of worker task to resubmit, there was a possible deadlock as the service instance table is selected for update so it can block other executors.
Using skipped lock avoid that and is still correct as other executors can skip the dead instance handling as it was already in process by the first executor.

findById was not changed in this commit as it's not part of the worker task resubmission process.
2025-04-02 10:53:54 +02:00
Loïc Mathieu
3d1a3d0e7a fix(ci): use the right GitHub token for test report 2025-04-02 10:53:28 +02:00
Loïc Mathieu
30ab030244 fix(gradle): Windows selfrun.bat
Fixes https://github.com/kestra-io/kestra-ee/issues/3324
2025-04-02 09:39:59 +02:00
brian.mulier
cc083385f0 fix(ui): better autocompletion relevance
closes #7709
2025-04-01 19:33:42 +02:00
Shruti Mantri
c14462f5fa feat: add afterExecution to basic.md (#8126)
* feat: add afterExecution to basic.md

* Update ui/src/assets/docs/basic.md

---------

Co-authored-by: AJ Emerich <aemerich@kestra.io>
2025-04-01 16:42:51 +02:00
Mathieu Gabelle
d6e470d788 fix!: update pullPolicy default value to IF_NOT_PRESENT (#8170) 2025-04-01 11:24:59 +02:00
Loïc Mathieu
58ae507e21 fix(core): mask secrets on log attributes
Fixes #3282
2025-04-01 10:09:11 +02:00
Loïc Mathieu
71110ccfc3 Revert "fix(core): HttpClient log the URL even if it's a secret"
This reverts commit 54aa935702.
2025-04-01 10:09:11 +02:00
YannC
fdcc07b546 fix(): allows namespace to be search by in filter 2025-04-01 10:07:52 +02:00
Mathieu Gabelle
221236e079 fix(scripts)!: update pull policy to IF_NOT_PRESENT (#8169)
BREAKING CHANGE: in accordance with new Docker Hub pull policy regulation, the default kestra pull policy will change from ALWAYS to IF_NOT_PRESENT
2025-04-01 08:12:39 +02:00
Ludovic DEHON
d14deaceb0 fix(core): add a meaningful log for flow that can inject defaults 2025-03-31 18:22:16 +02:00
YannC
bfdc48bbbe fix(cli): prevent FlowUpdatesCommand to crash due to plugin loader 2025-03-31 17:45:32 +02:00
brian.mulier
e6b2f1f79a fix(ui-ee): keep fetching if filtered kvs & secrets have no elements after fetch
might close kestra-io/kestra-ee#3311
2025-03-31 16:12:45 +02:00
Loïc Mathieu
0632052837 fix(core): use a stable flow logger name
If we keep the executionId in it, as it's now used to create the forward logger, a new logger will be created for each execution.
This may also fix a memory leak.
2025-03-31 14:56:13 +02:00
Florian Hussonnois
3df9d49aa0 ci: fix setversion-tag and devtools 2025-03-31 13:50:27 +02:00
Loïc Mathieu
318f2b7d5a chore(cli,jdbc-postgres): fix some compilation warnings 2025-03-31 13:17:35 +02:00
Roman Acevedo
800970a88f chore(deps): add bouncycastle:bcpkix-jdk18on to platform 2025-03-31 11:52:33 +02:00
dependabot[bot]
f717063a83 build(deps): bump org.sonarqube from 6.0.1.5171 to 6.1.0.5360
Bumps org.sonarqube from 6.0.1.5171 to 6.1.0.5360.

---
updated-dependencies:
- dependency-name: org.sonarqube
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 11:20:34 +02:00
Barthélémy Ledoux
9a7fb64943 fix: make flowWarnings show to unlock saving (#8157)
closes #8115
2025-03-31 10:59:46 +02:00
Barthélémy Ledoux
45bddb8d09 fix: task array needed better typings (#8158)
closes #8117
2025-03-31 10:59:32 +02:00
dependabot[bot]
881b009d9b build(deps): bump flyingSaucerVersion from 9.11.4 to 9.11.5
Bumps `flyingSaucerVersion` from 9.11.4 to 9.11.5.

Updates `org.xhtmlrenderer:flying-saucer-core` from 9.11.4 to 9.11.5
- [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.4...v9.11.5)

Updates `org.xhtmlrenderer:flying-saucer-pdf` from 9.11.4 to 9.11.5
- [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.4...v9.11.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 10:46:21 +02:00
dependabot[bot]
ab818713f6 build(deps): bump software.amazon.awssdk:bom from 2.31.6 to 2.31.11
Bumps software.amazon.awssdk:bom from 2.31.6 to 2.31.11.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 10:27:54 +02:00
Loïc Mathieu
d68ffa3109 chore: disable tests that are too flaky
An issue will be open to track them and re-enabled them later.
2025-03-31 10:27:46 +02:00
dependabot[bot]
addd76f9bb build(deps): bump com.azure:azure-sdk-bom from 1.2.32 to 1.2.33
Bumps [com.azure:azure-sdk-bom](https://github.com/azure/azure-sdk-for-java) from 1.2.32 to 1.2.33.
- [Release notes](https://github.com/azure/azure-sdk-for-java/releases)
- [Commits](https://github.com/azure/azure-sdk-for-java/compare/azure-sdk-bom_1.2.32...azure-sdk-bom_1.2.33)

---
updated-dependencies:
- dependency-name: com.azure:azure-sdk-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 09:58:43 +02:00
dependabot[bot]
6be939c1bd build(deps): bump software.amazon.awssdk.crt:aws-crt
Bumps [software.amazon.awssdk.crt:aws-crt](https://github.com/awslabs/aws-crt-java) from 0.36.3 to 0.37.0.
- [Release notes](https://github.com/awslabs/aws-crt-java/releases)
- [Commits](https://github.com/awslabs/aws-crt-java/compare/v0.36.3...v0.37.0)

---
updated-dependencies:
- dependency-name: software.amazon.awssdk.crt:aws-crt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 09:44:07 +02:00
dependabot[bot]
4ea876d3fe build(deps): bump com.google.cloud:libraries-bom from 26.57.0 to 26.58.0
Bumps [com.google.cloud:libraries-bom](https://github.com/googleapis/java-cloud-bom) from 26.57.0 to 26.58.0.
- [Release notes](https://github.com/googleapis/java-cloud-bom/releases)
- [Changelog](https://github.com/googleapis/java-cloud-bom/blob/main/release-please-config.json)
- [Commits](https://github.com/googleapis/java-cloud-bom/compare/v26.57.0...v26.58.0)

---
updated-dependencies:
- dependency-name: com.google.cloud:libraries-bom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 09:43:26 +02:00
Miloš Paunović
42d8005eff chore(ui): show blueprint id field in case of missing title (#8154) 2025-03-31 09:40:20 +02:00
Nicolas K.
58a360fae0 feat(core-ee): #7501 split file log exporter to multiple files (#8138)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-03-28 17:42:41 +01:00
Loïc Mathieu
49b647e1fc fix(core): add missing docker plugin subgroup icon 2025-03-28 16:15:41 +01:00
Florian Hussonnois
b314fc393b fix(cli): properly register plugins uninstall cmd 2025-03-28 15:40:09 +01:00
Florian Hussonnois
0a298cad17 fix(core): allow dash in plugin version qualifier 2025-03-28 15:18:37 +01:00
Shruti Mantri
61170e6067 feat: add example for HasRetryAttempt condition (#8133) 2025-03-28 14:14:42 +00:00
brian.mulier
cfbffad31a fix(ui): search bars are properly working in secrets & KV pages
closes #8110
closes kestra-io/kestra-ee#3290
2025-03-28 15:02:02 +01:00
Miloš Paunović
41e2dac4ca chore(ui): add padlock icon to secrets menu item (#8129) 2025-03-28 12:44:28 +01:00
Miloš Paunović
0fa8386cb3 chore(ui): amend file tree context menu link colors (#8123) 2025-03-28 12:10:08 +01:00
github-actions[bot]
0f45c009ab chore(translations): localize to languages other than English (#8120) 2025-03-28 11:27:25 +01:00
MilosPaunovic
b86177f329 chore(translations): uniform translation keys with entrerprise edition 2025-03-28 11:21:08 +01:00
brian.mulier
fe396c455b fix(ui): global secret page design
closes kestra-io/kestra-ee#3268
2025-03-28 11:18:34 +01:00
brian.mulier
0830e11645 fix(ui): repair tenant translation 2025-03-28 11:18:34 +01:00
brian.mulier
4d7f6b2bb1 fix(ui): add routeContext where it was missing 2025-03-28 11:18:34 +01:00
brian.mulier
955c6b728b fix(webserver): handle out-of-bounds (>) namespaces fetch 2025-03-28 11:18:34 +01:00
brian.mulier
d2d26351bd fix(core): namespace service now properly detects namespaces with flows inside 2025-03-28 11:18:34 +01:00
Loïc Mathieu
f14b638f73 fix(core): compilation issue 2025-03-28 09:26:01 +01:00
Loïc Mathieu
259b5b5282 Revert "fix(core): require condition in Flow trigger (#7494)"
This reverts commit c5767fd313.
2025-03-28 09:12:40 +01:00
Miloš Paunović
b1c50374b4 chore(ui): handle editor blueprint loading problem (#8113) 2025-03-28 08:57:24 +01:00
Roman Acevedo
de2d923bd4 fix: doc and deprecated field was not showing for dynamic non-string properties (#8006)
fix: doc and deprecated field was not showing for dynamic non-string properties (#8006)
2025-03-27 18:33:23 +01:00
Florian Hussonnois
89c76208a4 fix(core): avoid flow validation error on plugin alias duplicates 2025-03-27 17:59:04 +01:00
YannC
12eb8367ec feat(): add new crudeventtype "account_locked" (#8103) 2025-03-27 17:08:04 +01:00
Nicolas K.
7421f1e93d fix(kafka runner): #2709 filter child forEach tasks before merging th… (#8095)
* fix(kafka runner): #2709 filter child forEach tasks before merging the output, and add sleep before restarting flows to ensure failure is persisted

* feat(kafka runner): #2709 wait until executions are persisted as Failed in the database before restarting

* fix(runner): put back the sleep instead of the wait

* clean(runner): remove unused variables

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-03-27 16:56:37 +01:00
Loïc Mathieu
5642a53893 fix(core): properly fix the issue with MapUtils.flattenToNestedMap 2025-03-27 16:28:11 +01:00
Loïc Mathieu
d5a2f4430f fix(core): HttpClient log the URL even if it's a secret
Fixes https://github.com/kestra-io/kestra/issues/8092
2025-03-27 16:00:43 +01:00
rajatsingh23
0299e0d5ce chore(ui): Hide duration switch on empty flow dashboard (#8083)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-03-27 15:48:01 +01:00
Barthélémy Ledoux
c69ac99a7f refactor: remove dead code from monacoeditor (#8088)
* refactor(MonacoEditor): improve editor state management and type safety after refactor

* fix: make theme proper valid theme

* fix only types

* remove getEditor

* more fixes

* add vuex store types in options API

* update vuex types

* fix types

* remove unused mapping

* update vuex shims

* fix types
2025-03-27 14:08:59 +01:00
brian.mulier
fd1b4d5234 fix(ui): properly detect yaml to inject json schema into MonacoEditor
closes #8090
2025-03-27 13:39:00 +01:00
Miloš Paunović
4ef3600954 chore(ui): pass custom height property to execution output debug editors (#8100) 2025-03-27 13:36:29 +01:00
Miloš Paunović
366df0f37f chore(ui): include labels of saved search filter on page reload (#8099) 2025-03-27 13:17:11 +01:00
brian.mulier
5e87655a0e fix(webserver): first eval without masking secret function to error in case of missing secret
closes #8094
2025-03-27 13:09:31 +01:00
Miloš Paunović
0f01699d27 chore(ui): make app & dashboard editors re-sizable (#8096) 2025-03-27 12:01:40 +01:00
Loïc Mathieu
0794b2bf8e fix(core): flatten map should not throw an exception
As it is called inside the Executor, it must be fail-safe.
2025-03-27 10:57:32 +01:00
Loïc Mathieu
0becaa0b97 fix(core): charset should not be taken from
Fixes #8072
2025-03-27 10:02:23 +01:00
AJ Emerich
7d3bb34fd4 feat(docs): add kestra.environment and kestra.url expressions (#8085)
https://github.com/kestra-io/kestra-ee/issues/3095
2025-03-27 09:53:24 +01:00
Florian Hussonnois
b8c55baff1 fix(cli): make worker args available through static KestraContext
part-of: kestra-io/kestra-ee#3259
2025-03-26 15:53:51 +01:00
Loïc Mathieu
1f8e5ad18e feat(*): add new methods findAllAsync for the backup 2025-03-26 14:04:01 +01:00
Miloš Paunović
945f59afd0 chore(ui): improve saved search filtering functionality (#8073)
* chore(ui): passing prefix down  to saved search label component

* chore(ui): check if filters have operation field on encoding

* chore(ui): trigger search automatically on choosing the saved item
2025-03-26 11:16:31 +01:00
YannC
491fb54e2c fix(): add missing command to flow subcommand 2025-03-26 10:23:51 +01:00
github-actions[bot]
154f145d4a chore(translations): localize to languages other than English (#8071) 2025-03-26 10:16:39 +01:00
yuri
8a73edd772 feat(ui): improve styling of saved filter searches (#8040)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2025-03-26 09:57:02 +01:00
Miloš Paunović
660fcd7ec6 chore(deps): regular dependency update (#8070) 2025-03-26 08:46:50 +01:00
YannC
675aa666ab chore(ci): pass plugin version to docker workflow 2025-03-25 18:43:03 +01:00
Florian Hussonnois
451de81d03 fix(build): fix gradle property for release 2025-03-25 17:38:57 +01:00
YannC
323527d7e9 chore(ci): lower build-artifacts workflow so github release can use it 2025-03-25 17:28:45 +01:00
Florian Hussonnois
ea7c709f56 chore: upgrade to version 'v0.23.0-SNAPSHOT' 2025-03-25 16:34:02 +01:00
Barthélémy Ledoux
bc8bd7b00b feat: cleaner multipanel tab move (#8029)
* feat: better/simpler display for tab movement

* Revert "remove tests to make sure we merge"

This reverts commit a979232f6c.

* fix some tests

* better tests

* fix: make it work even after first move

* fix the blinking

* add a few tests

* one fix for split panel one for size

* fix test ?

* fix: scroll all the way

* make sure tab 4 is visible

* better borders

* fix dem darn tests
2025-03-25 15:46:05 +01:00
YannC
40f6334b0b fix(): datetime filtering issues (#8027)
close #7959
2025-03-25 14:48:27 +01:00
Nicolas K.
71151f5ac2 feat(core): #5467 add inheritance for KV in pebble and Get task (#8031)
* feat(core): #5467 add inheritance for KV in pebble and Get task

* fix(core): #5467 error when namespace don't contain dot

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-03-25 14:46:17 +01:00
brian.mulier
75e7635505 fix(ui): make sure global secret view iterates over all secrets 2025-03-25 13:43:05 +01:00
Florian Hussonnois
6c9dc8fba4 fix(core): fix NPE when closing standalone runner 2025-03-25 12:26:50 +01:00
brian.mulier
28d1f005a4 fix(ui): fail-safe secrets API calls on global secrets view 2025-03-25 12:09:07 +01:00
AJ Emerich
7fd7a6fcbc feat(docs): add example for best practice with multiline json http post request (#8023) 2025-03-25 11:42:27 +01:00
yuri
57707faf37 fix(ui): amend operator value of labels inside the filter (#8028) 2025-03-25 11:20:04 +01:00
brian.mulier
c64c2c7104 fix(ui): fail-safe secrets API calls 2025-03-25 11:08:22 +01:00
YannC
8f9b2fc0db fix(): use correct property for blueprint type
close #3227
2025-03-25 10:22:49 +01:00
Satvik Kushwaha
aab9e55794 chore(ui): limit flow run dialog maximum height (#7938)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2025-03-25 10:02:50 +01:00
Miloš Paunović
f9d48d6f74 fix(ui): allow multi label filtering (#8022) 2025-03-25 09:52:54 +01:00
Florian Hussonnois
267d848d3f fix(core): ensure defaults can be injected in flows (#3206)
Flow revisions create from older Kestra versions may not be linked to their original source.
In such cases, fall back to the generated source approach to enable plugin default injection.

close: #3206
2025-03-25 09:17:55 +01:00
brian.mulier
edbf14c1b8 fix(ui): handle properly layout of global Secrets when there is a secret manager 2025-03-25 02:45:21 +01:00
brian.mulier
d9ac267161 feat(ui): introduce global Secrets page
closes kestra-io/kestra-ee#1257
2025-03-25 01:39:18 +01:00
brian.mulier
74455ad993 fix(ui): prevent function parameters autocompletion from deleting parenthesis 2025-03-25 01:39:18 +01:00
YannC
e2dd02173f fix(): use correctly context-path when needed (#8018) 2025-03-24 20:30:55 +01:00
YannC
c7b3a42f34 fix(): make absolute date work with metrics (#8015)
close #7951
2025-03-24 18:46:45 +01:00
Rudhra Bharathy G
fe882bbee6 fix(): moved the logic to the backend (#5917)
close #5740
Co-authored-by: YannC <ycoornaert@kestra.io>
2025-03-24 17:59:54 +01:00
YannC
1efb21c087 fix(): make KestraFilter works with legacy default dashboard + avoid showing custom dashboard in namespace/flow pages (#8012)
close #7959
2025-03-24 16:33:48 +01:00
github-actions[bot]
beb6182104 chore(translations): localize to languages other than English (#8013)
Co-authored-by: GitHub Action <actions@github.com>
2025-03-24 16:24:15 +01:00
Miloš Paunović
7f0d3521db chore(ui): add anchors to plugin documentation (#8014) 2025-03-24 16:11:47 +01:00
benjoEK1337
7e4453632c fix(core): Handling for trailing slash in the KESTRA_URL configuration (#6373)
* fix(core): Handling for trailing slash in the KESTRA_URL configuration

* Update webserver/src/main/java/io/kestra/webserver/controllers/api/ExecutionController.java

---------

Co-authored-by: Miloš Paunović <paun992@hotmail.com>
Co-authored-by: Loïc Mathieu <loikeseke@gmail.com>
2025-03-24 16:10:43 +01:00
Loïc Mathieu
4a3d6b30d2 feat(core,jdbc): reset the trigger inside the JdbcExecutor
Fixes #7237
2025-03-24 15:54:53 +01:00
Florian Hussonnois
fe7c14c048 chore: refactor StorageInterfaceFactory to be a bean
changes:
* extract class for ServiceType

related-to: kestra-io/kestra-ee#3021
2025-03-24 15:45:24 +01:00
Barthélémy Ledoux
7b007aafc0 feat: parse docs is 2 steps to avoid user waiting with nothing (#7149) 2025-03-24 15:25:46 +01:00
Barthélémy Ledoux
f6aa2729b2 feat: multi panel editor without the refactor (#7971)
* refactor: move logic out of EditorView.vue and into store flow.js

* fix create mode

* feat: add multi panel flow editor

* missing flow id

* fix helpers tests ?

* restore helpers test

* fix one failing test

* fix: remove non-working stories

* remove size when one does split

* fix duplicated simulation

* fix tests

* try and fix the test

* remove tests to make sure we merge
2025-03-24 15:13:26 +01:00
Nicolas K.
0ca25445fd fix(platform): move slf4j api to enforce platform to fix it's version in test (#8007)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-03-24 14:25:16 +01:00
Piyush Bhaskar
4900963cb9 fix(ui): amend task source tabs colors (#8010) 2025-03-24 14:01:48 +01:00
Piyush Bhaskar
21d264f444 chore(ui): highlight first item in global search bar autocomplete (#8009) 2025-03-24 13:43:27 +01:00
Miloš Paunović
b6a3d0cd54 chore(ui): removing dynamic section of collapsible plugin properties (#8008) 2025-03-24 13:11:29 +01:00
Bart Ledoux
3244b1c293 fix: remove unwanted change in Curl 2025-03-24 11:52:49 +01:00
Florian Hussonnois
0987d0b349 feat(core): add new subkey arg to secret pebble function
Add new `subkey` named argument to the pebble function `secret`
to be able to select a specific field inside a secret containing
a JSON value

close: kestra-io/kestra-ee#3200
2025-03-24 11:43:14 +01:00
dependabot[bot]
5a2ac895ec build(deps): bump software.amazon.awssdk.crt:aws-crt
Bumps [software.amazon.awssdk.crt:aws-crt](https://github.com/awslabs/aws-crt-java) from 0.36.2 to 0.36.3.
- [Release notes](https://github.com/awslabs/aws-crt-java/releases)
- [Commits](https://github.com/awslabs/aws-crt-java/compare/v0.36.2...v0.36.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 11:14:10 +01:00
Loïc Mathieu
7421693445 fix(core): race while initializing trigger + possible duplicate update 2025-03-24 11:10:17 +01:00
Loïc Mathieu
19894dbcd6 fix(core): race in the FlowListener
It sometimes throw ConcurrentModificationException while sending flow updates to the consumers.
2025-03-24 11:10:17 +01:00
dependabot[bot]
62e37f3b15 build(deps): bump software.amazon.awssdk:bom from 2.31.1 to 2.31.6
Bumps software.amazon.awssdk:bom from 2.31.1 to 2.31.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 10:48:44 +01:00
dependabot[bot]
37af61f41d build(deps): bump com.github.oshi:oshi-core from 6.7.1 to 6.8.0
Bumps [com.github.oshi:oshi-core](https://github.com/oshi/oshi) from 6.7.1 to 6.8.0.
- [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.7.1...oshi-parent-6.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 10:29:32 +01:00
dependabot[bot]
491f07296a build(deps): bump com.google.cloud:libraries-bom from 26.56.0 to 26.57.0
Bumps [com.google.cloud:libraries-bom](https://github.com/googleapis/java-cloud-bom) from 26.56.0 to 26.57.0.
- [Release notes](https://github.com/googleapis/java-cloud-bom/releases)
- [Changelog](https://github.com/googleapis/java-cloud-bom/blob/main/release-please-config.json)
- [Commits](https://github.com/googleapis/java-cloud-bom/compare/v26.56.0...v26.57.0)

---
updated-dependencies:
- dependency-name: com.google.cloud:libraries-bom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 10:29:14 +01:00
dependabot[bot]
6d59630a67 build(deps): bump com.microsoft.playwright:playwright
Bumps [com.microsoft.playwright:playwright](https://github.com/microsoft/playwright-java) from 1.50.0 to 1.51.0.
- [Release notes](https://github.com/microsoft/playwright-java/releases)
- [Commits](https://github.com/microsoft/playwright-java/compare/v1.50.0...v1.51.0)

---
updated-dependencies:
- dependency-name: com.microsoft.playwright:playwright
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 10:28:36 +01:00
YannC
a098650559 fix(): restarting trigger does not break the list anymore (#8004)
close #7712
2025-03-24 10:21:19 +01:00
Barthélémy Ledoux
505049a69e refactor: move flow editor logic into flow store (#7968)
* refactor: move logic out of EditorView.vue and into store flow.js

* fix create mode

* missing flow id

* fix helpers tests ?

* restore helpers test

* remove unfinished test files

* fix plugin docs

* remove issues on lowcode
2025-03-24 09:48:17 +01:00
yuri1969
a1abd28a3d fix(build): Gradle space-assignment deprecation 2025-03-24 09:26:44 +01:00
yuri1969
49a29c4bf1 fix(core): amend server start announcements
Servers announced their start even when their async startup process
was still in progress. This lead to confusing situations - a server
announced a successfull start but in fact it failed just few
moments later.

Note, the log message needs to be ported to EE server impls.
2025-03-24 09:25:00 +01:00
Miloš Paunović
49af8f336a fix(ui): include parameters into request for plugin schema fetching (#8002) 2025-03-24 09:12:52 +01:00
Nicolas K.
8642771a2b fix(core): working dir interface contract by putting back putFile(path, content) (#7980)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-03-21 16:58:51 +01:00
Nicolas K.
e44487c8d8 feat(core): #7932 add file exist comportment to NamespaceFiles (#7979)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-03-21 15:17:12 +01:00
Ludovic DEHON
f29aab0719 feat(core): speed up namespace file download and add a log & metrics
close #7871
close #7870
2025-03-21 13:44:16 +01:00
Loïc Mathieu
73c7a2d3d3 feat(core): allow null or empty proxy address to bypass proxy conf
Fixes #7961
2025-03-21 12:36:11 +01:00
brian.mulier
773a6e9093 fix(ui): change plugin doc properly upon switching plugin type
closes #7876
2025-03-21 11:51:44 +01:00
Ludovic DEHON
df1bbcfb7f fix(cicd): display ui unit test status 2025-03-21 09:53:49 +01:00
brian.mulier
f3419084fa fix(ui): filter tests were not up-to-date 2025-03-21 09:49:07 +01:00
brian.mulier
ab7788aeaf feat(ui): introduce global KV Store view
part of kestra-io/kestra-ee#1257
closes kestra-io/kestra-ee#1743
2025-03-21 09:49:07 +01:00
YannC
99e06632e0 fix(): prevent using LABELS in JDBC
link #6655
2025-03-20 21:54:41 +01:00
YannC
7b3d5a593e fix(): remove old '$eq' to avoid error in dashboard
link #7959
2025-03-20 21:09:09 +01:00
Bart Ledoux
cca7ed0bff fix: update ui-libs 2025-03-20 18:33:56 +01:00
Loïc Mathieu
481138e433 fix(core): add metric Publish task doc & icon
fixes #7154
2025-03-20 16:24:38 +01:00
Barthélémy Ledoux
267ffb69dc fix: only run posthog in prod mode (#7952) 2025-03-20 14:40:47 +01:00
Loïc Mathieu
43f1374aa3 chore: add GraalVM plugin 2025-03-20 13:10:39 +01:00
Loïc Mathieu
fe944ccc5b chore: add jattach into our Docker image 2025-03-20 11:57:55 +01:00
YannC
cec8702fc6 feat(): allow to specify a parent namespace in the flow updates command, and the possibility to allow child namespace in the flow bulk create command (#7956) 2025-03-20 11:24:23 +01:00
YannC
f898a679c4 fix(): Adapt the usage of the new query filter for custom dashboard (#7935)
close #7091
2025-03-19 17:13:56 +01:00
Nicolas K.
9a9d59f433 fix(core-ee): NPE when execution labels are null (#7950)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-03-19 17:09:17 +01:00
Loïc Mathieu
0579e23a20 fix(core): triggers don't have an execution ID already 2025-03-19 15:39:08 +01:00
YannC
343367d8c5 feat(): save last dashboard used in local storage (#7948)
close kestra-io/kestra-ee#2615
2025-03-19 14:45:45 +01:00
Miloš Paunović
d47e8083ac fix(ui): prevent filter text prefix to show up when searching locally (#7947) 2025-03-19 13:51:24 +01:00
Miloš Paunović
7c4d6b02a7 chore(ui): introduce a refresh functionality to execution logs page (#7946) 2025-03-19 12:07:34 +01:00
Miloš Paunović
95dd1b8a55 chore(deps): regular dependency update (#7944) 2025-03-19 10:41:29 +01:00
Loïc Mathieu
0ec2d88429 Revert "build(deps): bump protobufVersion from 3.25.5 to 4.30.1"
This reverts commit 6946c92683.
2025-03-19 10:27:44 +01:00
dependabot[bot]
c3b504a9ed build(deps): bump pdfjs-dist from 4.10.38 to 5.0.375 in /ui (#7942)
Bumps [pdfjs-dist](https://github.com/mozilla/pdf.js) from 4.10.38 to 5.0.375.
- [Release notes](https://github.com/mozilla/pdf.js/releases)
- [Commits](https://github.com/mozilla/pdf.js/compare/v4.10.38...v5.0.375)

---
updated-dependencies:
- dependency-name: pdfjs-dist
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-19 10:25:58 +01:00
Loïc Mathieu
8cba4dab62 fix(core): possible NPE if no manifest 2025-03-19 10:03:12 +01:00
Miloš Paunović
1b22d1e3d1 fix(ui): amend dependabot errors with parsing of package-lock.json file (#7941) 2025-03-19 09:33:20 +01:00
Loïc Mathieu
6194f244c8 feat(core): require existing namespace
Part-of: https://github.com/kestra-io/kestra-ee/issues/3071
2025-03-18 15:56:36 +01:00
Loïc Mathieu
11a1664865 feat(*): allow disabling flow logs and use a specific logger for executions, tasks and triggers
Fixes #7753
2025-03-18 15:53:30 +01:00
Miloš Paunović
db394f6371 chore(ui): remove the flow topology control button from image export (#7937) 2025-03-18 15:32:21 +01:00
Loïc Mathieu
a7433c6f62 feat(core): add correlationId to the Flow trigger
Fixes #7920
2025-03-18 14:35:59 +01:00
Loïc Mathieu
745c64c4b0 feat(model, core): document tasks props that are internal storage URI
Fixes https://github.com/kestra-io/kestra/issues/681
2025-03-18 14:29:57 +01:00
YannC
5d15e2081c fix(*): Improve log timestamp precision + allow to override timestamp… (#7847)
* fix(*): Improve log timestamp precision + allow to override timestamp in log consumer

close #5915
close #7243
close #5662

* chore(): review changes
2025-03-18 14:25:24 +01:00
Miloš Paunović
7d098eaa4e feat(ui): add beta badge global component (#7934) 2025-03-18 11:56:43 +01:00
Florian Hussonnois
0ee9abb372 fix: OpenTelemetry should be optional
OpenTelementry must be optional when OTEL is globally disabled
in micronaut.
2025-03-18 10:34:23 +01:00
github-actions[bot]
3f542ae737 chore(translations): localize to languages other than English (#7929) 2025-03-18 10:20:49 +01:00
rajatsingh23
811cc7722a feat(ui): add the option to copy single/all logs to clipboard (#7755)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-03-18 09:49:54 +01:00
Florian Hussonnois
f4f8ecb247 feat!: make kv pebble function raise error by default (#7855)
BREAKING CHANGE: use 'true' as default value for kv function arg errorOnMissing.

close: #7855
2025-03-18 09:24:16 +01:00
Florian Hussonnois
3566c4d365 fix(cli): return exit 0 in CLI plugins cmd
The CLI plugins install command must return exit code 0
even when no plugin are installed
2025-03-18 09:23:58 +01:00
YannC
a7421987b7 chore(): change docker image used for AbstractTaskRunnerTest 2025-03-18 09:19:17 +01:00
ben8t
c640b8208b [fix] fix sleep assert comparison (#7924) 2025-03-18 09:16:20 +01:00
ben8t
db71b56dcd Update documentation Switch core task (#6792) 2025-03-18 09:13:39 +01:00
Florian Hussonnois
8076fcc990 fix: disable micronaut otel by default 2025-03-18 08:47:19 +01:00
Miloš Paunović
bd520c2150 fix(ui): amend displaying large amount of logs (#7923)
* chore(ui): amend plugin documentation console errors

* fix(ui): amend displaying large amount of logs
2025-03-18 08:35:55 +01:00
Florian Hussonnois
2c731a0192 fix(core): avoid ClassCastException when parsing flow inputs (#7882)
Use toString() instead of casting objects directly to String
to avoid undesirable ClasCastException we expect a string type

close: #7882
2025-03-17 14:48:15 +01:00
github-actions[bot]
3b291b75cf chore(translations): localize to languages other than English (#7918) 2025-03-17 14:23:48 +01:00
Miloš Paunović
1563d1d2da feat(ui): implement a default tab setting for flows (#7917) 2025-03-17 13:44:09 +01:00
dependabot[bot]
5c73953c81 build(deps): bump org.aspectj:aspectjweaver from 1.9.22.1 to 1.9.23
Bumps [org.aspectj:aspectjweaver](https://github.com/eclipse/org.aspectj) from 1.9.22.1 to 1.9.23.
- [Release notes](https://github.com/eclipse/org.aspectj/releases)
- [Commits](https://github.com/eclipse/org.aspectj/commits)

---
updated-dependencies:
- dependency-name: org.aspectj:aspectjweaver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 13:16:50 +01:00
dependabot[bot]
f89aa8d278 build(deps): bump org.slf4j:slf4j-api from 2.0.16 to 2.0.17
Bumps org.slf4j:slf4j-api from 2.0.16 to 2.0.17.

---
updated-dependencies:
- dependency-name: org.slf4j:slf4j-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 13:16:41 +01:00
github-actions[bot]
7efa3975fc chore(translations): localize to languages other than English (#7915) 2025-03-17 12:54:11 +01:00
Miloš Paunović
a3362b0c85 chore(ui): properly sanitize execution errors markdown content before rendering (#7914) 2025-03-17 12:52:02 +01:00
dependabot[bot]
ab9ba91e5a build(deps): bump org.jooq:jooq from 3.19.18 to 3.20.2
Bumps org.jooq:jooq from 3.19.18 to 3.20.2.

---
updated-dependencies:
- dependency-name: org.jooq:jooq
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 12:04:50 +01:00
Loïc Mathieu
355e24c9da chore(core): merge outputs only when necessary 2025-03-17 11:36:59 +01:00
github-actions[bot]
78dcca64ae chore(translations): localize to languages other than English (#7909) 2025-03-17 11:28:11 +01:00
Anna Geller
57c749d812 Revert "Adjusted the CI to skip frontend and backend tests for commits/PRs co…" (#7910)
This reverts commit 71a59e7b85.
2025-03-17 11:18:15 +01:00
Ash
2d7c233a5e chore(ui): improve charts horizontal scrollbar (#7508) 2025-03-17 10:48:16 +01:00
Piyush Bhaskar
cfac2c6fef chore(ui): change display on gantt page for created & queued executions (#7706) 2025-03-17 10:31:40 +01:00
Piyush Bhaskar
06352e46dc chore(ui): use the correct shadow on charts (#7752) 2025-03-17 10:22:55 +01:00
Piyush Bhaskar
08312aef97 chore(ui): show loading skeletons on dashboard (#7417) 2025-03-17 10:19:50 +01:00
github-actions[bot]
e05554e12d chore(translations): localize to languages other than English (#7908) 2025-03-17 10:10:57 +01:00
Miloš Paunović
cbb6ca77f7 feat(ui): add copy button to kv store listing rows (#7907) 2025-03-17 09:59:11 +01:00
dependabot[bot]
3dcd3c9785 build(deps): bump nl.basjes.gitignore:gitignore-reader
Bumps [nl.basjes.gitignore:gitignore-reader](https://github.com/nielsbasjes/codeowners) from 1.11.1 to 1.11.3.
- [Release notes](https://github.com/nielsbasjes/codeowners/releases)
- [Changelog](https://github.com/nielsbasjes/codeowners/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nielsbasjes/codeowners/compare/v1.11.1...v1.11.3)

---
updated-dependencies:
- dependency-name: nl.basjes.gitignore:gitignore-reader
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 09:52:28 +01:00
dependabot[bot]
7f6e15ec4a build(deps): bump aquasecurity/trivy-action from 0.29.0 to 0.30.0
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.29.0 to 0.30.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.29.0...0.30.0)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 09:51:53 +01:00
dependabot[bot]
ab061e9a12 build(deps): bump dorny/test-reporter from 1 to 2
Bumps [dorny/test-reporter](https://github.com/dorny/test-reporter) from 1 to 2.
- [Release notes](https://github.com/dorny/test-reporter/releases)
- [Changelog](https://github.com/dorny/test-reporter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dorny/test-reporter/compare/v1...v2)

---
updated-dependencies:
- dependency-name: dorny/test-reporter
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 09:51:41 +01:00
dependabot[bot]
8eb91b75e9 build(deps): bump com.github.oshi:oshi-core from 6.7.0 to 6.7.1
Bumps [com.github.oshi:oshi-core](https://github.com/oshi/oshi) from 6.7.0 to 6.7.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.7.0...oshi-parent-6.7.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 09:51:30 +01:00
dependabot[bot]
0134d5e5c2 build(deps): bump software.amazon.awssdk.crt:aws-crt
Bumps [software.amazon.awssdk.crt:aws-crt](https://github.com/awslabs/aws-crt-java) from 0.36.1 to 0.36.2.
- [Release notes](https://github.com/awslabs/aws-crt-java/releases)
- [Commits](https://github.com/awslabs/aws-crt-java/compare/v0.36.1...v0.36.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 09:51:18 +01:00
dependabot[bot]
6946c92683 build(deps): bump protobufVersion from 3.25.5 to 4.30.1
Bumps `protobufVersion` from 3.25.5 to 4.30.1.

Updates `com.google.protobuf:protobuf-java` from 3.25.5 to 4.30.1
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Changelog](https://github.com/protocolbuffers/protobuf/blob/main/protobuf_release.bzl)
- [Commits](https://github.com/protocolbuffers/protobuf/compare/v3.25.5...v4.30.1)

Updates `com.google.protobuf:protobuf-java-util` from 3.25.5 to 4.30.1

---
updated-dependencies:
- dependency-name: com.google.protobuf:protobuf-java
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: com.google.protobuf:protobuf-java-util
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 09:50:36 +01:00
dependabot[bot]
149dcac5f9 build(deps): bump software.amazon.awssdk:bom from 2.30.36 to 2.31.1
Bumps software.amazon.awssdk:bom from 2.30.36 to 2.31.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 09:50:27 +01:00
Miloš Paunović
0af5aea287 chore(ui): create flow button on welcome page to start product tour (#7906) 2025-03-17 08:40:57 +01:00
Barthélémy Ledoux
9413d4df06 fix(ui): use container queries for dashboard (#7889) 2025-03-17 08:24:39 +01:00
Miloš Paunović
87ee267f10 chore(ui): complete refactor of yaml utils (#7888) 2025-03-17 08:14:48 +01:00
Will Russell
02336ed397 fix(docs): typos 2025-03-14 19:04:38 +00:00
Will Russell
379199e186 fix(docs): fail examples 2025-03-14 18:47:57 +00:00
Will Russell
ebec8c2121 fix(docs): schedule example 2025-03-14 18:41:36 +00:00
Malay Dewangan
564c36ceab fix: remove labels from an execution (#7256)
* fix: remove labels from an execution

* feat(test): add test for removing labels from execution

* fix(test): update test for removing labels from execution

* feat: handle system labels and add unit test for system labels

---------

Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-03-14 15:19:29 +01:00
Miloš Paunović
3d248d0d74 refactor(ui): remove the obsolete console statement (#7887) 2025-03-14 15:00:35 +01:00
Loïc Mathieu
70e6d47c1a feat(webserver): add Kestra URL to the config endpoint 2025-03-14 14:57:52 +01:00
Loïc Mathieu
1ba54cd08e feat(core): add Kestra env name and URL to the expression context 2025-03-14 14:57:52 +01:00
Florian Hussonnois
eb6b40a04b feat(cli): add new --all option to plugin install cmd (#7375)
This commit adds the option all to the plugin install command
for installing all available public plugins.

Changes:
* add new service class PluginCatalogService

close: #7375
2025-03-14 14:44:30 +01:00
Anna Geller
d314c52924 docs: kv pebble (#7886) 2025-03-14 14:31:52 +01:00
Trinaya Kantevari
71a59e7b85 Adjusted the CI to skip frontend and backend tests for commits/PRs containing the 'docs-only' text. #6729 (#7756)
* Update pull-request.yml to skip tests for PRs with 'docs-only'.

Updated the if condition in the frontend and backend jobs to skip tests if 'docs-only' is present in the Pull Request title, body, or labels.

* Update workflow-test.yml to skip tests for commits with 'docs-only'.

Updated the if condition in the frontend and backend jobs to skip tests if 'docs-only' is present in the commit message.

* Apply suggestions from code review

---------

Co-authored-by: Anna Geller <anna.m.geller@gmail.com>
2025-03-14 14:29:26 +01:00
Will Russell
ff504afd8f fix(docs): add parallel example 2025-03-14 12:37:00 +00:00
YannC
64e5b80049 fix(ui): display back core property if not in a task
close #7879
2025-03-14 11:44:22 +01:00
Loïc Mathieu
c9baaf8565 fix(core): Avoid calling Worker post construct method twice 2025-03-14 09:58:30 +01:00
Miloš Paunović
02ad2af305 chore(ui): re-organize visuals for empty state component (#7875) 2025-03-14 08:46:57 +01:00
Florian Hussonnois
bed11f1541 chore(core): add PluginVersioning interface and version for TaskRunner
Changes:
- add new interface PluginVersioning
- update interfaces TaskInterface, TriggerInterface, TaskRunner

close: kestra-io/kestra-ee#3122
2025-03-14 08:26:52 +01:00
Miloš Paunović
6d14773ea7 chore(ui): prevent node state history to be shown if there is no date present (#7867) 2025-03-13 16:26:25 +01:00
Loïc Mathieu
74577cb059 chore(deps): upgrade @kestra-io/ui-libs to 0.0.157 2025-03-13 15:50:45 +01:00
Miloš Paunović
e63b019857 chore(ui): re-organize visuals for empty state component (#7866) 2025-03-13 15:18:29 +01:00
github-actions[bot]
8684bd9481 chore(translations): localize to languages other than English (#7863) 2025-03-13 14:36:31 +01:00
Miloš Paunović
586e089ada feat(ui): add afterExecution block to no code editor (#7848) 2025-03-13 13:53:52 +01:00
Loïc Mathieu
acebfef0d1 fix(deps): move OTLP metrics lib to CLI to avoid warning in tests 2025-03-13 13:05:20 +01:00
Loïc Mathieu
f7019af9d5 feat(core): add afterExecution to the topology 2025-03-13 13:02:34 +01:00
Loïc Mathieu
1419680006 fix(core): missing afterExecution in FlowForExecution 2025-03-13 13:02:34 +01:00
Shruti Mantri
64290f5d17 feat: add finally to the flow assets in basic.md (#7857) 2025-03-13 10:27:43 +01:00
Loïc Mathieu
e2da2dfeb0 fix(core): allowedNamespace is already called in the KvStoreService 2025-03-12 16:37:16 +01:00
Will Russell
977fe222a4 fix(docs): 2025 get started video 2025-03-12 13:11:18 +00:00
ben8t
0a24a5d13f Remove pebble function references that don't exist (#7698)
* [fix] remove pebble function references that don't exist

* [fix] pebble documentation

* [fix] remove non-existing functions
2025-03-12 12:23:22 +01:00
Loïc Mathieu
ecfe925ece feat(core): redact KESTRA_JAVA_OPTS from the env available to executions 2025-03-12 11:31:53 +01:00
dependabot[bot]
76f6c93e48 build(deps): bump @babel/runtime-corejs3 from 7.26.9 to 7.26.10 in /ui (#7840)
Bumps [@babel/runtime-corejs3](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3) from 7.26.9 to 7.26.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.10/packages/babel-runtime-corejs3)

---
updated-dependencies:
- dependency-name: "@babel/runtime-corejs3"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-12 08:43:56 +01:00
dependabot[bot]
cfb76f4279 build(deps): bump @babel/helpers from 7.26.9 to 7.26.10 in /ui (#7841)
Bumps [@babel/helpers](https://github.com/babel/babel/tree/HEAD/packages/babel-helpers) from 7.26.9 to 7.26.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.10/packages/babel-helpers)

---
updated-dependencies:
- dependency-name: "@babel/helpers"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-12 08:43:18 +01:00
Miloš Paunović
50bbf03d53 chore(deps): regular dependency update (#7839) 2025-03-12 08:29:38 +01:00
Loïc Mathieu
2c9f09a82e feat(build): configure heap size to max 50% of available memory (#7800)
* feat(build): configure heap size to max 50% of available memory

* Apply suggestions from code review

Co-authored-by: brian-mulier-p <bmmulier@hotmail.fr>

---------

Co-authored-by: brian-mulier-p <bmmulier@hotmail.fr>
2025-03-11 16:38:51 +01:00
github-actions[bot]
c9579e5dcd chore(translations): localize to languages other than English (#7803)
Co-authored-by: GitHub Action <actions@github.com>
2025-03-11 16:34:42 +01:00
Miloš Paunović
1b13559a61 chore(ui): add the ability to change word wrap and to copy the preview output content (#7801) 2025-03-11 15:12:51 +01:00
Loïc Mathieu
c2e62d653d feat(core,jdbc): switch back to a cached thread pool for async JDBC queue
But with less threads as 2xnbCore was too much.
2025-03-11 14:25:32 +01:00
Bart Ledoux
14ff4438fe chore: update ui-libs 2025-03-11 14:06:59 +01:00
Loïc Mathieu
39b8fc1039 feat(core): afterExecution tasks
Fixes https://github.com/kestra-io/kestra-ee/issues/2792
2025-03-11 13:35:08 +01:00
Florian Hussonnois
1cb323b7aa fix(core): fix properly map MavenPluginRepositoryConfig 2025-03-11 13:17:23 +01:00
brian.mulier
4a12827684 fix(ui): remove errors from dashboard validation if it's fixed
closes #7748
2025-03-11 12:26:50 +01:00
brian.mulier
82a346b2ce fix(ui): make switch view buttons from dashboard editor the same as flow editor ones 2025-03-11 12:23:18 +01:00
dependabot[bot]
dea392a941 build(deps): bump io.micrometer:micrometer-core from 1.14.3 to 1.14.5
Bumps [io.micrometer:micrometer-core](https://github.com/micrometer-metrics/micrometer) from 1.14.3 to 1.14.5.
- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)
- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.14.3...v1.14.5)

---
updated-dependencies:
- dependency-name: io.micrometer:micrometer-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-11 11:22:43 +01:00
Loïc Mathieu
d0af5767d5 feat(core): add execution state in Pebbe context
Fixes #7155
2025-03-11 11:21:50 +01:00
brian.mulier
a064c7a956 feat(ui): introduce kv() and secret() pebble autocompletions
closes kestra-io/kestra-ee#77
2025-03-11 00:10:29 +01:00
brian.mulier
9b5b2b981f fix(webserver): add endpoint for inherited secrets 2025-03-10 23:42:33 +01:00
YannC
fac2ae813c fix(jdbc): return correct total when paginating custom dashboard chart (#7790)
close #7164
2025-03-10 18:05:44 +01:00
Nicolas K.
233a871c58 feat(core-ee): add json format to file log exporter (#7789)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-03-10 17:47:51 +01:00
Nicolas K.
05f24f3d65 fix(core): #7740 http configuration bearer token may change to basic because of allowFailed (#7788)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-03-10 16:33:15 +01:00
dependabot[bot]
66e5a7ca31 build(deps): bump software.amazon.awssdk:bom from 2.30.31 to 2.30.36
Bumps software.amazon.awssdk:bom from 2.30.31 to 2.30.36.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 15:48:03 +01:00
dependabot[bot]
fefaa7cdbb build(deps): bump org.testcontainers:testcontainers
Bumps [org.testcontainers:testcontainers](https://github.com/testcontainers/testcontainers-java) from 1.20.5 to 1.20.6.
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.20.5...1.20.6)

---
updated-dependencies:
- dependency-name: org.testcontainers:testcontainers
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 15:47:46 +01:00
YannC
fd6b9dc065 fix(tests): increase seconds diff between dates (#7785) 2025-03-10 15:08:20 +01:00
dependabot[bot]
5935308e43 build(deps): bump software.amazon.awssdk.crt:aws-crt
Bumps [software.amazon.awssdk.crt:aws-crt](https://github.com/awslabs/aws-crt-java) from 0.34.0 to 0.36.1.
- [Release notes](https://github.com/awslabs/aws-crt-java/releases)
- [Commits](https://github.com/awslabs/aws-crt-java/compare/v0.34.0...v0.36.1)

---
updated-dependencies:
- dependency-name: software.amazon.awssdk.crt:aws-crt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 15:02:29 +01:00
dependabot[bot]
83f06f3374 build(deps): bump org.jsoup:jsoup from 1.18.3 to 1.19.1
Bumps [org.jsoup:jsoup](https://github.com/jhy/jsoup) from 1.18.3 to 1.19.1.
- [Release notes](https://github.com/jhy/jsoup/releases)
- [Changelog](https://github.com/jhy/jsoup/blob/master/CHANGES.md)
- [Commits](https://github.com/jhy/jsoup/compare/jsoup-1.18.3...jsoup-1.19.1)

---
updated-dependencies:
- dependency-name: org.jsoup:jsoup
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 15:02:19 +01:00
dependabot[bot]
8d7bc6fdd4 build(deps): bump com.github.docker-java:docker-java from 3.4.1 to 3.4.2
Bumps [com.github.docker-java:docker-java](https://github.com/docker-java/docker-java) from 3.4.1 to 3.4.2.
- [Release notes](https://github.com/docker-java/docker-java/releases)
- [Changelog](https://github.com/docker-java/docker-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/docker-java/docker-java/compare/3.4.1...3.4.2)

---
updated-dependencies:
- dependency-name: com.github.docker-java:docker-java
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 15:01:44 +01:00
dependabot[bot]
03a44c1039 build(deps): bump org.opensearch.client:opensearch-java
Bumps [org.opensearch.client:opensearch-java](https://github.com/opensearch-project/opensearch-java) from 2.21.0 to 2.22.0.
- [Release notes](https://github.com/opensearch-project/opensearch-java/releases)
- [Changelog](https://github.com/opensearch-project/opensearch-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/opensearch-project/opensearch-java/compare/v2.21.0...v2.22.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 15:00:59 +01:00
dependabot[bot]
5af0858445 build(deps): bump org.testcontainers:junit-jupiter from 1.20.5 to 1.20.6
Bumps [org.testcontainers:junit-jupiter](https://github.com/testcontainers/testcontainers-java) from 1.20.5 to 1.20.6.
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.20.5...1.20.6)

---
updated-dependencies:
- dependency-name: org.testcontainers:junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 15:00:31 +01:00
dependabot[bot]
0a304ff1d3 build(deps): bump com.gorylenko.gradle-git-properties
Bumps com.gorylenko.gradle-git-properties from 2.4.2 to 2.5.0.

---
updated-dependencies:
- dependency-name: com.gorylenko.gradle-git-properties
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 15:00:13 +01:00
dependabot[bot]
92418841fc build(deps): bump com.azure:azure-sdk-bom from 1.2.31 to 1.2.32
Bumps [com.azure:azure-sdk-bom](https://github.com/azure/azure-sdk-for-java) from 1.2.31 to 1.2.32.
- [Release notes](https://github.com/azure/azure-sdk-for-java/releases)
- [Commits](https://github.com/azure/azure-sdk-for-java/compare/azure-sdk-bom_1.2.31...azure-sdk-bom_1.2.32)

---
updated-dependencies:
- dependency-name: com.azure:azure-sdk-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 14:59:56 +01:00
Florian Hussonnois
01036c829d fix(core): wait for service-manager-task thread to be stopped 2025-03-10 14:22:38 +01:00
Loïc Mathieu
5ffeee532c fix(jdbc): flaky tests JdbcServiceLivenessCoordinatorTest 2025-03-10 12:38:56 +01:00
Loïc Mathieu
c606760522 chore(core): disable OTLP metrics on tests 2025-03-10 12:38:56 +01:00
Loïc Mathieu
0870d8ebd8 fix(core): flaky test ExitTest.shouldExitAndKillTheExecution() 2025-03-10 12:38:56 +01:00
Florian Hussonnois
d2d0726f73 fix(cli): fix double shutdown warn messages
Changes:
- Avoid registering two shutdown-hooks that will both log the
shutdown message - leading to some confusion
- Some code cleanup/refactoring
2025-03-10 12:31:06 +01:00
Nicolas K.
868a232527 fix(core): failing schedule test (#7783)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-03-10 12:03:11 +01:00
Loïc Mathieu
3ef11044a2 feat(core): custom log filter
Since Logback 1.5.13, there is no more default implementation for the EvaluatorFilter so we need to supply our own.
See https://logback.qos.ch/manual/filters.html#evaluatorFilter
2025-03-10 10:56:13 +01:00
Miloš Paunović
2d1582f761 chore(ui): respect line numbers prop as part of editor options (#7781) 2025-03-10 10:34:15 +01:00
github-actions[bot]
94d36fdc01 chore(translations): localize to languages other than English (#7780) 2025-03-10 10:13:49 +01:00
dependabot[bot]
0388909828 build(deps): bump robinraju/release-downloader from 1.11 to 1.12
Bumps [robinraju/release-downloader](https://github.com/robinraju/release-downloader) from 1.11 to 1.12.
- [Release notes](https://github.com/robinraju/release-downloader/releases)
- [Commits](https://github.com/robinraju/release-downloader/compare/v1.11...v1.12)

---
updated-dependencies:
- dependency-name: robinraju/release-downloader
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 09:55:11 +01:00
Miloš Paunović
ff4f43c39b chore(ui): re-order namespace tabs (#7778) 2025-03-10 09:38:51 +01:00
Miloš Paunović
140d058beb chore(ui): remove single empty space between label key and value so it can be copied (#7774) 2025-03-10 08:08:22 +01:00
Loïc Mathieu
4276a0afd9 Revert "fix(core): ThresholdFilter is now stricly lower"
This reverts commit bd82f5e3b6.
2025-03-07 18:12:33 +01:00
Loïc Mathieu
1692cab533 feat(core): add outputs to the Flow trigger
Fixes #6848
2025-03-07 18:10:00 +01:00
Nicolas K.
3013e9dfd5 feat(core): #5467 add namespaces in the namespaceFiles parameter (#7749)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-03-07 17:18:45 +01:00
brian.mulier
440a942900 fix(ci): generate_translations.py is now deleting keys that are no longer in en translation to avoid ghost translations 2025-03-07 16:49:45 +01:00
Loïc Mathieu
7696d41d5f fix(jdbc): resubmit worker job to the good worker group
Fixes #7730
2025-03-07 16:44:28 +01:00
github-actions[bot]
45abaa146e chore(translations): localize to languages other than English (#7746)
Co-authored-by: GitHub Action <actions@github.com>
2025-03-07 14:57:33 +01:00
Loïc Mathieu
e9f2711cd3 feat(core): handle worker group fallback inside the scheduler 2025-03-07 14:48:02 +01:00
brian.mulier
166262209a fix(tests): reject promise with 404 instead of empty resolve if non-mocked store call in flowAutoCompletionProvider.spec.ts 2025-03-07 14:01:37 +01:00
Miloš Paunović
99bad6abb0 chore(ui): use uniformed pagination component for custom dashboard tables (#7744) 2025-03-07 13:39:40 +01:00
Barthélémy Ledoux
acc10ed638 fix(flow editor): enhance behavior when switching file tabs (#7722)
* fix(flow editor): when opening a new file and coming back to flow, validation + lowcode are broken

* fix: sync flowYaml only onEdit

* fix: files can now be saved again

* fix: make editor saving button ready for better ux

* allow for a bit of time for storybook to launch the inputs story

* add storybook for flow editor

* setup storybook
2025-03-07 11:29:54 +01:00
Loïc Mathieu
88341bb5c9 feat(webserver): mask the secret() function result from eval outputs
Fixes https://github.com/kestra-io/kestra-ee/issues/3073
2025-03-07 11:26:28 +01:00
brian-mulier-p
e8411b6b11 refacto(ui): move autocompletion to its own service (#7710)
Co-authored-by: Bart Ledoux <bledoux@kestra.io>
2025-03-07 10:46:44 +01:00
github-actions[bot]
6af105a8bf chore(translations): localize to languages other than English (#7739)
Co-authored-by: GitHub Action <actions@github.com>
2025-03-07 10:14:51 +01:00
Miloš Paunović
9a2e09cc8c chore(ui): uniforming empty state for components (#7737) 2025-03-07 09:11:16 +01:00
Nicolas K.
9b1a9d64bc feat(core): #7721 add namespace to pebble file functions (#7729)
* feat(core): #7721 add namespace to pebble file functions

* clean(core): #7721 extract tenantId only once

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-03-06 18:05:19 +01:00
Bart Ledoux
4678616520 fix: repair collapsed menu submenus 2025-03-06 17:12:24 +01:00
Bart Ledoux
07e4598fa4 fix(demo): on pages stop showing the docs without a button
closes #7726
2025-03-06 16:54:52 +01:00
YannC
01fe48b47a fix(ui): improved fetch of type for pluginDoc and avoid removing doc if map has "type" as property but without doc (like ENUM value) (#7727)
close #6101
close #7708
2025-03-06 16:47:04 +01:00
YannC
f7e61a46df feat(core): add new crudEventType value 2025-03-06 15:49:45 +01:00
Loïc Mathieu
dfe5552a1e feat(core): allow reading file from any namespaces
Fixes https://github.com/kestra-io/kestra-ee/issues/1934
2025-03-06 15:36:24 +01:00
YannC
593558dd22 fix(runner-memory): delete MemorySchedulerTriggerState back due to cherry-pick 2025-03-06 15:28:29 +01:00
Miloš Paunović
b22764290e chore(ui): properly sanitize markdown content before rendering (#7724) 2025-03-06 15:13:10 +01:00
YannC
78bfbf0d5e fix(): align to EE 2025-03-06 14:13:06 +01:00
ben8t
f505f29360 Add core plugin sanitychecks (#7592)
* [feature] add sanitychecks

* [feature] add dag sanitychecks

* [fix] use assert

* [fix] use assert

* [feature] add for each sanity
2025-03-06 13:43:54 +01:00
ben8t
1726347dbf change email oss auth default (#7717) 2025-03-06 10:47:24 +01:00
Miloš Paunović
bbf232ba52 fix(ui): prevent context docs open on editor custom blueprints click (#7716) 2025-03-06 09:53:54 +01:00
yuri1969
8f9fc5fe4b fix(core): stop Docker runner gracefully 2025-03-06 09:34:11 +01:00
Ludovic DEHON
9a56b763f4 chore(core): make registry unregister usable with immutable list 2025-03-06 08:48:36 +01:00
Miloš Paunović
40d37d9e42 chore(ui): auto expand first element in execution overview cascaders (#7715) 2025-03-06 08:48:22 +01:00
Florian Hussonnois
e200bbdb6b fix(cli): fix regression on CLI plugin doc cmd 2025-03-05 21:24:09 +01:00
brian.mulier
ef65623b13 fix(core): avoid duplicates in plugins subgroups + properly retrieve subgroup title 2025-03-05 18:36:45 +01:00
Nicolas K.
d8b2e92e8d feat(core-ee): #2838 add audit log shipper (#7701)
* feat(core-ee): #2838 add audit log shipper

* fix: scheduler flacky tests

* feat(core-ee): add pretty string audit log and clean PR

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-03-05 16:30:11 +01:00
Loïc Mathieu
2c63112a59 feat(core, jdbc): dynamic worker group key
Fixes https://github.com/kestra-io/kestra-ee/issues/3064
2025-03-05 15:37:01 +01:00
dependabot[bot]
20b87f1c9c build(deps): bump jacksonVersion from 2.18.2 to 2.18.3
Bumps `jacksonVersion` from 2.18.2 to 2.18.3.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-05 15:36:23 +01:00
dependabot[bot]
ca4e6a4b33 build(deps): bump org.opensearch.client:opensearch-java
Bumps [org.opensearch.client:opensearch-java](https://github.com/opensearch-project/opensearch-java) from 2.20.0 to 2.21.0.
- [Release notes](https://github.com/opensearch-project/opensearch-java/releases)
- [Changelog](https://github.com/opensearch-project/opensearch-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/opensearch-project/opensearch-java/compare/v2.20.0...v2.21.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-05 13:11:00 +01:00
dependabot[bot]
82df58d26f build(deps): bump com.google.cloud:libraries-bom from 26.54.0 to 26.56.0
Bumps [com.google.cloud:libraries-bom](https://github.com/googleapis/java-cloud-bom) from 26.54.0 to 26.56.0.
- [Release notes](https://github.com/googleapis/java-cloud-bom/releases)
- [Changelog](https://github.com/googleapis/java-cloud-bom/blob/main/release-please-config.json)
- [Commits](https://github.com/googleapis/java-cloud-bom/compare/v26.54.0...v26.56.0)

---
updated-dependencies:
- dependency-name: com.google.cloud:libraries-bom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-05 12:28:30 +01:00
dependabot[bot]
b6f91128a1 build(deps): bump opensearchRestVersion from 2.18.0 to 2.19.1
Bumps `opensearchRestVersion` from 2.18.0 to 2.19.1.

Updates `org.opensearch.client:opensearch-rest-client` from 2.18.0 to 2.19.1
- [Release notes](https://github.com/opensearch-project/OpenSearch/releases)
- [Changelog](https://github.com/opensearch-project/OpenSearch/blob/main/CHANGELOG-3.0.md)
- [Commits](https://github.com/opensearch-project/OpenSearch/compare/2.18.0...2.19.1)

Updates `org.opensearch.client:opensearch-rest-high-level-client` from 2.18.0 to 2.19.1
- [Release notes](https://github.com/opensearch-project/OpenSearch/releases)
- [Changelog](https://github.com/opensearch-project/OpenSearch/blob/main/CHANGELOG-3.0.md)
- [Commits](https://github.com/opensearch-project/OpenSearch/compare/2.18.0...2.19.1)

---
updated-dependencies:
- dependency-name: org.opensearch.client:opensearch-rest-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.opensearch.client:opensearch-rest-high-level-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-05 12:15:10 +01:00
Miloš Paunović
a7abc17c0b chore(deps): regular dependency update (#7705) 2025-03-05 12:01:18 +01:00
Miloš Paunović
9607d0152e chore(ui): properly sanitize markdown content before rendering (#7697) 2025-03-05 08:17:02 +01:00
AJ Emerich
fc3c1a4c54 docs: fix typo in storage reverse task title (#7667) 2025-03-04 18:31:56 +01:00
Miloš Paunović
4cee4fca61 chore(ui): make sure chart stacks are following the same order every time (#7664) 2025-03-04 15:22:14 +01:00
Miloš Paunović
475573d13e feat(ui): add markdown formatting to flow run dialog (#7663) 2025-03-04 14:34:15 +01:00
Miloš Paunović
cfac9f339f chore(ui): properly sanitize markdown content before rendering (#7662) 2025-03-04 14:02:07 +01:00
Loïc Mathieu
cd97705d87 feat(core, jdbc): DashboardRepository.findAll() 2025-03-04 11:03:31 +01:00
Nicolas K.
56406c6b5c feat(#7636): add default options for HttpClient (#7650)
* feat(#7636): add default options for HttpClient

* fix(webserver): flacky execution controller tests

* fix(webserver): flacky execution controller tests

* fix(webserver): flacky execution controller tests

* fix(webserver): rework executor controller kill test

* fix(webserver): rework executor controller kill test

* fix(webserver): rework executor controller kill test

* fix(webserver): rework executor controller kill test

* fix(webserver): rework executor controller kill test

* fix(webserver): rework executor controller kill test

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-03-04 10:02:10 +01:00
YannC
38921a265a chore(deps): upgrade ui-libs version to v0.0.154 2025-03-03 22:11:53 +01:00
Shruti Mantri
be61869642 feat: add example for expression condition (#7660) 2025-03-03 18:22:49 +01:00
Shruti Mantri
1f09afe564 feat: add examples for flow conditions (#7659) 2025-03-03 17:52:56 +01:00
Shruti Mantri
35a0520dba feat: add examples for conditions - 3 (#7657)
Co-authored-by: AJ Emerich <aemerich@kestra.io>
2025-03-03 17:52:20 +01:00
YannC
cf6fad0896 fix(): avoid crash on injectDefault 2025-03-03 17:42:21 +01:00
Miloš Paunović
af0c1134e1 chore(ui): improve the topology tooltip label for adding task button (#7656) 2025-03-03 16:14:40 +01:00
Loïc Mathieu
12180457ea fix(core): MultipleCondition documentation 2025-03-03 15:14:55 +01:00
Loïc Mathieu
1eb9adf30a fix(core): validation error when timeWindow.type is null 2025-03-03 15:14:55 +01:00
dependabot[bot]
e7f2ec2aee build(deps): bump software.amazon.awssdk:bom from 2.30.16 to 2.30.31
Bumps software.amazon.awssdk:bom from 2.30.16 to 2.30.31.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 15:06:43 +01:00
dependabot[bot]
94421f141e build(deps): bump org.owasp.dependencycheck from 12.0.2 to 12.1.0
Bumps org.owasp.dependencycheck from 12.0.2 to 12.1.0.

---
updated-dependencies:
- dependency-name: org.owasp.dependencycheck
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 14:36:41 +01:00
dependabot[bot]
65b071adfd chore(deps): bump org.testcontainers:testcontainers
Bumps [org.testcontainers:testcontainers](https://github.com/testcontainers/testcontainers-java) from 1.20.4 to 1.20.5.
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.20.4...1.20.5)

---
updated-dependencies:
- dependency-name: org.testcontainers:testcontainers
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 14:31:35 +01:00
Ludovic DEHON
d2bf56fecf fix(cicd): missing acls for test reports 2025-03-03 14:17:45 +01:00
dependabot[bot]
998a5cca32 chore(deps): bump flyingSaucerVersion from 9.11.3 to 9.11.4
Bumps `flyingSaucerVersion` from 9.11.3 to 9.11.4.

Updates `org.xhtmlrenderer:flying-saucer-core` from 9.11.3 to 9.11.4
- [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.3...v9.11.4)

Updates `org.xhtmlrenderer:flying-saucer-pdf` from 9.11.3 to 9.11.4
- [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.3...v9.11.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 14:15:30 +01:00
dependabot[bot]
4b48ad597d build(deps): bump nl.basjes.gitignore:gitignore-reader
Bumps [nl.basjes.gitignore:gitignore-reader](https://github.com/nielsbasjes/codeowners) from 1.10.0 to 1.11.1.
- [Release notes](https://github.com/nielsbasjes/codeowners/releases)
- [Changelog](https://github.com/nielsbasjes/codeowners/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nielsbasjes/codeowners/compare/v1.10.0...v1.11.1)

---
updated-dependencies:
- dependency-name: nl.basjes.gitignore:gitignore-reader
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 14:14:41 +01:00
dependabot[bot]
66fdb58f4b build(deps): bump com.github.oshi:oshi-core from 6.6.6 to 6.7.0
Bumps [com.github.oshi:oshi-core](https://github.com/oshi/oshi) from 6.6.6 to 6.7.0.
- [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.6.6...oshi-parent-6.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 14:14:27 +01:00
Loïc Mathieu
8c708e2d53 feat(core): improve merging outputs by merging them at the task level 2025-03-03 13:57:48 +01:00
Loïc Mathieu
677585213a feat(core): use HashMap.newHashMap(int) 2025-03-03 13:57:48 +01:00
Loïc Mathieu
ff3f90465d feat(core): replace new ArrayList by Collections.emptyList() 2025-03-03 13:57:48 +01:00
YannC
8f5189df49 fix(): recoverMissedSchedules behavior on long running executions (#7617)
* fix(): handle missed scheduled for long running execution

close #7549

* tests(core): add test for backfill last/none on long running execution

* fix(): review pr

* fix(): shorter test

* fix(): fix tests and add missing getStopAfter

* tests(): fix scheduler tests
2025-03-03 13:14:16 +01:00
Miloš Paunović
9446eefd94 fix(ui): make sure adding labels on flow run dialog is possible (#7652) 2025-03-03 11:29:35 +01:00
YannC
334410ab58 fix(): make subflow not found a warning instead of an error (#7649) 2025-03-03 10:38:28 +01:00
nKwiatkowski
7ccb97a963 Revert "feat(#7636): add default options for HttpClient"
This reverts commit 5b42d0adba.
2025-03-03 10:09:08 +01:00
nKwiatkowski
3957177455 Merge remote-tracking branch 'origin/develop' into develop 2025-03-03 10:05:13 +01:00
nKwiatkowski
5b42d0adba feat(#7636): add default options for HttpClient 2025-03-03 10:05:01 +01:00
Loïc Mathieu
8bd3c2fef8 fix(ci): fix vulnerability check workflow 2025-03-03 09:41:13 +01:00
Miloš Paunović
d8fc4a9ce2 fix(ui): allow sidebar theme toggle to update the editor theme (#7648) 2025-03-03 09:15:24 +01:00
Florian Hussonnois
bfd82e0b5c chore(core): eval value property once for flowable task Switch 2025-02-28 18:38:31 +01:00
Loïc Mathieu
fa07cbd3b9 feat(core): improve performance of ExecutorService.handleChildWorkerTaskResult
Searching for a retry in all parents is a costly operation, doing it only wgen we are retrying or failing avoid it most of the time.
2025-02-28 17:40:29 +01:00
github-actions[bot]
2c77a43935 chore(translations): localize to languages other than English (#7635)
Co-authored-by: GitHub Action <actions@github.com>
2025-02-28 16:09:24 +01:00
Piyush Bhaskar
60a84a49f8 chore(ui): improve empty state of the namespace files editor (#7495) 2025-02-28 15:54:39 +01:00
Piyush Bhaskar
d8295ef4ae feat(ui): allow reordering tabs in the editor (#7531) 2025-02-28 15:46:30 +01:00
Miloš Paunović
b02325a2e4 chore(ui): remove crud details from execution overview (#7634) 2025-02-28 15:39:43 +01:00
Florian Hussonnois
a098847c65 feat(core): enhance plugin management
Changes:
* add new interface PluginManager
* add new CLI for un-installing plugins
* add new option --locally to CLI plugin install
* refactor service for downloading plugins
* refactor PluginController
* move Version util class from EE to OSS
* migrate aether lib to maven-resolver (#915)

part-of: #915
2025-02-28 15:04:40 +01:00
brian.mulier
5f21eb5790 fix(ui): use watch with ref instead of accessing the value 2025-02-28 14:16:05 +01:00
MilosPaunovic
036a7cf4f7 fix(ui): improve check for text label of filters section 2025-02-28 14:00:32 +01:00
MilosPaunovic
446a034d6b fix(ui): additional check for text label of filters section 2025-02-28 12:48:38 +01:00
github-actions[bot]
3fff36881a chore(translations): localize to languages other than English (#7633)
Co-authored-by: GitHub Action <actions@github.com>
2025-02-28 12:23:36 +01:00
Anna Geller
174ac280d2 Update README.md 2025-02-28 11:12:41 +01:00
Miloš Paunović
c610ccdaee chore(ui): improve label for text search in filters section (#7631)
* chore(ui): improve label for text search in filters section

* chore(ci): prevent running translation spec on ci:cd workflow
2025-02-28 11:07:19 +01:00
Hashim Khalifa
d8ed5b8b88 feat:string filter (#7428)
* feat:string filter

* chore: include string filter in docs
2025-02-28 10:38:32 +01:00
brian.mulier
17e54134ce fix(core): no longer lowercasing PluginClassIdentifier to have proper validation upon Plugin deserialization
closes #7387
2025-02-28 10:01:57 +01:00
Anna Geller
cacbd069f9 Update README.md 2025-02-28 01:07:18 +01:00
Anna Geller
de5a0f4623 Update README.md 2025-02-28 01:05:24 +01:00
Piyush Bhaskar
0f6c8d3521 fix(ui): executions naviation based on start Date. (#7626) 2025-02-27 21:21:21 +01:00
Anna Geller
c8207b8706 fix: confusing trace log 2025-02-27 20:33:26 +01:00
brian.mulier
39cd6189ac chore(deps): bump ui-libs to 0.0.151 2025-02-27 18:47:43 +01:00
brian.mulier
9b4f3148fc fix(ui): replace alert blocks upon markdown rendering to display them properly
closes #7393
2025-02-27 16:46:23 +01:00
Shruti Mantri
ca6a7a9e16 Add full examples for dayweek, dayweekinmonth and publicholidays conditions (#7615)
* Add full examples for dayweek, dayweekinmonth and publicholidays conditions

* Update core/src/main/java/io/kestra/plugin/core/condition/DayWeekInMonth.java

---------

Co-authored-by: AJ Emerich <aemerich@kestra.io>
2025-02-27 16:39:41 +01:00
Bart Ledoux
3dc8e98ed3 fix: make sure nocode edits the right task from the topology
closes #7619
2025-02-27 15:58:17 +01:00
github-actions[bot]
ea79be9de8 chore(translations): localize to languages other than English (#7618)
Co-authored-by: GitHub Action <actions@github.com>
2025-02-27 15:17:13 +01:00
Anna Geller
3804bdc7f7 fix: improve translation prompt 2025-02-27 15:14:02 +01:00
Anna Geller
d04764814a fix: turn CI flag to a dropdown 2025-02-27 14:41:31 +01:00
Anna Geller
020d674d8c fix(translations): allow retranslating modified keys when needed 2025-02-27 14:39:17 +01:00
Miloš Paunović
ec7458dce5 feat(ui): make filter dropdown be positioned below the input caret (#7614) 2025-02-27 14:24:53 +01:00
Anna Geller
ae75ea06d2 fix: improve some wording 2025-02-27 14:19:30 +01:00
github-actions[bot]
53cd056871 chore(translations): localize to languages other than English (#7613)
Co-authored-by: GitHub Action <actions@github.com>
2025-02-27 14:14:52 +01:00
Piyush Bhaskar
9bab2d2cfa feat(ui): introduce the execution timeline section on overview tab (#7498)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-02-27 14:09:48 +01:00
Loïc Mathieu
4d87d95eac chore(deps): upgrade Micronaut core to 4.7.15 2025-02-27 14:09:22 +01:00
Anna Geller
81635ddc84 fix: clean up translations script 2025-02-27 13:11:46 +01:00
github-actions[bot]
781d1338e9 chore(translations): localize to languages other than English (#7610)
Co-authored-by: GitHub Action <actions@github.com>
2025-02-27 12:47:51 +01:00
Anna Geller
37ba85a130 Revert "chore(translations): localize to languages other than English (#7605)" (#7609)
This reverts commit 04b8a0a14c.
2025-02-27 12:41:42 +01:00
Anna Geller
7c7ac5a70d fix: only re-translate if the key is not already in the target dict (#7608)
* fix: only re-translate if the key is not already in the target dict or is empty

* Update generate_translations.py

* Update generate_translations.py
2025-02-27 12:40:46 +01:00
Shruti Mantri
f315485fc6 feat: add full examples for datetimebetween condition (#7598) 2025-02-27 11:30:59 +00:00
github-actions[bot]
04b8a0a14c chore(translations): localize to languages other than English (#7605)
Co-authored-by: GitHub Action <actions@github.com>
2025-02-27 11:53:09 +01:00
Anna Geller
8dc702ed16 fix(translations): fix translation key detection by comparing against last modifying commit (#7604) 2025-02-27 11:47:24 +01:00
Anna Geller
6dee52da16 fix: ci for translations (#7602)
* fix: ci for translations

* clean uo
2025-02-27 10:39:36 +01:00
Anna Geller
31dce9aadd Update generate-translations.yml 2025-02-27 10:23:30 +01:00
Anna Geller
cf1d98f56d chore(translations): standalone action for translations (#7597) 2025-02-27 10:22:01 +01:00
Harshit Dhaduk
3bbe65653b feat(ui): add ability to have persistent filter options (#7276)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-02-27 09:31:45 +01:00
Piyush Bhaskar
5108dd5e25 feat(ui): improve inspecting details of multiple executions (#7516) 2025-02-27 08:33:02 +01:00
Tanvir Ahmed
1ea331b8ab chore: introduce Devcontainer setup (#7507)
Co-authored-by: brian.mulier <bmmulier@hotmail.fr>
2025-02-26 19:26:55 +01:00
aeSouid
e9ceda4666 Fix issue text filter after label 2025-02-26 19:18:16 +01:00
brian.mulier
a996347de2 fix(ui): LabelInput.vue was causing UI freeze 2025-02-26 16:38:31 +01:00
Nicolas K.
d8e3a9ab8b Feat/npe on runcontext cleanup (#7585)
* fix(#7548): NPE on runContext cleanup if logger is null

* clean(#7548): unused import

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-02-26 14:06:41 +01:00
Miloš Paunović
e097bdbe53 chore(deps): regular dependency update (#7588) 2025-02-26 13:41:58 +01:00
Miloš Paunović
0090caad3f fix(ui): make sure adding labels on flow run dialog is possible (#7587) 2025-02-26 12:43:56 +01:00
Loïc Mathieu
7fbe433221 fix(core): properly render list properties 2025-02-26 12:03:55 +01:00
Miloš Paunović
b489848ab9 chore(ui): remove background and check mark from selected filters dropdown list (#7583) 2025-02-26 11:23:05 +01:00
Loïc Mathieu
fc7ef1ca38 fix(core): log can have no executionId
Fixes https://github.com/kestra-io/kestra-ee/issues/2980
2025-02-26 11:03:43 +01:00
Miloš Paunović
0dfe54baa8 fix(ui): amend inconsistencies inside the product tour (#7582) 2025-02-26 11:02:40 +01:00
Miloš Paunović
45c5592609 fix(ui): make flow deletion work as expected (#7579) 2025-02-26 09:04:18 +01:00
Miloš Paunović
3134d2abe2 chore(ui): respect default execution tab settings field when opening single execution (#7576) 2025-02-26 08:35:07 +01:00
aeSouid
2bb5ac61c2 Labels multiselect: (#7544)
combine the labels filter by operation to handle multiselect when building the query
2025-02-25 16:50:38 +01:00
Malaydewangan09
be04c168fd refactor: update http client and fix tests 2025-02-25 16:31:27 +01:00
Malaydewangan09
04c4916ac6 chore: add wiremock and update tests 2025-02-25 16:31:27 +01:00
Malaydewangan09
8d2af87db3 fix: refactor PluginSearchCommand 2025-02-25 16:31:27 +01:00
Malaydewangan09
e7950279bb feat: add plugin search command 2025-02-25 16:31:27 +01:00
Đỗ Trọng Hải
44936e9cdf fix(ui): improve coloring for task object tooltips in no code editor (#7515) 2025-02-25 15:38:57 +01:00
yuri
27755a3791 fix(ui): preselect filter comparator option (#7518) 2025-02-25 15:33:21 +01:00
brian.mulier
ff4f7abb0f fix(ui): styling enhancements for plugin doc
closes kestra-io/ui-libs#196
2025-02-25 15:21:24 +01:00
brian.mulier
48b117b351 fix(ui): plugins TOC is now handling every type of plugins 2025-02-25 15:21:24 +01:00
yuri
daca5675d0 fix(ui): amend label filter encoding after values change (#7536) 2025-02-25 14:05:12 +01:00
Miloš Paunović
b3278bf208 feat(ui): introduce topology export to image files (#7541) 2025-02-25 13:42:13 +01:00
Loïc Mathieu
8a26fdd83e chore(core): move run context property validation to the run context
This would avoid loading the Validator from the application context each time we render a property
2025-02-25 11:09:46 +01:00
Loïc Mathieu
38b8190be9 fix(core): Subflow using the old task name never ends
Fixes #7506
2025-02-25 11:06:31 +01:00
Miloš Paunović
52cb63c436 chore(ui): prevent system labels to be shown in set labels dialog (#7539)
* chore(ui): prevent system labels to be shown in set labels dialog

* chore(ui): improve the removal of labels
2025-02-25 10:42:07 +01:00
dependabot[bot]
f3cff1b8cd build(deps): bump io.micronaut.platform:micronaut-platform
Bumps [io.micronaut.platform:micronaut-platform](https://github.com/micronaut-projects/micronaut-platform) from 4.7.5 to 4.7.6.
- [Release notes](https://github.com/micronaut-projects/micronaut-platform/releases)
- [Commits](https://github.com/micronaut-projects/micronaut-platform/compare/v4.7.5...v4.7.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-25 10:14:04 +01:00
Loïc Mathieu
a2c89e508c fix(core): handle space in HTTP request URI
Fixes #6936
2025-02-25 09:03:58 +01:00
aeSouid
c8aae742a2 fix(ui): amend filtering of logs (#7535) 2025-02-25 08:33:11 +01:00
aeSouid
eab7b746e5 Fix the search by labels input as single value 2025-02-24 19:31:14 +01:00
nKwiatkowski
1d5981665f fix(core): #172 add reactor into classloader blacklist 2025-02-24 18:41:15 +01:00
Ludovic DEHON
4500c976d6 fix(core): content type encoding should not be mandatory 2025-02-24 18:33:25 +01:00
Loïc Mathieu
cf10269f25 fix(jdbc): be resilient to DataException
We usually fail fast, but when a DataException is thrown it means the JDBC driver throws an exception with error code 22: data exception.
As the exception is from the data not the database or the network, there is no point of failfast, we throw a QueueException that may or may not be handled gracefully by the call site.
2025-02-24 16:56:10 +01:00
MilosPaunovic
cf635058cd chore(ui): use system namespace label from configs 2025-02-24 14:45:28 +01:00
aeSouid
bd6937a9f0 Fix the multi select status for the IAM/invitaiton page (#7528) 2025-02-24 13:36:34 +01:00
Miloš Paunović
59cc6f32d0 refactor(ui): remove obsolete chartjs-chart-treemap library (#7529) 2025-02-24 13:33:48 +01:00
Miloš Paunović
b8423ef70e chore(ui): purge empty labels on execution (#7527) 2025-02-24 12:24:50 +01:00
Miloš Paunović
0ec1b3a983 chore(ui): prevent sending random strings as child filter values (#7526)
* chore(ui): properly handle child filter

* chore(ui): prevent sending random strings as child filter values
2025-02-24 11:19:16 +01:00
Anna Geller
8cebd39f0d docs: debug expression (#7514)
* docs: debug expression

* fix: translation script

* fix: translations commit depth

* fix: comment
2025-02-24 10:22:21 +01:00
Ludovic DEHON
9fce6cfe65 fix(core): missing content type on http client 2025-02-21 23:18:27 +01:00
brian.mulier
c8c0c4e63f fix(core): camel to snake-case for app-blocks in RegisteredPlugin 2025-02-21 19:44:06 +01:00
Loïc Mathieu
25723b1acb fix(core): typo in PluginScanner 2025-02-21 19:40:16 +01:00
rajatsingh23
065d299422 chore(ui): restore automatic scroll to bottom on logs (#7365) 2025-02-21 15:08:13 +01:00
brian.mulier
9ec4d9282b fix(core): rename dashboards subgroups 2025-02-21 14:48:03 +01:00
brian.mulier
16284e5b95 fix(core): move package-info.java to proper dashboard packages 2025-02-21 14:35:36 +01:00
Ludovic DEHON
a115eb5373 fix(core): try to log message for unhandled realtime trigger exception 2025-02-21 12:50:21 +01:00
brian.mulier
ac2643c108 fix(core): add package-info.java to script + handle subgroups properly 2025-02-21 12:23:24 +01:00
Adam Hirshson
4710baec7d chore(ui): improve the scope of translations (#7505)
Co-authored-by: Yailan Bordas <bordasyailan@gmail.com>
Co-authored-by: Yailan Bordas <109761932+YAI-cs@users.noreply.github.com>
Co-authored-by: Christian Arauz <carau022@fiu.edu>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-02-21 09:20:52 +01:00
Miloš Paunović
1efe531228 chore(ui): add translation key/value pairs (#7509) 2025-02-21 09:19:09 +01:00
brian.mulier
df92491e55 fix(core): add package-info.java to dashboard package 2025-02-20 19:05:58 +01:00
aeSouid
e7c65e020a chore(ui): improve scope type filters (#7504) 2025-02-20 14:14:08 +01:00
Miloš Paunović
90212ee7dc fix(ui): properly filter out log levels (#7503) 2025-02-20 12:18:58 +01:00
Miloš Paunović
ac1984b349 fix(ui): make flow metrics behave as expected (#7502) 2025-02-20 11:59:27 +01:00
YannC
c5767fd313 fix(core): require condition in Flow trigger (#7494)
close #971
2025-02-20 10:19:06 +01:00
Ludovic DEHON
8ee79264ed fix(tasks): remove useless format metrics on return (#7486) 2025-02-19 22:56:29 +01:00
Mathieu Gabelle
c6d21776ec fix: render before command with options in CommandsWrapper (#7496) 2025-02-19 17:02:31 +01:00
Aabhas Sao
45a9ea0cc5 chore(ui): simplify query search with spaces inside (#7404)
Signed-off-by: Aabhas Sao <aabhassao0@gmail.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-02-19 16:26:47 +01:00
YannC
1f60a86739 fix(core): if subflow is disabled, raise an error (#7490) 2025-02-19 14:17:28 +01:00
Piyush Bhaskar
d0e8b691e3 chore(ui): amend margins of EE locked pages (#7446) 2025-02-19 14:11:45 +01:00
Piyush Bhaskar
0687a97eb8 feat(ui): add keyboard shortcuts for changing editor font size (#7450)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-02-19 13:54:20 +01:00
Miloš Paunović
dcf89b5db8 chore(translations): add missing key/value pairs (#7492) 2025-02-19 13:53:46 +01:00
Piyush Bhaskar
b1e29fbe31 chore(ui): improve styling of editor file tree (#7420) 2025-02-19 13:40:38 +01:00
Miloš Paunović
4b2113fb9b chore(ui): remove obsolete props (#7487) 2025-02-19 13:37:19 +01:00
Piyush Bhaskar
dc1728e420 fix(ui): fix the light theme contrast for editor. (#7438)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-02-19 13:31:47 +01:00
Miloš Paunović
8c83290d7a chore(deps): regular dependency update (#7485) 2025-02-19 12:54:49 +01:00
Miloš Paunović
212b3a82a9 fix(ui): improve handling of main filter labels on page load (#7456) 2025-02-19 12:08:53 +01:00
Miloš Paunović
1612c65ea3 fix(ui): properly cast value to boolean (#7455) 2025-02-19 11:29:07 +01:00
Miloš Paunović
6257b1508c chore(ui): disable click on search button if filtering is automatic (#7454) 2025-02-19 11:08:57 +01:00
yuri
f1670b8ac8 fix(webserver): allow special chars in label key (#7419) 2025-02-19 09:06:48 +01:00
brian.mulier
ce15ca1cac fix(ci): QEMU issue 2025-02-18 23:36:53 +01:00
Ludovic DEHON
a53395ab3f fix(core): http proxy was not passed to configuration
close #7449
2025-02-18 22:46:15 +01:00
Mathieu Gabelle
e0eaf675b2 refactor: return only command when no interpreter and no beforeCommands (#7452) 2025-02-18 18:59:04 +01:00
Ludovic DEHON
666f8a7ad9 fix(cicd): update concurrency key 2025-02-18 18:21:25 +01:00
brian.mulier
cebe8f3545 fix(tests): increase timeout on JdbcServiceLivenessCoordinatorTest.taskResubmitSkipExecution 2025-02-18 15:48:36 +01:00
brian.mulier
16e3830c9c fix(core): render delete property at the beginning in Docker task runner 2025-02-18 15:48:36 +01:00
brian.mulier
15b85ac952 fix(core): remove props with default from required in json schema to avoid validation errors
closes #7406
2025-02-18 15:48:36 +01:00
Miloš Paunović
db016a085f chore(ui): add arrows to namespace listing (#7448) 2025-02-18 13:54:07 +01:00
YannC
d5f6da10dd fix(): invert condition 2025-02-18 12:38:54 +01:00
brian.mulier
3723275817 fix(core): move back to the old worker thread pool because it was restricting it to 1 thread 2025-02-18 12:24:21 +01:00
YannC
ef29883138 fix(core): provide tenantId when looking for subflow (#7442) 2025-02-18 11:38:25 +01:00
Mathieu Gabelle
5ced9b6c4f refactor: remove rendering from Docker (#7439)
rendering is done in the CommandsWrapper so no need to render again in the task runner
2025-02-18 11:15:14 +01:00
Miloš Paunović
11f3629f38 chore(ui): add missing translations (#7444) 2025-02-18 11:11:50 +01:00
Miloš Paunović
d8c5a1e14c chore(ui): amend namespace flow creation label (#7443) 2025-02-18 11:09:55 +01:00
Miloš Paunović
cee2734817 fix(ui): improve modifying inputs from no code editor (#7440) 2025-02-18 10:36:15 +01:00
brian.mulier
13cb0fb96d fix(tests): logs are asynchronously inserted so we wait for them to be fully in 2025-02-18 10:19:58 +01:00
YannC
a020e3f3ae ci(test): force test if ref is a tag 2025-02-18 09:46:28 +01:00
brian.mulier
12fef24279 chore(deps): bump ui-libs to 0.0.141 2025-02-18 01:38:22 +01:00
rajatsingh23
4a55485cd6 fix(ui): better duration consistency on Gantt chart 2025-02-18 00:38:54 +01:00
brian.mulier
aed5734e17 chore(deps): bump ui-libs to 0.0.140 2025-02-18 00:25:39 +01:00
brian.mulier
d55ce16f57 fix(tests): wider maxDuration for retry-failed-flow-duration.yml 2025-02-18 00:05:14 +01:00
aeSouid
4abf3e9e6b Filter feat: (#7432)
Fix handle namespace column in filtering on scope
2025-02-17 14:43:03 +01:00
Bart Ledoux
fbd8934346 fix: restore red dot when there is news 2025-02-17 14:17:13 +01:00
Bart Ledoux
df6d339310 refactor: avoid en.json warning when building 2025-02-17 14:16:47 +01:00
YannC
a89ef71580 ci(publish-docker): attempts with command on qemu docker image 2025-02-17 11:15:14 +01:00
YannC
89c2d3951c ci(publish-docker): attempts with ubuntu 0.20 (#7431) 2025-02-17 10:48:10 +01:00
Mathieu Gabelle
e061a3617c refactor: introduce render in commands wrapper for property string (#7430) 2025-02-17 10:44:54 +01:00
Mathieu Gabelle
410cf0e389 fix: enable rendering of commands properties inside CommandsWrapper (#7381)
* fix: move commands to Property

migrate to Property in TaskCommands and CommandsWrapper
implement beforeCommand and interpreter
2025-02-17 09:49:49 +01:00
YannC
f783ab72b5 fix(test): attempt at making the test not flakky (#7400) 2025-02-17 09:20:26 +01:00
Anna Geller
72e78c8c31 Update ExecutionOutputs.java (#7394) 2025-02-17 09:20:10 +01:00
YannC
a716094a9d ci(): now run the file changes detection also in the workflow test 2025-02-17 09:15:26 +01:00
YannC
c75def0eac ci():allow release to be run 2025-02-17 09:10:08 +01:00
Piyush Bhaskar
c27d5ce480 chore(ui): improved Logs empty page (#7415) 2025-02-16 22:44:00 +01:00
aeSouid
49960d67ab chore(ui): improve filter parameters decoding for absolute date (#7409) 2025-02-14 14:51:13 +01:00
Loïc Mathieu
d9d2f86971 fix(core): ForEachItem inside an If task
Fixes #6801
2025-02-14 14:46:09 +01:00
Laibrez
95f5862201 chore(ui): improve execution outputs section (#7377)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2025-02-14 14:45:20 +01:00
AJ Emerich
e6419cf7a2 fix(ui): correct english translations (#7401)
Closes https://github.com/kestra-io/kestra-ee/issues/2913
2025-02-14 14:19:38 +01:00
Miloš Paunović
c1faeab068 chore(ui): make import flows button be a secondary one, styling-wise (#7405) 2025-02-14 12:59:44 +01:00
Aabhas Sao
dd3ff3e771 chore(ui): vertically center all elements in table rows (#7372)
Signed-off-by: Aabhas Sao <aabhassao0@gmail.com>
2025-02-14 11:52:37 +01:00
Miloš Paunović
e635338b47 chore(ui): improve colors of filter dropdown selector (#7403) 2025-02-14 11:47:10 +01:00
Loïc Mathieu
ddfed2e65c fix(core): taskrun list can be null 2025-02-14 11:45:33 +01:00
aeSouid
52fe6afae0 Filter feat: (#7389)
namespace mulitple choice in and not in
2025-02-14 11:37:57 +01:00
Miloš Paunović
a9ff2af159 fix(ui): properly handle the operation labels in filter component (#7399) 2025-02-14 10:50:16 +01:00
Miloš Paunović
bf19a8f5ad chore(ui): improve the labels behavior (#7397) 2025-02-14 10:30:46 +01:00
Loïc Mathieu
41712b8d80 feat(jdbc): consume multiple times the execution and worker task result queues
So that the executor use multiple threads to process messages.
2025-02-14 09:19:51 +01:00
Loïc Mathieu
f8a6e3fb04 feat(core, jdbc): use an elastic thread pool
To avoid using too many threads when it's not needed.
2025-02-14 09:19:39 +01:00
Ludovic DEHON
ad651cdc53 fix(ui): fix slack button on error toast 2025-02-13 19:27:20 +01:00
Miloš Paunović
f57a463983 chore(ui): improve breadcrumbs on namespace view (#7386) 2025-02-13 15:46:04 +01:00
Miloš Paunović
b3e66d8844 chore(ui): include autocompletion shortcut in the preview list (#7384) 2025-02-13 15:03:42 +01:00
Miloš Paunović
dc64d81dd0 chore(ui): add link to filtered triggers page from backfill dialog (#7380) 2025-02-13 12:17:53 +01:00
YannC
be30034143 ci(): moved build artifacts directly in docker workflow 2025-02-13 11:20:16 +01:00
YannC
f8d8e0998c ci(): fix outputs 2025-02-13 10:47:58 +01:00
Bart Ledoux
b8d0ae3ecf fix: changing language should work with providers too 2025-02-13 10:32:20 +01:00
Loïc Mathieu
def8fa3ff1 fix(cli): disable by default OTEL metrics 2025-02-13 10:21:18 +01:00
YannC
cfc0c9f9f2 ci(docker): revert fixed qemu version 2025-02-13 10:06:14 +01:00
YannC
49fe36250a ci(docker): fixed version of qemu 2025-02-13 10:00:32 +01:00
YannC
0c19f4c518 ci(): map outputs in build artifacts 2025-02-13 09:40:55 +01:00
YannC
1e6d553ce6 ci(): correct output in workflow build artifacts 2025-02-13 09:08:00 +01:00
YannC
1ebbdbbae6 fix(scheduler): delete trigger when flow is not found (#7366)
close #7312
2025-02-13 08:52:19 +01:00
Ludovic DEHON
5b29a0d070 fix(cicd): add mariadb plugins on docker image 2025-02-12 23:48:50 +01:00
Ludovic DEHON
239fb6a685 fix(core): handle http request with no content type 2025-02-12 19:48:50 +01:00
YannC
9924ba5ae2 fix(ui): refresh dashboard list (#7370)
close #2791
2025-02-12 17:44:24 +01:00
Loïc Mathieu
13ac335c93 feat(jdbc): clean more eagerly some queues based on configuration 2025-02-12 16:35:46 +01:00
Loïc Mathieu
9d717caf95 feat(jdbc): queues.updated should be set when the record is updated 2025-02-12 16:35:46 +01:00
Loïc Mathieu
1d65fd96b4 fix(jdbc): delete the executor state at the correct stage
Without this change, the executor state is deleted when the execution is terminated.
Then the last execution message is emitted, which goes again into the queue wich recreates the executor state.
2025-02-12 16:11:32 +01:00
Loïc Mathieu
b45a44bd35 fix(core): render list
Fixes #7253
2025-02-12 16:09:16 +01:00
YannC
bd9ba882fb test(webserver): flaky ExecutionControllerTest for kill (#7368) 2025-02-12 15:59:39 +01:00
Miloš Paunović
4b682931e0 chore(ui): add validation messages for custom dashboard crud actions (#7367) 2025-02-12 14:38:10 +01:00
YannC
d657f48278 ci: cleanup 2025-02-12 14:28:49 +01:00
Eduardo Goncalvez
714938bec6 chore(ui): add shadows to main charts (#7314)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2025-02-12 11:38:59 +01:00
Barthélémy Ledoux
73a9eb485f fix: make menu hierarchy get closer to the original designs (#7102)
* fix: make menu hierarchy get closer to the original designs

* smaller spacing in lower hierachy

* chore: add sidebar story
2025-02-12 10:52:14 +01:00
Miloš Paunović
4d9f2a130f fix(ui): make sure bulk selection is taking into account only selected items (#7362) 2025-02-12 10:47:41 +01:00
Barthélémy Ledoux
a040ec44b9 fix: trim bookmarks better (#7359) 2025-02-12 10:19:22 +01:00
Barthélémy Ledoux
b1c27b1869 fix: add proper ellipsis to sidemenu (#7361) 2025-02-12 10:19:06 +01:00
Loïc Mathieu
ed14493632 feat(core): add system.correlationId label to triggered executions 2025-02-12 10:12:56 +01:00
Miloš Paunović
3803f4ea4c chore(deps): regular dependency update (#7358) 2025-02-12 09:59:20 +01:00
Miloš Paunović
4992cf34fa chore(translations): amend theme key (#7356) 2025-02-12 09:23:03 +01:00
YannC
420afd7758 ci():fix frontend being skipped (#7355) 2025-02-12 09:21:59 +01:00
Shamar
c3852a2933 chore(ui): improve the doughnut chart legend (#7321)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-02-12 08:59:43 +01:00
YannC
41417adf8b ci(): fixed vulnerabilities-check.yml wrong character 2025-02-12 08:57:16 +01:00
Pravesh-Sudha
cd89cd8fb6 chore(ui): introduce filters bar to flow triggers page (#7292)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2025-02-12 08:45:47 +01:00
YannC
9b5e16a02d ci(): call reusable workflow correctly 2025-02-12 08:42:09 +01:00
Ludovic DEHON
f4b78755ad docs(core): better documentation on docker tasks 2025-02-11 22:12:43 +01:00
Ludovic DEHON
7bf42cb1cb fix(cicd): npm install in the wrong folder for vulnerabilities checks 2025-02-11 22:12:38 +01:00
Loïc Mathieu
7dbf86d54e fix(core): possible NPE when an execution has no labels 2025-02-11 18:01:27 +01:00
Loïc Mathieu
e7f551edc2 feat(jdbc): purge worker job queue early 2025-02-11 16:30:40 +01:00
Loïc Mathieu
31d2212419 feat(jdbc): puerge worker task result queue early 2025-02-11 16:30:40 +01:00
Loïc Mathieu
dd8ae5e642 feat(jdbc): purge execution queue early 2025-02-11 16:30:40 +01:00
Nicolas K.
0aadbab9c4 fix(core): add request.yaml file back (#7308)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-02-11 16:15:25 +01:00
YannC
49759da3b4 ci(): Remove if from test workflow 2025-02-11 15:48:20 +01:00
YannC
489e01cf38 ci(): Use correct workflow 2025-02-11 15:46:39 +01:00
YannC
1821ec27c9 ci(): Correct outputs 2025-02-11 15:44:01 +01:00
YannC
a6918b1f34 ci(): Remove unnecessary secrets 2025-02-11 15:37:49 +01:00
YannC
17693c7380 ci(): Missing GOOGLE_SERVICE_ACCOUNT secrets 2025-02-11 15:27:33 +01:00
YannC
806135e3e9 ci(): Remove GITHUB_TOKEN from secrets definition 2025-02-11 15:25:27 +01:00
YannC
7381b32e16 ci(): rewrite release part 2025-02-11 15:22:33 +01:00
YannC
7b175dac04 ci(): trigger main ci on dispatch 2025-02-11 14:19:48 +01:00
YannC
2c3de87dcc ci(): trigger main ci also on develop branch 2025-02-11 14:19:19 +01:00
YannC
7b9efa08a6 fix(h2): remove indenting in sql file (#7306) 2025-02-11 13:52:38 +01:00
Piyush Bhaskar
1a96fe4b4b chore(ui): improve styling of main filter tags (#7305)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2025-02-11 13:51:24 +01:00
YannC
938de9b222 fix(core): do not validate subflow if namespace or id is pebble (#7294)
close #7271
2025-02-11 13:44:30 +01:00
Florian Hussonnois
9505c48e55 chore: remove some compilation warnings 2025-02-11 13:04:38 +01:00
YannC
fe197ebd21 ci(): run translations only if necessary 2025-02-11 12:52:40 +01:00
YannC
c5b6d6b2a7 ci(): moved multiple actions to reusable workflows (#7299) 2025-02-11 11:47:56 +01:00
dependabot[bot]
90da5f7cf7 build(deps): bump org.opensearch.client:opensearch-java
Bumps [org.opensearch.client:opensearch-java](https://github.com/opensearch-project/opensearch-java) from 2.19.0 to 2.20.0.
- [Release notes](https://github.com/opensearch-project/opensearch-java/releases)
- [Changelog](https://github.com/opensearch-project/opensearch-java/blob/v2.20.0/CHANGELOG.md)
- [Commits](https://github.com/opensearch-project/opensearch-java/compare/v2.19.0...v2.20.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-11 11:45:27 +01:00
dependabot[bot]
4c5638d957 build(deps): bump io.micronaut.platform:micronaut-platform
Bumps [io.micronaut.platform:micronaut-platform](https://github.com/micronaut-projects/micronaut-platform) from 4.7.4 to 4.7.5.
- [Release notes](https://github.com/micronaut-projects/micronaut-platform/releases)
- [Commits](https://github.com/micronaut-projects/micronaut-platform/compare/v4.7.4...v4.7.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-11 11:45:09 +01:00
dependabot[bot]
8260dc6033 build(deps): bump io.pebbletemplates:pebble from 3.2.2 to 3.2.3
Bumps [io.pebbletemplates:pebble](https://github.com/PebbleTemplates/pebble) from 3.2.2 to 3.2.3.
- [Release notes](https://github.com/PebbleTemplates/pebble/releases)
- [Commits](https://github.com/PebbleTemplates/pebble/compare/3.2.2...3.2.3)

---
updated-dependencies:
- dependency-name: io.pebbletemplates:pebble
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-11 11:44:52 +01:00
dependabot[bot]
48320a89d8 build(deps): bump com.microsoft.playwright:playwright
Bumps [com.microsoft.playwright:playwright](https://github.com/microsoft/playwright-java) from 1.49.0 to 1.50.0.
- [Release notes](https://github.com/microsoft/playwright-java/releases)
- [Commits](https://github.com/microsoft/playwright-java/compare/v1.49.0...v1.50.0)

---
updated-dependencies:
- dependency-name: com.microsoft.playwright:playwright
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-11 11:44:16 +01:00
dependabot[bot]
55bdfac7f9 build(deps): bump software.amazon.awssdk.crt:aws-crt
Bumps [software.amazon.awssdk.crt:aws-crt](https://github.com/awslabs/aws-crt-java) from 0.33.11 to 0.34.0.
- [Release notes](https://github.com/awslabs/aws-crt-java/releases)
- [Commits](https://github.com/awslabs/aws-crt-java/compare/v0.33.11...v0.34.0)

---
updated-dependencies:
- dependency-name: software.amazon.awssdk.crt:aws-crt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-11 11:43:25 +01:00
Loïc Mathieu
f599f25755 chore(core): refactor file related Pebble function to share code 2025-02-11 11:39:20 +01:00
Loïc Mathieu
8de839f326 chore(core): rename fileEmpty Pebble function to isFileEmpty 2025-02-11 11:39:20 +01:00
Ludovic DEHON
25370d10bd fix(core): http client was not using deprecated setter 2025-02-11 11:21:26 +01:00
Nicolas K.
b59d36a90e fix(core): flacky trigger with backfile test (#7295)
* fix(core): flacky trigger with backfile test

* fix(core): flacky schedule test

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-02-11 11:07:38 +01:00
Nicolas K.
a5483a0d4c fix(makefile): build plugin now build main branch too (#7297)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-02-11 11:02:28 +01:00
ben8t
9863e88230 Add core plugin sanity checks (#6904)
* [feature] add core plugin sanity checks

* feat: namespace files task test

* fix: formatting

* fix: sanity checks to use assert

* fix: core sanity flows

* tests: add runner class to run sanity checks flows

* [refactor] remove request sanity check as not a core task (already in fs plugin)

* [refactor] rename file and namespace for sanity checks

* [refactor] update path

---------

Co-authored-by: Will Russell <wrussell@kestra.io>
Co-authored-by: Will Russell <will@wrussell.co.uk>
Co-authored-by: Mathieu Gabelle <mgabelle@kestra.io>
2025-02-11 10:51:59 +01:00
ByronBlaze
88a5cd69e3 feat(core): Added FileEmpty & FileExists Pebble Functions 2025-02-11 10:49:31 +01:00
yuri
ec73d58649 fix(ui): match chart colors (#7290)
Co-authored-by: Barthélémy Ledoux <ledouxb@me.com>
2025-02-11 09:38:33 +01:00
Bart Ledoux
0becf74339 fix: collapsed menu colors in light mode 2025-02-11 09:33:54 +01:00
Miloš Paunović
bfcfb2ac16 chore(ui): make action columns always visible on executions and flows (#7291) 2025-02-11 08:17:29 +01:00
Anna Geller
27f9a505af fix: force run docs (#7289) 2025-02-10 20:31:24 +01:00
Nicolas K.
99db3f35b7 fix(core): #7227 cron schedule with timezone and backfile not triggering (#7285)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-02-10 17:56:05 +01:00
YannC
c53239470d fix(ci): inputs instead of secrets 2025-02-10 16:27:55 +01:00
YannC
c3e830c2c7 fix(ci): Workflow test ouptputs + changes for codecov 2025-02-10 16:25:00 +01:00
Ludovic DEHON
9790f02376 fix(cicd): add npm install on vulnerabilities check 2025-02-10 15:56:53 +01:00
Miloš Paunović
899a1f6f17 chore(ui): improve flow description coloring (#7282) 2025-02-10 15:51:59 +01:00
YannC
9455643660 fix(ci): pass correctly secret + cleanup 2025-02-10 15:17:31 +01:00
dependabot[bot]
8a3f413236 build(deps): bump software.amazon.awssdk:bom from 2.30.11 to 2.30.16
Bumps software.amazon.awssdk:bom from 2.30.11 to 2.30.16.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 15:01:51 +01:00
YannC
4986d68f57 fix(ci): removed useless name in action files 2025-02-10 14:37:17 +01:00
YannC
09ff9d4054 fix(ci): missing checkout in release step 2025-02-10 13:13:48 +01:00
aeSouid
e910685d57 Fix search bar: (#7279)
-fix date picker layout
-change the not_in operation traduction

Fix search bar:
-fix search bar when closing date picker
2025-02-10 13:12:06 +01:00
dependabot[bot]
5aa73ec48a build(deps): bump com.google.cloud:libraries-bom from 26.53.0 to 26.54.0
Bumps [com.google.cloud:libraries-bom](https://github.com/googleapis/java-cloud-bom) from 26.53.0 to 26.54.0.
- [Release notes](https://github.com/googleapis/java-cloud-bom/releases)
- [Changelog](https://github.com/googleapis/java-cloud-bom/blob/main/release-please-config.json)
- [Commits](https://github.com/googleapis/java-cloud-bom/compare/v26.53.0...v26.54.0)

---
updated-dependencies:
- dependency-name: com.google.cloud:libraries-bom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 12:49:01 +01:00
YannC
5dcd27c064 fix(ci): disabled previous generate translations CI 2025-02-10 12:36:00 +01:00
YannC
9ba27b9bd5 fix(ci): workflow test correct previous job status usage 2025-02-10 12:35:06 +01:00
YannC
549da52afa ci(): simplification (#7202)
* ci():
- split in multiples actions
- simplify translation script
- simplify front build
- run test for back/front only when needed

* fix(): token prop

* ui(translation): new word

* fix(): correct usage of paths-filter action

* fix(): first iteration of new main workflow

* chore(translations): auto generate values for languages other than english

---------

Co-authored-by: GitHub Action <actions@github.com>
2025-02-10 12:24:25 +01:00
Miloš Paunović
d486d78200 chore(ui): disable saving flow actions if there are errors (#7278) 2025-02-10 11:59:51 +01:00
aeSouid
a7a134a050 Fix search flow by query: (#7277)
add new condition of the field is query
2025-02-10 11:54:39 +01:00
GitHub Action
e0f4ab735d chore(translations): auto generate values for languages other than english 2025-02-10 10:49:34 +00:00
Barthélémy Ledoux
b052925b04 feat: give blueprint pages a distinct name (#7254)
* feat(translations): add new blueprint labels for flows, apps, and dashboard

* feat(translations): update left menu titles for blueprints

* chore(translations): auto generate values for languages other than english

* chore(translations): auto generate values for languages other than english

---------

Co-authored-by: GitHub Action <actions@github.com>
2025-02-10 11:48:24 +01:00
Piyush Bhaskar
c3443ab99a feat(ui): center view when switching between topology modes (#7257) 2025-02-10 11:11:39 +01:00
Bart Ledoux
ec967a57fb fix: use the udpated labelsFromQuery in labels 2025-02-10 10:56:35 +01:00
Piyush Bhaskar
9ba13ae994 chore(ui): tweak the video container ratio in the docs sidebar (#7260) 2025-02-10 10:35:54 +01:00
Loïc Mathieu
be1871430e feat(core, jdbc): directly process WorkerTaskResult from flowable tasks
And other places in the ExecutorService when we create them when processing the execution queue.

Fixes #5521
2025-02-10 10:03:00 +01:00
Dheeraj_R_Gowda
39257bf3bb chore(ui): align chart duration label with switch toggle (#7258) 2025-02-10 09:35:10 +01:00
Aabhas Sao
346100c86c chore(ui): align chart duration label with switch toggle (#7259) 2025-02-10 09:24:36 +01:00
Ludovic DEHON
0c3ed3b751 feat(cicd): restore codeql weekly 2025-02-08 00:48:11 +01:00
Ludovic DEHON
1bbe0e659e feat(cicd): don't mark failed for front end test 2025-02-07 20:28:31 +01:00
Ludovic DEHON
123f748030 feat(cicd): add test analysis on frontend 2025-02-07 18:30:27 +01:00
Ludovic DEHON
d0b53d217d feat(cicd): add unit test for js (#7246) 2025-02-07 18:23:08 +01:00
Bart Ledoux
6f7bb80c6d fix: make dashboard tables the right color 2025-02-07 16:39:29 +01:00
Loïc Mathieu
1eacb447d5 feat(core): simplify Pebble error messages 2025-02-07 14:59:10 +01:00
Ludovic DEHON
3f429ef0a8 feat(cicd): add codecov flags 2025-02-07 14:27:59 +01:00
Florian Hussonnois
dc8576afed fix(ci): fix and remove unecessary setps in set version workflows 2025-02-07 11:51:07 +01:00
Bart Ledoux
c31609a12e chore: update theme colors 2025-02-07 11:44:25 +01:00
Loïc Mathieu
84c07ef011 fix(webserver,core): move the LogStreamService in core so EE can use it for apps 2025-02-07 11:40:21 +01:00
MilosPaunovic
e335b76b3c chore(ui): check for missing property on update metadata 2025-02-07 11:27:14 +01:00
Bart Ledoux
95b94f3961 fix: labels should not be purple if inactive 2025-02-07 10:46:33 +01:00
Bart Ledoux
e0ee26a9c0 fix: add comment on i18n code 2025-02-07 10:07:15 +01:00
Florian Hussonnois
480fc75897 feat(ci): add workflows for release process
* move scripts to folder dev-tools
* add new workflow gradle-release.yml
* add new workflow setversion-tag.yml
* rename existing workflow
2025-02-07 09:57:06 +01:00
Nicolas K.
c8d7e5f357 feat(core): add sanity check to request task (#7230)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-02-07 09:34:09 +01:00
咬轮猫
792f7b6911 fix(ui): amend the language switching issue (#7235) 2025-02-07 09:15:52 +01:00
Loïc Mathieu
2a95aee968 feat(webserver): use a shared queue consumer from the log follow endpoint 2025-02-07 09:15:42 +01:00
amartknez
129ba6abe4 chore(ui): initial work on filter persistency (#7234)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2025-02-07 09:09:06 +01:00
Ludovic DEHON
ab2a0108a9 feat(cicd): add codecov bundle analysis 2025-02-07 09:08:37 +01:00
Ludovic DEHON
03dccd1444 feat(cicd): codecov + tests report 2025-02-07 08:45:26 +01:00
Loïc Mathieu
4c401ce0c0 feat(webserver): improvement to ExecutionStreaminService 2025-02-06 17:30:14 +01:00
malay.worldref@gmail.com
13be8b8125 feat(webserver): optimize queue usage for follow endpoints 2025-02-06 17:30:14 +01:00
GitHub Action
440faa7cd1 chore(translations): auto generate values for languages other than english 2025-02-06 16:10:14 +00:00
aeSouid
5a8a4e99d7 Change the filter params (#7051)
* Feat Filter:
Change the filters to the new search format
2025-02-06 17:09:32 +01:00
aeSouid
296e1a67a5 Feat Search: (#6910)
New search with operation for all /search endpoints :
- define list  of operation and fields.
- Add custom parser for filter[field][operation]=value format
- create new Annotation @QueryFilterFormat to bind to specfic pojo
- Implement new abstract repo search method
2025-02-06 17:08:15 +01:00
Loïc Mathieu
ecd36ec2a4 fix(core): possible NPE on LabelService.containsAll 2025-02-06 16:26:11 +01:00
rajatsingh23
ca9b90a0ec chore(ui): show executions per namespace only if there are 2 or more items for chart (#7216)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2025-02-06 15:22:23 +01:00
Piyush Bhaskar
37e337a657 chore(ui): only show warning on bulk execution deletion if nonTerminated is true (#7211)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2025-02-06 15:12:16 +01:00
Miloš Paunović
157f78fae0 chore(ui): generate random flow ID using combination of animal names and numbers (#7223)
* chore(ui): creating a flow from the namespace view should use it's ID as the designated value

* chore(ui): generate random flow ID using combination of animal names and numbers
2025-02-06 14:55:50 +01:00
Pravesh-Sudha
7158a0c98f chore(ui): amended global pagination coloring (#7201)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2025-02-06 13:11:00 +01:00
Miloš Paunović
753308a341 fix(ui): prevent doubling the executions chart on flow overview (#7219) 2025-02-06 11:58:05 +01:00
Loïc Mathieu
21aebe4e77 feat(core): allow loading secrets from a different namspace
Fixes #5970
2025-02-06 10:42:17 +01:00
Miloš Paunović
959e80efa8 chore(ui): re-order the list of optional columns (#7213) 2025-02-06 09:32:56 +01:00
Miloš Paunović
bba612ef9b feat(ui): add script to help with creation of release notes (#7212) 2025-02-06 09:18:08 +01:00
nKwiatkowski
a0483dc201 fix(core): request option doesn't initialize properly 2025-02-05 19:03:06 +01:00
Miloš Paunović
2f3d7f573b chore(ui): replace the visual for no tabs opened on namespace editor (#7204) 2025-02-05 18:37:13 +01:00
Nicolas K.
2e09777790 fix(core): #7181 log level rendered as string (#7198)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-02-05 15:35:29 +01:00
Miloš Paunović
0b1eda0f03 chore(ui): consolidate markdown files (#7197) 2025-02-05 12:51:31 +01:00
Miloš Paunović
1ee6402fa2 chore(translations): remove extra keys from translation files (#7193) 2025-02-05 12:23:34 +01:00
Miloš Paunović
71933352b6 chore(ui): remove the option to change editor theme separately (#7192)
* chore(ui): remove obsolete log statements from console

* chore(ui): remove the option to change editor theme separately
2025-02-05 12:18:29 +01:00
GitHub Action
cb7ed73bea chore(translations): auto generate values for languages other than english 2025-02-05 09:56:50 +00:00
Miloš Paunović
5f13d5b2aa chore(ui): rename advanced properties to other in no code (#7190) 2025-02-05 10:56:11 +01:00
GitHub Action
e4973c3319 chore(translations): auto generate values for languages other than english 2025-02-05 09:53:47 +00:00
Miloš Paunović
abc3372161 chore(ui): rename advanced properties to other in no code (#7189) 2025-02-05 10:53:14 +01:00
Bart Ledoux
9619dca764 fix(theme): make plugin rendering reactive to theme switch 2025-02-05 10:53:02 +01:00
Barthélémy Ledoux
e80b2011de feat: theme switch to "theme switch" the charts (#7151)
* chore: store the theme in the store

* use the new theme in charts

* use the theme value in more places

* create a useTheme composable

* create the useScheme composable

* restore nodata
2025-02-05 10:43:04 +01:00
GitHub Action
86f3acace3 chore(translations): auto generate values for languages other than english 2025-02-05 09:33:27 +00:00
Piyush Bhaskar
b6c9f50503 feat(ui): add option to choose visible columns in flow and execution listings (#6932)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-02-05 10:32:37 +01:00
Piyush Bhaskar
2e9938806a feat(ui): Docs markdown alert styled based on alert level in product. (#6818)
* feat(ui): Align the CSS or style configuration so that all documentation components (Docs, plugin docs, blueprints) use the same markdown style.

* Remove alert styling from DocsLayout since it has been handled within Alert.vue using ---ks variables.

* revert Input_Count.

---------

Co-authored-by: Barthélémy Ledoux <ledouxb@me.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-02-05 10:13:30 +01:00
Piyush Bhaskar
13bc0de9dc chore(ui): improve the states options list inside filter values (#7176)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-02-05 09:03:25 +01:00
Piyush Bhaskar
da7509ce30 chore(ui): update the visual of no data component (#7179)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2025-02-05 08:45:52 +01:00
Shruti Mantri
15aeee3d8b chore(ui): improve the example for not condition (#6820) 2025-02-05 08:35:21 +01:00
dependabot[bot]
42920508b7 build(deps-dev): bump @shikijs/markdown-it from 2.3.0 to 2.3.1 in /ui (#7184)
Bumps [@shikijs/markdown-it](https://github.com/shikijs/shiki/tree/HEAD/packages/markdown-it) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/shikijs/shiki/releases)
- [Commits](https://github.com/shikijs/shiki/commits/v2.3.1/packages/markdown-it)

---
updated-dependencies:
- dependency-name: "@shikijs/markdown-it"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-05 08:32:26 +01:00
dependabot[bot]
f45c703fd9 build(deps): bump shiki from 2.3.0 to 2.3.1 in /ui (#7183)
Bumps [shiki](https://github.com/shikijs/shiki/tree/HEAD/packages/shiki) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/shikijs/shiki/releases)
- [Commits](https://github.com/shikijs/shiki/commits/v2.3.1/packages/shiki)

---
updated-dependencies:
- dependency-name: shiki
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-05 08:31:04 +01:00
dependabot[bot]
872c70fe37 build(deps): bump posthog-js from 1.215.2 to 1.215.3 in /ui (#7182)
Bumps [posthog-js](https://github.com/PostHog/posthog-js) from 1.215.2 to 1.215.3.
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/compare/v1.215.2...v1.215.3)

---
updated-dependencies:
- dependency-name: posthog-js
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-05 08:30:53 +01:00
brian.mulier
bbb03b288b fix(ui): global plugin doc with new redesign + auto-expand properties initially 2025-02-04 21:58:08 +01:00
Florian Hussonnois
8d8b7e7a67 fix(core): make flow/namespace variables available for input expr
related-to: kestra-io/kestra-ee#2826
2025-02-04 16:55:49 +01:00
GitHub Action
a9042fb27b chore(translations): auto generate values for languages other than english 2025-02-04 15:00:55 +00:00
YannC
5ff5667231 feat(ui): now display an error when SSE failed (#7177)
* feat(ui): now display an error when SSE failed

close #1303

* chore(translations): auto generate values for languages other than english

---------

Co-authored-by: GitHub Action <actions@github.com>
2025-02-04 16:00:27 +01:00
Florian Hussonnois
42ad09d79f chore: add utility script to check for plugin artifacts 2025-02-04 15:58:12 +01:00
Loïc Mathieu
30db740de8 fix(core): retry flaky test AbstractRunnerTest.restartForEachItem
It is flaky on CI but never fail locally even with 100 repetitions
2025-02-04 14:22:20 +01:00
Loïc Mathieu
20d55122e7 fix(core): retry test HttpClientTest.getText
It is flaky in CI but never fail locally even with 100 repetitions
2025-02-04 14:22:20 +01:00
Miloš Paunović
3294c358fa fix(ui): align dashboard button label to icon (#7175) 2025-02-04 14:14:58 +01:00
Karthik73965
42899d30d1 chore(ui): add skeleton loaders to dashboard cards (#6602)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-02-04 13:56:22 +01:00
GitHub Action
6ba71712a8 chore(translations): auto generate values for languages other than english 2025-02-04 12:04:11 +00:00
Miloš Paunović
36b8ef866d fix(ui): amend translation string for no results (#7172) 2025-02-04 13:03:45 +01:00
GitHub Action
fff8d630c5 chore(translations): auto generate values for languages other than english 2025-02-04 11:41:26 +00:00
Aabhas Sao
bc630684b1 chore(ui): enable command palette for monaco editor (#6944)
Signed-off-by: Aabhas Sao <aabhassao0@gmail.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-02-04 12:40:59 +01:00
Loïc Mathieu
f8b64cfbdf fix(core): retry flaky test AbstractRunnereTest.concurrencyQueuePause
It is flaky on CI but cannot be fail locally even with 100 repetitions.
2025-02-04 12:34:43 +01:00
Miloš Paunović
4ee8b33aeb chore(deps): regular dependency update (#7171) 2025-02-04 12:27:22 +01:00
Piyush Bhaskar
68074723c4 chore(ui): amend color of the input length counter (#6990) 2025-02-04 12:09:32 +01:00
GitHub Action
52159ee647 chore(translations): auto generate values for languages other than english 2025-02-04 11:02:44 +00:00
Piyush Bhaskar
d697e5dc67 feat(ui): add keyboard shortcuts dialog to editor (#6628)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-02-04 12:01:04 +01:00
brian.mulier
21733d8497 fix(ui): null-safe search filters 2025-02-04 11:40:44 +01:00
rajatsingh23
0501d29255 chore(ui): show each plugin deprecation warning in new line (#6839)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-02-04 11:22:19 +01:00
Loïc Mathieu
560703fde4 fix(core): retry flaky test AbstractRunnerTest.restartFailedThenFailureWithGlobalErrors
This test is flaky on CI but never locally even with 100 repetitions.
2025-02-04 10:38:42 +01:00
Loïc Mathieu
671eb2b57e feat(jdbc-*): delete subflow_executions table
Fixes #6831
2025-02-04 10:34:39 +01:00
Miloš Paunović
5cc30558c2 fix(ui): amend pagination on namespace flows listing (#7163) 2025-02-04 10:18:04 +01:00
Loïc Mathieu
5a46204394 chore(core): small perf improvements to MapUtils 2025-02-04 10:06:58 +01:00
Ludovic DEHON
c918276103 fix(core): process runner are not serialized correctly on worker
close #7053
2025-02-03 21:27:04 +01:00
YannC
04dd038b0f feat(core): new Publish task for metrics (#7122)
* feat(core): new Publish task for metrics

* fix(): review fixes
2025-02-03 16:37:16 +01:00
Bart Ledoux
1bbe48fe5b fix: bring back hover in main menu 2025-02-03 15:40:12 +01:00
Bart Ledoux
9499ee2c27 fix: setup docId for blueprints 2025-02-03 15:15:34 +01:00
Piyush Bhaskar
05bbaa4f00 fix(ui): Custom Dashboard name overflows. (#7124)
* fix(ui): Custom Dashboard name overflows.

* fix(ui): avoid dashboard button being too long

---------

Co-authored-by: YannC <ycoornaert@kestra.io>
2025-02-03 14:37:02 +01:00
brian.mulier
fa5ef3b4c6 fix(ui): switching from custom Flow blueprints tab to dashboard was not working 2025-02-03 14:00:13 +01:00
Miloš Paunović
e927a1f784 fix(ui): get the string fields in no code to use editor and have auto completion back (#7150) 2025-02-03 12:19:31 +01:00
dependabot[bot]
36306495e4 build(deps): bump org.owasp.dependencycheck from 12.0.1 to 12.0.2
Bumps org.owasp.dependencycheck from 12.0.1 to 12.0.2.

---
updated-dependencies:
- dependency-name: org.owasp.dependencycheck
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 12:18:02 +01:00
MilosPaunovic
594d005168 chore(ui): properly pass a prop related to saved searches 2025-02-03 11:52:40 +01:00
Miloš Paunović
c992496fb0 feat(ui): multiple improvements of no code editor (#7146)
* refactor(ui): prevent multiple warning in console by adding inheritAttrs properly

* chore(ui): make plugin selector field not clearable

* feat(ui): allow re-ordering of array items

* fix(ui): remove concurrency when limit set to 0
2025-02-03 11:35:03 +01:00
Bart Ledoux
e15eb55877 fix: sidemenu bring back the gray hover 2025-02-03 11:33:20 +01:00
Bart Ledoux
85ebf49b68 fix: enterprise edition tag in light mode 2025-02-03 11:30:48 +01:00
dependabot[bot]
3a0beabe4f build(deps): bump com.gradleup.shadow from 8.3.5 to 8.3.6
Bumps [com.gradleup.shadow](https://github.com/GradleUp/shadow) from 8.3.5 to 8.3.6.
- [Release notes](https://github.com/GradleUp/shadow/releases)
- [Commits](https://github.com/GradleUp/shadow/compare/8.3.5...8.3.6)

---
updated-dependencies:
- dependency-name: com.gradleup.shadow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 11:28:29 +01:00
dependabot[bot]
d769b7aad7 build(deps): bump flyingSaucerVersion from 9.11.2 to 9.11.3
Bumps `flyingSaucerVersion` from 9.11.2 to 9.11.3.

Updates `org.xhtmlrenderer:flying-saucer-core` from 9.11.2 to 9.11.3
- [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.2...v9.11.3)

Updates `org.xhtmlrenderer:flying-saucer-pdf` from 9.11.2 to 9.11.3
- [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.2...v9.11.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 11:28:22 +01:00
dependabot[bot]
f1f0d31864 build(deps): bump software.amazon.awssdk.crt:aws-crt
Bumps [software.amazon.awssdk.crt:aws-crt](https://github.com/awslabs/aws-crt-java) from 0.33.9 to 0.33.11.
- [Release notes](https://github.com/awslabs/aws-crt-java/releases)
- [Commits](https://github.com/awslabs/aws-crt-java/compare/v0.33.9...v0.33.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 11:26:57 +01:00
dependabot[bot]
bd0e4a5f48 build(deps): bump com.azure:azure-sdk-bom from 1.2.30 to 1.2.31
Bumps [com.azure:azure-sdk-bom](https://github.com/azure/azure-sdk-for-java) from 1.2.30 to 1.2.31.
- [Release notes](https://github.com/azure/azure-sdk-for-java/releases)
- [Commits](https://github.com/azure/azure-sdk-for-java/compare/azure-sdk-bom_1.2.30...azure-sdk-bom_1.2.31)

---
updated-dependencies:
- dependency-name: com.azure:azure-sdk-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 11:11:33 +01:00
dependabot[bot]
d50f631fb6 build(deps): bump software.amazon.awssdk:bom from 2.30.6 to 2.30.11
Bumps software.amazon.awssdk:bom from 2.30.6 to 2.30.11.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 11:09:32 +01:00
yuri
26c15a444d fix(ui): amend log lines in Firefox (#7133) 2025-02-03 10:18:19 +01:00
Bart Ledoux
97d12f9bc3 chore: add a test for firefox weird wrap 2025-02-03 10:15:53 +01:00
yuri1969
ae05de4a1c fix(cli): print help on missing parameters
Missing required positional parameters caused just a stacktrace print.

Now such cases print the error message acompanied by command's help.

Examples:

* `./kestra flow namespace update`
* `./kestra flow dot`
2025-02-03 10:06:48 +01:00
yuri1969
625135959c chore(core): fix various compilation warnings
Fixed clear Java compilation warnings.
2025-02-03 09:36:50 +01:00
Loïc Mathieu
e6827f2736 fix(core): remove the dynamic property patterns 2025-02-03 09:31:32 +01:00
Anna Geller
91bf50e837 Update dashboard_home.md 2025-02-02 14:11:14 +01:00
Piyush Bhaskar
64c8e0295c feat(ui): Add a link to the filtered Executions table. (#7129) 2025-02-01 23:01:02 +01:00
brian-mulier-p
1565f3361a fix(ui): restore namespace filter manual typing & various improvements (#7127) 2025-02-01 10:08:14 +01:00
Florian Hussonnois
e2b67f253a ci: fix release workflows 2025-01-31 19:34:18 +01:00
brian.mulier
db0422b142 chore(deps): bump ui-libs to v0.0.125 2025-01-31 18:13:48 +01:00
Nicolas K.
b1b80acbca feat(build): add script to makefile (#7125)
---------
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2025-01-31 16:34:11 +01:00
Barthélémy Ledoux
4f9b7f7417 fix: make table links primary instead of purple (#7106) 2025-01-31 16:23:05 +01:00
Barthélémy Ledoux
83c7b2e663 fix: use the proper variable for select header in table (#7107) 2025-01-31 16:22:43 +01:00
GitHub Action
dee76c038a chore(translations): auto generate values for languages other than english 2025-01-31 12:51:00 +00:00
Miloš Paunović
310210286d feat(ui): add finally block to no code editor (#7123) 2025-01-31 13:49:56 +01:00
Florian Hussonnois
555b769aa2 fix(ci): update scripts/workflows for plugins 2025-01-31 12:05:05 +01:00
YannC
e527f0133a fix(ui): Remove useless double click row action
close #7000
2025-01-31 11:57:18 +01:00
Bart Ledoux
631a016e06 fix: avoid clearing selected value on every error
closes #7115
2025-01-31 11:48:49 +01:00
Bart Ledoux
3a8b24edae fix: remove Labels tag type warning 2025-01-31 11:19:15 +01:00
Bart Ledoux
65dd4f9fd6 fix: remove FE warnings on flow edition 2025-01-31 11:17:34 +01:00
Bart Ledoux
a4dcb8dcd6 fix: protect axios JSON parsing 2025-01-31 11:08:33 +01:00
Miloš Paunović
00aa28fc41 feat(ui): allow task re-ordering from no code editor (#7120) 2025-01-31 10:55:05 +01:00
Bart Ledoux
3c7e26c88b build: prevent corepack crash 2025-01-31 10:02:27 +01:00
Loïc Mathieu
4e753c7b98 fix(core): retry flaky test TimeoutTest.timeout()
As its failure cannot be reproduced locally even with 100 repetitions, there is no other choice than retrying it.
2025-01-31 09:47:00 +01:00
Bart Ledoux
1fc0b21071 fix: make sure normal single line table dont' push the build #7018 2025-01-30 22:23:25 +01:00
Bart Ledoux
f17b5802b5 fix: plugin header icon for ticket #4252 2025-01-30 22:22:04 +01:00
Barthélémy Ledoux
5389ec78a1 fix: use the new charts in the flows page (#6970) 2025-01-30 21:24:23 +01:00
Loïc Mathieu
6190d91134 fix(core): subflow labels must not be overriden by parent flow ones 2025-01-30 17:18:28 +01:00
Loïc Mathieu
96f4466f1d fix(cli): retry flaky test FlowCreateOrUpdateCommandTest.runWithDelete.
Adding a retry because it cannot be reproduce to fail locally even with 100 repetitions.
2025-01-30 17:14:01 +01:00
Ludovic DEHON
6ee0e86ca3 fix(core): http request with head and 404 and sending the wrong exception
close #4658
2025-01-30 17:04:51 +01:00
Loïc Mathieu
db4f186bdc fix(core): retry flaky test AbstractRunnerTest.multipleConditionTriggerFailed()
As the failure cannot be reproduce locally even with 100 repetitions of the test.
2025-01-30 16:43:50 +01:00
Loïc Mathieu
9b2c4c9a13 fix(core): subflow validation didn't work anymore 2025-01-30 16:17:30 +01:00
Bart Ledoux
7a37a950bf chore: update palette 2025-01-30 15:58:01 +01:00
Barthélémy Ledoux
a7df59c8bf feat: show a lock on EE only pages (#7093) 2025-01-30 15:54:23 +01:00
Miloš Paunović
5b6fbe9609 feat(ui): improve the task array component (#7095)
* feat(ui): improve the task array component

* chore(ui): replace existing task on editing during creation instead of re-adding them
2025-01-30 14:25:30 +01:00
Florian Hussonnois
d80de4410d fix(ui): fix missing param kind for blueprint in flow editor (#7087)
fix: #7087
2025-01-30 14:16:19 +01:00
Bart Ledoux
0e09f6821c fix: transfer utm parameters correctly 2025-01-30 12:48:53 +01:00
Bart Ledoux
157566300d fix: unlock audit logs in execution 2025-01-30 12:43:54 +01:00
AJ Emerich
e1a4f2e2fc fix(docs): remove custom dashboard website component
https://github.com/kestra-io/kestra/issues/7085
2025-01-30 12:13:55 +01:00
Miloš Paunović
cd822bd349 chore(ui): properly check the existence of fields inside schema
* chore(ui): remove unnecessary binding of listeners

* chore(ui): check the existence of fields
2025-01-30 11:41:15 +01:00
Ludovic DEHON
84447fd428 feat(ui): display attempts status on taskrun on left
close #7030
2025-01-30 11:39:22 +01:00
Miloš Paunović
78060ec2f8 chore(ui): move apps link in left menu just below the flows (#7063) 2025-01-30 11:34:10 +01:00
Miloš Paunović
646c8fa773 fix(ui): amend no code editor breadcrumbs issue (#7054)
* chore(ui): task array component to have margins between lines

* fix(ui): amend no code editor breadcrumbs issue
2025-01-30 11:33:57 +01:00
Bart Ledoux
7a299e51f8 fix: remove some warnings 2025-01-30 11:10:44 +01:00
Bart Ledoux
accbafe132 fix: remove the topbar from namepasce/flows 2025-01-30 11:10:32 +01:00
Bart Ledoux
4915465573 fix(demo): make button clickable with utm link 2025-01-30 11:09:39 +01:00
Bart Ledoux
4234c76b03 build: try and fix FE CI 2025-01-30 10:56:32 +01:00
Loïc Mathieu
03caf38251 fix(cli): repeate flaky tests FileChangedEventListenerTest
This is inherently racy as it's async and watch the filesystem which cannot be done reliabily.
2025-01-30 10:55:17 +01:00
Loïc Mathieu
1931300e98 chore(deps): downgrade Protobuf to 3.25.5
3.25.6 is not compatible with 3.25.5 and Orc still uses 3.25.5
2025-01-30 10:40:43 +01:00
Miloš Paunović
450310b6a5 feat(ui): multiple improvements of no code editor (#7076)
* fix(ui): allow creation of multiple tasks from the no code editor

* chore(ui): make input text be of textarea type for resizability

* chore(ui): allow to add task from topology either before or after the target one
2025-01-30 10:31:09 +01:00
Loïc Mathieu
2777b34385 fix(script): AbstractExecScript.injectDefaults should throw IllegalVariableEvaluationException 2025-01-30 09:57:51 +01:00
Florian Hussonnois
d4d8e326e4 ci: fix workflow docker for all plugins 2025-01-29 17:45:50 +01:00
Florian Hussonnois
fde739a3be ci: fix workflow docker 2025-01-29 17:35:24 +01:00
Florian Hussonnois
f96cbf1ad3 ci: update workflow docker 2025-01-29 17:28:31 +01:00
Florian Hussonnois
84a30d4002 ci: update workflow docker 2025-01-29 17:25:42 +01:00
Loïc Mathieu
6afdbb01fa fix(core): restartForEachItem() is flaky
With this test change, running 100 tests with MySQL pass!
2025-01-29 17:10:50 +01:00
Barthélémy Ledoux
b91336f446 fix: color of tags in executions list (#7035) 2025-01-29 16:57:47 +01:00
Bart Ledoux
f1b2940652 fix: remove default variables for box-shadow 2025-01-29 16:56:22 +01:00
Barthélémy Ledoux
75b8b4a483 fix: use proper css variables for table colors (#7049)
* fix: use proper css variables for table colors

* update ui-libs
2025-01-29 16:54:29 +01:00
Barthélémy Ledoux
c9cb2593bc chore: update "cluster" into "instance" in side menu (#6996)
* chore: update "cluster" into "instance" in side menu

* chore(translations): auto generate values for languages other than english

---------

Co-authored-by: GitHub Action <actions@github.com>
2025-01-29 16:51:52 +01:00
Barthélémy Ledoux
e23f34e53f fix(styles): remove background color from edit buttons (#7037) 2025-01-29 16:51:28 +01:00
Barthélémy Ledoux
2461e8cda9 feat: add a shadow to cards (#7038) 2025-01-29 16:50:08 +01:00
Bart Ledoux
b8fac95e1e fix: namespaces should have the card background
closes #6828
2025-01-29 16:48:48 +01:00
YannC
d17fe2548a fix(ui): dynamic format date
close #7015
2025-01-29 15:55:57 +01:00
YannC
b86b4bb160 feat(webserver): if no date provided for dashboard, then use default timewindow 2025-01-29 15:55:57 +01:00
Loïc Mathieu
64108ae24d chore(deps): downgrade protobug
Orc uses an older version.
And probably also other libs that we're using are still in 3.x
2025-01-29 15:51:48 +01:00
brian.mulier
8d00c8a557 feat(ui): don't show deprecated tasks in the plugins list
closes #4526
2025-01-29 15:42:22 +01:00
Loïc Mathieu
07dfaada9c fix(cli): flow watcher should compute plugin defaults
fixes #6908
2025-01-29 15:42:12 +01:00
Florian Hussonnois
0b82b25a48 chore(ci): update release workflows 2025-01-29 15:10:45 +01:00
Florian Hussonnois
5c8c2a5c42 chore(version): update snapshot version 'v0.22.0-SNAPSHOT'. 2025-01-29 14:27:00 +01:00
Florian Hussonnois
f4fdfc2509 chore(version): update to version 'v0.21.0-rc0-SNAPSHOT'. 2025-01-29 14:26:54 +01:00
Bart Ledoux
6dfa08af80 fix: label colors in executions list 2025-01-29 14:09:23 +01:00
Florian Hussonnois
dd8a45f429 chore: remove plugin-langchain 2025-01-29 13:59:57 +01:00
YannC
95ea6536c0 fix(ui): better inputs validation for backfill
close #7008
2025-01-29 13:51:57 +01:00
YannC
f1e2eea13d fix(): Handle correctly group by date field type (#7033)
close #6977
2025-01-29 13:07:12 +01:00
YannC
0661899e46 feat(ui): added Dashboards icons
close #7032
2025-01-29 11:51:02 +01:00
Bart Ledoux
a8ef04b03c fix: realign vue tour ui element for onboarding
closes #7010
2025-01-29 11:29:35 +01:00
Loïc Mathieu
3e8d32cfca fix(script): targetOS must be rendered 2025-01-29 11:03:32 +01:00
Loïc Mathieu
c5e7b42819 fix(script): injectDefault need the runContext
Otherwise you cannot render dynamic properties inside it
2025-01-29 11:03:32 +01:00
Loïc Mathieu
afabdf883e feat(core): remove deprecated properties and reduce duplication 2025-01-29 11:03:32 +01:00
brian.mulier
b846f11b3d fix(core): properties as map is now working properly with expression within base maps 2025-01-29 11:03:32 +01:00
Bart Ledoux
061e4f5ec2 fix: wrong title for apps page 2025-01-29 11:01:31 +01:00
Bart Ledoux
a10f65c1d5 fix: various fixes for the empty pages 2025-01-29 11:00:44 +01:00
Miloš Paunović
815467ec61 feat(ui): multiple improvements of no code editor (#7028)
* chore(ui): properly handle metadata inputs adding and removal

* feat(ui): make sure plugin documentation is properly updated on task selection
2025-01-29 10:56:08 +01:00
brian.mulier
1a23df3a75 fix(cli): doc generation failure handling to avoid infinite wait 2025-01-29 10:37:24 +01:00
Nicolas K.
8f02c39cd1 fix(core): catch linkageError when a class in already in classpath (#7029)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-01-29 10:36:35 +01:00
Bart Ledoux
966b8fb3a3 feat: add gradient animation on enterprise edition 2025-01-29 10:31:11 +01:00
Bart Ledoux
4375dc3871 feat: add enterprise edition empty to flow edition audit logs 2025-01-29 10:24:36 +01:00
Bart Ledoux
80d1f2d6ca fix: align the flare regardless of language 2025-01-29 10:24:36 +01:00
Florian Hussonnois
1de2a3bdbc fix(core): add de app block to plugin controller (kestra-io/kestra-ee#2773) 2025-01-29 10:17:18 +01:00
Ludovic DEHON
3194a89264 feat(ui): add quick theme switcher 2025-01-29 00:00:30 +01:00
Bart Ledoux
48427f1855 fix: set docId for namespace demo 2025-01-28 21:46:44 +01:00
brian.mulier
a9f36dd47d chore(deps): bump ui-libs to 0.0.119 2025-01-28 21:42:29 +01:00
Bart Ledoux
b8bc50f96f fix flare effect 2025-01-28 21:07:50 +01:00
Rajat Singh
e4016ebb76 fix(ui): easier gantt painting handling
closes #6913
2025-01-28 21:05:37 +01:00
Bart Ledoux
3a01a44b2a fix: debouncing of input validation 2025-01-28 20:59:03 +01:00
Bart Ledoux
34247a9717 fix: ee empty pages background and add flare
closes #2775
2025-01-28 20:52:50 +01:00
GitHub Action
9c56ffa912 chore(translations): auto generate values for languages other than english 2025-01-28 17:46:50 +00:00
Barthélémy Ledoux
64a497490c feat: add demo page for EE only features (#7003)
* update errors file

* feat: add IAM page

* add layout page and empty template

* feat: tenants demo page

* refactor: store context state in vuex

* feat: make docs open automagically

* feat: add missing admin empty pages

* chore: update "cluster" into "instance" in side menu

* feat: add namespace empty pages + some placeholder text

* add custom blueprints empty page

* chore(translations): auto generate values for languages other than english

* fix a bunch of warnings

* fix blueprints title

* feat: add missing link to kestra apps

* chore(translations): auto generate values for languages other than english

* feat: marketing text

* chore(translations): auto generate values for languages other than english

---------

Co-authored-by: GitHub Action <actions@github.com>
Co-authored-by: Anna Geller <anna.m.geller@gmail.com>
2025-01-28 18:39:33 +01:00
AJ Emerich
3a8007fba9 docs(custom-dashboard): update example to use metrics and logs (#7007) 2025-01-28 18:20:17 +01:00
brian.mulier
10d6ff8020 chore(deps): bump ui-libs 2025-01-28 17:16:53 +01:00
Loïc Mathieu
82150e6064 fix(core): Dashboard end date should apply to the execution start date
Otherwise you would not be able to have running executions.
It is aligned with what we do for the other dashboard / filter
2025-01-28 17:03:23 +01:00
YannC
035f6b3b69 fix(ui): remove console.log() 2025-01-28 16:38:55 +01:00
brian.mulier
7ec9f6c81d fix(ui): better handling of plugin type to display in doc from editor 2025-01-28 16:22:35 +01:00
YannC
49d64b7f84 fix(ui): better css with in editor doc for dashboard
close #6999
2025-01-28 16:04:38 +01:00
brian.mulier
dc13e9117d fix(ui): handle light theme properly in plugin doc
closes #6973
2025-01-28 15:39:52 +01:00
Florian Hussonnois
9d974ad845 fix(ui): fix blueprints 2025-01-28 15:27:12 +01:00
Loïc Mathieu
151d4d9da7 fix(core): use the MDC from the loggin context 2025-01-28 14:51:37 +01:00
Loïc Mathieu
3640b08634 fix(core): use DCL when creating the logger
Use Double Checked Locking (DCL) to construct the logger to avoid potential half backed logger creation.
2025-01-28 14:51:37 +01:00
Loïc Mathieu
c9095bd871 fix(core): reset the MDC when we clean the run context 2025-01-28 14:51:37 +01:00
YannC
fd4a51259c fix(ui): avoid monaco to show every words used as autocompletion when there is no suggestion 2025-01-28 14:20:04 +01:00
Miloš Paunović
3c478c73eb feat(ui): multiple improvements of no code editor (#6991)
* chore(ui): limit the width of no code editor to a third of the full width

* feat(ui): show only required task properties on top level, else under collapse
2025-01-28 14:19:30 +01:00
YannC
41e4abba77 fix(ui): rename cluster to instance
close #6992
2025-01-28 14:07:34 +01:00
Loïc Mathieu
32112d2ff2 feat(deps): add support for OpenTelemetry metrics 2025-01-28 13:31:46 +01:00
AJ Emerich
db84595bbd (docs): add custom dashboard in app documentation
close #6982
2025-01-28 11:01:09 +01:00
YannC
325c680947 fix(ui): missing image 2025-01-28 10:55:45 +01:00
brian.mulier
cf316eb837 fix(ui): better filtering for yamlUtils.extractFieldFromMaps 2025-01-28 10:36:06 +01:00
brian.mulier
0438fbff64 fix(ui): add log exporters to plugins
closes kestra-io/kestra-ee#2754
2025-01-28 10:36:06 +01:00
brian.mulier
16be38aaf8 fix(core): add log exporters to plugins
part of kestra-io/kestra-ee#2754
2025-01-28 10:36:06 +01:00
brian.mulier
94e42a9dcd fix(core): generate properly taskrunners and log exporters implementations in json schema after adding generic types
closes kestra-io/kestra-ee#2755
2025-01-28 10:36:06 +01:00
GitHub Action
32da58eeef chore(translations): auto generate values for languages other than english 2025-01-28 08:38:08 +00:00
YannC
5f8a453056 feat(ui): Better empty chart view + default view to documentation
relates to #6982
2025-01-28 09:37:37 +01:00
rajatsingh23
60f96dacff chore(ui): amend plus button action on flow editor topology (#6983)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2025-01-28 08:38:03 +01:00
GitHub Action
2bca260a38 chore(translations): auto generate values for languages other than english 2025-01-27 23:08:18 +00:00
YannC
82de9cbb96 feat(ui): Design change on dashboard creation (#6984)
* feat(ui): Design change on dashboard creation

close #6943

* chore(translations): auto generate values for languages other than english

---------

Co-authored-by: GitHub Action <actions@github.com>
2025-01-28 00:07:47 +01:00
brian.mulier
69b5093d66 feat(ui): don't load all revisions, optimize unnecessary calls and add back query params upon changing revisions
closes #6806
2025-01-27 19:28:29 +01:00
YannC
a6ffcf5be6 feat(core): Rename WaitFor task to LoopUntil (#6978) 2025-01-27 19:22:18 +01:00
Ludovic DEHON
a54a3f1f54 chore(deps): update all js deps 2025-01-27 19:16:44 +01:00
Ludovic DEHON
5268c793e1 fix(ui): use color for log on custom charts 2025-01-27 19:12:37 +01:00
GitHub Action
4aa0a57e0b chore(translations): auto generate values for languages other than english 2025-01-27 18:02:51 +00:00
Miloš Paunović
cdc1cceb34 feat(ui): multiple improvements of no code editor (#6981)
* feat(ui): introduced re-worked metadata inputs

* chore(ui): reset panel on each breadcrumb click

* chore(ui): improve styling of metadata inputs section

* chore(ui): improve the metadata inputs section
2025-01-27 19:02:11 +01:00
Ludovic DEHON
125a277aa5 fix(ui): better layout filters comparator 2025-01-27 18:49:28 +01:00
Ludovic DEHON
bcaa613f76 fix(ui): don't display max displayable since not relevant
close kestra-io/kestra-ee#1889
2025-01-27 18:14:28 +01:00
Ludovic DEHON
f1c5555f6e fix(ui): taskrun filters and new charts
close kestra-io/kestra-ee#2760
2025-01-27 18:08:28 +01:00
Ludovic DEHON
a69f8b94ff chore(ui): refactor the namespace flows 2025-01-27 17:43:12 +01:00
Florian Hussonnois
64dcc96497 build: add script and github workflow to tag all plugins 2025-01-27 17:00:03 +01:00
Bart Ledoux
1c08176c99 fix: use new color scheme for execution stats on flows list
related to #6175

better refactor to come later during cooldown
2025-01-27 16:21:10 +01:00
Loïc Mathieu
bd82f5e3b6 fix(core): ThresholdFilter is now stricly lower 2025-01-27 15:53:15 +01:00
Anna Geller
8ecba1b341 fix: Dashboards in plural (#6971)
* Update en.json

* chore(translations): auto generate values for languages other than english

---------

Co-authored-by: GitHub Action <actions@github.com>
2025-01-27 15:31:24 +01:00
dependabot[bot]
e94f795d17 chore(deps): bump software.amazon.awssdk.crt:aws-crt
Bumps [software.amazon.awssdk.crt:aws-crt](https://github.com/awslabs/aws-crt-java) from 0.33.7 to 0.33.9.
- [Release notes](https://github.com/awslabs/aws-crt-java/releases)
- [Commits](https://github.com/awslabs/aws-crt-java/compare/v0.33.7...v0.33.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 15:19:02 +01:00
YannC
e0e7bd1323 fix(ui): remove dot from template 2025-01-27 15:17:58 +01:00
dependabot[bot]
4bf46464d5 chore(deps): bump org.jooq:jooq from 3.19.16 to 3.19.18
Bumps org.jooq:jooq from 3.19.16 to 3.19.18.

---
updated-dependencies:
- dependency-name: org.jooq:jooq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 14:55:25 +01:00
dependabot[bot]
3f94022ee9 chore(deps): bump software.amazon.awssdk:bom from 2.29.37 to 2.30.6
Bumps software.amazon.awssdk:bom from 2.29.37 to 2.30.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 14:53:08 +01:00
dependabot[bot]
8b2f2ce7af chore(deps): bump com.github.ben-manes.versions from 0.51.0 to 0.52.0
Bumps com.github.ben-manes.versions from 0.51.0 to 0.52.0.

---
updated-dependencies:
- dependency-name: com.github.ben-manes.versions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 14:37:22 +01:00
dependabot[bot]
6bd0960356 chore(deps): bump com.google.guava:guava from 33.3.1-jre to 33.4.0-jre
Bumps [com.google.guava:guava](https://github.com/google/guava) from 33.3.1-jre to 33.4.0-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-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 14:36:46 +01:00
YannC
67920c6e5c feat(ui): make DashboardEdit.vue overrided components (#6954) 2025-01-27 14:36:22 +01:00
dependabot[bot]
3ce8903e10 chore(deps): bump nl.basjes.gitignore:gitignore-reader
Bumps [nl.basjes.gitignore:gitignore-reader](https://github.com/nielsbasjes/codeowners) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/nielsbasjes/codeowners/releases)
- [Changelog](https://github.com/nielsbasjes/codeowners/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nielsbasjes/codeowners/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: nl.basjes.gitignore:gitignore-reader
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 14:36:15 +01:00
dependabot[bot]
55b21d2697 chore(deps): bump org.assertj:assertj-core from 3.27.0 to 3.27.3
Bumps [org.assertj:assertj-core](https://github.com/assertj/assertj) from 3.27.0 to 3.27.3.
- [Release notes](https://github.com/assertj/assertj/releases)
- [Commits](https://github.com/assertj/assertj/compare/assertj-build-3.27.0...assertj-build-3.27.3)

---
updated-dependencies:
- dependency-name: org.assertj:assertj-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 14:35:38 +01:00
dependabot[bot]
efa533daa1 chore(deps): bump io.micronaut.platform:micronaut-platform
Bumps [io.micronaut.platform:micronaut-platform](https://github.com/micronaut-projects/micronaut-platform) from 4.7.3 to 4.7.4.
- [Release notes](https://github.com/micronaut-projects/micronaut-platform/releases)
- [Commits](https://github.com/micronaut-projects/micronaut-platform/compare/v4.7.3...v4.7.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 14:35:13 +01:00
dependabot[bot]
ee687ffde3 chore(deps): bump com.github.oshi:oshi-core from 6.6.5 to 6.6.6
Bumps [com.github.oshi:oshi-core](https://github.com/oshi/oshi) from 6.6.5 to 6.6.6.
- [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.6.5...oshi-parent-6.6.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 14:34:34 +01:00
dependabot[bot]
efee504468 chore(deps): bump protobufVersion from 3.25.5 to 4.29.3
Bumps `protobufVersion` from 3.25.5 to 4.29.3.

Updates `com.google.protobuf:protobuf-java` from 3.25.5 to 4.29.3
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Changelog](https://github.com/protocolbuffers/protobuf/blob/main/protobuf_release.bzl)
- [Commits](https://github.com/protocolbuffers/protobuf/commits)

Updates `com.google.protobuf:protobuf-java-util` from 3.25.5 to 4.29.3

---
updated-dependencies:
- dependency-name: com.google.protobuf:protobuf-java
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: com.google.protobuf:protobuf-java-util
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 14:34:08 +01:00
dependabot[bot]
8e07b5b354 chore(deps): bump org.postgresql:postgresql from 42.7.4 to 42.7.5
Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.4 to 42.7.5.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.7.4...REL42.7.5)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 14:33:48 +01:00
dependabot[bot]
bf88ddb21b chore(deps): bump org.owasp.dependencycheck from 11.1.1 to 12.0.1
Bumps org.owasp.dependencycheck from 11.1.1 to 12.0.1.

---
updated-dependencies:
- dependency-name: org.owasp.dependencycheck
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 14:33:25 +01:00
dependabot[bot]
f494edb889 chore(deps): bump com.google.cloud:libraries-bom from 26.52.0 to 26.53.0
Bumps [com.google.cloud:libraries-bom](https://github.com/googleapis/java-cloud-bom) from 26.52.0 to 26.53.0.
- [Release notes](https://github.com/googleapis/java-cloud-bom/releases)
- [Changelog](https://github.com/googleapis/java-cloud-bom/blob/main/release-please-config.json)
- [Commits](https://github.com/googleapis/java-cloud-bom/compare/v26.52.0...v26.53.0)

---
updated-dependencies:
- dependency-name: com.google.cloud:libraries-bom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 14:33:01 +01:00
dependabot[bot]
14f35021c2 chore(deps): bump com.github.ben-manes.caffeine:caffeine
Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.1.8 to 3.2.0.
- [Release notes](https://github.com/ben-manes/caffeine/releases)
- [Commits](https://github.com/ben-manes/caffeine/compare/v3.1.8...v3.2.0)

---
updated-dependencies:
- dependency-name: com.github.ben-manes.caffeine:caffeine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 14:32:22 +01:00
YannC
a1a1fbc31a fix(ui): missing translations 2025-01-27 14:27:21 +01:00
Loïc Mathieu
2359c4f744 fix(core, jdbc): Count task 2025-01-27 13:21:58 +01:00
Miloš Paunović
1bcc22a861 feat(ui): multiple improvements of no code editor (#6951)
* chore(ui): persist change of editor type on each toggle

* chore(ui): remove topology-only view from editor
2025-01-27 12:07:55 +01:00
Ludovic DEHON
adb8d9a9d3 fix(ui): let filter dropdown fit width of the content 2025-01-27 12:01:40 +01:00
Ludovic DEHON
0a93b10a72 feat(ui): pretty layout for status on filters
relate to #5127
2025-01-27 12:01:40 +01:00
yuri
8361a206fa chore(cli): improve CLI help messages (#6920)
* chore(cli): improve CLI help messages

* Improved styling to make the help easily readable.
* Fixed various copy&paste issues.
* Improved wording a bit.

* Fix copy&paste
2025-01-27 11:55:54 +01:00
Loïc Mathieu
7cf4955814 feat(core, jdbc): change the state of a subflow restart parent execution 2025-01-27 11:29:17 +01:00
Loïc Mathieu
4e3ed33a48 feat(ui, webserver): rename "Change status" to "Change state" and enhance the infos 2025-01-27 11:29:17 +01:00
Loïc Mathieu
4f2d35fc4a feat(core): add system.restarted: true label when changing the status of a task 2025-01-27 11:29:17 +01:00
Florian Hussonnois
c52fdd064c fix(webserver): ensure queues are not closed in nioEventLoop 2025-01-27 11:21:53 +01:00
Ludovic DEHON
f8ff2e0204 fix(core): fix unit test on DocumentationGeneratorTest 2025-01-27 10:47:59 +01:00
Anna Geller
34751cfdd4 docs: add nested loop example (#6948) 2025-01-26 21:56:44 +01:00
Ludovic DEHON
4f96f81241 fix(ui): namepsace > blueprint display 404 page
close kestra-io/kestra#6917
2025-01-25 23:33:34 +01:00
Anna Geller
fedb388e53 fix: Return task docs 2025-01-25 12:31:25 +01:00
Bart Ledoux
c805dc490f fix: see all is-text button color
closes #6898
2025-01-25 11:47:46 +01:00
Bart Ledoux
2e23269a90 fix: update ui-libs for docs 2025-01-25 11:35:35 +01:00
GitHub Action
cb7ee6a0b2 chore(translations): auto generate values for languages other than english 2025-01-25 07:20:32 +00:00
Piyush Bhaskar
69dda0ea65 chore(ui): improvements of welcome page (#6938) 2025-01-25 08:19:47 +01:00
Ludovic DEHON
715226dee4 chore(deps): update all js deps 2025-01-24 23:38:13 +01:00
Ludovic DEHON
36675d90f4 feat(ui): new 404 page layout 2025-01-24 23:29:23 +01:00
YannC
5151f23cf5 feat(ui): improve custom dashboard access (#6940)
relates to kestra-io/kestra-ee#2372
2025-01-24 22:34:13 +01:00
Ludovic DEHON
17e0340ab4 fix(ui): invalid hover on left menu for white theme 2025-01-24 21:53:54 +01:00
Florian Hussonnois
3073d9e925 fix(script): update release-plugins 2025-01-24 21:46:53 +01:00
Florian Hussonnois
4d7d8e008a chore(script): update release-plugins to support pushReleaseVersionBranch 2025-01-24 21:44:12 +01:00
Florian Hussonnois
83e99edcff chore(build): fix release-plugins script 2025-01-24 21:04:49 +01:00
Florian Hussonnois
01e565f3cd chore(build): fix .plugins file 2025-01-24 21:04:49 +01:00
Miloš Paunović
87eb855ace chore(ui): start product tour by clicking on first card on welcome page (#6935) 2025-01-24 18:42:29 +01:00
Miloš Paunović
effb5a279b chore(ui): start product tour by clicking on first car on welcome page (#6934) 2025-01-24 18:13:34 +01:00
Miloš Paunović
460e037674 fix(ui): save content to proper file using the namespace file editor (#6931) 2025-01-24 17:27:36 +01:00
brian.mulier
275951011f fix(core): Flow equalsWithoutRevision don't use serialization to compare flows so that map orders don't matter
closes #6928
2025-01-24 17:00:47 +01:00
Florian Hussonnois
d79e40dd98 build: add new project properties for release 2025-01-24 16:55:28 +01:00
Miloš Paunović
aa22f5041c feat(ui): multiple improvements of no code editor (#6923)
* chore(ui): make sure to check if property exists

* chore(ui): prevent auto-focus of editor fields

* chore(ui): re-order the list of visible fields in the no code editor

* chore(ui): make concurrency field work in the main form

* chore(ui): initial work on passing component panel to store
2025-01-24 16:48:45 +01:00
brian.mulier
09ef115074 fix(ui): cleanup imports and get rid of some warnings 2025-01-24 12:38:25 +01:00
brian.mulier
ae408209fe fix(ui): more explicit else-if branches for switch view 2025-01-24 12:36:32 +01:00
brian.mulier
fccaef4622 fix(ui): remove some warnings about missing props for blueprints 2025-01-24 12:33:19 +01:00
Ludovic DEHON
6bc66d66ea fix(ui): left menu is blinking on blueprint page 2025-01-24 08:05:29 +01:00
Ludovic DEHON
ae2d55570f fix(ui): rollouver on side menu was blinking 2025-01-24 08:01:11 +01:00
Ludovic DEHON
c795f3756c fix(ui): add confirmation message for crud on custom dashboard
close kestra-io/kestra-ee#2468
2025-01-24 07:50:38 +01:00
Ludovic DEHON
a97448f19d fix(ui): proper log display without multiple line 2025-01-23 22:46:52 +01:00
Ludovic DEHON
fc84ee3e59 fix(ui): make disabled select less visible 2025-01-23 22:46:52 +01:00
Miloš Paunović
9501880044 feat(ui): improvements of no code editor (#6916)
* feat(ui): improve the one of task section

* chore(ui): change expected prop type to match what is sent

* chore(ui): allow number input fields to span full width

* chore(ui): remove disabled parameter from buttons which don't need it
2025-01-23 19:43:27 +01:00
Florian Hussonnois
9781ff1563 fix(ui): add missing use button into blueprin details 2025-01-23 19:08:22 +01:00
Ludovic DEHON
61e0668ad8 chore(cli): invalid description on worker thread 2025-01-23 18:37:08 +01:00
Ludovic DEHON
f08bd94d57 feat(ui): new gantt layout to display taskrun state & duration with also attempts one
close #6103
2025-01-23 18:37:08 +01:00
Florian Hussonnois
699e232dd6 fix(ui): fix use button for dashboard blueprint 2025-01-23 17:30:09 +01:00
Ludovic DEHON
c994762762 fix(ui): prevent responsive on monaco editor for diff
close #4777
2025-01-23 16:14:45 +01:00
YannC
0eb13ba433 fix(webserver): continue to warn, but do not return trigger with missing flow (#6905)
close #5998
2025-01-23 15:53:47 +01:00
Mathieu Gabelle
22157fd717 refactor: migrate plugin.core.log to dynamic properties (#6732) 2025-01-23 15:52:01 +01:00
yuri
0a047a7b75 fix(ui): amend flow concurrency overview
closes #6811
2025-01-23 15:48:48 +01:00
Florian Hussonnois
8e5ffe8355 fix(ui): fix blueprints use button 2025-01-23 15:39:55 +01:00
Miloš Paunović
204563530e feat(ui): improve the one of task section (#6903) 2025-01-23 15:07:05 +01:00
Miloš Paunović
132d70dadd feat(ui): add the ability to remove tasks and other items (#6902) 2025-01-23 13:54:10 +01:00
Florian Hussonnois
2e18c295ed fix(ui): fix multiple issues on blueprints 2025-01-23 13:36:34 +01:00
Miloš Paunović
4bb2fd50eb feat(ui): make the one of component work properly (#6900) 2025-01-23 13:14:48 +01:00
GitHub Action
c6d69762c4 chore(translations): auto generate values for languages other than english 2025-01-23 11:52:03 +01:00
Florian Hussonnois
ad719a97f9 feat: add support for multiple blueprint kinds
related-to: kestra-io/kestra-ee#2479
2025-01-23 11:52:03 +01:00
Miloš Paunović
6b4e1cac94 fix(ui): properly handle file explorer visibility in namespace files section (#6895) 2025-01-23 11:06:01 +01:00
brian.mulier
0ddf9d6001 chore(deps): bump @kestra-io/ui-libs to 0.0.114 2025-01-23 10:06:50 +01:00
Shruti Mantri
e9e853cdfc fix: add title to TemplatedTask (#6891)
* fix: add title to TemplatedTask

* Update TemplatedTask.java

* Update core/src/main/java/io/kestra/plugin/core/templating/TemplatedTask.java

---------

Co-authored-by: Will Russell <will@wrussell.co.uk>
Co-authored-by: Anna Geller <anna.m.geller@gmail.com>
2025-01-23 10:03:18 +01:00
Miloš Paunović
bca1797321 chore(ui): make sure input pair component updates only what's needed (#6892) 2025-01-23 09:36:49 +01:00
brian.mulier
1b0ce4d6a3 feat(ui): new plugin doc redesign 2025-01-23 00:04:57 +01:00
Mathieu Gabelle
10bc70c858 chore(deps): upgrade bouncycastle to 1.80 (#6881) 2025-01-22 17:24:13 +01:00
YannC
2192ef3365 fix(): JsonSchema dashboard doc 2025-01-22 16:26:52 +01:00
Loïc Mathieu
116f59dc89 chore(deps): upgrade Micrometer to 0.14.3 2025-01-22 16:03:28 +01:00
Miloš Paunović
24f8afae82 feat(ui): re-work the task array field for the no code editor (#6885)
* chore(ui): make the task save button span fully

* chore(ui): make the task save button have the proper top margin

* feat(ui): re-work the task array field for the no code editor
2025-01-22 14:54:11 +01:00
Miloš Paunović
ad304e9d90 chore(ui): handle task dict type fields (#6884)
* chore(ui): rename the single namespace editor tab to files

* chore(ui): handle task dict type fields
2025-01-22 13:42:46 +01:00
Miloš Paunović
027cde4a21 fix(ui): amend namespace editor problem (#6883)
* chore(ui): make input number be full width

* chore(ui): wrap task object inside a form element

* fix(ui): amend namespace editor problem
2025-01-22 12:03:34 +01:00
Ludovic DEHON
1926ad5e0c fix(core): fromIon is reading only the first rows by default, adding a parameter to read all rows 2025-01-22 10:09:20 +01:00
Loïc Mathieu
e87b97a2e1 feat(*): OpenTelemetry traces
Fixes #6149
2025-01-22 09:51:12 +01:00
Miloš Paunović
33308c49c8 chore(deps): regular dependency update (#6877) 2025-01-22 09:03:35 +01:00
GitHub Action
a011705728 chore(translations): auto generate values for languages other than english 2025-01-22 07:28:30 +00:00
Miloš Paunović
b823d9c28b feat(ui): improvements of no code editor (#6876) 2025-01-22 08:25:58 +01:00
Bart Ledoux
40c43256a6 fix: logs page redirect 2025-01-21 16:22:36 +01:00
Bart Ledoux
306d4ecd78 feat: simplify logs chunks by packaging markdown 2025-01-21 16:22:36 +01:00
YannC
db496a8faf fix(Count): fix Count task 2025-01-21 15:27:13 +01:00
Bart Ledoux
b542dda8e8 feat: export oss chunks of vite config 2025-01-21 14:27:30 +01:00
YannC
c337d55273 feat(core): Schema title annotation for Custom Dashboard Filter 2025-01-21 14:22:35 +01:00
Barthélémy Ledoux
f8b2056b3f fix: update the vite config to use the rollup dependencies properly (#6853)
* fix: update the vite config to use the rollup dependencies properly

* add comments
2025-01-21 14:33:52 +02:00
Ludovic DEHON
4d4963abd6 feat(tasks): introduce an Assert tasks 2025-01-21 10:25:36 +01:00
Ludovic DEHON
4d074cb052 feat(core): add a randomPort pebble function 2025-01-21 10:25:28 +01:00
Loïc Mathieu
01a77aff04 fix(core): randomInt receive a Long not an Integer 2025-01-21 10:00:16 +01:00
Shruti Mantri
f5bc5869e4 fix: correct the condition name (#6843) 2025-01-20 17:35:26 +00:00
Loïc Mathieu
1a130daa21 fix(core): Avoid double STRING schema type for types that resolves to a String
Fixes #6821
2025-01-20 17:11:33 +01:00
Piyush Bhaskar
b48c6c3dd4 chore(ui): amend flow export method (#6835) 2025-01-20 14:59:06 +01:00
Bart Ledoux
7e926fc8ec fix(sidebar): implement the _hover class in addition to hover pseudo class 2025-01-20 14:50:41 +01:00
Mathieu Gabelle
914bd94498 refactor: migrate plugin.core.namespace to dynamic properties (#6832) 2025-01-20 14:02:25 +01:00
Loïc Mathieu
02831295bf fix(core): deprecated allowFailed should not have any default
Fixes #6791
2025-01-20 13:56:11 +01:00
Shruti Mantri
4dee038374 fix: correct the description for DayWeek condition (#6834) 2025-01-20 12:43:27 +00:00
Mathieu Gabelle
25ca9f74e5 refactor: migrate plugin.core.log to dynamic properties (#6823) 2025-01-20 13:30:04 +01:00
Aabhas Sao
4b2c10d6e2 feat(core): validate in editor if subflow with namespace present (#6717)
* feat(core): validate in editor if subflow with namespace present

* fix(): added test + return all violations instead of only one

---------

Signed-off-by: Aabhas Sao <aabhassao0@gmail.com>
Co-authored-by: YannC <ycoornaert@kestra.io>
2025-01-20 11:39:34 +01:00
Bart Ledoux
05e5af73ab fix: color of active item in sidebar 2025-01-20 11:22:12 +01:00
Mathieu Gabelle
a6d746ae5a refactor: migrate package plugin.core.execution to dynamic properties (#6708)
migrate Count
migrate Fail
migrate PurgeExecutions
migrate Resume
2025-01-20 11:05:11 +01:00
Miloš Paunović
96780a9760 chore(ui): show status label on dialog 2025-01-20 10:49:25 +01:00
Barthélémy Ledoux
c5eef81a6e feat: various design fixes asked by nico (#6798) 2025-01-20 09:34:39 +01:00
dependabot[bot]
e36ee1d6ba chore(deps): bump katex from 0.16.20 to 0.16.21 in /ui (#6816)
Bumps [katex](https://github.com/KaTeX/KaTeX) from 0.16.20 to 0.16.21.
- [Release notes](https://github.com/KaTeX/KaTeX/releases)
- [Changelog](https://github.com/KaTeX/KaTeX/blob/main/CHANGELOG.md)
- [Commits](https://github.com/KaTeX/KaTeX/compare/v0.16.20...v0.16.21)

---
updated-dependencies:
- dependency-name: katex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-18 08:36:56 +01:00
Anna Geller
aa869eba1d closes https://github.com/kestra-io/kestra/issues/6814 2025-01-17 21:06:51 +01:00
aeSouid
1ddb544c36 Plugin: Define the langchain4j ollama, openai & gemini plugins in the .plugin file list (#6813) 2025-01-17 18:30:14 +01:00
Florian Hussonnois
207e8c3a70 fix(core): fix some labels are lost when having same prefix key
This commit fix an issue where only a single system label was injected in the run context

fix: kestra-io/kestra-ee#2697
2025-01-17 17:12:03 +01:00
GitHub Action
e037e548b2 chore(translations): auto generate values for languages other than english 2025-01-17 14:12:29 +00:00
Miloš Paunović
d77cfe8ced fix(ui): improve the editing of labels and variables (#6810) 2025-01-17 15:11:53 +01:00
Miloš Paunović
9cd1e0c7b1 fix(ui): amend the ability to create tasks (#6808) 2025-01-17 13:28:39 +01:00
Miloš Paunović
969faba1f0 feat(ui): improvements of no code editor (#6804)
* chore(ui): enhance toggle button for switching between `YAML` and `No Code` editors

* chore(ui): remove the export flow button from main section

* chore(ui): remove the unused context menu options

* chore(ui): add margin after the last entry for variables and inputs

* chore(ui): only show save button on task creation if one is selected

* chore(ui): replace plugin default component from input to editor type

* chore(ui): replace retry and outputs component from input to editor type

* chore(ui): move all general properties to the top level
2025-01-17 13:17:37 +01:00
Bart Ledoux
7f048afca5 add full logline stories 2025-01-17 10:57:34 +01:00
Bart Ledoux
51088c819a fix logline css variables 2025-01-17 10:57:34 +01:00
Miloš Paunović
a9c43608ff fix(ui): properly encode text filter parameter to url string (#6803) 2025-01-17 08:54:07 +01:00
Bart Ledoux
960a1bba49 fix: reduce log borders on gantt chart logs 2025-01-16 15:57:36 +01:00
Ludovic DEHON
246602f9fd fix(core): ForEach failed with errors, finally and concurrency = 0 2025-01-16 15:48:02 +01:00
Bart Ledoux
979c131b99 fix: el-empty needed a backdrop 2025-01-16 15:23:49 +01:00
Miloš Paunović
52aa0d6487 chore(test): add required attributes for e2e test (#6797) 2025-01-16 15:22:05 +01:00
Bart Ledoux
f5dc67f0ef fix: update custom upload button 2025-01-16 15:10:11 +01:00
Ludovic DEHON
9a19c01087 fix(jdbc): summary count should be a prefix on the namespace 2025-01-16 15:09:49 +01:00
Ludovic DEHON
d3efcdd032 chore(deps): update testcontainers to 1.20.4 2025-01-16 14:39:49 +01:00
Ludovic DEHON
554ea5850e fix(ui): flows overview are not scoped to current flow
close #6778
2025-01-16 14:39:49 +01:00
rajatsingh23
b573f1679d chore(ui): change filter value by clicking on already selected one (#6705) 2025-01-16 12:40:03 +01:00
CoderKill
018afab378 fix(webserver): add check in file creation path for _flows* (#6228) 2025-01-16 12:06:45 +01:00
Saumya Gaur
a4cf1cd74f chore(ui): mark places where we need to replace old charts with the new ones (#6623) 2025-01-16 11:49:07 +01:00
GitHub Action
3435e345ed chore(translations): auto generate values for languages other than english 2025-01-16 10:19:01 +00:00
Piyush Bhaskar
595b94e2aa feat(ui): allow exporting the flow to yaml file (#6610)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2025-01-16 11:18:40 +01:00
Loïc Mathieu
b2c411956e fix(core): Property with default
Fixes #6744
2025-01-16 11:16:06 +01:00
Bart Ledoux
4c6f8bd906 fix: topology css issues 2025-01-16 11:13:45 +01:00
GitHub Action
46c3e3ff74 chore(translations): auto generate values for languages other than english 2025-01-16 10:03:06 +00:00
Hashim Khalifa
fb66d42376 chore(ui): add empty view on flow concurrency page (#6640)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-01-16 11:02:21 +01:00
Barthélémy Ledoux
4227e1d682 refactor: avoid usage of runtime template to smaller bundle (#6779) 2025-01-16 10:50:18 +01:00
Barthélémy Ledoux
106816bf37 feat: add a story for executions list (#6784) 2025-01-16 10:49:57 +01:00
Barthélémy Ledoux
f8279c6b01 fix: add ellipsis for Namespace charts (#6730) 2025-01-16 10:43:21 +01:00
MilosPaunovic
fdbe16387d chore(ui): amend dialog close button styling 2025-01-16 10:42:19 +01:00
Piyush Bhaskar
aa450d6e4b chore(ui): mark taskruns with multiple attemps in gantt view (#6721) 2025-01-16 10:40:50 +01:00
rajatsingh23
8b714f707b chore(ui): amend width of execute flow inputs section (#6720)
Co-authored-by: Piyush Bhaskar <102078527+Piyush-r-bhaskar@users.noreply.github.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2025-01-16 10:00:24 +01:00
Miloš Paunović
8a3bb078b8 chore(deps): regular dependency update (#6790) 2025-01-16 09:08:49 +01:00
GitHub Action
3c6aa69808 chore(translations): auto generate values for languages other than english 2025-01-16 07:53:45 +00:00
Miloš Paunović
e5fc7d32b4 chore(translations): amend translation key/value pairs (#6788) 2025-01-16 08:53:20 +01:00
Ludovic DEHON
9f12f9a63b fix(core): flow should not continue tasks when having a finally 2025-01-15 21:51:47 +01:00
Ludovic DEHON
f1c147cc4b fix(core): parallel task should not resolved error and finally in parallel 2025-01-15 21:51:38 +01:00
Ludovic DEHON
45bd08c26e chore(deps): update common dependency 2025-01-15 18:37:17 +01:00
MilosPaunovic
33c5cb507a chore(ui): amend passing of disabled property to no code editor 2025-01-15 18:37:11 +01:00
Florian Hussonnois
7b0f2e9160 fix(jdbc): update test config for flaky test on liveness (#6656) 2025-01-15 18:29:53 +01:00
Miloš Paunović
821fd1219c feat(ui): introduce the revamped no code editor (#6787) 2025-01-15 18:28:20 +01:00
Florian Hussonnois
81a4e86452 fix(core): remove 64 characters limitation for displayName (#6470) 2025-01-15 18:28:01 +01:00
Florian Hussonnois
94545fe2f6 fix(jdbc): ensure JdbcIndexer is only closed once 2025-01-15 18:06:05 +01:00
Mathieu Gabelle
662ac61e34 refactor: migrate package plugin.core.templating to dynamic properties (#6775) 2025-01-15 15:18:31 +01:00
Mathieu Gabelle
c4ec56f1e7 refactor: migrate package plugin.core.storage to dynamic properties (#6770) 2025-01-15 10:34:16 +01:00
Mathieu Gabelle
ca8837f310 refactor: migrate package plugin.core.state to dynamic properties (#6755) 2025-01-15 09:44:17 +01:00
Barthélémy Ledoux
b3b3a5b85a fix: allow custom translations to be passed (#6752)
* feat: allow extra translation sources in i18n

* refactor(i18n): properly laod i18n translations (no more merge)

* update comments

* fix eslint
2025-01-15 09:32:09 +01:00
Loïc Mathieu
717d5560ad feat(webserver, ui): avoid cancelled SSE connection from following exec
Send a fake "start" event from the Execution following endpoint so that the UI didn't cancell it.

I'm not sure when the UI would cancel the SSE connection but it can ocurs if any of the view that opens an SSE connection are left but no event are received yet.
Sending a fake event immediatly lower the risk of occuring.
2025-01-15 09:25:15 +01:00
Ludovic DEHON
708c1127c9 chore(core): reduce log level of property validation 2025-01-15 08:43:34 +01:00
Ludovic DEHON
52aba32c14 fix(ui): missing icons for finally
relate to #5643
2025-01-14 17:00:31 +01:00
Bart Ledoux
fbfab90739 fix(#6745) vue flow needs a height on the container 🥸 2025-01-14 16:05:32 +01:00
Ludovic DEHON
e98543822c fix(core): graph on dag are not attaching finally at the end of the dag task 2025-01-14 14:00:53 +01:00
Mathieu Gabelle
daddcd4d50 refactor: migrate package plugin.core.debug to dynamic properties (#6697)
migrate Return task
migrate Echo task
migrate associated test using these tasks
2025-01-14 13:32:37 +01:00
Loïc Mathieu
f217d33768 fix(core): always close the queue after receive
May improve test flakyness
2025-01-14 11:54:04 +01:00
Loïc Mathieu
0c0ff37c69 fix(core, ui): send a "start" event to be sure the UI receive the SSE
The UI only store a reference to the logs SSE when receive the first event.
In case a flow didn't emit any log, or the logs tab is closed before any logs is emitted, the UI will not have any reference to the SSE so the SSE connection would stay alive forever.
Each SSE connection starts a thread via the logs queue, creating a thread leak.

Sending a first "start" event makes sure the UI has a reference to the SSE.
2025-01-14 09:39:58 +01:00
Ludovic DEHON
c73305921e fix(jdbc): batch query expand query and lead to overflow of metrics 2025-01-13 21:54:10 +01:00
Mathieu Gabelle
4de65e7a3d refactor: migrate plugin.core.output to dynamic properties
migrate OutputValues task
2025-01-13 18:07:57 +01:00
AJ Emerich
ac8a05cb35 chore(docs): split pause title and description (#6733)
close kestra-io/docs#2072
2025-01-13 17:13:05 +01:00
Ludovic DEHON
0d1710d0e6 feat(core): introduce an finally block on flow & flowable (#6686)
close #6649
2025-01-13 17:11:57 +01:00
Bart Ledoux
55b672033d fix: storybook - only i18nize once in preview 2025-01-13 14:32:07 +01:00
Mathieu Gabelle
f2e4a35313 refactor: address sonar issues 2025-01-13 13:08:27 +01:00
Mathieu Gabelle
d052a87c0b refactor: migrate package plugin.core.kv to dynamic properties
migrate Delete, Get, Set, GetKeys from KV to dynamic properties
2025-01-13 13:08:27 +01:00
Mathieu Gabelle
589638cc3d refactor: add @deprecated javadoc message : sonar 2025-01-13 12:56:06 +01:00
Mathieu Gabelle
a934414db4 refactor: migrate package plugin.core.http to dynamic properties
migrate Download task
migrate Request task
migrate Trigger task
migrate HttpConfiguration class
2025-01-13 12:56:06 +01:00
Bart Ledoux
e4698b0f10 fix: async docs were failing beause of issue in ui-libs MDC 2025-01-13 12:09:27 +01:00
Bart Ledoux
6691575fa0 fix: improve storybook styles 2025-01-13 12:06:29 +01:00
Bart Ledoux
2a56ba88c4 chore: remove an unwanted comment 2025-01-13 11:39:25 +01:00
AJ Emerich
828d9a789f add taskrun.iteration (#6723)
Add mention of taskrun.iteration like in ForEachItem
2025-01-13 11:15:44 +01:00
Bart Ledoux
987f4914a6 keep active state on hover 2025-01-13 10:00:22 +01:00
Bart Ledoux
6a5ec8dcfc style(ui): update SideBar link styles to match design 2025-01-10 17:39:00 +01:00
Barthélémy Ledoux
8d57f8f0b2 refactor: add async loading for better performance (#6643)
Co-authored-by: YannC <37600690+Skraye@users.noreply.github.com>
2025-01-10 17:26:29 +01:00
AJ Emerich
f8a7299daf Add description to Write.java (#6710)
* Add description to Write.java

* fix java compile error

Add comma
2025-01-10 17:23:44 +01:00
Nicolas K.
c32d158ab6 feat(core-ee): change log shipper properties names and use KV instead of state store (#6709)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-01-10 17:05:24 +01:00
Florian Hussonnois
159927d39e fix(ui): fix reset of flow import input 2025-01-10 16:46:51 +01:00
Florian Hussonnois
17120cff8e refactor(webserver): move method to read source file/archive to HasSource interface 2025-01-10 16:46:51 +01:00
Florian Hussonnois
16a7e06c56 chore(ui): add utility method extratFileNameFromContentDisposition
Changes:
* add a new utility method to extracts a filename from an HTTP 'Content-Disposition` header.

part-of: kestra-io/kestra-ee#2412
2025-01-10 16:46:51 +01:00
Florian Hussonnois
d96742d7dd refactor(core): add new interface HasSource
Changes:
* add new interface HasSource
* move method for zipping flows to HasSource

part-of: kestra-io/kestra-ee#2412
2025-01-10 16:46:51 +01:00
Loïc Mathieu
1c705e2d7b fix(core): If with only disabled tasks
Fixes #6658
2025-01-10 15:26:49 +01:00
Bart Ledoux
bab508a51e update color palette 2025-01-10 15:21:06 +01:00
Loïc Mathieu
b9a74b8759 fix(jdbc): resubmitting a worker job running should create a new attempt 2025-01-10 09:54:11 +01:00
YannC
3c19c910aa fix(*): create real chart preview endpoint 2025-01-10 08:39:28 +01:00
Nicolas K.
4ab8748f4c feat(core-ee); change log record model and don't use opentelemetry an… (#6700)
* feat(core-ee); change log record model and don't use opentelemetry anymore

* fix(core): unit test

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-01-09 18:08:01 +01:00
Barthélémy Ledoux
cbff628f23 Implement stylelint and refactor CSS variables for consistency (#6645) 2025-01-09 17:28:19 +01:00
Nicolas K.
6e7df7f25c fix(core): NPE in ExecutableUtils (#6699)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-01-09 17:09:47 +01:00
Nicolas K.
2f4bb05561 feat(core-ee): remove pagination from fetchAsync and use logRecord attributes (#6698)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-01-09 16:44:03 +01:00
brian.mulier
063ac10099 chore(deps): bump micronaut-platform to 4.7.3 2025-01-09 13:25:48 +01:00
Ludovic DEHON
841f32a9f6 fix(core): plugin default was not validating correctly boolean methods 2025-01-09 12:56:55 +01:00
AJ Emerich
7afba75ed8 update Exit.java task description (#6695) 2025-01-09 12:18:46 +01:00
YannC
501a5d3ff4 fix(core): handle runIf inside workingDirectory (#6690)
close #6689
2025-01-09 11:40:49 +01:00
YannC
1b615c97b1 fix(core): Continue WaitFor loop if tasks are not failed (#6572)
close #6031
2025-01-09 11:40:34 +01:00
Bart Ledoux
9b59c75d2a refactor: remove bootstrap color from sidebar 2025-01-09 11:11:06 +01:00
Bart Ledoux
035a27c915 refactor: remove spacer form sidebar 2025-01-09 11:02:15 +01:00
Bart Ledoux
86cb11fb81 fix: logline when there is a {{ 2025-01-09 10:58:39 +01:00
Bart Ledoux
20276a9e7a refactor: removed unused css in sidebar 2025-01-09 10:39:51 +01:00
Loïc Mathieu
a994120d36 feat(core): add outputs and ID to log shippers 2025-01-09 09:39:52 +01:00
Bart Ledoux
e09e21633a fix(ui): update CSS variable for log icon color in LogLine component 2025-01-08 23:19:28 +01:00
Bart Ledoux
a8be084e79 feat(ui): add status remapping to status component to match the real name of the CSS vars 2025-01-08 23:05:05 +01:00
Malay Dewangan
1476064b0a feat: add support for deleting empty namespace parent folders (#5699)
* feat(namespace): add support for deleting empty parent folders

* fix: add builder default for deleteparentfolder key

* Update DeleteFiles.java

* chore(test): missing tests

* chore(test): missing tests

---------

Co-authored-by: YannC <ycoornaert@kestra.io>
2025-01-08 17:20:09 +01:00
GitHub Action
4e543a29ca chore(translations): auto generate values for languages other than english 2025-01-08 16:42:05 +01:00
Loïc Mathieu
b3ed3d8dfb feat(core, ui, webserver): add replay system labels
- Add system.replay to executions that are a replay
- Add system.replayed to executions that have been replayed

Fixes #6682
2025-01-08 16:42:05 +01:00
Nicolas K.
132d4541c2 feat(core): add log record serialization (#6683)
* feat(core): add log record serialization

* feat(core): add serialization to log record

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-01-08 15:43:45 +01:00
brian.mulier
6f43ab1443 chore(deps): bump ui-libs 2025-01-08 15:05:41 +01:00
Bart Ledoux
155f9b9d76 fix: fix no execution layout 2025-01-08 15:01:32 +01:00
Loïc Mathieu
c5e23d43df feat(core): validate tasks and triggers with dynamic properties 2025-01-08 14:24:11 +01:00
nKwiatkowski
81f08f00c6 feat(core): add partial fix to micronaut hibernate validator and ValueExtractor 2025-01-08 14:24:11 +01:00
YannC
35ffe7e635 fix(webserver): reset correctly nextExecutionDate when enabling schedule
close #6681
2025-01-08 13:54:14 +01:00
GitHub Action
a1238a9473 chore(translations): auto generate values for languages other than english 2025-01-08 12:10:20 +00:00
YannC
6c205ee1b6 feat(*): fixes and improvements for custom dashboard (#6684)
* feat(*): fixes and improvements for custom dashboard

* chore(translations): auto generate values for languages other than english

---------

Co-authored-by: GitHub Action <actions@github.com>
2025-01-08 13:09:36 +01:00
Ludovic DEHON
47d2b09382 chore(test): minor pebble error 2025-01-08 09:41:57 +01:00
Ludovic DEHON
f2a3ad557a fix(core): worker log are displaying the wrong state on terminated tasks 2025-01-08 08:55:09 +01:00
Ludovic DEHON
317284dfee test(core): add configurable timeout on ExecuteFlow 2025-01-07 19:56:59 +01:00
Ludovic DEHON
c265b49a8e feat(core): add taskRunner output on ScriptOutput to get detailled information on underlying taskrunner 2025-01-07 17:57:18 +01:00
Aabhas Sao
111493c5c8 fix(core): correctly displayed errors icons (#6654)
close #5643
2025-01-07 15:41:35 +01:00
Ludovic DEHON
4fa6adc9c9 chore(core): move builder default on TableColumnDescriptor 2025-01-07 15:32:07 +01:00
Ludovic DEHON
bccd95345f test(core): request test use an internal https server to be stable
self-signed.badssl.com is not working anymore
2025-01-07 14:39:30 +01:00
GitHub Action
4dbf938de3 chore(translations): auto generate values for languages other than english 2025-01-07 11:47:35 +01:00
Loïc Mathieu
576e023d90 feat(ui): add an alert block for restarted execution 2025-01-07 11:47:35 +01:00
Loïc Mathieu
1e36d1eb2a feat(core): restarting Subflow
Fixes https://github.com/kestra-io/kestra-ee/issues/1399
2025-01-07 11:45:10 +01:00
Nicolas K.
a5469c3b4e feat(core): add run context to log shipper (#6651)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-01-07 11:31:02 +01:00
Bart Ledoux
869c6877b7 fix: set the flowEditor docId on new 2025-01-06 22:19:06 +01:00
Ludovic DEHON
d67d44b93a fix(core): http proxy was not used 2025-01-06 21:55:21 +01:00
Nicolas K.
75f55c23ee feat(core-ee): add log shipper first implementation (#6596)
* feat(core-ee): add log shipper first implementation

* fix(core): change state condition on asynchronous test

* fix(core): exit test shouldExitAndKillTheExecution has 3 execution killed

* fix(core): flaky runner test

* clean(core-ee): add documentation and use a list of log shippers in log synch

* fix(core-ee): do log synch tests for each bdd

* clean(test): move the runner test abstraction to core to use it for jdbc and kafka

* fix(test): fix broken tests, and correct an ELS log search bug

* fix(test): flacky tests on kafka runner

* feat(core): add log repository method to have a flux of log entry

* fix(mySql): change log repository fetch asynch

* feat(core): change logShipper to return void

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2025-01-06 17:47:11 +01:00
Loïc Mathieu
9901470b74 feat(*): maintenance mode
Closes #2992
2025-01-06 17:45:10 +01:00
Bart Ledoux
73c100ce1b fix: add proper typing for vuex 2025-01-06 14:37:35 +01:00
YannC
54b7a29a55 feat(): jdbc custom dashboard implementation (#6607)
* WIP: commit to be edited

* feat(*): finished implementation for custom dashboard in JDBC

* chore: disable metricRepository all() test because of leap year

* chore(): PR review
2025-01-06 14:02:53 +01:00
Ludovic DEHON
622f158bd0 feat(webserver): add a configuration to change app html title
close kestra-io/kestra-ee#621
2025-01-06 11:33:15 +01:00
YannC
2740137a80 fix(): ensure object sent is formData (#6639) 2025-01-06 11:20:59 +01:00
yuri1969
2307b2452b chore(build): increase Gradle memory limits
By default the daemon is limited to 512MiB heap. Increasing that to 2GiB
shaved around 10sec off the full build.
2025-01-06 09:12:35 +01:00
Loïc Mathieu
92ff557514 chore(core): tiny perf improvement in MapUtils.merge()
MapUtils.merge() un-necessary clone the map when there is only one map that is not-null and not-empty which is not needed as the map is not modified but returned immediatly.
2025-01-03 19:33:06 +01:00
Loïc Mathieu
aa9af94c14 feat(core): add taskrun.iteration inside Pebble variables
Add iteration index for ForEach and other looping tasks
2025-01-03 18:55:29 +01:00
Bart Ledoux
0cdc6f062d fix: finish the overload of buttons 2025-01-03 17:53:13 +01:00
Ludovic DEHON
e8ee97e26d feat(script): add privileged flags to docker 2025-01-03 16:51:37 +01:00
Bart Ledoux
e1c202a3cb fix: more fixes on css variables 2025-01-03 16:14:03 +01:00
Loïc Mathieu
eaa72dde4e fix(core): multiple conditon tests are flaky
They often use 1s as the deadline /window which can be an issue if the second number increments during testing.

Fixes #6632
2025-01-03 15:16:54 +01:00
Loïc Mathieu
f12a0a0547 fix(core): path traversal guard 2025-01-03 12:24:40 +01:00
Bart Ledoux
e1987ed2e3 fix: element alert background 2025-01-03 12:01:29 +01:00
Bart Ledoux
50a9f6132d fix: select multiple choices icon color an shape 2025-01-03 11:49:59 +01:00
Bart Ledoux
5bec2fc069 fix: alert colors and place of figma theme 2025-01-03 11:35:43 +01:00
Bart Ledoux
68646b07a8 fix: fixes on select boxes 2025-01-03 11:15:34 +01:00
Loïc Mathieu
e5b0ff459a feat(core): add an audit log for executions created by a trigger
Fixes https://github.com/kestra-io/kestra-ee/issues/2427
2025-01-03 10:22:21 +01:00
Loïc Mathieu
409d78615b fix(core): ExitTest is flaky 2025-01-03 10:21:57 +01:00
Loïc Mathieu
b7f9a32015 fix(storage-local): path traversal guard should include File.separator
Today, we check that a file didn't contains '..' which is too aggressive, we should check that it didn't contains '../' or '..\' only.
2025-01-03 10:06:52 +01:00
Ludovic DEHON
6f00cf1838 chore(deps): expose http5 as transitive deps 2025-01-03 09:33:28 +01:00
Loïc Mathieu
44f3639111 fix(jdbc): avoid duplicating the source when deleting the flow
Fixes #5770
2025-01-03 09:30:53 +01:00
Ludovic DEHON
9ebf2ac750 fix(cicd): don't build docker image & maven if failed test 2025-01-03 00:26:20 +01:00
Ludovic DEHON
88709a2dba fix(deps): include httpcore5 in platform deps 2025-01-03 00:18:18 +01:00
Ludovic DEHON
62badb1e53 test(core): add coverage on http logger 2025-01-02 18:11:50 +01:00
Ludovic DEHON
4a5f46132e fix(core): make http client creation explicit 2025-01-02 18:11:50 +01:00
Ludovic DEHON
73b68294ca fix(core): restore deprecated on the ui for http task 2025-01-02 18:11:50 +01:00
Ludovic DEHON
153d4ced9c fix(core): fix download http tasks 2025-01-02 18:11:50 +01:00
Ludovic DEHON
a33f85bf1e fix(core): handle http auth 2025-01-02 18:11:50 +01:00
Ludovic DEHON
5fee07e76f fix(core): configuration of log on the http client 2025-01-02 18:11:50 +01:00
Ludovic DEHON
6dfe29adf6 feat(core): use http abstraction on http tasks 2025-01-02 18:11:50 +01:00
Ludovic DEHON
1772ed45f6 feat(core): add a http client abstraction on top of apache http client 2025-01-02 18:11:50 +01:00
Ludovic DEHON
93dc508882 feat(tasks): move http task to apache http client 2025-01-02 18:11:50 +01:00
Ludovic DEHON
9e643dcc4e chore(tasks): improve unit test of http tasks 2025-01-02 18:11:50 +01:00
Barthélémy Ledoux
b03576c7d8 refactor: major css variable overhaul (#6497)
### In CSS code

#### Bootstrap

- When we find `var(--bs-white)`:
  - if the prop is `background-color` replace it with `--ks-background-card`
  - if the prop is `background` replace it with `--ks-background-card`
- When we find `var(--bs-primary)`:
  - if the prop is `color` replace it with `--ks-content-link`
  - if the prop is `background-color` replace it with `--ks-background-button-primary`
  - if the prop is `background` replace it with `--ks-background-button-primary`
- When we find `var(--bs-purple)`:
  - if the prop is `color` replace it with `--ks-content-link`
  - if the prop is `background-color` replace it with `--ks-background-button-primary`
  - if the prop is `background` replace it with `--ks-background-button-primary`
- When we find `var(--bs-body-color)`:
  - if the prop is `color` replace it with `--ks-content-primary`
- When we find `var(--bs-code-color)`:
  - if the prop is `color` replace it with `--ks-content-id`
- When we find `var(--bs-body-bg)`:
  - if the prop is `background-color` replace it with `--ks-background-body`
  - if the prop is `background` replace it with `--ks-background-body`
- When we find `var(--bs-card-bg)`:
  - if the prop is `background-color` replace it with `--ks-background-card`
  - if the prop is `background` replace it with `--ks-background-card`
- When we find `var(--bs-secondary)`:
  - if the prop is `color` replace it with `--ks-content-secondary`
  - if the prop is `background-color` replace it with `--ks-border-active`
- When we find `var(--bs-tertiary-color)`:
  - if the prop is `color` replace it with `--ks-content-tertiary`
- When we find `var(--bs-border-color)`:
  - if the prop is `border` replace it with `--ks-border-primary`
  - if the prop is `border-color` replace it with `--ks-border-primary`
  - if the prop is `border-bottom` replace it with `--ks-border-primary`
  - if the prop is `border-right` replace it with `--ks-border-primary`
- When we find `var(--bs-card-color)`:
  - if the prop is `color` replace it with `--ks-content-primary`
- When we find `var(--bs-border-secondary-color)`:
  - if the prop is `border` replace it with `--ks-border-secondary`
  - if the prop is `border-color` replace it with `--ks-border-secondary`
  - if the prop is `border-bottom` replace it with `--ks-border-secondary`
- When we find `var(--bs-warning)`:
  - if the prop is `color` replace it with `--ks-content-warning`


#### Element Plus

- When we find `var(--el-bg-color)`:
  - if the prop is `background-color` replace it with `--ks-background-button-secondary-hover`
  - if the prop is `background` replace it with `--ks-background-button-secondary-hover`
- When we find `var(--el-text-primary)`:
  - if the prop is `color` replace it with `--ks-content-primary`
- When we find `var(--el-text-color-regular)`:
  - if the prop is `color` replace it with `--ks-content-primary`
- When we find `var(--el-color-primary)`:
  - if the prop is `border-color` replace it with `--ks-border-active`
  - if the prop is `border` replace it with `--ks-border-active`
  - if the prop is `box-shadow` replace it with `--ks-border-active`
  - if the prop is `color` replace it with `--ks-content-link`
- When we find `var(--el-border-color)`:
  - if the prop is `border` replace it with `--ks-border-primary`
  - if the prop is `border-color` replace it with `--ks-border-primary`
  - if the prop is `border-right` replace it with `--ks-border-primary`
  - if the prop is `border-left` replace it with `--ks-border-primary`
  - if the prop is `border-bottom` replace it with `--ks-border-primary`
  - if the prop is `box-shadow` replace it with `--ks-border-primary`
- When we find `var(--el-border)`:
  - if the prop is `border` replace it with `--ks-border-primary`
  - if the prop is `border-color` replace it with `--ks-border-primary`
  - if the prop is `border-right` replace it with `--ks-border-primary`
  - if the prop is `border-left` replace it with `--ks-border-primary`
- When we find `var(--el-color-text-primary)`:
  - if the prop is `color` replace it with `--ks-content-link`
- When we find `var(--el-text-color-primary)`:
  - if the prop is `color` replace it with `--ks-content-link`
  - if the prop is `background` replace it with `--ks-background-body`
- When we find `var(--el-text-color-secondary)`:
  - if the prop is `color` replace it with `--ks-content-link`
- When we find `var(--el-color-alert-info)`:
  - if the prop is `color` replace it with `--ks-content-information`
- When we find `var(--el-button-bg-color)`:
  - if the prop is `background` replace it with `--ks-background-button-secondary`
  - if the prop is `background-color` replace it with `--ks-background-button-secondary`
  - if the prop is `border` replace it with `--ks-background-button-secondary`
- When we find `var(--el-text-color-disabled)`:
  - if the prop is `color` replace it with `--ks-content-inactive`
- When we find `var(--el-color-warning)`:
  - if the prop is `color` replace it with `--ks-content-warning`


#### Kestra

- When we find `var(--content-alert)`:
  - if the prop is `color` replace it with `--ks-content-alert`
- When we find `var(--card-bg)`:
  - if the prop is `background-color` replace it with `--ks-background-card`
  - if the prop is `background` replace it with `--ks-background-card`
- When we find `var(--input-bg)`:
  - if the prop is `background-color` replace it with `--ks-background-input`
  - if the prop is `background` replace it with `--ks-background-input`
- When we find `var(--log-content-error)`:
  - if the prop is `color` replace it with `--ks-log-content-error`
- When we find `var(--log-background-error)`:
  - if the prop is `background-color` replace it with `--ks-log-background-error`
  - if the prop is `border-top` replace it with `--ks-log-background-error`
- When we find `var(--log-border-error)`:
  - if the prop is `border` replace it with `--ks-log-border-error`
  - if the prop is `border-color` replace it with `--ks-log-border-error`

### In JS code
- When we find `var(--content-color-` in a string interpolation, we replace it with `var(--ks-content-`.
- When we find `var(--border-color-` in a string interpolation, we replace it with `var(--ks-border-`.
- When we find `var(--background-color-` in a string interpolation, we replace it with `var(--ks-background-`.
- When we find `var(--log-content-` in a string interpolation, we replace it with `var(--ks-log-content-`.
2025-01-02 16:35:58 +01:00
Loïc Mathieu
a9ff469f78 fix(core): killing paused without subtask should transition to KILLED
Fixes #6243

When we kill an execution that is running a Pause task that didn't have any subtask, we must transition the task run to KILLED immediatly or the executor will process the Pause task and transition it to SUCCESS.
2025-01-02 14:27:27 +01:00
Loïc Mathieu
6db49aebf0 feat(webserver): OpenAPI spec improvement
Previously, PagedResult contains ArrayListTotal which is a list with a total in it. But due to that, ArrayListTotal is not recognized as an array for the OpenAPI spec so all the endpoints that use it generates incorrect specification.
Switching to a list fixes the issue.
The serialized form is not impacted.
2024-12-31 18:20:30 +01:00
Mathieu Gabelle
c6a09cd9de refactor: migrate AbstractExecScript, CommandsWrapper, NamespaceFiles, OutputFilesInterface to dynamic properties 2024-12-31 16:01:28 +01:00
Piyush Bhaskar
316d514fa3 chore(ui): add header title for column on triggers page (#6608) 2024-12-31 14:00:20 +01:00
Bart Ledoux
5f7695e3e8 build: fix storybook tests 2024-12-30 14:34:08 +01:00
Bart Ledoux
7b4b905819 fix: update package json again to fix storybook tests 2024-12-30 14:21:44 +01:00
Bart Ledoux
0cc5fb964c build: attempt to fix storybook tests swc issue 2024-12-30 12:22:48 +01:00
GitHub Action
27f1430ff6 chore(translations): auto generate values for languages other than english 2024-12-30 09:41:02 +00:00
rajatsingh23
b312ea0f91 feat(ui): introduce log font size property in settings (#6600)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-30 10:40:38 +01:00
Piyush Bhaskar
4bd7585915 chore(ui): add a horizontal scroll bar to editor file tree (#6598) 2024-12-30 10:10:32 +01:00
Piyush Bhaskar
4ccd2fff63 chore(ui): add limit to environment name length (#6597)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-30 09:46:09 +01:00
Miloš Paunović
96d8239b59 chore(ui): introduce horizontal scroll to cascader items 2024-12-27 08:57:17 +01:00
Miloš Paunović
807a44d187 chore(ui): always show flow revision column on executions listing 2024-12-26 08:45:44 +01:00
rajatsingh23
42d752e82e chore(ui): prevent ability to add multiple filters on second try (#6573)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-25 09:33:31 +01:00
Miloš Paunović
ed469d0094 chore(deps): regular dependency update (#6591) 2024-12-25 08:34:26 +01:00
MilosPaunovic
5da044c801 fix(ui): add check for property existence 2024-12-25 08:20:04 +01:00
Loïc Mathieu
ff83e25c0b feat(core): add an Exit task
Fixes #5599
2024-12-24 10:29:31 +01:00
Rajarajan
e9929fd4b2 feat(core): Added a Pebble function [uniq] to deduplice array #6417 2024-12-24 10:02:34 +01:00
Miloš Paunović
354b6b932b chore(ui): introduce new filter bar on namespace kv page (#6570) 2024-12-24 09:38:17 +01:00
MilosPaunovic
8357e0e23f chore(ui): tweak font size for tag component 2024-12-24 09:10:17 +01:00
YannC
8e42c12764 fix(core): better method when looking for 'value' prop in a JsonNode for auditLog patch application (#6569) 2024-12-24 08:20:52 +01:00
Ruturaj Dhakane
93e7ff2ede chore(ui): prevent display of file helpers if there is no file (#6568) 2024-12-23 15:41:43 +01:00
yuri1969
462c505623 fix(core): enable runIf property on flowable tasks 2024-12-23 14:43:59 +01:00
Miloš Paunović
9707b68434 chore(ui): replace language right after saving changes (#6566) 2024-12-23 12:56:13 +01:00
Miloš Paunović
41a90f5c6f fix(ui): improve namespaces filtering (#6564) 2024-12-23 12:30:24 +01:00
Loïc Mathieu
a27ef2ace1 feat(core): add a Write task
Fixes #6524
2024-12-23 12:09:00 +01:00
Miloš Paunović
95af3ea4f5 chore(ui): prevent adding filter parameters if decode prop is passed as false (#6563) 2024-12-23 12:04:30 +01:00
Aabhas Sao
e938e0dc54 chore(ui): handle creation of nested folders properly (#6554)
Signed-off-by: Aabhas Sao <aabhassao0@gmail.com>
2024-12-23 12:01:16 +01:00
GitHub Action
f0a15cdae1 chore(translations): auto generate values for languages other than english 2024-12-23 10:32:06 +00:00
Piyush Bhaskar
bf55ee962c chore(ui): show artwork on flow triggers page instead of locking it (#6555) 2024-12-23 11:31:16 +01:00
Sayed Qassim
8b541aae23 chore(ui): executions in progress link is taking proper filters into account (#6556)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-23 11:03:36 +01:00
Kumar Nirupam
0173470ae8 chore(ui) initial work on clicking filter to change it's value (#6560)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-23 10:53:50 +01:00
Piyush Bhaskar
926b417675 chore(ui): improvement to blueprints inside flow editor tab (#6548) 2024-12-23 09:19:23 +01:00
Piyush Bhaskar
51752b2acc chore(ui): limit accepted file types for flow import (#6550)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-23 09:12:10 +01:00
Maheshwara Sampath
9162e3a2ee chore(ui): rename flow editor tab to edit (#6552) 2024-12-23 08:53:53 +01:00
dependabot[bot]
53c9f395b0 chore(deps): bump org.siouan.frontend-jdk21 from 9.1.0 to 10.0.0
Bumps org.siouan.frontend-jdk21 from 9.1.0 to 10.0.0.

---
updated-dependencies:
- dependency-name: org.siouan.frontend-jdk21
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-21 23:09:06 +01:00
dependabot[bot]
030aff3acb chore(deps): bump org.jsoup:jsoup from 1.18.1 to 1.18.3
Bumps [org.jsoup:jsoup](https://github.com/jhy/jsoup) from 1.18.1 to 1.18.3.
- [Release notes](https://github.com/jhy/jsoup/releases)
- [Changelog](https://github.com/jhy/jsoup/blob/master/CHANGES.md)
- [Commits](https://github.com/jhy/jsoup/compare/jsoup-1.18.1...jsoup-1.18.3)

---
updated-dependencies:
- dependency-name: org.jsoup:jsoup
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-21 23:08:56 +01:00
dependabot[bot]
bc423743e8 chore(deps): bump flyingSaucerVersion from 9.11.1 to 9.11.2
Bumps `flyingSaucerVersion` from 9.11.1 to 9.11.2.

Updates `org.xhtmlrenderer:flying-saucer-core` from 9.11.1 to 9.11.2
- [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.1...v9.11.2)

Updates `org.xhtmlrenderer:flying-saucer-pdf` from 9.11.1 to 9.11.2
- [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.1...v9.11.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-21 23:08:46 +01:00
Barthélémy Ledoux
edb7f54431 fix(ui): only silence the necessary sass warnings
closes #6390
2024-12-21 23:08:33 +01:00
dependabot[bot]
58c1ca2d05 chore(deps): bump org.owasp.dependencycheck from 11.1.0 to 11.1.1
Bumps org.owasp.dependencycheck from 11.1.0 to 11.1.1.

---
updated-dependencies:
- dependency-name: org.owasp.dependencycheck
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-20 18:12:37 +01:00
dependabot[bot]
7de45c01d1 chore(deps): bump com.google.cloud:libraries-bom from 26.50.0 to 26.52.0
Bumps [com.google.cloud:libraries-bom](https://github.com/googleapis/java-cloud-bom) from 26.50.0 to 26.52.0.
- [Release notes](https://github.com/googleapis/java-cloud-bom/releases)
- [Changelog](https://github.com/googleapis/java-cloud-bom/blob/main/release-please-config.json)
- [Commits](https://github.com/googleapis/java-cloud-bom/compare/v26.50.0...v26.52.0)

---
updated-dependencies:
- dependency-name: com.google.cloud:libraries-bom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-20 17:59:09 +01:00
dependabot[bot]
79d67a25bf chore(deps): bump jacksonVersion from 2.18.1 to 2.18.2
Bumps `jacksonVersion` from 2.18.1 to 2.18.2.

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

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

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

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

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

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

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

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

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

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

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

Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.18.1 to 2.18.2

Updates `com.fasterxml.jackson.datatype:jackson-datatype-jdk8` from 2.18.1 to 2.18.2

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-20 17:58:02 +01:00
dependabot[bot]
dc966b3b11 chore(deps): bump commons-io:commons-io from 2.17.0 to 2.18.0
Bumps commons-io:commons-io from 2.17.0 to 2.18.0.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-20 17:41:18 +01:00
dependabot[bot]
3cf92f5093 chore(deps): bump org.jooq:jooq from 3.19.15 to 3.19.16
Bumps org.jooq:jooq from 3.19.15 to 3.19.16.

---
updated-dependencies:
- dependency-name: org.jooq:jooq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-20 17:41:09 +01:00
Bart Ledoux
e86cdc920f supress CJS warning in storybook 2024-12-20 17:17:42 +01:00
Bart Ledoux
dba5c39ded build: use husky instead of ghooks 2024-12-20 16:31:53 +01:00
dependabot[bot]
d9f1dd1405 chore(deps): bump com.microsoft.playwright:playwright
Bumps [com.microsoft.playwright:playwright](https://github.com/microsoft/playwright-java) from 1.48.0 to 1.49.0.
- [Release notes](https://github.com/microsoft/playwright-java/releases)
- [Commits](https://github.com/microsoft/playwright-java/compare/v1.48.0...v1.49.0)

---
updated-dependencies:
- dependency-name: com.microsoft.playwright:playwright
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-20 16:15:07 +01:00
dependabot[bot]
ee5f8f952e chore(deps): bump org.opensearch.client:opensearch-java
Bumps [org.opensearch.client:opensearch-java](https://github.com/opensearch-project/opensearch-java) from 2.17.0 to 2.19.0.
- [Release notes](https://github.com/opensearch-project/opensearch-java/releases)
- [Changelog](https://github.com/opensearch-project/opensearch-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/opensearch-project/opensearch-java/compare/v2.17.0...v2.19.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-20 15:48:40 +01:00
dependabot[bot]
06c56d582b chore(deps): bump com.azure:azure-sdk-bom from 1.2.29 to 1.2.30
Bumps [com.azure:azure-sdk-bom](https://github.com/azure/azure-sdk-for-java) from 1.2.29 to 1.2.30.
- [Release notes](https://github.com/azure/azure-sdk-for-java/releases)
- [Commits](https://github.com/azure/azure-sdk-for-java/compare/azure-sdk-bom_1.2.29...azure-sdk-bom_1.2.30)

---
updated-dependencies:
- dependency-name: com.azure:azure-sdk-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-20 15:28:24 +01:00
dependabot[bot]
3f1758c200 chore(deps): bump io.qameta.allure:allure-bom from 2.29.0 to 2.29.1
Bumps [io.qameta.allure:allure-bom](https://github.com/allure-framework/allure-java) from 2.29.0 to 2.29.1.
- [Release notes](https://github.com/allure-framework/allure-java/releases)
- [Commits](https://github.com/allure-framework/allure-java/compare/2.29.0...2.29.1)

---
updated-dependencies:
- dependency-name: io.qameta.allure:allure-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-20 15:28:05 +01:00
dependabot[bot]
7ef8419592 chore(deps): bump software.amazon.awssdk:bom from 2.29.29 to 2.29.37
Bumps software.amazon.awssdk:bom from 2.29.29 to 2.29.37.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-20 14:24:25 +01:00
dependabot[bot]
ad5e731404 chore(deps): bump com.github.docker-java:docker-java-transport-httpclient5
Bumps [com.github.docker-java:docker-java-transport-httpclient5](https://github.com/docker-java/docker-java) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/docker-java/docker-java/releases)
- [Changelog](https://github.com/docker-java/docker-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/docker-java/docker-java/compare/3.4.0...3.4.1)

---
updated-dependencies:
- dependency-name: com.github.docker-java:docker-java-transport-httpclient5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-20 14:16:20 +01:00
dependabot[bot]
9acdf85254 chore(deps): bump org.sonarqube from 5.1.0.4882 to 6.0.1.5171
Bumps org.sonarqube from 5.1.0.4882 to 6.0.1.5171.

---
updated-dependencies:
- dependency-name: org.sonarqube
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-20 14:16:07 +01:00
dependabot[bot]
b961fbf472 chore(deps): bump com.github.docker-java:docker-java from 3.4.0 to 3.4.1
Bumps [com.github.docker-java:docker-java](https://github.com/docker-java/docker-java) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/docker-java/docker-java/releases)
- [Changelog](https://github.com/docker-java/docker-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/docker-java/docker-java/compare/3.4.0...3.4.1)

---
updated-dependencies:
- dependency-name: com.github.docker-java:docker-java
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-20 13:47:07 +01:00
Loïc Mathieu
53af6a38b9 feat(core): add audit log when killing an execution
Fixes https://github.com/kestra-io/kestra-ee/issues/2426
2024-12-20 13:13:51 +01:00
MilosPaunovic
4a94b2237b chore(ui): lint code properly for ci to pass 2024-12-20 12:43:04 +01:00
dependabot[bot]
0f6a0fcc45 chore(deps): bump net.thisptr:jackson-jq from 1.1.0 to 1.2.0
Bumps [net.thisptr:jackson-jq](https://github.com/eiiches/jackson-jq) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/eiiches/jackson-jq/releases)
- [Commits](https://github.com/eiiches/jackson-jq/compare/1.1.0...1.2.0)

---
updated-dependencies:
- dependency-name: net.thisptr:jackson-jq
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-20 12:36:06 +01:00
Loïc Mathieu
3559b640ea feat(jdbc): small improvement to the worker trigger queue 2024-12-20 12:35:39 +01:00
shreeup
4cf68da726 chore(ui): improve behavior on changing theme or language (#6520) 2024-12-20 11:46:19 +01:00
dependabot[bot]
72e6b1b71d chore(deps): bump software.amazon.awssdk.crt:aws-crt
Bumps [software.amazon.awssdk.crt:aws-crt](https://github.com/awslabs/aws-crt-java) from 0.31.1 to 0.33.7.
- [Release notes](https://github.com/awslabs/aws-crt-java/releases)
- [Commits](https://github.com/awslabs/aws-crt-java/compare/v0.31.1...v0.33.7)

---
updated-dependencies:
- dependency-name: software.amazon.awssdk.crt:aws-crt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-20 11:45:07 +01:00
Piyush Bhaskar
6ad5e2379a chore(ui): make the entire row clickable on the gantt page (#6539) 2024-12-20 11:41:08 +01:00
MilosPaunovic
804c3b2d5d chore(ui): expand doughnut chart if there is no legend shown 2024-12-20 11:19:07 +01:00
Florian Hussonnois
729972fd1c build(ci): allow docker-build when skipping tests 2024-12-20 10:59:52 +01:00
Miloš Paunović
5625c210da feat(ui): implement initial stories for filter components (#6542) 2024-12-20 10:26:29 +01:00
Nicolas K.
cbd5d9ced6 fix(runner-kafka): interface contract of template test changed (#6536)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2024-12-19 17:10:54 +01:00
Barthélémy Ledoux
1b26cec0e6 feat(ci): parallelize frontend testing workflow with Storybook, vitest and linter (#6529) 2024-12-19 15:24:04 +01:00
Nicolas K.
59fa27797e Clean flaky tests (#6530)
* feat(tests): don't load all flows if not needed

* feat(tests): don't load all flows if not needed in runner test and runner retry test

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2024-12-19 14:52:43 +01:00
GitHub Action
5b6b501bc8 chore(translations): auto generate values for languages other than english 2024-12-19 13:17:33 +00:00
Miloš Paunović
25084c76a8 chore(ui): implement new filtering system where it was missing (#6531) 2024-12-19 14:17:01 +01:00
Barthélémy Ledoux
8387b6fd9b test: add a story & tests for filter labels (#6526)
* add a story for filter labels

* add some typescript love to filter labels

* add a few stories

* update eslint

* revert changes to label

* fix typings

* wait for the setup to finish
2024-12-19 14:04:43 +01:00
Loïc Mathieu
f550fde76c fix(core): existing ns based on KV and not only flows
Lookup if there are existing KV to know if a ns exist from the kv function and not only if flows exist in the KV.
2024-12-19 13:19:48 +01:00
dependabot[bot]
64e3023585 chore(deps): bump org.apache.logging.log4j:log4j-to-slf4j
Bumps org.apache.logging.log4j:log4j-to-slf4j from 2.24.1 to 2.24.3.

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-to-slf4j
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-19 13:04:56 +01:00
Mathieu Gabelle
2290b99332 feat: add Huggingface Plugin 2024-12-19 12:15:34 +01:00
Miloš Paunović
20b7237c97 chore(deps): regular dependency update (#6523) 2024-12-19 08:22:45 +01:00
Miloš Paunović
2391f174a7 fix(ui): if no trigger state filter is selected, show them all (#6522) 2024-12-19 08:13:21 +01:00
Nicolas K.
5f8cd4c14c fix(webserver): rework tests in order to load only required flows (#6517)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2024-12-18 16:42:33 +01:00
Nikhil Sinha
7cd4eda33d feat(): display custom input only if customvalue is enabled (#5692)
Co-authored-by: YannC <ycoornaert@kestra.io>
2024-12-18 15:50:22 +01:00
Barthélémy Ledoux
03b1ba870c refactor(ui): move stories to tests/storybook (#6515) 2024-12-18 15:35:42 +01:00
Anna Geller
7a8d2aeb97 fix: subflow docs 2024-12-18 15:30:04 +01:00
Florian Hussonnois
0ab4b6d10d fix(run): add LD_PRELOAD to handle duckdb/rocksdb libc conflict
related-to: kestra-io/plugin-jdbc#165
2024-12-18 15:28:54 +01:00
GitHub Action
cdc30080f9 chore(translations): auto generate values for languages other than english 2024-12-18 14:17:41 +00:00
YannC
18a2b553ca feat(core): allow SELECT input to be radio UI type
close #5591
2024-12-18 15:17:03 +01:00
Nicolas K.
38dcc75271 fix(core): remove race condition on trigger runner test (#6516)
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2024-12-18 14:04:20 +01:00
Miloš Paunović
1da6e75bc8 chore(ui): improved filter usage throughout the product (#6513) 2024-12-18 11:09:56 +01:00
Anna Geller
0f23d33824 docs: add more keyboard shortcuts 2024-12-18 10:40:32 +01:00
Nicolas K.
bf018c0189 Flaky test add logs (#6504)
* test(runner tests): add logs to track race condition

* feat(tests): add extension to load flows

* clean(tests): remove logs

* feat(tests): move the extension into the right folder

* feat(tests): add new junit extensions, clean tests and now kestraTest can run runner

* clean(tests): small ficxes after merge

* feat(tests): remove @Test from ExecuteFLow

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2024-12-18 10:33:42 +01:00
Barthélémy Ledoux
68c13d92b6 build: setup storybook for development in isolation (#6499) 2024-12-18 09:58:44 +01:00
Barthélémy Ledoux
f87e6253b3 fix: add missing mutation when loading plugin doc form cache (#6502) 2024-12-18 09:13:47 +01:00
Loïc Mathieu
01e6d529f6 fix(jdbc): read the disabled flag from the DB 2024-12-17 17:21:51 +01:00
Loïc Mathieu
556fabc3a4 fix(webserver): correct the triger find endpoint URL 2024-12-17 17:21:51 +01:00
YannC
4187627ef1 fix(core): save flowable's output when flowable is child of another flowable (#6500)
close #6494
2024-12-17 16:23:45 +01:00
dependabot[bot]
149d876442 chore(deps): bump io.micronaut.platform:micronaut-platform
Bumps [io.micronaut.platform:micronaut-platform](https://github.com/micronaut-projects/micronaut-platform) from 4.7.0 to 4.7.2.
- [Release notes](https://github.com/micronaut-projects/micronaut-platform/releases)
- [Commits](https://github.com/micronaut-projects/micronaut-platform/compare/v4.7.0...v4.7.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-17 15:12:16 +01:00
Loïc Mathieu
da1bbb51af feat(core): throw an error if the secret is not found 2024-12-17 15:09:49 +01:00
Loïc Mathieu
b133210fa0 feat(script): include task null outputs
Fixes https://github.com/kestra-io/plugin-scripts/issues/195
2024-12-17 15:08:27 +01:00
GitHub Action
aa8588c3b7 chore(translations): auto generate values for languages other than english 2024-12-17 11:29:14 +00:00
Miloš Paunović
bdd14f40f9 chore(ui): complete the audit log filtering options (#6496) 2024-12-17 12:28:52 +01:00
brian.mulier
a1f1987d71 fix(ui): put 0.0.0 version in package.json as we don't update it and rely on gradle.properties version instead 2024-12-17 12:07:15 +01:00
Florian Hussonnois
908134792e fix(core): properly check next scheduled date for backfill execution (#6413)
Changes:
When a trigger is evaluated for in a back-fill context, we have to make sure
that current-date is strictly after the next execution date for an execution to be eligible.

fix: #6413
2024-12-17 09:58:18 +01:00
Ludovic DEHON
5064606350 fix(jdbc-postgres): escape special chars on full text search
close kestra-io/kestra-ee#2430
close kestra-io/kestra-ee#2454
2024-12-17 08:53:52 +01:00
Piyush Bhaskar
1707b0c48b chore(ui): make tab arrows hidden when there is no need for them(#6486) 2024-12-17 08:21:11 +01:00
Ludovic DEHON
73026d0647 fix(core): handle input & output with id of 1 chars
close #6089
2024-12-16 18:58:48 +01:00
Ludovic DEHON
7067644150 refactor(test): use application context from the current test suite on FlowLoad 2024-12-16 18:58:48 +01:00
Loïc Mathieu
aa8ad15209 feat(core): use the Sleep official task instead of a custom test one 2024-12-16 17:51:12 +01:00
Loïc Mathieu
6a34c04e32 feat(webserver): small improvements to our OpenAPI spec 2024-12-16 16:38:59 +01:00
YannC
2d4fb7684a fix(jdbc): missing SKIPPED state in DB migrations (#6487)
close #6461
2024-12-16 16:04:34 +01:00
MilosPaunovic
6f3aff1467 chore(ui): re-work same filter applying multiple times 2024-12-16 14:50:47 +01:00
Miloš Paunović
2ce20724ca chore(ui): amend scope lables on dasboard filters (#6485) 2024-12-16 14:09:27 +01:00
Miloš Paunović
1b6442ffde chore(ui): autmatically open date picker if absolute date is selected as type (#6484) 2024-12-16 13:57:42 +01:00
Piyush Bhaskar
36dce4c815 chore(ui): improve the styling of error component on executions overview (#6465) 2024-12-16 13:39:18 +01:00
Loïc Mathieu
9238b56008 fix(webserver): TriggerController endpoint issues
- Empty endpoint removed.
- Deprecate for removal a  not-used endpoint.
- Fix incorrect OpenAPI operations
2024-12-16 13:24:03 +01:00
GitHub Action
c57984709d chore(translations): auto generate values for languages other than english 2024-12-16 12:02:14 +00:00
Miloš Paunović
b5e3e9336d chore(ui): improve passing of props to filter component (#6483) 2024-12-16 13:01:53 +01:00
Nicolas K.
008c03ce2d feat(tests): move the extension into the right folder
Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2024-12-16 12:08:35 +01:00
Nicolas K.
dddf4db75a test(runner tests): add logs to track race condition (#6455)
* test(runner tests): add logs to track race condition

* feat(tests): add extension to load flows

* clean(tests): remove logs

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2024-12-16 11:41:55 +01:00
Miloš Paunović
d631e99c7d chore(translations): handle filters key translation (#6479) 2024-12-16 11:40:08 +01:00
GitHub Action
3fb12a66d1 chore(translations): auto generate values for languages other than english 2024-12-16 10:18:11 +00:00
Miloš Paunović
cacfcaf60d chore(ui): rework the file structure in filters section (#6452) 2024-12-16 11:17:41 +01:00
Barthélémy Ledoux
b11d994884 chore: avoid global constants (use window instead) (#6478)
* fix(ui): update global constants to use window scope

* fix vitest
2024-12-16 11:01:03 +01:00
Ludovic DEHON
bfea840faa refactor(test): create an ExecutionUtils to load flow 2024-12-16 10:40:44 +01:00
Miloš Paunović
ce31abf290 chore(ui): add clearable property to select fields on inputs form (#6477) 2024-12-16 09:14:08 +01:00
Arpit Gupta
8313e12d17 chore(ui): use global scope for translations throughout the product (#6466)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-16 08:18:15 +01:00
Arpit Gupta
08ace9735e Fix #6461 'Cancelled' option UI (#6463) 2024-12-15 12:09:48 +01:00
Yoann Vernageau
7696baedec chore: exclude liveness/readiness health checks from access logs (#6453) 2024-12-13 22:37:03 +01:00
Florian Hussonnois
89ccdfc773 fix(core): wait for running executor for liveness executor
Changes:
To safely execute the liveness coordinator task without error
we should wait for the executor to be fully running

part-of: kestra-io/kestra-ee#2492
2024-12-13 16:51:34 +01:00
Florian Hussonnois
751972b58f fix(core): exclude def.failsafe from classloading isolation (#4621) 2024-12-13 16:51:19 +01:00
Bart Ledoux
43657c9b6a remove: lintrc superfluous 2024-12-13 16:27:27 +01:00
nKwiatkowski
870a3217eb fix(tests): remove merge namespace mistake 2024-12-13 15:29:16 +01:00
Nicolas K.
3ec4211b7c fix(core-ee): change Objects.equals for tenant id to prevent NPE (#6411)
* fix(core-ee): change Objects.equals for tenant id to prevent NPE

* fix(core): run tests one by one

* fix(core): add a retry on random failing test

* fix(core): create a specific flow to trigger failure tht check on other namespace to prevent collision with other tests

* rollback(core): put testing config back to previous version to handle it in a separate PR

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2024-12-13 15:04:06 +01:00
Nicolas K.
f1e3d5096c fix(tests): load only required flows for runner tests (#6447)
* fix(tests): load only required flows for runner tests

* clean(tests): use existing interface to wrap the test execution

* clean(tests): use existing interface to wrap the test execution

* clean(tests): remove flow loader and put the method in the main test class

* rollback(tests): put back condition trigger to the original namespace

---------

Co-authored-by: nKwiatkowski <nkwiatkowski@kestra.io>
2024-12-13 14:55:00 +01:00
yuri1969
8a43d5443d fix(): keep OpenAPI spec file name static 2024-12-13 14:44:09 +01:00
Barthélémy Ledoux
ed264a5389 fix: avoid redirect loops when axios calls an unauthorized API (#6450)
* fix: avoid redirect loops when axios calls an unauthorized API

* use the proper structure for axios

* protect against empty request data
2024-12-13 12:33:15 +01:00
GitHub Action
aae4e6b933 chore(translations): auto generate values for languages other than english 2024-12-13 10:49:40 +00:00
Piyush Bhaskar
5de3662c69 chore(ui): improve design of the flow overview page with no executions (#6446)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-13 11:48:02 +01:00
GitHub Action
9090154670 chore(translations): auto generate values for languages other than english 2024-12-13 09:50:51 +00:00
MilosPaunovic
3f104ae9b7 chore(translations): add missing keys 2024-12-13 10:50:20 +01:00
MilosPaunovic
25818878ee chore(ui): amend filter selection 2024-12-13 08:18:38 +01:00
Ludovic DEHON
1267e9b025 chore(core): refactor SecretService 2024-12-13 00:20:12 +01:00
Anna Geller
2594f2816c docs: conditional inputs and outputs 2024-12-12 19:25:48 +01:00
Barthélémy Ledoux
e8a98d9d3c fix: required Boolean & Multiselect rules (#6445)
* fix: required Boolean & Multiselect rules

* fix single line in light mode dark editor
2024-12-12 16:36:34 +01:00
Marco Sabatini
93db727a82 feat(main-gha-workflow): add dispatch event with new version (#6443) 2024-12-12 14:47:15 +01:00
MilosPaunovic
2358bf43f6 chore(ui): align with new version of linter 2024-12-12 14:20:44 +01:00
dependabot[bot]
45c3846e52 chore(deps-dev): bump typescript-eslint from 8.17.0 to 8.18.0 in /ui (#6432)
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.17.0 to 8.18.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.18.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-12 14:14:41 +01:00
dependabot[bot]
06ed7a1672 chore(deps): bump posthog-js from 1.195.0 to 1.197.0 in /ui (#6427)
Bumps [posthog-js](https://github.com/PostHog/posthog-js) from 1.195.0 to 1.197.0.
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/compare/v1.195.0...v1.197.0)

---
updated-dependencies:
- dependency-name: posthog-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-12 14:14:23 +01:00
Barthélémy Ledoux
c29648dd9c chore: update ESlint to v9 (next major) (#6389) 2024-12-12 14:01:27 +01:00
Kratos
cb6f49b7d0 chore(ui): prevent applying same filter multiple times (#6219)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-12 13:52:49 +01:00
Piyush Bhaskar
94bfa38cb8 chore(ui): improve filters expanding (#6415) 2024-12-12 13:48:54 +01:00
GitHub Action
019097465d chore(translations): auto generate values for languages other than english 2024-12-12 12:40:19 +00:00
Miloš Paunović
1488719803 chore(ui): removing recent filter functionality (#6420) 2024-12-12 13:39:57 +01:00
GitHub Action
41e64cc043 chore(translations): auto generate values for languages other than english 2024-12-12 12:20:13 +00:00
Miloš Paunović
262c5ecc66 feat(ui): introduce new filters bar to audit logs (#6419) 2024-12-12 13:19:22 +01:00
Anna Geller
7cdc04029c docs: make windows instructions more specific 2024-12-12 12:49:02 +01:00
hcavana
ac8d404f65 Patch 1 (#6418)
* Update docker-compose.yml

* Update docker-compose.yml

* Update docker-compose.yml

* Update docker-compose.yml

* Update README.md

* Update docker-compose.yml

Changement port 8081 TO 8083

* chore(ui): revert docker-compose changes

* chore(ui): revert docker-compose changes

* chore(ui): revert docker-compose changes

---------

Co-authored-by: Josh Pocock <69722783+joshpocock@users.noreply.github.com>
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-12 12:45:08 +01:00
brian.mulier
88bb0748db fix(ui): avoid unsaved changes pop-up upon clicking on plugin property type definition anchors
closes #6297
2024-12-11 18:35:04 +01:00
brian.mulier
495f2cd391 fix(ui): total is not needed in FlowCreate.vue 2024-12-11 17:17:23 +01:00
brian.mulier
99227a6443 fix(ui): Flow create was no longer generating graph 2024-12-11 17:16:54 +01:00
GitHub Action
c867db8ae2 chore(translations): auto generate values for languages other than english 2024-12-11 13:38:51 +00:00
Piyush Bhaskar
a45fecf95f feat(ui): Add new filters to Administration -> Triggers page (#6328)
Co-authored-by: Piyush-r-bhaskar <piyush.bhaskar@gmail.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-11 14:38:25 +01:00
MilosPaunovic
e9033462c6 chore(ui): amended the css for filter bar width 2024-12-11 14:13:12 +01:00
michascant
eb74e1fd5b feat(UI): added new filters to Flows -> Metrics tab (#6305)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-11 14:09:40 +01:00
GitHub Action
3ddfe5e8dd chore(translations): auto generate values for languages other than english 2024-12-11 13:08:50 +00:00
Miloš Paunović
382a21100e feat(ui): add missing filter options for metrics (#6409) 2024-12-11 14:08:16 +01:00
Piyush Bhaskar
c3b827951c feat(ui): Triggers: The expanded button displays an empty area. (#6337)
Co-authored-by: Piyush-r-bhaskar <piyush.bhaskar@gmail.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-11 11:35:37 +01:00
Anna Geller
200cedaca6 fix: deprecated condition 2024-12-11 11:30:27 +01:00
Piyush Bhaskar
b8e5ac3a6d feat(ui):Change arrow and colors tasks on Executions logs tab. (#6355)
Co-authored-by: Piyush-r-bhaskar <piyush.bhaskar@gmail.com>
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-11 11:13:00 +01:00
brian.mulier
d98488526e fix(ui): add Nuxt alias + bump some deps in package-lock.json 2024-12-11 11:09:52 +01:00
Piyush Bhaskar
bac16e5fab feat(ui): Improve Gantt page. (#6358)
Co-authored-by: Piyush-r-bhaskar <piyush.bhaskar@gmail.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-11 11:06:34 +01:00
MilosPaunovic
e9be789474 chore(ui): temporarily disable filters bar highlighting 2024-12-11 09:27:08 +01:00
Miloš Paunović
9174710516 chore(deps): regular dependency update (#6402) 2024-12-11 09:10:24 +01:00
Piyush Bhaskar
e5d695c980 feat(ui): improvement in filter for adding clear all filters. (#6359)
Co-authored-by: Piyush-r-bhaskar <piyush.bhaskar@gmail.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-11 08:59:37 +01:00
Piyush Bhaskar
ccfce4a6de feat(ui): Make filters expand fully if we omit some of the non required buttons (#6364)
Co-authored-by: Piyush-r-bhaskar <piyush.bhaskar@gmail.com>
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-11 08:43:30 +01:00
Florian Hussonnois
8d02aa7b45 fix(core): exclude common libs from classloading isolation (#4621) 2024-12-10 16:17:10 +01:00
Loïc Mathieu
0e0928d510 feat(core): log at ERROR level for script logs to stderr
Fixes https://github.com/kestra-io/plugin-scripts/issues/190
2024-12-10 13:11:48 +01:00
Miloš Paunović
a0e2c20662 chore(ui): amend description color of system namespace (#6382) 2024-12-10 12:09:01 +01:00
Florian Hussonnois
05eebeda63 fix(core): exclude reactivestreams from classloading isolation (#4621) 2024-12-10 11:18:31 +01:00
Miloš Paunović
023e264a5d fix(ui): pass flow revision on execution overview (#6380) 2024-12-10 10:47:16 +01:00
dependabot[bot]
ba07dc88d1 chore(deps): bump nanoid from 3.3.7 to 3.3.8 in /ui (#6377)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.7 to 3.3.8.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-10 10:32:00 +01:00
Barthélémy Ledoux
0bd8a355ea fix: add typescript tsconfig (#6316)
* add typescript tsconfig

* make progress on typechecking

* fix build process

* update typings

* progress on typescript

* more progress

* restore irrelevant changes

* remove last set of changes
2024-12-10 10:15:57 +01:00
Florian Hussonnois
dcf6c64027 fix(core): ensure child-first strategy for plugin class loading (#4621)
Changes:
- fix child-first strategy
- cleanup the PluginClassLoader class

Fix: #4621
2024-12-10 09:55:20 +01:00
Loïc Mathieu
fe6d6c85bc fix(jdbc): don't delete from the queues table
Fixes https://github.com/kestra-io/kestra-ee/issues/2432
2024-12-10 09:41:07 +01:00
Miloš Paunović
1a84fb96ce chore(ui): respect system theme for editor (#6376) 2024-12-10 08:34:50 +01:00
brian.mulier
db41d81f6e fix(tests): select file for metadata checks in list() test 2024-12-09 18:03:39 +01:00
brian.mulier
34c4ece234 fix(ui): prevent undefined on triggers that don't have sources anymore 2024-12-09 17:57:52 +01:00
Loïc Mathieu
3cd0c7fbe1 chore(core): avoid serialzing the value multiple time 2024-12-09 17:22:39 +01:00
nKwiatkowski
7979809aef feat(plugins): add typesense plugin 2024-12-09 14:21:37 +01:00
Barthélémy Ledoux
f7469070ef feat(ui): add flow validation to FlowCreate component (#6370) 2024-12-09 14:16:57 +01:00
Loïc Mathieu
ba2aa0d231 chore(deps): define GCP, Azure and AWS cloud BOM inside the platform
This avoids possible dependency divergence between all plugins (oss, ee, secret, storage) if they are not updated at the same time.
2024-12-09 12:43:06 +01:00
MilosPaunovic
a78566fc58 chore(docs): switch link to good first issues in readme file 2024-12-09 11:23:16 +01:00
yuri
b1f9da1ad9 chore(*): bump node version used in project (#6327) 2024-12-09 10:52:21 +01:00
Tejas Patil
c526a9a59e chore(ui): prevent opening flow trigger details on row double click (#6354) 2024-12-09 10:39:28 +01:00
Barthélémy Ledoux
d779934ccb docs: context docs appId basic setup (#6341)
* feat(ui): context docs, default  appId with routing

* use the new app api

* add appId copy tooling

* refactor: use docId instead of appId

* rename DocAppId

* make docId box react to click
2024-12-09 10:09:47 +01:00
Shivam
b860cd6518 fix(ui): properly handle filename with multiple dots in editor sidebar (#6362)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-09 10:01:03 +01:00
ANKIT KUMAR
98a867da1c chore(ui): amend font size in tables (#6363)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-09 09:52:47 +01:00
Ludovic DEHON
c6a7c12700 chore(core): add unit test for if nested in parallel 2024-12-08 00:09:52 +01:00
Loïc Mathieu
a27bb1a85d feat(core,jdbc): small trigger / scheduler improvements 2024-12-06 18:09:39 +01:00
Loïc Mathieu
6bb521f4e0 chore(ci): remove generation of latest-full tag
Fixes https://github.com/kestra-io/kestra/issues/4727
2024-12-06 17:05:23 +01:00
Miloš Paunović
596e0c342d chore(ui): improve text label in filter bar (#6350) 2024-12-06 15:44:06 +01:00
Miloš Paunović
54441751e0 chore(ui): remove unused files (#6348) 2024-12-06 15:05:20 +01:00
Florian Hussonnois
6c6f072c2c fix(core): fix cannot create Metric from null in Worker class
fix: kestra-io/kestra-ee#2417
2024-12-06 13:29:08 +01:00
MilosPaunovic
948347ace5 fix(ui): make sure that property exists 2024-12-06 13:05:51 +01:00
Loïc Mathieu
8a26e37455 fix(core): catch errors on task run
Fixes https://github.com/kestra-io/kestra-ee/issues/2416
2024-12-06 11:39:26 +01:00
Loïc Mathieu
6a953d194d chore(jdbc): remove not used method 2024-12-06 11:31:52 +01:00
sanketmagar2001
fb59a6b4ea chore(ui): initial work on improving display of topology (#5606)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-06 11:22:01 +01:00
Piyush Bhaskar
8a511e2d03 chore(ui): improve the styling of boolean buttons on inputs form (#6055)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
Co-authored-by: Piyush-r-bhaskar <piyush.bhaskar@gmail.com>
2024-12-06 11:08:44 +01:00
Nitin Kumar Pal
72882dfa20 chore(ui): vertically center content in flows table rows (#6330)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-06 10:50:18 +01:00
YannC
525fcf6b70 fix(ui): axios missing content type 2024-12-06 10:40:55 +01:00
brian.mulier
21bf09df11 fix(jdbc): topology was built across all tenants 2024-12-06 09:52:15 +01:00
Miloš Paunović
9222cfa7cc chore(ui): prevent text wrap inside trigger id column (#6336) 2024-12-06 09:30:17 +01:00
Miloš Paunović
89f5de4e9c chore(ui): respect date format form setting inside filter label (#6335) 2024-12-06 09:14:32 +01:00
Yerin Lee
f2bfc232c3 chore(ui): add scrolling to totals chart legend if more than 4 items present (#5971)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-05 15:36:57 +01:00
Florian Hussonnois
ff0b7c4a0a refactor(core): optimize keepLastVersionCollector method 2024-12-05 15:20:12 +01:00
Florian Hussonnois
85a22bcfaa fix(core): fix potential NPE in AbstractServiceLivenessCoordinator 2024-12-05 15:07:58 +01:00
Piyush Bhaskar
23cf3200d7 chore(ui): improve bulk actions design in the executions listing (#6240)
Co-authored-by: Piyush-r-bhaskar <piyush.bhaskar@gmail.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-05 14:49:48 +01:00
Manoj Balaraj
b9aebdbb5d fix(ui): properly handle pebble expression if it contains dash character (#6062)
Co-authored-by: manu2931 <manojb912@gmai.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-05 14:09:58 +01:00
yuri
797b21489f chore(ui): add tooltips for filter section buttons (#5942)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-05 13:47:56 +01:00
Miloš Paunović
099d9e1efd chore(translations): align keys with english (#6324) 2024-12-05 13:38:53 +01:00
Miloš Paunović
4a76fc7dc9 fix(ui): show status label in dialog for changing execution status (#6323) 2024-12-05 13:29:59 +01:00
Will Russell
13fe55dc99 fix(docs): table formatting 2024-12-05 11:04:50 +00:00
Miloš Paunović
604fc71adb feat(ui): add triggers sorting by next execution date (#6318) 2024-12-05 12:03:20 +01:00
Loïc Mathieu
985a10610c chore(core): remove Flow source auto-generation
Fixes #5694
2024-12-05 11:44:04 +01:00
YannC
ef5ece9721 fix(webserver): automatically handle trailing slash in delete endpoint for namespace files (#6266)
close #6118
2024-12-05 11:32:43 +01:00
Aabhas Sao
a05f707e90 chore(ui): uniform log line buttons styling (#6254) 2024-12-05 10:59:26 +01:00
GitHub Action
b63c2361c9 chore(translations): auto generate values for languages other than english 2024-12-05 09:52:51 +00:00
Miloš Paunović
7a6d9fa48d chore(ui): clean up of welcome page usage of markdown files (#6315) 2024-12-05 10:51:34 +01:00
Loïc Mathieu
96b7307376 Revert "feat(core): Add displayName to flow level outputs(backend) (#5605)"
This reverts commit a5741aa424.

This reverts commit 42f721fdec.

This reverts commit 0de24c4448.
2024-12-05 10:28:41 +01:00
Miloš Paunović
1f843272a9 fix(ui): filter out system labels from executing using prefill (#6311) 2024-12-05 09:20:59 +01:00
Abhishek Pawar
8ce0ed7b6d chore(ui): uniform the height of cards on main dashboard (#6213)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-05 09:02:13 +01:00
Piyush Bhaskar
91e7fdb137 chore(ui): remove default editor outline (#6303)
Co-authored-by: Piyush-r-bhaskar <piyush.bhaskar@gmail.com>
2024-12-05 08:36:29 +01:00
Miloš Paunović
f57106a5f8 fix(ui): only apply editor padding on main editor (#6310) 2024-12-05 08:32:51 +01:00
Loïc Mathieu
9cb1e5d466 fix(core): copy the list to avoid concurrent modification exception in count
This would avoid this test failure: https://github.com/kestra-io/kestra/pull/6264/checks?check_run_id=33916950881
2024-12-04 17:25:04 +01:00
Bart Ledoux
fe9db94b07 remove eslint from vite 2024-12-04 17:07:22 +01:00
Barthélémy Ledoux
3df1c3778e refactor: replace getCurrentInstance router access with useRouter (#6210) 2024-12-04 16:38:31 +01:00
Barthélémy Ledoux
4e3b23831e chore: upgrade vue-router to 4.5.0 (#6298)
* re-update router

* fix leftmenulink
2024-12-04 16:14:12 +01:00
Barthélémy Ledoux
aed3cc6650 refactor(ui): enforce block order in ESLint configuration (#6299) 2024-12-04 16:13:50 +01:00
Rohit Ghumare
3248cdde4a chore(ui): initial work on output icons issue (#5746)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-04 15:55:29 +01:00
osmaneTKT
664ab85353 chore(ui): initial work on debug expression sidebar resizing on outputs page (#5878)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-04 15:44:26 +01:00
Bardan Putra Prananto
b9ccc4b0e9 fix(core): Fix Pause property annotation, exclude Input subtypes from definitions (#6265)
* fix(core): Fix Pause property annotation and exclude Input subtypes from definitions

* only enable filter if base class is null
2024-12-04 15:06:05 +01:00
pphy03
9cdaefcadf chore(ui): make confirmation dialogs properly render markdown content (#5986)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-04 14:47:24 +01:00
Bart Ledoux
f02cf1f51e fix: rollback router update 2024-12-04 14:32:01 +01:00
RizviSyed
ba94893eeb #6208 Refactored based on comments 2024-12-04 14:26:59 +01:00
RizviSyed
5c66903a9c #6208 Refactored based on comments 2024-12-04 14:26:59 +01:00
RizviSyed
433375177f #6208 Renamed class 2024-12-04 14:26:59 +01:00
RizviSyed
d25e9fa063 #6208 Added a Pebble function to generate a UUID
Closes #6208.
2024-12-04 14:26:59 +01:00
Abhishek Pawar
1aa6be0ee7 fix(ui): handle logs selector overflow in a good manner (#6224)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-04 14:16:10 +01:00
Aabhas Sao
646c2a6a6f fix(ui): properly filter flows in namespace tab (#6046)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-04 14:02:04 +01:00
RizviSyed
fb762a91af #6207 Refactored based on comments 2024-12-04 14:00:15 +01:00
RizviSyed
c503f3d387 #6207 Refactored based on comments 2024-12-04 14:00:15 +01:00
RizviSyed
9c610d89e2 #6207 Added additional test case 2024-12-04 14:00:15 +01:00
RizviSyed
1d6fe271e2 #6207 Added Random Number generator 2024-12-04 14:00:15 +01:00
Miloš Paunović
03acc8580e chore(ui): automatically add namespace filter where needed (#6296) 2024-12-04 13:56:09 +01:00
Ian Cheng
948fa7858f feat(ui): add right click menu on file tree view in editor (#5936)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-04 13:19:48 +01:00
Loïc Mathieu
348547268f fix(core, webserver): properly close the queue on Flux.onFinally
Two fixes:
- close the queue onFinally and not onComplete and onCancel to take into accunt errors.
- close the queue onFinally in the execution creation as now it is only done on the success path and not even via a Flux lifecycle method

This may fix or improve some incosistent behavior reported by users on the webserver.
2024-12-04 12:17:29 +01:00
Loïc Mathieu
973ba0342e fix(core): Correctly parse Content-Disposition in the Download task
Fixes #6270
2024-12-04 12:16:22 +01:00
Piyush Bhaskar
b0509b8c51 chore(ui): amend tags design on blueprints section (#6229)
Co-authored-by: Piyush-r-bhaskar <piyush.bhaskar@gmail.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-04 12:11:32 +01:00
GitHub Action
7171c56979 chore(translations): auto generate values for languages other than english 2024-12-04 11:00:21 +00:00
Piyush Bhaskar
5ee8dc1341 chore(ui): Improvement in Welcome Page. (#6077)
* chore(ui): Improvement in Welcome Page.

* Update Welcome.vue | scoped the styling

* fix bad merge

* remove special behavior of navbar on welcome

* finish the welcome page (thank you)

* fix: better adaptive layout

* use container queries and flex for better responsive design

* chore(translations): auto generate values for languages other than english

---------

Co-authored-by: Barthélémy Ledoux <ledouxb@me.com>
Co-authored-by: Bart Ledoux <bledoux@kestra.io>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
Co-authored-by: GitHub Action <actions@github.com>
2024-12-04 11:59:23 +01:00
Florian Hussonnois
5330aa0e84 chore(ci): add workflow to release all plugins 2024-12-04 11:09:47 +01:00
Loïc Mathieu
91dd6170f1 fix(jdbc): possible race when initializing the JdbcMapper 2024-12-04 10:40:50 +01:00
Hyoseop Song
ba0e770a05 Add subpath guard function to avoid non-relative subpath parsed URI 2024-12-04 10:40:32 +01:00
dependabot[bot]
e850764403 chore(deps): bump org.jooq:jooq from 3.19.14 to 3.19.15
Bumps org.jooq:jooq from 3.19.14 to 3.19.15.

---
updated-dependencies:
- dependency-name: org.jooq:jooq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-04 10:12:31 +01:00
dependabot[bot]
296e2739a5 chore(deps): bump aquasecurity/trivy-action from 0.28.0 to 0.29.0
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.28.0 to 0.29.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.28.0...0.29.0)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-04 10:06:01 +01:00
dependabot[bot]
d6029b0908 chore(deps): bump andrcuns/allure-publish-action from 2.8.0 to 2.9.0
Bumps [andrcuns/allure-publish-action](https://github.com/andrcuns/allure-publish-action) from 2.8.0 to 2.9.0.
- [Release notes](https://github.com/andrcuns/allure-publish-action/releases)
- [Commits](https://github.com/andrcuns/allure-publish-action/compare/v2.8.0...v2.9.0)

---
updated-dependencies:
- dependency-name: andrcuns/allure-publish-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-04 10:05:52 +01:00
Loïc Mathieu
e165052693 chore(core): remove deprecated RunContext.render(Property) methods 2024-12-04 09:41:55 +01:00
Loïc Mathieu
fb9691d67a chore(core): avoid using applicationContext.init() in the RunContext
This will improve performance as a run context is created very often.

Fixes #5492
2024-12-04 09:41:55 +01:00
Miloš Paunović
67840589b6 chore(deps): regular dependency update (#6287) 2024-12-04 09:31:07 +01:00
Nitin Bisht
418aa9dd38 chore(ui): amend spacing on plugins page (#6223)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-04 08:54:24 +01:00
yuri
c74828685f fix(ui): generalize filter width across browsers (#5980)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-04 08:51:11 +01:00
Joe Celaster
eb1cbfa4d9 chore(ui): remove search field background on single plugin page (#6220)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-04 08:48:08 +01:00
Manoj Balaraj
57bc721c61 fix(ui): improve debug outputs expression on initial load (#6094)
Co-authored-by: manu2931 <manojb912@gmai.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-04 08:44:25 +01:00
GitHub Action
02898d29ac chore(translations): auto generate values for languages other than english 2024-12-04 07:41:28 +00:00
morri12
4901c1b127 chore(ui): add a confirmation dialog before removing a bookmark (#6217)
Co-authored-by: Ryanator <ryanmorris@rogers.com>
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-04 08:41:00 +01:00
Piyush Bhaskar
c95d474500 chore(ui): add top and left padding to editor component (#6191)
Co-authored-by: Piyush-r-bhaskar <piyush.bhaskar@gmail.com>
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-12-04 08:38:24 +01:00
Ines Qian
7f6436f95f chore(ui): properly highlight selected options in all of the filter dropdowns (#6173)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-12-04 08:33:50 +01:00
brian.mulier
6dbdfad9ce fix(test): add metadata assertion to storage listing 2024-12-03 20:33:46 +01:00
Barthélémy Ledoux
d67df717f2 fix(docs): keep use in docs sidebar when clicking in TOC page (#6262)
* fix(docs): keep use in docs sidebar when clicking in TOC page

* fix: allow open in a new tab and main menu in docs

* woops

* woops I did it again

* fix: context docs link should never move away from page

* remove vue warnings
2024-12-03 14:28:27 +01:00
Loïc Mathieu
0f2c5bb57e fix(core): possible NPE when the Executor didn't have the flow 2024-12-03 12:19:10 +01:00
Florian Hussonnois
fba4a7929e chore(version): update snapshot version 'v0.21.0-SNAPSHOT'. 2024-12-03 12:06:06 +01:00
Florian Hussonnois
279be83445 chore(version): update to version 'v0.20.0'. 2024-12-03 12:06:03 +01:00
brian.mulier
87cfb67dc9 fix(ui): custom bar chart was not grouping things properly 2024-12-03 11:20:16 +01:00
Loïc Mathieu
c2a28dadb5 feat(core): flow SLA is in beta 2024-12-03 09:11:27 +01:00
brian.mulier
3673a1700c fix(ui): breadcrumb on custom dashboards edit redirects to home 2024-12-02 19:41:25 +01:00
brian.mulier
971f9eef4e fix(ui): better responsiveness & layouts for custom dashboards 2024-12-02 19:32:48 +01:00
brian.mulier
c6503235e6 fix(ui): wrong Y axis name for bar charts 2024-12-02 19:10:03 +01:00
brian.mulier
8246a90b8a fix(ui): show durations properly in custom dashboards legends + better responsiveness 2024-12-02 19:02:59 +01:00
YannC
c41e2b8cb2 fix(CI): translations CI fixes 2024-12-02 18:03:19 +01:00
Loïc Mathieu
582d296169 fix(core): missing Precondition id didn't fail valdiation
Fixes #6247
2024-12-02 17:45:25 +01:00
brian.mulier
6f12b7e344 fix(ui): display durations properly in custom dashboards 2024-12-02 16:18:42 +01:00
brian.mulier
7e7706912f fix(ui): better tooltip for custom dashboards 2024-12-02 15:39:01 +01:00
Loïc Mathieu
7842679fec fix(jdbc): executionCount only on start date 2024-12-02 15:34:18 +01:00
Loïc Mathieu
0ade17ab22 fix(ui): force run icon disabling 2024-12-02 15:34:18 +01:00
Loïc Mathieu
a5741aa424 fix(core): subflow output computation 2024-12-02 14:59:36 +01:00
brian.mulier
4db76e31bd fix(*): handle table pagination 2024-12-02 14:05:43 +01:00
Miloš Paunović
7ac0f3cbd1 chore(ui): properly add comparator values to selected filters from url query parameters (#6239) 2024-12-02 13:46:40 +01:00
Florian Hussonnois
e506f7400b fix(core): add plugin types for apps in returned plugin docs 2024-12-02 10:13:01 +01:00
Miloš Paunović
9c58d7bb5b chore(ui): limit the width of filter dropdown (#6227) 2024-12-02 09:47:03 +01:00
Anna Geller
d066c17564 fix: attempt to fix formatting 2024-11-30 03:12:35 +01:00
Miloš Paunović
389a1561e9 chore(ui): add default first option for filters (#6216) 2024-11-29 22:38:25 +01:00
Miloš Paunović
0e3ff20120 chore(ui): tweak the size of the chart legends (#6215) 2024-11-29 22:31:47 +01:00
Loïc Mathieu
42f721fdec fix(core): subflow outputs (#6214) 2024-11-29 19:51:10 +01:00
brian.mulier
c78fe6455a fix(ui): restore error handling 2024-11-29 17:52:05 +01:00
Bart Ledoux
070ab119a7 refactor: remove console log 2024-11-29 16:52:29 +01:00
Ludovic DEHON
3f20b46dcb fix(ui): avoid blinking on button based on the execution status
relate to #5983
2024-11-29 16:46:00 +01:00
Loïc Mathieu
68e113c306 feat(core): implements equals() and hashCode() for Property 2024-11-29 15:07:25 +01:00
Loïc Mathieu
06474c0e9c feat(core): dymamic timeout and delay in the Pause task
Fixes #5338
2024-11-29 15:07:25 +01:00
Loïc Mathieu
a8577ab9f9 fix(core): deserialize duration from a float string 2024-11-29 15:07:25 +01:00
Loïc Mathieu
ec022c9145 fix(core): makes Subflow labels dynamic (again)
Fixes #6203
2024-11-29 15:06:41 +01:00
YannC
b332b0adea feat(core): Missing RegisteredPlugin (#6189)
* feat(core): Missing RegisteredPlugin

* fix: pebble task template

* feat(ui): allow to override documentation intro
2024-11-29 15:01:56 +01:00
brian.mulier
d0b3f1f078 fix(jdbc): avoid NPE in daily stats by providing start & end dates fallbacks
closes kestra-io/kestra-ee#2326
2024-11-29 14:48:20 +01:00
brian.mulier
b55ad0a752 fix(core): change default Pie chart display to DONUT 2024-11-29 14:17:17 +01:00
brian.mulier
4b6aef7d7d fix(ui): allow save default dashboard upon creation even without change 2024-11-29 14:15:51 +01:00
Miloš Paunović
b93b834998 fix(ui): prevent unnecessary endpoint calls on custom dashboard (#6201) 2024-11-29 14:01:58 +01:00
Anna Geller
9f66f39404 docs: update basics.md 2024-11-29 13:55:33 +01:00
Miloš Paunović
a5328b23cc fix(ui): properly parse date parameters from url and pass on the endpoints (#6200) 2024-11-29 13:28:27 +01:00
MilosPaunovic
6fa7eebecb fix(ci): generate translation checkouts with sha instead of branch 2024-11-29 13:23:35 +01:00
Barthélémy Ledoux
a6804ccfa7 fix: remove-some-js-warnings (#6195)
* remove some warnings

* remove last warning on plugins

* fix required alt
2024-11-29 11:54:20 +01:00
GitHub Action
8293a0f671 chore(translations): auto generate values for languages other than english 2024-11-29 10:36:07 +00:00
brian-mulier-p
4943f9ab6a feat(*): introduce custom dashboards (#6144)
closes kestra-io/kestra-ee#1711

Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-11-29 11:35:01 +01:00
Bart Ledoux
8212106048 fix: avoid errors when flow has no inputs 2024-11-29 11:33:28 +01:00
Miloš Paunović
a3beb58db8 fix(ui): pass flow id as parameter for dashboard (#6194) 2024-11-29 10:23:14 +01:00
phuc
f6492156df Rename the printContext() pebble function to fetchContext() 2024-11-29 10:20:49 +01:00
phuc
7302fe52d7 Rename the printContext() pebble function to fetchContext() 2024-11-29 10:20:49 +01:00
Miloš Paunović
5cc80f1080 chore(ui): trigger filter search on text values (#6193) 2024-11-29 10:06:33 +01:00
Anna Geller
8eaa9630e7 docs: flow trigger example 2024-11-29 00:13:36 +01:00
Ludovic DEHON
2c6a9136dc fix(ui): button size on the trigger page 2024-11-29 00:10:50 +01:00
Ludovic DEHON
f4afecab1b fix(ui): input number range color
close #6168
2024-11-28 23:53:24 +01:00
Ludovic DEHON
2c6d4d66ec fix(ui): dashboard in progress status size 2024-11-28 23:27:12 +01:00
Ludovic DEHON
3bb80a4a79 feat(ui): add icon on filter bars 2024-11-28 23:27:12 +01:00
Barthélémy Ledoux
bb7b0beade fix: inputs for apps and select with expressions (#6188)
* remove two vue warnings

* remove a third warning

* remove warning oops

* use the inputs coming back from validate

* fix build

* better watching

* augment the timeout and comment why
2024-11-28 23:08:44 +01:00
Ludovic DEHON
96079cc1ae fix(ui): better layout for labels filters 2024-11-28 22:37:17 +01:00
brian.mulier
505b31e67e fix(core): add isInitialized() public boolean method to know if RunContext has everything injected 2024-11-28 20:56:08 +01:00
brian.mulier
4f87cbad55 fix(tests): typo in SLA assertion test 2024-11-28 20:26:43 +01:00
yuri
50b22cd755 fix(ui): amend file preview encoding (#6186) 2024-11-28 20:11:07 +01:00
brian.mulier
f59b9b7721 fix(ui): remove "starred" translation 2024-11-28 19:57:12 +01:00
Ludovic DEHON
3cb5db0898 fix(ui): dotted layout alt is not required 2024-11-28 19:55:49 +01:00
Ludovic DEHON
eadd9cfb94 feat(ui): add a hamburger dropdown component 2024-11-28 19:20:47 +01:00
Ludovic DEHON
82a6c7ffe4 fix(ui): prevent rollover on status
close #6174
2024-11-28 19:20:47 +01:00
Loïc Mathieu
8152b2559c feat(core): rename EXECUTION_CONDITION SLA to EXECUTION_ASSERTION (#6187) 2024-11-28 18:54:40 +01:00
Loïc Mathieu
d55b7f4330 fix(core): Property.of() with arbitrary objects 2024-11-28 18:37:34 +01:00
Loïc Mathieu
13425326dd Revert "feat(core): remove the execution state from the scheduler (#1588)"
This reverts commit f7d3d0bcd4.
2024-11-28 18:24:52 +01:00
Miloš Paunović
fb976124c1 fix(ui): improve filter behaviours (#6179) 2024-11-28 17:11:18 +01:00
Loïc Mathieu
eb6e82b77a fix(core): compilation issue 2024-11-28 16:02:00 +01:00
Ludovic DEHON
3a63ce623a chore(ui): suppress some console warning 2024-11-28 15:38:38 +01:00
Ludovic DEHON
a651aff60d fix(ui): hide useless columns on temporal view 2024-11-28 15:38:18 +01:00
Ludovic DEHON
c1d3418932 fix(ui): revert bar on the execution > logs page
close #6092
2024-11-28 15:18:00 +01:00
Ludovic DEHON
230675bdd7 fix(ui): state in dark are using the wrong color
cssVariable function don't manage overriden vars in dark
2024-11-28 15:01:59 +01:00
Ludovic DEHON
abaa6732c6 fix(ui): overview logs are not displayed when only one is available 2024-11-28 15:01:59 +01:00
Barthélémy Ledoux
c21f16335b feat(InputsForm): delay watchers until flow, execution & default values are set (#6151) 2024-11-28 14:45:34 +01:00
Loïc Mathieu
6e41898efd fix(core): use local time in Multiple condition TimeWindow 2024-11-28 14:42:45 +01:00
Loïc Mathieu
694cbf2f8a chore(deps): dependency updates 2024-11-28 14:25:06 +01:00
Loïc Mathieu
054ef83bca fix(core): local time format
Fixes #5734
2024-11-28 14:04:39 +01:00
Loïc Mathieu
ff522b699d fix(core): don't return a new window for exceeded deadline
Fixes https://github.com/kestra-io/kestra-ee/issues/2276
2024-11-28 13:59:13 +01:00
Anna Geller
8d12451f2f fix: include offset in preconditions 2024-11-28 13:00:46 +01:00
Ludovic DEHON
51e0a2afc4 fix(ui): table header are not visible enough
also change the bg color of the body in white

close #6097
2024-11-28 11:24:35 +01:00
Barthélémy Ledoux
c5a4540ba3 fix guided tour.Move the execute panel down a bit (#6164) 2024-11-28 11:18:57 +01:00
Barthélémy Ledoux
d2065c7875 feat(ui): Cascader to use CSS ellipsis instead of truncated label (#6161) 2024-11-28 11:18:21 +01:00
Barthélémy Ledoux
e9bbddecaa fix(ui): use grid instead of flex for plugins alignment (#6157) 2024-11-28 11:17:59 +01:00
YannC
ff99d1392a feat(ui): Implemented all state colors and design from Figma 2024-11-28 10:51:58 +01:00
Anna Geller
76815bb99b Quick win, missing "s" in Bookmarks (#6152)
* Update en.json

* chore(translations): auto generate values for languages other than english

---------

Co-authored-by: GitHub Action <actions@github.com>
2024-11-28 02:46:29 +01:00
ben8t
b6bafbad3b Rename starred to bookmark (#6145)
* [refactor] rename starred to bookmark

* chore(translations): auto generate values for languages other than english

* rename stared store into bookmark

* fix: update bookmarks buttons

---------

Co-authored-by: GitHub Action <actions@github.com>
Co-authored-by: Bart Ledoux <bledoux@kestra.io>
2024-11-27 21:49:26 +01:00
Bart Ledoux
975a86bb2f fix: add initial 3rd call to validate for apps 2024-11-27 17:19:49 +01:00
brian.mulier
1a51e369e1 fix(core): avoid infinite loop for SLA 2024-11-27 16:58:13 +01:00
Loïc Mathieu
7426ac4d09 fix(core): flow trigger dependencies
Fixes #6100
2024-11-27 16:00:11 +01:00
Bart Ledoux
45f56938e7 fix: darken the green color
https://github.com/kestra-io/kestra-ee/issues/2253
2024-11-27 14:31:45 +01:00
Miloš Paunović
1ee9fc7813 feat(ui): improve keyboard selection of new filters (#6147) 2024-11-27 13:23:51 +01:00
Anna Geller
621645c563 Update generate_translations.yml 2024-11-27 11:22:22 +01:00
Anna Geller
45be21f3a2 Revert "#5518 skip updating own translation (#5868)"
This reverts commit 29ef8afa6e.
2024-11-27 11:00:07 +01:00
Bart Ledoux
cefa9c3c5e fix: update "light" icon with less dark gray 2024-11-27 10:46:53 +01:00
Barthélémy Ledoux
bf5714417c feat: plugin layout is now dotted (#6143)
* feat: plugin layout is now dotted

* update icons for dotted layouts
2024-11-27 10:37:23 +01:00
Miloš Paunović
f064f64df0 chore(ui): trigger search on removal of single filter (#6142) 2024-11-27 09:16:24 +01:00
Miloš Paunović
90bc2bac89 chore(ui): trigger filter once the whole selection is there (#6141) 2024-11-27 08:58:08 +01:00
Barthélémy Ledoux
8518413b8c fix(ui): update background color in DottedLayout component (#6128) 2024-11-26 21:52:05 +01:00
Anna Geller
5fdaabd849 docs: flow trigger example for preconditions incl. timezone offset info and fix SLA 2024-11-26 19:10:22 +01:00
Barthélémy Ledoux
fceddf5225 fix: the validation of booleans (#6124)
Co-authored-by: GitHub Action <actions@github.com>
2024-11-26 17:38:07 +01:00
YannC
1707b1ee70 fix(core): LocalFileWatcher correctly load existing flow in folder
close #6122
2024-11-26 16:42:53 +01:00
YannC
654d30e10e fix(controller): Return failing file/flow when doing flow import (#6090)
close #6042
2024-11-26 15:43:46 +01:00
YannC
bf10a5fdee feat(ui): better banner color 2024-11-26 15:34:43 +01:00
Loïc Mathieu
3f2a306ce3 fix(core): use OffsetTIme in TimeWindow
Fixes https://github.com/kestra-io/kestra-ee/issues/2263
2024-11-26 15:02:37 +01:00
YannC
a8de86d16f feat(ui): allows to copy id from Id tooltip 2024-11-26 14:13:38 +01:00
YannC
f73fa74153 feat(ui): tag light color 2024-11-26 14:13:22 +01:00
Barthélémy Ledoux
c74073d38a fix: debounce validation of data (#6051) 2024-11-26 14:10:05 +01:00
Bart Ledoux
e9f9118b12 remove duplicate rule 2024-11-26 12:09:29 +01:00
Barthélémy Ledoux
22a8732073 refactor: replace BlueprintsLayout to reuse DottedLayout (#6095) 2024-11-26 12:04:32 +01:00
Barthélémy Ledoux
b187641101 fix: treat undefined boolean as undefined instead of false (#6086) 2024-11-26 12:03:38 +01:00
Loïc Mathieu
631cecc451 chore(core): FlowServiceTest.findByNamespacePrefix() is flaky 2024-11-26 11:48:32 +01:00
Loïc Mathieu
3fea922734 feat(core): check for system label at validation time 2024-11-26 11:44:23 +01:00
Loïc Mathieu
91cf66616f fix(ui): only display exception error for FAILED exceptions
Fixes #6098
2024-11-26 11:22:11 +01:00
Loïc Mathieu
0685214d12 fix(core): wait for error logs in the Pebble function
Fixes #6083
2024-11-26 11:05:33 +01:00
Ludovic DEHON
ccf14b86ad fix(ui): keep multiple line on the logs
close #5649
2024-11-26 10:07:48 +01:00
Ludovic DEHON
7a37db396e chore(ui): remove unneeded translations 2024-11-26 10:02:30 +01:00
Loïc Mathieu
7e8226f148 feat(core): allow accessing Worker thread count 2024-11-26 09:19:28 +01:00
Ludovic DEHON
82dbb4319a feat(ui): better error message on overview header (#6105)
close #6029
2024-11-26 09:01:29 +01:00
Anna Geller
775fac4e63 fix: wording 2024-11-25 22:17:48 +01:00
Barthélémy Ledoux
8b53a2b4ba refactor: move toast to typescript + composition API (#6079) 2024-11-25 20:54:20 +01:00
Bart Ledoux
8a072c1e24 add custom validation for required booleans 2024-11-25 17:27:02 +01:00
YannC
43dfd9e388 fix(controller): handle recoverMissedScheduled property of triggers (#6084)
close #6027
2024-11-25 17:13:43 +01:00
YannC
dc324184b1 fix(ui): issue on trigger list when no cron 2024-11-25 16:49:46 +01:00
Loïc Mathieu
4e0b6308bd feat(core): flow SLA
Fixes #5857
2024-11-25 16:05:45 +01:00
Loïc Mathieu
9f4dbd8134 fix(core): serialize duration as strings in Property
Fixes #5615
2024-11-25 16:02:44 +01:00
Loïc Mathieu
550aa4538b Revert "fix(core): serialize duration as strings"
This reverts commit 557eb8185f.
2024-11-25 16:02:44 +01:00
101
b019909e9c refactor(*): unify instanceof usage to pattern matching style 2024-11-25 15:13:06 +01:00
YannC
159d8277cd fix(ui): link css 2024-11-25 15:07:51 +01:00
YannC
7e156c85d0 fix(ui): better code color visiblity in light theme 2024-11-25 12:28:12 +01:00
YannC
49c557df0b fix(ui): more visible tag 2024-11-25 12:24:02 +01:00
Loïc Mathieu
75310bd4a4 fix(webserver): set labels now sends all labels
So we need to check if a system label didn't exist and fail if it's the case.

Fixes #5992
2024-11-25 12:15:01 +01:00
Barthélémy Ledoux
8fb7214a98 fix: remove full reactive on context info bar (#6069) 2024-11-25 11:41:21 +01:00
Ruturaj Dhakane
1a24b4b1b0 fix(ui): curl message warning was not clear enough (#6068) 2024-11-25 08:56:36 +01:00
Miloš Paunović
66196425e0 chore(ui): remove obsolete define props import (#6074) 2024-11-25 08:29:29 +01:00
Loïc Mathieu
39d2919043 feat(core): set Data property to not dynamic 2024-11-22 21:53:29 +01:00
Loïc Mathieu
c50a3b4929 fix(core): use pattern inseatd of format in the JSON Schema
Fixes #6037
2024-11-22 21:53:29 +01:00
Ludovic DEHON
300d986f5f fix(ui): avoid dashboard blinking on flow create 2024-11-22 21:44:30 +01:00
Loïc Mathieu
6aafbf3849 fix(platform): force all Jackson libs indivudually 2024-11-22 17:24:29 +01:00
Bart Ledoux
d185e67a01 fix: update light mode dots layout 2024-11-22 17:08:26 +01:00
Ludovic DEHON
529caf843f fix(ui): failed to change class name on menu collapse 2024-11-22 16:45:27 +01:00
Barthélémy Ledoux
72c3f33b80 feat(ui): restore red marker show new blog posts (#6054) 2024-11-22 16:31:59 +01:00
Loïc Mathieu
34fa6ce910 feat(jdbc): Improve execution queued performance
Add date inside the index to speed up order by in case there are a lot of execution queued.
Skip locked records when selecting them as if there is a locked records it means you need to pop the next one.
2024-11-22 16:13:41 +01:00
Ludovic DEHON
88628baa08 fix(ui): global search background wrong background 2024-11-22 15:53:34 +01:00
Ludovic DEHON
89258319e8 fix(ui): dialog header title layout 2024-11-22 15:46:56 +01:00
Ludovic DEHON
06a4bcc878 feat(ui): fix create execution layout 2024-11-22 15:40:53 +01:00
Ludovic DEHON
83c3d700da fix(ui): error message should be next to the good input
close #6039
2024-11-22 14:53:27 +01:00
Ludovic DEHON
74a3e767f9 feat(ui): use default styled scrollbar 2024-11-22 09:20:33 +01:00
Ludovic DEHON
db21982504 fix(ui): better layout for side bar 2024-11-22 09:20:33 +01:00
Miloš Paunović
c6c8b7fc4e chore(deps): regular dependency update (#6044) 2024-11-21 19:50:25 +01:00
Miloš Paunović
503fe1be54 chore(ui): improve log to file display of the preview and download buttons (#6043) 2024-11-21 19:25:27 +01:00
Kratos
0de24c4448 feat(core): Add displayName to flow level outputs(backend) (#5605) 2024-11-21 19:23:28 +01:00
Barthélémy Ledoux
4431d1f321 Add translations for context bar buttons (#6038)
Co-authored-by: GitHub Action <actions@github.com>
2024-11-21 16:50:33 +01:00
Loïc Mathieu
56a2d80ed9 fix(core): only add the errorLogs() function if a repository is configured 2024-11-21 16:17:58 +01:00
Barthélémy Ledoux
1748ebbf04 fix curl url (#6036) 2024-11-21 16:04:02 +01:00
GitHub Action
92237d2383 chore(translations): auto generate values for languages other than english 2024-11-21 14:52:43 +00:00
YannC
5b7469ab82 fix(ui): missing translation 2024-11-21 15:52:14 +01:00
Loïc Mathieu
b69723b453 feat(core): rename all conditons to not ends with Condition 2024-11-21 14:50:17 +01:00
GitHub Action
c5bef87355 chore(translations): auto generate values for languages other than english 2024-11-21 12:56:44 +00:00
YannC
449b9ca148 feat(): Rework user invitation (#5853)
* feat(*): align with EE

* feat(ui): polishing UI

* feat(ui): removed stripe

* fix(): UI polishing
2024-11-21 13:56:16 +01:00
Loïc Mathieu
78f5ff2b7b feat(*): add namespace as a parameter of the internal storage 2024-11-21 12:09:07 +01:00
Barthélémy Ledoux
62fd5599e2 fix: after context docs, some light fixes and cleanup (#6030) 2024-11-21 10:46:25 +01:00
Loïc Mathieu
5ad0fc3dc3 feat(core): add errorLogs() Pebble function 2024-11-21 09:37:18 +01:00
GitHub Action
e4fd9b7cef chore(translations): auto generate values for languages other than english 2024-11-21 09:37:18 +01:00
Loïc Mathieu
d88dee66c3 feat(*): exception error from logs 2024-11-21 09:37:18 +01:00
Barthélémy Ledoux
783904c6a9 fix(docs): open in a new window + light mode (#6026)
Co-authored-by: Bart Ledoux <bledoux@kestra.io>
2024-11-20 23:00:07 +01:00
Ludovic DEHON
9b1980a053 feat(tasks): support allowFailed on http.Download tasks
close #6025
2024-11-20 22:28:48 +01:00
techwithsatish
00a0dfed88 fix(ui): amend typo in documentation (#6023) 2024-11-20 20:27:41 +01:00
Mohammed Viqar Ahmed
29ef8afa6e #5518 skip updating own translation (#5868)
* CONTRIBUTING.md : addind node options variable

* chore(ui): improve wording of contribution guide

* #5518 : fix to skip updating own translation

* #5518 : updating code comments

* Update ui/src/translations/generate_translations.py

---------

Co-authored-by: Miloš Paunović <paun992@hotmail.com>
Co-authored-by: Anna Geller <anna.m.geller@gmail.com>
2024-11-20 18:56:51 +01:00
GitHub Action
acdc9ef46e chore(translations): auto generate values for languages other than english 2024-11-20 16:08:23 +00:00
Barthélémy Ledoux
855c42b3e2 feat: in app contextual docs (#5906)
Co-authored-by: Bart Ledoux <bledoux@kestra.io>
Co-authored-by: GitHub Action <actions@github.com>
2024-11-20 17:07:43 +01:00
Florian Hussonnois
bb6b134731 fix(ui): hide navbar on error in fullscreen 2024-11-20 14:43:10 +01:00
Miloš Paunović
45d5820358 fix(ui): handle time values as execution chart x axis label (#6019) 2024-11-20 13:29:45 +01:00
YannC
f71e9d30f6 fix(): better comparison of triggers (#6018) 2024-11-20 11:26:43 +01:00
Loïc Mathieu
38ca24a287 feat(core): add a path traversal guard to the fileURI Pebble function 2024-11-20 11:05:42 +01:00
Barthélémy Ledoux
d5726e84e3 fix: "jump to" does not load (#5995)
Co-authored-by: Bart Ledoux <bledoux@kestra.io>
2024-11-20 11:00:51 +01:00
asharan2buff
6e1b910d58 feat(): fileURI() Pebble Function 2024-11-20 10:15:14 +01:00
Florian Hussonnois
88db8bedd5 chore(core): add utility methods for exception 2024-11-20 09:57:22 +01:00
Ludovic DEHON
bfa02fe6ef fix(plugins): allow big archive size on docker runner
see https://issues.apache.org/jira/browse/COMPRESS-194
2024-11-19 22:29:16 +01:00
Florian Hussonnois
6fc4f251d0 chore(core): refactor LogRepositoryInterface to allow access with no permission check 2024-11-19 18:00:45 +01:00
Anna Geller
21692f7199 docs: add info about run context 2024-11-19 16:27:37 +01:00
Shruti Mantri
0bae3a88ac feat: replace EachParallel with ForEach (#5979)
* feat: replace EachParallel with ForEach

* Update core/src/main/java/io/kestra/plugin/core/execution/Count.java

---------

Co-authored-by: Will Russell <wrussell@kestra.io>
2024-11-19 11:32:53 +00:00
GitHub Action
5906b03c6e chore(translations): auto generate values for languages other than english 2024-11-19 10:31:05 +00:00
Miloš Paunović
ffa92d4888 feat(ui): introduce new filtering system (#5988) 2024-11-19 11:30:31 +01:00
dependabot[bot]
0c17a728c2 chore(deps): bump org.projectlombok:lombok from 1.18.34 to 1.18.36
Bumps [org.projectlombok:lombok](https://github.com/projectlombok/lombok) from 1.18.34 to 1.18.36.
- [Changelog](https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown)
- [Commits](https://github.com/projectlombok/lombok/compare/v1.18.34...v1.18.36)

---
updated-dependencies:
- dependency-name: org.projectlombok:lombok
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-19 10:35:13 +01:00
dependabot[bot]
97e147e3ec chore(deps): bump io.micronaut.platform:micronaut-platform
Bumps [io.micronaut.platform:micronaut-platform](https://github.com/micronaut-projects/micronaut-platform) from 4.6.3 to 4.7.0.
- [Release notes](https://github.com/micronaut-projects/micronaut-platform/releases)
- [Commits](https://github.com/micronaut-projects/micronaut-platform/compare/v4.6.3...v4.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-19 10:34:59 +01:00
Anna Geller
ee79911f16 Merge branch 'develop' of https://github.com/kestra-io/kestra into develop 2024-11-18 18:52:43 +01:00
Anna Geller
aac1bbafed docs: clarify that KV pairs are not inherited https://github.com/kestra-io/docs/issues/1745 2024-11-18 18:52:35 +01:00
Shruti Mantri
66d5d4b209 feat: replace EachSequential with ForEach (#5978) 2024-11-18 17:51:03 +00:00
techwithsatish
fc7d63013c chore(ui): amend link label in documentation (#5977) 2024-11-18 18:44:45 +01:00
dependabot[bot]
ae56485cf6 chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /ui (#5976)
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-18 18:41:31 +01:00
dependabot[bot]
f20c20782f chore(deps): bump net.thisptr:jackson-jq from 1.0.1 to 1.1.0
Bumps [net.thisptr:jackson-jq](https://github.com/eiiches/jackson-jq) from 1.0.1 to 1.1.0.
- [Release notes](https://github.com/eiiches/jackson-jq/releases)
- [Commits](https://github.com/eiiches/jackson-jq/compare/1.0.1...1.1.0)

---
updated-dependencies:
- dependency-name: net.thisptr:jackson-jq
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 18:24:59 +01:00
dependabot[bot]
72b9077a41 chore(deps): bump flyingSaucerVersion from 9.10.2 to 9.11.0
Bumps `flyingSaucerVersion` from 9.10.2 to 9.11.0.

Updates `org.xhtmlrenderer:flying-saucer-core` from 9.10.2 to 9.11.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.10.2...v9.11.0)

Updates `org.xhtmlrenderer:flying-saucer-pdf` from 9.10.2 to 9.11.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.10.2...v9.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 18:24:45 +01:00
dependabot[bot]
1bc33cd4a9 chore(deps): bump org.siouan.frontend-jdk21 from 9.0.0 to 9.1.0
Bumps org.siouan.frontend-jdk21 from 9.0.0 to 9.1.0.

---
updated-dependencies:
- dependency-name: org.siouan.frontend-jdk21
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 18:23:30 +01:00
dependabot[bot]
6c6d5a39e2 chore(deps): bump codecov/codecov-action from 4 to 5
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 18:22:40 +01:00
Miloš Paunović
a5730e2ba8 fix(ui): properly check if result list is empty before showing empty state component (#5972) 2024-11-18 14:30:42 +01:00
Loïc Mathieu
3957daa156 fix(coe): missing call to allowedTrigger from kv Pebble Function 2024-11-18 13:16:43 +01:00
Loïc Mathieu
481385d554 fix(core): preconditions evaluation can NPE 2024-11-18 12:33:52 +01:00
Miloš Paunović
4db0caa32a fix(ui): pass with credentials as true to follow endpoints (#5968) 2024-11-18 12:26:18 +01:00
Loïc Mathieu
5f3aee911e feat(core): refactor flow trigger
Fixes #5856
2024-11-18 09:58:12 +01:00
sophiakkm
20defee309 feat(ui): implement local search for kv store (#5963)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-11-18 09:53:15 +01:00
GitHub Action
842113ec89 chore(translations): auto generate values for languages other than english 2024-11-18 08:20:23 +00:00
Miloš Paunović
19d181c229 chore(ui): show additional columns to better describe triggers (#5964) 2024-11-18 09:19:57 +01:00
yuri
c697628915 chore(ui): introduce component for filter labels (#5947)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-11-17 21:48:10 +01:00
Manoj Balaraj
eeaf015ee7 fix(ui): amend pebble expression in execution outputs debug section (#5943)
Co-authored-by: manu2931 <manojb912@gmai.com>
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-11-17 20:39:03 +01:00
MilosPaunovic
d7e4159a4a fix(ui): check if element exists before amending the size of it 2024-11-17 20:26:52 +01:00
tlrznf46
05ecf97a59 chore(ui): implement local sort functionality for namespace kv store listing (#5952)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-11-17 20:20:51 +01:00
Aabhas Sao
df11f71c6a chore(ui): amend filter placeholder color (#5950)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-11-17 20:04:40 +01:00
Miloš Paunović
c52e4bf560 fix(ui): hide input validation success icon from flow run dialog (#5953) 2024-11-17 19:20:07 +01:00
Ian Cheng
1809e0c877 chore(ui): make filter absolute date label in humanly readable format(#5944)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-11-16 12:00:47 +01:00
yuri
70ac9a7c2a chore(ui): prevent duplicate values in filter recent items (#5941) 2024-11-16 11:44:01 +01:00
GitHub Action
65ccb7cb2b chore(translations): auto generate values for languages other than english 2024-11-16 10:16:52 +00:00
Satvik Kushwaha
53e94838c5 chore(ui): render trigger flow warning as markdown in dialog (#5933)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-11-16 11:16:11 +01:00
Will Russell
f3edfbce8c fix(docs): depreciated examples 2024-11-15 17:39:08 +00:00
Florian Hussonnois
6af900dcc9 feat(ui): allow to not show toast on server error response 2024-11-15 16:52:18 +01:00
Florian Hussonnois
ca5f439946 fix(ui): add errors to all validation methods 2024-11-15 16:52:18 +01:00
Piyush Bhaskar
3ef4299d2e chore(ui): showing tags on a single blueprint page (#5914)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-11-15 15:17:01 +01:00
Saipavan Lingamallu
f155209b5f chore(ui): improve description section of editing metadata drawer (#5858)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-11-15 14:45:25 +01:00
benjo.sinanovic
46b1d377dd feat(core): Implement fileSize() function 2024-11-15 14:40:40 +01:00
Loïc Mathieu
5607cab9c1 fix(ui): add missing toIon and fromIon Pebble function and filter 2024-11-15 14:16:40 +01:00
Florian Hussonnois
208d9882cf fix(ui): fix FilePreview when configs not loaded 2024-11-15 11:31:17 +01:00
GitHub Action
70a8979952 chore(translations): auto generate values for languages other than english 2024-11-15 08:20:41 +00:00
Miloš Paunović
09c644f563 chore(ui): add new filter comparators and amend existing options to use them (#5923) 2024-11-15 09:20:08 +01:00
Miloš Paunović
e6af98f7cd fix(ui): amend the expansion of execution fields (#5922) 2024-11-15 08:56:27 +01:00
Florian Hussonnois
364acc3473 feat(core): refactor ExecutionLogService 2024-11-15 08:47:28 +01:00
YannC
fb34f7b6c9 feat(ui): display input error (#5919)
close #5515
2024-11-14 22:47:50 +01:00
MilosPaunovic
cf615e8291 chore(ui): make the tooltip positioning default 2024-11-14 14:21:26 +01:00
Loïc Mathieu
6f45659eed fix(core): retry flaky test InputsTest.shouldNotLogSecretInput() 2024-11-14 11:46:08 +01:00
Barthélémy Ledoux
ffec86fb20 fix(ui): disable sidebar version tooltip when no commitId or collapsed (#5910)
Co-authored-by: Bart Ledoux <bledoux@kestra.io>
2024-11-14 11:37:36 +01:00
Manoj Balaraj
796cb690fb chore(ui): properly refresh gantt view after replaying the execution (#5829) 2024-11-14 09:14:04 +01:00
yuri
fa6a434f73 fix(ui): make whole gantt task row clickable (#5863) 2024-11-14 08:41:29 +01:00
yuri
183c659011 fix(ui): change usage of method which is not widely supported (#5864) 2024-11-14 08:35:09 +01:00
RyanVem
9a402e2ca9 feat(ui): add cancel button to execution resume dialog (#5859)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-11-13 21:08:35 +01:00
GitHub Action
4e675f2a13 chore(translations): auto generate values for languages other than english 2024-11-13 19:57:49 +00:00
Ian Cheng
67b329747f feat(ui): add right click actions to editor tabs (#5869)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-11-13 20:56:55 +01:00
yuri
e404ff759c chore(ui): prevent prop type mismatch (#5908) 2024-11-13 20:22:37 +01:00
Will Russell
d7e61544d6 fix(docs): runner -> taskRunner 2024-11-13 16:55:54 +00:00
Florian Hussonnois
ccfe00dba4 feat(core): add support for AppPluginInterface 2024-11-13 16:42:36 +01:00
Shivang
cfd267749f chore(ui): align margins and padding throughout the product (#5887)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-11-13 15:52:21 +01:00
GitHub Action
5a93181273 chore(translations): auto generate values for languages other than english 2024-11-13 14:17:14 +00:00
Piyush Bhaskar
0e2328ce08 chore(ui): improve visual for no data component (#5900)
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-11-13 15:16:42 +01:00
GitHub Action
c7a3ffa59e chore(translations): auto generate values for languages other than english 2024-11-13 13:47:25 +00:00
Miloš Paunović
7f05c72ae5 feat(ui): add page settings dropdown to filters (#5905) 2024-11-13 14:46:52 +01:00
Loïc Mathieu
dcab506ca1 fix(core): multiple condition test is flaky 2024-11-13 14:34:37 +01:00
YannC
f0843ed23a fix(ui): display the correct key (#5886) 2024-11-13 13:28:05 +01:00
Loïc Mathieu
8da06c6c99 fix(core): flaky tests 2024-11-13 12:56:47 +01:00
Miloš Paunović
76be65c23f chore(deps): regular dependency update (#5899) 2024-11-13 11:05:40 +01:00
GitHub Action
b753ae0971 chore(translations): auto generate values for languages other than english 2024-11-13 09:53:01 +00:00
Miloš Paunović
802b7b9329 feat(ui): add relative and absolute dates as filtering options (#5898) 2024-11-13 10:52:21 +01:00
dependabot[bot]
b97db33d3a chore(deps): bump kafkaVersion from 3.8.1 to 3.9.0
Bumps `kafkaVersion` from 3.8.1 to 3.9.0.

Updates `org.apache.kafka:kafka-clients` from 3.8.1 to 3.9.0

Updates `org.apache.kafka:kafka-streams` from 3.8.1 to 3.9.0

Updates `org.apache.kafka:kafka-streams-test-utils` from 3.8.1 to 3.9.0

---
updated-dependencies:
- dependency-name: org.apache.kafka:kafka-clients
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.kafka:kafka-streams
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.kafka:kafka-streams-test-utils
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-12 15:39:12 +01:00
dependabot[bot]
a2acaa4dd4 chore(deps): bump opensearchRestVersion from 2.17.1 to 2.18.0
Bumps `opensearchRestVersion` from 2.17.1 to 2.18.0.

Updates `org.opensearch.client:opensearch-rest-client` from 2.17.1 to 2.18.0
- [Release notes](https://github.com/opensearch-project/OpenSearch/releases)
- [Changelog](https://github.com/opensearch-project/OpenSearch/blob/main/CHANGELOG-3.0.md)
- [Commits](https://github.com/opensearch-project/OpenSearch/compare/2.17.1...2.18.0)

Updates `org.opensearch.client:opensearch-rest-high-level-client` from 2.17.1 to 2.18.0
- [Release notes](https://github.com/opensearch-project/OpenSearch/releases)
- [Changelog](https://github.com/opensearch-project/OpenSearch/blob/main/CHANGELOG-3.0.md)
- [Commits](https://github.com/opensearch-project/OpenSearch/compare/2.17.1...2.18.0)

---
updated-dependencies:
- dependency-name: org.opensearch.client:opensearch-rest-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.opensearch.client:opensearch-rest-high-level-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-12 15:38:49 +01:00
Loïc Mathieu
e3de0d2b4d chore: small refacto on the ShaBaseFilter 2024-11-12 15:36:38 +01:00
dependabot[bot]
d68d77766d chore(deps): bump org.opensearch.client:opensearch-java
Bumps [org.opensearch.client:opensearch-java](https://github.com/opensearch-project/opensearch-java) from 2.16.0 to 2.17.0.
- [Release notes](https://github.com/opensearch-project/opensearch-java/releases)
- [Changelog](https://github.com/opensearch-project/opensearch-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/opensearch-project/opensearch-java/compare/v2.16.0...v2.17.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-12 15:06:49 +01:00
dependabot[bot]
7ab7d1089c chore(deps): bump rlespinasse/github-slug-action from 4 to 5
Bumps [rlespinasse/github-slug-action](https://github.com/rlespinasse/github-slug-action) from 4 to 5.
- [Release notes](https://github.com/rlespinasse/github-slug-action/releases)
- [Commits](https://github.com/rlespinasse/github-slug-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: rlespinasse/github-slug-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-12 14:48:21 +01:00
Miloš Paunović
a14e759e3c chore(ui): filter functionality improvements (#5882) 2024-11-12 14:12:05 +01:00
hashimzs
fb61339170 fix(core): refactor sha filters and add tests for each filter 2024-11-12 13:36:25 +01:00
SayedQassim
795d9a6085 fix(core): add implemntation for md5, sha1, and sha512 filters (#5436) 2024-11-12 13:36:25 +01:00
yuri1969
f23de228c5 fix(build): fix Gradle task listing
The `gradle tasks` command was broken by subprojects with no `test`
source set.
2024-11-12 09:23:06 +01:00
GitHub Action
a60e3680a8 chore(translations): auto generate values for languages other than english 2024-11-11 20:16:22 +00:00
Ruturaj Dhakane
1f26637f29 feat(ui): allow selection of default tab on flow execution (#5850) 2024-11-11 21:15:46 +01:00
Piyush Bhaskar
cad7e2592d chore(ui): make visual for no data custom kestra one (#5855) 2024-11-11 13:53:49 +01:00
GitHub Action
0370913d26 chore(translations): auto generate values for languages other than english 2024-11-09 09:53:45 +00:00
Anna Geller
67ff2ed94e fix: ui text for no data (#5865)
* fix: ui text for no data

* chore(translations): auto generate values for languages other than english

---------

Co-authored-by: GitHub Action <actions@github.com>
2024-11-09 10:53:17 +01:00
GitHub Action
5bffa46f84 chore(translations): auto generate values for languages other than english 2024-11-08 18:15:12 +01:00
Loïc Mathieu
25da8d13e0 feat(core,ui,webserver): force run executions
Part-of: #4260
2024-11-08 18:15:12 +01:00
Barthélémy Ledoux
c69d8bb60e fix: set title when favoriting a flow & clean URL parameters that change (#5839)
* fix: when faving a flow it should have its title by default

* remove parameters that switch automatically at load

* fix: when loading dashboard dates come from url

---------

Co-authored-by: Bart Ledoux <bledoux@kestra.io>
2024-11-08 14:55:47 +01:00
Pranay Raycha
1abf41c54a chore(ui): improve namespace listing items padding (#5852) 2024-11-08 11:08:18 +01:00
Barthélémy Ledoux
8353869a4e fix: extends the background of blueprint page (#5841)
Co-authored-by: Bart Ledoux <bledoux@kestra.io>
2024-11-08 09:52:18 +01:00
Will Russell
36fa4eed1c fix: add new line for create flow example 2024-11-07 17:10:49 +00:00
Anna Geller
5f66e9748e fix(docs): add keyboard shortcuts info to the top 2024-11-07 17:08:54 +01:00
GitHub Action
914cc8bd62 chore(translations): auto generate values for languages other than english 2024-11-07 15:39:49 +00:00
Miloš Paunović
fce9525713 feat(ui): filters overhaul (#5844) 2024-11-07 16:35:35 +01:00
Loïc Mathieu
8a32913714 feat(core): allow filtering on labels for ExecutionsCondition
Fixes #5836
2024-11-07 15:34:39 +01:00
Loïc Mathieu
5f6e04ea0b feat(jdbc): add a where clause when fetching max offset
Also some refactoring to reduce code duplication
2024-11-07 15:34:08 +01:00
Barthélémy Ledoux
4423052e58 feat: editable favorites and full search query in their url (#5828)
* feat(ui): enhance BookmarkLink component with edit and delete functionality

* fix(ui): use the full URL as href for favorites

* add some accessibility

* foxus the field when editing starts

* avoid closing starred box when editing

* fix case sensitive issue

* change the index in localstorage to clean all conflicts

* fix: sidebar needs radius and margins

* lighten star color

---------

Co-authored-by: Bart Ledoux <bledoux@kestra.io>
2024-11-07 13:53:31 +01:00
Miloš Paunović
4f889e716e fix(ui): amend black charts on sync with system theme option (#5835) 2024-11-07 12:14:32 +01:00
Piyush Bhaskar
08e8e7d020 chore(ui): change namespaces icon (#5827) 2024-11-07 10:56:49 +01:00
brian.mulier
60b47d761c fix(jdbc): proper handling of multiple condition window condition 2024-11-07 09:56:51 +01:00
Prajyot
e7b47e8427 fixes: #5744 UI Execution Overview doesn't correctly handle errors caused by wrong output types 2024-11-07 09:04:01 +01:00
Loïc Mathieu
71183077b0 feat(core): rename the new mutliple conditions 2024-11-06 17:52:03 +01:00
Loïc Mathieu
a01de0054b feat(core): multiple condition refactoring and doc improvements 2024-11-06 17:52:03 +01:00
Loïc Mathieu
66f4d7b0e5 feat(core): deprecate the MultipleCondition condition 2024-11-06 17:52:03 +01:00
Loïc Mathieu
4e300bec53 chore(core,webserver): discard not-used completed part and reads in an IO thread 2024-11-06 17:39:47 +01:00
Loïc Mathieu
f4c4b3a98c chore(webserver): ensure all input streams are closed 2024-11-06 17:39:47 +01:00
Loïc Mathieu
6af6ef9578 fix(core): If in a flowable task
Fixes #5812
2024-11-06 17:25:08 +01:00
GitHub Action
ee5c0dd403 chore(translations): auto generate values for languages other than english 2024-11-06 17:01:24 +01:00
Loïc Mathieu
183e001e0b feat(core): workerGroup fallback
Fixes #2041
2024-11-06 17:01:24 +01:00
Loïc Mathieu
f87ba547fd fix(ui): error widget must be present only when there is an error 2024-11-06 17:01:24 +01:00
Barthélémy Ledoux
36e4b5d98a fix(ui): add optional chaining to router getRoutes in LeftMenu component (#5821)
Co-authored-by: Bart Ledoux <bledoux@kestra.io>
2024-11-06 16:25:57 +01:00
Barthélémy Ledoux
02e986ba54 feat(styles): add custom styles for plain tags in element-plus (#5804)
* feat(styles): add custom styles for plain tags in element-plus

* fix light mode

* typo about body -> html dark

---------

Co-authored-by: Bart Ledoux <bledoux@kestra.io>
2024-11-06 14:19:05 +01:00
Anna Geller
9b6b76e43e docs: clarify SLA and examples (#5813) 2024-11-06 13:31:33 +01:00
Miloš Paunović
b1d48df2c4 chore(ui): making sure we have proper coloring of the charts (#5811) 2024-11-06 12:14:28 +01:00
Manoj Balaraj
26557a5d5c fix(ui): introduce preview/download buttons for file inputs on execution overview (#5778) 2024-11-06 11:24:47 +01:00
msravikrishna
56bc4f749e chore(ui): improve ion file content preview (#5781) 2024-11-06 11:13:21 +01:00
GitHub Action
6cb06044f3 chore(translations): auto generate values for languages other than english 2024-11-06 10:01:49 +00:00
Piyush Bhaskar
0f97d721ac chore(ui): amend padding on multiple executions delete confirmation (#5777) 2024-11-06 11:01:04 +01:00
Loïc Mathieu
4259466b0f feat(core): make EncryptedString looks like a String
An EncryptedString is an implementation detail of a string encrypted. It is only used on outputs and will be automatically decrypted.
To hide this implementation detail, we replace it with String in the JSON Schema.
Fixes #5527
2024-11-06 09:53:28 +01:00
Miloš Paunović
4cda597bcd chore(deps): regular dependency update (#5802) 2024-11-06 08:50:35 +01:00
YannC
b79b1cb422 fix(core): Namespace file changes for git tasks (#5784) 2024-11-05 19:20:49 +01:00
Will Russell
681466c7f6 fix: tutorial-flows -> tutorialFlows 2024-11-05 17:15:02 +00:00
Loïc Mathieu
453fbc5eed feat: add starred pages (#5761) (#5772)
* feat: add starred pages (#5761)

* store page title and breadcrumb in vuex

* refactor leftmenu with composition API

* last fixes

* extract menu in a composable for inheritance replacement

* feat: add starred pages (no dashboard)

* keep "generateMenu" because of hack

* add comment about what function is expected

* cleanup and style

* fix starring when no breadcrumbs

* chore(translations): auto generate values for languages other than english

* add hover message to get full title

* remove extra class that was not used

---------

Co-authored-by: Bart Ledoux <bledoux@kestra.io>
Co-authored-by: GitHub Action <actions@github.com>

* chore(translations): auto generate values for languages other than english

* move sidebar out of leftmenu

* remove composable

* fix build

* silence eslint

* remove jank when hovering collapsed left menu

* adjust position and width of arrow

* rearchitecture of the feature with bookmarkLink as a component

* make dashboard starrable

* remove not-starrable since not used anymore

---------

Co-authored-by: Barthélémy Ledoux <ledouxb@me.com>
Co-authored-by: Bart Ledoux <bledoux@kestra.io>
Co-authored-by: GitHub Action <actions@github.com>
2024-11-05 16:05:28 +01:00
GitHub Action
43369ac370 chore(translations): auto generate values for languages other than english 2024-11-05 14:26:39 +01:00
Loïc Mathieu
9d5501c5fd feat(*): Unqueue queued execution
Part-of: #4260
2024-11-05 14:26:39 +01:00
Loïc Mathieu
f6dbe4f033 chore(webserver): refactor *ByQuery methods 2024-11-05 14:26:39 +01:00
Will Russell
dcc23b9c08 fix: config to camelCase 2024-11-05 10:27:48 +00:00
GitHub Action
b86cc2ecf5 chore(translations): auto generate values for languages other than english 2024-11-05 08:35:16 +00:00
MilosPaunovic
b137ab234c chore(ui): add missing translation key 2024-11-05 09:34:41 +01:00
Akash Verma
d1c1ed9765 chore(ui): amend alignment of logs on executions page(#5774) 2024-11-05 08:18:12 +01:00
YannC
2bb08003cb fix(ui): encode filename when downloading it (#5760)
close #5589
2024-11-04 19:21:59 +01:00
YannC
e1cf8d8d87 fix(core): Windows path issues (#5763) 2024-11-04 18:27:51 +01:00
Loïc Mathieu
f2620bc8d6 Revert "feat: add starred pages (#5761)"
This reverts commit 8c83df51e4.
2024-11-04 17:18:39 +01:00
Loïc Mathieu
a6cffa77a4 feat(ui): support "true" or true as the value of the readOnly label 2024-11-04 15:53:36 +01:00
Loïc Mathieu
7fa9d86c5e feat(core): don't reset multiple conditions on successful evaluation
Fixes #325
2024-11-04 15:12:53 +01:00
Loïc Mathieu
cf26cc321f fix(core): don't call MultipleConditionStorage.getOrCreate() twice 2024-11-04 15:12:53 +01:00
Loïc Mathieu
7ae080c31a feat(webserver): document that the taskrun endpont is only available with Elasticsearch
Fixes https://github.com/kestra-io/kestra-ee/issues/2067
2024-11-04 15:12:29 +01:00
GitHub Action
76c963f24f chore(translations): auto generate values for languages other than english 2024-11-04 13:40:13 +00:00
Barthélémy Ledoux
8c83df51e4 feat: add starred pages (#5761)
* store page title and breadcrumb in vuex

* refactor leftmenu with composition API

* last fixes

* extract menu in a composable for inheritance replacement

* feat: add starred pages (no dashboard)

* keep "generateMenu" because of hack

* add comment about what function is expected

* cleanup and style

* fix starring when no breadcrumbs

* chore(translations): auto generate values for languages other than english

* add hover message to get full title

* remove extra class that was not used

---------

Co-authored-by: Bart Ledoux <bledoux@kestra.io>
Co-authored-by: GitHub Action <actions@github.com>
2024-11-04 14:39:43 +01:00
dependabot[bot]
f6fdb65674 chore(deps): bump kafkaVersion from 3.7.1 to 3.8.1
Bumps `kafkaVersion` from 3.7.1 to 3.8.1.

Updates `org.apache.kafka:kafka-clients` from 3.7.1 to 3.8.1

Updates `org.apache.kafka:kafka-streams` from 3.7.1 to 3.8.1

Updates `org.apache.kafka:kafka-streams-test-utils` from 3.7.1 to 3.8.1

---
updated-dependencies:
- dependency-name: org.apache.kafka:kafka-clients
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.kafka:kafka-streams
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.kafka:kafka-streams-test-utils
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 13:16:58 +01:00
Loïc Mathieu
e8ddd81d7e feat(core): Flow Trigger SLA 2024-11-04 12:47:13 +01:00
Loïc Mathieu
85aada820e fix(core): replay an execution with a dynamic task
Fixes #5284
2024-11-04 11:49:43 +01:00
Miloš Paunović
a5d913ffb4 chore(ui): amend typo 2024-11-04 11:49:21 +01:00
YannC
9895f78a5c fix(ui): lint error 2024-11-04 10:49:27 +01:00
Loïc Mathieu
e7afddefc6 fix(core): redo the If fix 2024-11-04 10:47:27 +01:00
dependabot[bot]
7b132a9581 chore(deps): bump bouncycastleVersion from 1.78.1 to 1.79
Bumps `bouncycastleVersion` from 1.78.1 to 1.79.

Updates `org.bouncycastle:bcprov-jdk18on` from 1.78.1 to 1.79
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.bouncycastle:bcpg-jdk18on` from 1.78.1 to 1.79
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

---
updated-dependencies:
- dependency-name: org.bouncycastle:bcprov-jdk18on
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.bouncycastle:bcpg-jdk18on
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 10:27:01 +01:00
dependabot[bot]
7291ddec0c chore(deps): bump com.gradleup.shadow from 8.3.3 to 8.3.5
Bumps [com.gradleup.shadow](https://github.com/GradleUp/shadow) from 8.3.3 to 8.3.5.
- [Release notes](https://github.com/GradleUp/shadow/releases)
- [Commits](https://github.com/GradleUp/shadow/compare/8.3.3...8.3.5)

---
updated-dependencies:
- dependency-name: com.gradleup.shadow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 10:26:39 +01:00
Miloš Paunović
0b327ef42a chore(test): exposing function to clear the editor during automated tests 2024-11-04 10:24:31 +01:00
Akash Verma
c1eb434234 chore(ui): avoid overflow on bulk select table actions (#5742) 2024-11-04 09:39:23 +01:00
Malay Dewangan
c9f5817d27 feat(core): support flow label values to be of data types different than string (#5726)
* feat: support flow label values to be of data types different than strings

* test: add tests

* fix: fix runtime label test

* fix: fix runtime label test
2024-11-04 09:38:37 +01:00
dependabot[bot]
b7de16a264 chore(deps): bump org.owasp.dependencycheck from 11.0.0 to 11.1.0
Bumps org.owasp.dependencycheck from 11.0.0 to 11.1.0.

---
updated-dependencies:
- dependency-name: org.owasp.dependencycheck
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 09:28:57 +01:00
dependabot[bot]
547525ab18 chore(deps): bump mikepenz/action-junit-report from 4 to 5
Bumps [mikepenz/action-junit-report](https://github.com/mikepenz/action-junit-report) from 4 to 5.
- [Release notes](https://github.com/mikepenz/action-junit-report/releases)
- [Commits](https://github.com/mikepenz/action-junit-report/compare/v4...v5)

---
updated-dependencies:
- dependency-name: mikepenz/action-junit-report
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 09:28:16 +01:00
dependabot[bot]
7cfcc91dac chore(deps): bump com.fasterxml.jackson:jackson-bom
Bumps [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) from 2.18.0 to 2.18.1.
- [Commits](https://github.com/FasterXML/jackson-bom/compare/jackson-bom-2.18.0...jackson-bom-2.18.1)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson:jackson-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 09:28:06 +01:00
Manoj Balaraj
46b6f23ccd feat(ui): expand the first output by default (#5747) 2024-11-04 09:27:55 +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
GitHub Action
93ff17a0ca chore(translations): auto generate values for languages other than english 2024-11-03 11:24:43 +00:00
Anna Geller
b892c7c8ee docs: better handle trigger.XYZ resolution when hitting Execute button (#5749)
* docs: better handle trigger.XYZ resolution when hitting Execute button

* chore(translations): auto generate values for languages other than english

---------

Co-authored-by: GitHub Action <actions@github.com>
2024-11-03 12:24:13 +01:00
Anna Geller
824dc0b513 docs: small README fixes 2024-11-03 12:00:32 +01:00
Ludovic DEHON
e32f492e31 fix(ui): capture pageleave in posthog 2024-11-01 23:47:35 +01:00
Anna Geller
b3ab60772d fix: clean up issue templates 2024-11-01 16:36:13 +01:00
Anna Geller
3fad62ed74 fix: bug issue template 2024-11-01 16:32:19 +01:00
Loïc Mathieu
0de62200a4 fix(core): FetchTest is flaky as logs are indexed async 2024-10-31 16:20:30 +01:00
Loïc Mathieu
1953aa90b2 fix(core): save the If evaluation condition in the output
This avoids re-evaluation on each child task run which can be an issue if the taskrun modify something that is part of the condition.

Fixes #5437
2024-10-31 16:20:30 +01:00
Malay Dewangan
66698d580d fix: Ensure strict typing for input defaults to prevent runtime errors (#5604)
* fix: Ensure strict typing for input defaults to prevent runtime errors

* fix: Ensure strict typing for other input defaults to prevent runtime errors

* test: add unit tests

* fix: update test cases
2024-10-31 14:33:32 +01:00
Vivek Gangwani
b85d7f0624 chore(ui): improve stack trace output on light mode (#5738) 2024-10-31 14:23:11 +01:00
Mradul Vishwakarma
2946db29d0 chore(ui): improve empty states (#5739) 2024-10-31 14:17:28 +01:00
Miloš Paunović
512c20d22d chore(deps): regular dependency update (#5732) 2024-10-31 09:47:45 +01:00
Mradul Vishwakarma
73051f5efd chore(ui): amend execute button overflow (#5690) 2024-10-31 09:36:24 +01:00
Miloš Paunović
98a1f916fb chore(test): add data-test-id attribute to inputs form 2024-10-31 09:03:33 +01:00
brian.mulier
50f539e91f fix(ui): prevent duplicate input validations + avoid error spamming + send boolean inputs properly
closes #5731
2024-10-30 21:13:24 +01:00
Loïc Mathieu
6103b48aa2 feat(core): render properties via the run context 2024-10-30 17:31:39 +01:00
brian.mulier
e969425dba fix: better log display and combine temporal & taskruns view log navigation handling 2024-10-30 13:32:53 +01:00
Loïc Mathieu
730b2cac39 feat(core): MultipleConditon deadline
Fixes #5706
2024-10-30 12:23:58 +01:00
Loïc Mathieu
18cf3f4aa4 feat(core): new ExecutionFilters condition 2024-10-30 12:16:37 +01:00
Loïc Mathieu
4550aa9b15 feat(*): change system label prefix to use a dot
Fixes #5708
2024-10-30 11:53:26 +01:00
brian.mulier
9d809e8b53 fix: gantt view was no longer fetching logs 2024-10-30 11:05:12 +01:00
Ganesh Kumar C
80b1024942 fix(ui): amend chart coloring on theme changes (#5709) 2024-10-29 18:29:17 +01:00
Sachin
8445857204 fix(ui): log navigation is now working in temporal view (#5685)
closes #5215
2024-10-29 14:43:05 +01:00
Barthélémy Ledoux
880ede0eae feat: update design of blueprint header (#5652)
* add nvmrc to fix version of node

* update layout of blueprints

* adjust css

* support light mode

* fix build process

* chore(translations): auto generate values for languages other than english

* restore the translation files

* chore(translations): auto generate values for languages other than english

* fix layout of tabs when using type card

* fix gradients of icons

* chore(translations): auto generate values for languages other than english

* adjust spaces

* adjust width on oss

---------

Co-authored-by: Bart Ledoux <bledoux@kestra.io>
Co-authored-by: GitHub Action <actions@github.com>
2024-10-29 14:27:24 +01:00
Vivek Gangwani
a354a69780 feat(ui): added error message and stacktrace to the execution overview (#5703) 2024-10-29 11:58:42 +01:00
dependabot[bot]
becaf149f6 chore(deps): bump flyingSaucerVersion from 9.9.4 to 9.10.2
Bumps `flyingSaucerVersion` from 9.9.4 to 9.10.2.

Updates `org.xhtmlrenderer:flying-saucer-core` from 9.9.4 to 9.10.2
- [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.9.4...v9.10.2)

Updates `org.xhtmlrenderer:flying-saucer-pdf` from 9.9.4 to 9.10.2
- [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.9.4...v9.10.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-29 10:34:38 +01:00
Loïc Mathieu
52dcc5f119 feat(core): new FlowFilters condition
Part-of: #1543
2024-10-29 09:58:28 +01:00
yuri
df8606aa50 chore(build): make Gradle less noisy (#5700)
* Fix Idea-reported problems

* Minimize Gradle 9.0-related warnings

* Migrate Shadow plugin

The plugin ID `com.github.johnrengelman.shadow` is no longer maintained.
See: https://github.com/GradleUp/shadow/issues/908

* Make Shadow JAR-related task incremental
2024-10-29 09:47:46 +01:00
Loïc Mathieu
04b70d6845 feat: add OpenSearch plugin 2024-10-29 09:34:35 +01:00
Ludovic DEHON
b4f72ccf34 chore: remove useless files 2024-10-29 09:26:54 +01:00
Shivansh Sharma
6227a4c4b3 chore(ui): move save button on settings page to header (#5697) 2024-10-29 08:46:16 +01:00
GitHub Action
16e1757c94 chore(translations): auto generate values for languages other than english 2024-10-29 07:29:56 +00:00
Shivansh Sharma
8e33b27675 chore(ui): rename create button to create flow on main dashboard (#5689) 2024-10-29 08:29:33 +01:00
Ludovic DEHON
389ca0edfb chore(cicd): fix jacoco xml report path 2024-10-28 23:42:56 +01:00
Loïc Mathieu
557eb8185f fix(core): serialize duration as strings
Fixes #5615

Since Jackson 2.10, to serialize duration as string we need to switch WRITE_DURATIONS_AS_TIMESTAMPS off as it no longuer use WRITE_DATES_AS_TIMESTAMPS.
I tested and an old flow with a duration as timestamp is still readable so this is a backward compatible change.

But for the State duration, we still need to serialize it as a number as the database expect a number
2024-10-28 15:57:51 +01:00
Rudhra Bharathy G
c20e105c10 chore(ui): add option for editor theme to sync with system (#5669) 2024-10-28 13:53:57 +01:00
Prajyot
10374a114c chore(ui): show empty state if there are no flows (#5667) 2024-10-28 13:44:39 +01:00
Loïc Mathieu
eff39944d9 feat(core): add the system_correlationId label on all executions
Fixes #5644
2024-10-28 12:32:00 +01:00
Shivansh Sharma
de0d3bdff1 chore(ui): improve initial blueprints loading(#5683) 2024-10-28 12:04:55 +01:00
Shivansh Sharma
c17e09d9e6 chore(ui): improve initial topology loading (#5671) 2024-10-28 11:59:54 +01:00
GitHub Action
a73890447e chore(translations): auto generate values for languages other than english 2024-10-28 10:42:52 +00:00
Vivek Gangwani
caed09a496 feat(ui): create reusable empty state component (#5664) 2024-10-28 11:41:59 +01:00
Loïc Mathieu
62dbea3291 feat(core): simplify multiple condition window
Fixes #5656
2024-10-28 10:44:22 +01:00
dependabot[bot]
67aee4eddf chore(deps): bump org.owasp.dependencycheck from 10.0.4 to 11.0.0
Bumps org.owasp.dependencycheck from 10.0.4 to 11.0.0.

---
updated-dependencies:
- dependency-name: org.owasp.dependencycheck
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-28 09:39:30 +01:00
Loïc Mathieu
33d079fc62 feat(core): add methods to render properties into the run context 2024-10-28 09:26:45 +01:00
Ludovic DEHON
3ae4c48ec7 chore(cicd): use a non branch version for test artifact 2024-10-25 23:12:55 +02:00
Loïc Mathieu
791ced866b feat(core): refactor labels handling
Fixes https://github.com/kestra-io/kestra-ee/issues/2001
2024-10-25 14:20:21 +02:00
Loïc Mathieu
2b72a824e0 feat(core): system_readOnly label
Part-of: https://github.com/kestra-io/kestra-ee/issues/1867
2024-10-25 14:20:21 +02:00
Loïc Mathieu
da0091349c fix(jdbc): JdbcExecutor must be tolerant of flow topology issue 2024-10-25 14:20:21 +02:00
Malay Dewangan
f93f5c67a5 fix(core): return flow outputs in execution API response when wait=true (#5531) 2024-10-25 10:02:54 +02:00
brian.mulier
d7200e305f fix(deps): fixed apache httpclient5 version to avoid breaking docker 2024-10-24 16:42:40 +02:00
Loïc Mathieu
c14bf3c437 chore: use an NVD API Key for vulnerability check 2024-10-24 14:27:01 +02:00
MITHIN DEV
67dde3a9c3 chore(ui): improve task run label coloring (#5642) 2024-10-24 14:25:26 +02:00
Loïc Mathieu
805bdbe4da chore: use an NVD API Key for vulnerability check 2024-10-24 14:19:21 +02:00
GitHub Action
2c7804fa82 chore(translations): auto generate values for languages other than english 2024-10-24 11:53:20 +00:00
Ganesh Kumar C
56d849ff9b feat(ui): add global save button to settings page (#5602) 2024-10-24 13:52:50 +02:00
Mradul Vishwakarma
d33d6a7983 feat(ui): only show columns with data on triggers page (#5555) 2024-10-24 13:40:58 +02:00
Loïc Mathieu
e84b27267f fix(ui): don't show the info alert when no info
Fixes #5640
2024-10-24 13:08:41 +02:00
Miloš Paunović
f8f763b80e fix(ui): prevent validation errors showing if inputs are empty (#5648) 2024-10-24 12:27:07 +02:00
Loïc Mathieu
bd60c0621a feat(ui): add error.message and error.stackTrace to autocomplete
Fixes #5641
2024-10-24 10:49:42 +02:00
AbdurRahman2004
31f1e78a6b chore(ui): amend table link colors on main dashboard (#5638) 2024-10-23 23:11:19 +02:00
Abhishek Khairnar
339c4008bb fix: code block appearance (#5636) 2024-10-23 17:38:01 +02:00
Loïc Mathieu
336f89a799 feat(core): use an info block for alias documentation
Part-of: #4753
2024-10-23 17:16:56 +02:00
GitHub Action
91f176051a chore(translations): auto generate values for languages other than english 2024-10-23 14:00:41 +00:00
Loïc Mathieu
59141f3dbd feat(cli,core,webserver): move alias to informative notice (#5616)
* feat(*): move alias to informative notice

Part-of: #4753

* chore(translations): auto generate values for languages other than english

* Update ui/src/translations/en.json

Co-authored-by: Anna Geller <anna.m.geller@gmail.com>

* chore(translations): auto generate values for languages other than english

---------

Co-authored-by: GitHub Action <actions@github.com>
Co-authored-by: Anna Geller <anna.m.geller@gmail.com>
2024-10-23 16:00:20 +02:00
Sarthak Pandey
bff706c064 chore(ui): rename twitter to x in readme file (#5628) 2024-10-23 15:44:25 +02:00
Nikhil Sinha
b99d9d4526 feat(core): new sleep task
close #4879 
Co-authored-by: YannC <ycoornaert@kestra.io>
2024-10-23 15:36:41 +02:00
YannC
d3ccf4f5ac fix(core): fix FileWatcher loading flow from local file 2024-10-23 15:24:55 +02:00
Loïc Mathieu
9162353f2e chore: upgrade frontend-jdk17:8.0.1 to frontend-jdk21:9.0.0
Closes #5622
2024-10-23 14:30:23 +02:00
dependabot[bot]
67d3e2f20a chore(deps): bump org.opensearch.client:opensearch-java
Bumps [org.opensearch.client:opensearch-java](https://github.com/opensearch-project/opensearch-java) from 2.14.0 to 2.16.0.
- [Release notes](https://github.com/opensearch-project/opensearch-java/releases)
- [Changelog](https://github.com/opensearch-project/opensearch-java/blob/v2.16.0/CHANGELOG.md)
- [Commits](https://github.com/opensearch-project/opensearch-java/compare/v2.14.0...v2.16.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-23 14:30:06 +02:00
dependabot[bot]
fc62197f5a chore(deps): bump org.jooq:jooq from 3.19.13 to 3.19.14
Bumps org.jooq:jooq from 3.19.13 to 3.19.14.

---
updated-dependencies:
- dependency-name: org.jooq:jooq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-23 14:18:56 +02:00
Loïc Mathieu
c4614664bd feat(core,jdbc): add message protection metric 2024-10-23 14:04:03 +02:00
dependabot[bot]
9598eac6aa chore(deps): bump com.microsoft.playwright:playwright
Bumps [com.microsoft.playwright:playwright](https://github.com/microsoft/playwright-java) from 1.47.0 to 1.48.0.
- [Release notes](https://github.com/microsoft/playwright-java/releases)
- [Commits](https://github.com/microsoft/playwright-java/compare/v1.47.0...v1.48.0)

---
updated-dependencies:
- dependency-name: com.microsoft.playwright:playwright
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-23 13:08:29 +02:00
Abhishek Khairnar
a885a3200f chore(ui): add background color to every namespace on listing (#5603) 2024-10-23 12:56:28 +02:00
MilosPaunovic
3ac423c390 chore(deps): remove default reviewer from dependabot pull requests 2024-10-23 12:29:38 +02:00
Miloš Paunović
b4a7200cbf chore(deps): regular dependency update (#5618) 2024-10-23 12:26:15 +02:00
dependabot[bot]
2627cab68b chore(deps-dev): bump @typescript-eslint/parser in /ui (#5613)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.9.0 to 8.11.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.11.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-23 12:05:29 +02:00
dependabot[bot]
2622c0ad38 chore(deps): bump posthog-js from 1.169.0 to 1.174.3 in /ui (#5612)
Bumps [posthog-js](https://github.com/PostHog/posthog-js) from 1.169.0 to 1.174.3.
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/compare/v1.169.0...v1.174.3)

---
updated-dependencies:
- dependency-name: posthog-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-23 12:04:54 +02:00
dependabot[bot]
574f236837 chore(deps): bump element-plus from 2.8.5 to 2.8.6 in /ui (#5610)
Bumps [element-plus](https://github.com/element-plus/element-plus) from 2.8.5 to 2.8.6.
- [Release notes](https://github.com/element-plus/element-plus/releases)
- [Changelog](https://github.com/element-plus/element-plus/blob/dev/CHANGELOG.en-US.md)
- [Commits](https://github.com/element-plus/element-plus/compare/2.8.5...2.8.6)

---
updated-dependencies:
- dependency-name: element-plus
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-23 12:04:25 +02:00
dependabot[bot]
0197886a33 chore(deps-dev): bump eslint-plugin-vue from 9.29.0 to 9.29.1 in /ui (#5609)
Bumps [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) from 9.29.0 to 9.29.1.
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Commits](https://github.com/vuejs/eslint-plugin-vue/compare/v9.29.0...v9.29.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-vue
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-23 12:04:06 +02:00
dependabot[bot]
c958d50f6d chore(deps-dev): bump vite from 5.4.9 to 5.4.10 in /ui (#5608)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.9 to 5.4.10.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.10/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.10/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-23 12:03:38 +02:00
MilosPaunovic
75d45f80d2 feat(ui): filter only labels on execution list 2024-10-23 12:00:48 +02:00
MilosPaunovic
03da8f1764 feat(ui): filter execution list to ignore labels containing hidden prefixes 2024-10-23 12:00:48 +02:00
Loïc Mathieu
3924f56b70 feat(cli,webserver): hidden labels 2024-10-23 12:00:48 +02:00
MilosPaunovic
29d2a2bf85 chore(ui): use proper translation key 2024-10-23 11:18:02 +02:00
YannC
b399907016 fix(core): encode filename (#5593)
close #5589
2024-10-22 16:05:45 +02:00
Loïc Mathieu
30dab4f027 feat(core,webserver): correlation ID
Automatically set the 'system_correlationId' label to the parent execution id for all child, recursively.
This label is the only one that can be set once when starting an execution.
2024-10-22 15:35:13 +02:00
Loïc Mathieu
a136988946 feat(core): system labels
System labels are labels starting with 'system_', they cannot be set by a user but only Kestra itself.
2024-10-22 15:35:13 +02:00
brian.mulier
ffe7e6760e fix(webserver): remove useless call for flow auto loader 2024-10-22 13:38:21 +02:00
MilosPaunovic
345f799fc1 chore(ci): revert improvement of translation automation 2024-10-22 12:45:00 +02:00
Karthik D
45369bd7d9 chore(ci): improve translation automation (#5558) 2024-10-22 12:37:57 +02:00
Saipavan Lingamallu
8ebadb8559 chore(ui): improve secondary button hover state (#5565) 2024-10-22 12:14:57 +02:00
Abhishek Khairnar
25e86a1ad4 chore(ui): improve markdown table design (#5564) 2024-10-22 12:02:24 +02:00
Anna Geller
6ecf64d8bd fix: flow trigger docs (#5592)
* Update Flow.java

* Update Flow.java
2024-10-22 11:11:48 +02:00
MilosPaunovic
1c4aa3aaf4 chore(ui): align empty state handling for namespace execution chart 2024-10-22 10:36:21 +02:00
GitHub Action
3fa1b85fb0 chore(translations): auto generate values for languages other than english 2024-10-22 08:34:31 +00:00
Hisham Akmal
f45e934573 feat(ui): enhance empty state handling for tables and charts (#5557) 2024-10-22 10:34:10 +02:00
brian.mulier
dd48ad869c feat(webserver): call versioned endpoints for fetching blueprints 2024-10-21 17:55:49 +02:00
Loïc Mathieu
56ea2836f6 feat(core): add validation to the retry objects
Fixes #2840
2024-10-21 16:49:29 +02:00
Loïc Mathieu
004b7a0d8e fix(core): serialize default inputs
Fixes https://github.com/kestra-io/kestra-ee/issues/1887
2024-10-21 13:19:08 +02:00
YannC
7ec19fc77c fix(core): Recovered method in flow service for plugins (#5571) 2024-10-21 11:57:17 +02:00
Barthélémy Ledoux
5ada1a2752 build: fix dev for arm64 & prettier (#5574)
* build: fix dev env for arm64

* add global prettierignore

---------

Co-authored-by: Bart Ledoux <bledoux@kestra.io>
2024-10-21 11:20:40 +02:00
yuri1969
0e8fd14780 feat(docs): improve warningOnStdErr info clarity 2024-10-21 10:09:12 +02:00
yuri1969
bc9c43612a chore(core): remove trailing whitespace 2024-10-21 10:09:00 +02:00
dependabot[bot]
77529e7017 chore(deps): bump andrcuns/allure-publish-action from 2.7.1 to 2.8.0
Bumps [andrcuns/allure-publish-action](https://github.com/andrcuns/allure-publish-action) from 2.7.1 to 2.8.0.
- [Release notes](https://github.com/andrcuns/allure-publish-action/releases)
- [Commits](https://github.com/andrcuns/allure-publish-action/compare/v2.7.1...v2.8.0)

---
updated-dependencies:
- dependency-name: andrcuns/allure-publish-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-21 09:14:49 +02:00
dependabot[bot]
a6a5e43dc0 chore(deps): bump aquasecurity/trivy-action from 0.27.0 to 0.28.0
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.27.0 to 0.28.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.27.0...0.28.0)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-21 09:14:40 +02:00
Ahmad Midlaj B
d7075e5fba fix(ui): standardize font size in filter forms (#5553) 2024-10-21 08:58:26 +02:00
Ganesh Kumar C
7bfc1ebbe4 feat(ui): add sync with system theme option(#5554) 2024-10-21 08:35:59 +02:00
Rafael Floriano
1f850fb845 chore(ui): increase the width of the scrollbar for file explorer (#5552) 2024-10-21 08:15:33 +02:00
Sharad Kushwaha
4fbf1977be chore(ui): compress plugins page background header image (#5559) 2024-10-21 08:09:57 +02:00
Loïc Mathieu
48da2a746c fix(core): ResumeTest didn't pass anymore
As we cannot anymore pause in one branch and continue in the other
2024-10-18 16:50:24 +02:00
GitHub Action
416e2a1ffd chore(translations): auto generate values for languages other than english 2024-10-18 16:50:24 +02:00
Loïc Mathieu
7c665c76be feat(*): pause a running execution manually
Fixes #1937
2024-10-18 16:50:24 +02:00
brian.mulier
a438f9c0dc fix(tests): uppercases in metadata keys to make sure case is kept upon retrieval
part of kestra-io/storage-minio#95
2024-10-18 16:18:11 +02:00
Loïc Mathieu
7783846d25 fix(webserver): don't load the flow too early so a user with only EXECUTION permission can access execution files
Fixes https://github.com/kestra-io/kestra/issues/4958
2024-10-18 15:23:18 +02:00
brian.mulier
85c9892ff9 fix(ui): code blocks had wrong indent
closes #5504
2024-10-18 14:23:19 +02:00
Loïc Mathieu
0f6b501895 fix(core): decrypt additional render variables
Fixes https://github.com/kestra-io/plugin-kubernetes/issues/150
2024-10-18 14:22:29 +02:00
brian.mulier
2767eebcd0 fix(core): better error message in case of docker socket not found / not accessible
closes #5524
2024-10-18 13:59:00 +02:00
Loïc Mathieu
4044189e90 chore(core): fixup 2024-10-18 12:48:35 +02:00
Harsh4902
43e56f8943 fixes #5459 used HashMap instead of Map to accept null values.
Signed-off-by: Harsh4902 <harshparmar4902@gmail.com>
2024-10-18 12:48:35 +02:00
Harsh4902
4f79597ae9 fixes #5459 added small null check in io.kestra.plugin.core.http.Trigger.evaluate to check wether response body is empty or not
Signed-off-by: Harsh4902 <harshparmar4902@gmail.com>
2024-10-18 12:48:35 +02:00
Mradul Vishwakarma
80c6b653d8 chore(ui): auto scroll plugins list to the currently open one (#5536) 2024-10-18 11:29:27 +02:00
Miloš Paunović
96e5cbccb8 fix(ui): amend display of trigger inputs (#5542) 2024-10-18 11:24:02 +02:00
brian.mulier
51b78a963a fix(doc): CardLogos.vue had wrong URL
closes kestra-io/docs#1808
2024-10-18 10:26:36 +02:00
Hashim Khalifa
5a88745118 feat(core): implemented a new input type email with validation (#5513)
close #5477

Co-authored-by: YannC <ycoornaert@kestra.io>
2024-10-18 09:38:21 +02:00
YannC
cfe5024fda fix(core): correctly cast input to FLOAT for subflows (#5539)
close #5535
2024-10-18 09:29:02 +02:00
Mohammed Viqar Ahmed
e2f0b501f8 Renaming RUNNING to IN-PROGRESS within the ForEachItem execution #3453 (#5471)
close #3453
2024-10-18 09:09:06 +02:00
Miloš Paunović
5b1cb060a5 feat: change the view of trigger outputs (#5519) 2024-10-17 12:12:06 +02:00
Sai Mounika Peri
0b1536f5ab fix(ui): concurrency limit should be greater than zero (#5500)
close #4904
2024-10-17 11:47:03 +02:00
Varsha U N
7ddf8bd40e chore(ui): increase the in-app docs scrollbar width (#5473) 2024-10-17 09:39:38 +02:00
Purandhar Adigarla
17198798be chore(ui): add an extra space between icon and label inside a button (#5507)
Co-authored-by: PurandharAdigarla <purandharadigarla.com>
2024-10-17 09:00:19 +02:00
Florian Hussonnois
548e058cf8 fix(core): fix inputs for execution resume (#5494)
fix: #5494
2024-10-16 17:58:42 +02:00
Sachin
5acb6d044e fix(ui): hide pagination when no flows results data available (#5501)
Co-authored-by: Sachin KS <mac@apples-MacBook-Air.local>
2024-10-16 17:33:45 +02:00
GitHub Action
c7cb4172a3 chore(translations): auto generate values for languages other than english 2024-10-16 14:13:14 +00:00
Sachin
53f77f9ea5 chore(ui): update no logs message for flows source search
Co-authored-by: Sachin KS <mac@apples-MacBook-Air.local>
2024-10-16 16:12:50 +02:00
Loïc Mathieu
caf55800eb feat(core): add error message and stacktrace to the execution 2024-10-16 15:27:31 +02:00
Loïc Mathieu
074c0332a4 feat(core, ui): add the failed task id to the execution context
Part-of: https://github.com/kestra-io/kestra/issues/2000
2024-10-16 11:55:19 +02:00
Loïc Mathieu
c53a001f21 chore: publish Docker latest-full image
Fixes https://github.com/kestra-io/kestra/issues/5475
2024-10-16 10:40:12 +02:00
YannC
e3ae19a73d feat(core): add allowWarning property (#5472)
close #1926
2024-10-16 10:07:12 +02:00
Miloš Paunović
edcb07ad6e chore(deps): regular dependency update (#5488) 2024-10-16 08:29:24 +02:00
GitHub Action
0b2da83c8a chore(translations): auto generate values for languages other than english 2024-10-15 14:55:16 +00:00
YannC
cc25ca89ee feat(core): add condition property to Task to simplify conditional (#5331)
* feat(core): add condition property to Task to simplify conditional

* chore(translations): auto generate values for languages other than english

* chore(test): test + optimize code in executor

---------

Co-authored-by: GitHub Action <actions@github.com>
2024-10-15 16:54:53 +02:00
YannC
3f18e2c2dd feat(core): Modify constraint error message to replace taskId if exist (#5461)
* feat(core): Modify constraint error message to replace taskId if exist

* feat(): improved message and fix tests
2024-10-15 14:40:22 +02:00
yuri
80d8a7ff7d fix(github): fix template typo 2024-10-15 13:37:25 +02:00
Loïc Mathieu
4f9121eadb fix(core): imrove flaky test for skip execution 2024-10-15 11:44:03 +02:00
Loïc Mathieu
2c6e4df637 fix(core): add back the indexer in all cases 2024-10-15 11:44:03 +02:00
Loïc Mathieu
e9b4df4ffa fix(core): allow starting without an indexer as tests may not have one 2024-10-15 10:51:33 +02:00
Florian Hussonnois
c97a10b47b refactor(core): move to reactor for handling execution inputs (#5383)
related-to: #5383
2024-10-15 09:41:30 +02:00
YannC
a95d31739d fix(*): allow deletion of label by setting empty key or empty value (#5452) 2024-10-14 16:54:12 +02:00
YannC
a47e293ffe feat(core): cli command for update/create/delete single flow (#5410)
close #747
2024-10-14 14:07:38 +02:00
Shruti Mantri
46f8bef5cc feat(docs): add more HTTP Request task full plugin examples (#5429)
* feat(docs): add more HTTP Request task full plugin examples

* Update core/src/main/java/io/kestra/plugin/core/http/Request.java

---------

Co-authored-by: Will Russell <wrussell@kestra.io>
2024-10-14 11:09:35 +01:00
Loïc Mathieu
d78832f6bf feat(core): allow dynamic properties for Split and ForEachItem
Fixes #5442
2024-10-14 12:04:31 +02:00
Malay Dewangan
c667fbf748 fix(core): OutputValues to support arrays and complex objects (#5440) 2024-10-14 10:57:37 +02:00
Sachin
b5f00e69f5 chore(ui): use standard graphs across all pages (#5443) 2024-10-14 10:39:47 +02:00
MITHIN DEV
f297f9053a chore(ui): make bar chart more responsive on smaller screens (#5439)
Signed-off-by: mithindev <mithindev1@gmail.com>
2024-10-14 10:35:21 +02:00
yuri
b256722ac9 feat(ui): allow searching read-only inputs (#5427) 2024-10-14 10:26:50 +02:00
Sachin
ea68ac8e4e fix(ui): prevent tab title change on cancelling unsaved changes (#5435)
Co-authored-by: Sachin KS <mac@apples-MacBook-Air.local>
2024-10-14 10:24:45 +02:00
Sachin
bf8ef645fb fix(ui): resolve issue preventing flow creation (#5444)
Co-authored-by: Sachin KS <mac@apples-MacBook-Air.local>
2024-10-14 10:22:52 +02:00
Miloš Paunović
6384615ce5 chore(ui): add filters for flow logs (#5446) 2024-10-14 10:19:21 +02:00
Loïc Mathieu
5228ccf0f8 feat(core, jdbc): introduce a JDBC indexer 2024-10-14 09:28:41 +02:00
brian.mulier
876b36cf89 fix(tests): add a test to cover a put file from another storage file data
part of #4761
2024-10-11 18:43:23 +02:00
dependabot[bot]
e12ba7d606 chore(deps): bump net.thisptr:jackson-jq
Bumps [net.thisptr:jackson-jq](https://github.com/eiiches/jackson-jq) from 1.0.0-preview.20240207 to 1.0.1.
- [Release notes](https://github.com/eiiches/jackson-jq/releases)
- [Commits](https://github.com/eiiches/jackson-jq/compare/1.0.0-preview.20240207...1.0.1)

---
updated-dependencies:
- dependency-name: net.thisptr:jackson-jq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-11 16:35:06 +02:00
dependabot[bot]
3cc60f8fad chore(deps): bump aquasecurity/trivy-action from 0.24.0 to 0.27.0
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.24.0 to 0.27.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.24.0...0.27.0)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-11 16:12:08 +02:00
brian.mulier
18901dd41c feat(webserver): send system namespace value in config endpoint
part of #5396
2024-10-11 16:05:16 +02:00
GitHub Action
be87bef420 chore(translations): auto generate values for languages other than english 2024-10-11 13:46:53 +00:00
Will Russell
3f46f127a5 fix: move plus to correct position 2024-10-11 14:46:28 +01:00
Loïc Mathieu
4e514cb6cf fix(cli): incorrect JDBC conf 2024-10-11 14:30:28 +02:00
Miloš Paunović
7c81319b57 chore(ui): check if tab exists before setting dirty attribute on it (#5423) 2024-10-11 12:35:29 +02:00
GitHub Action
cfc8389c94 chore(translations): auto generate values for languages other than english 2024-10-11 09:43:04 +00:00
Mohammed Viqar Ahmed
90a4e97bdb feat(ui): add option to delete multiple kv pairs at once (#5413) 2024-10-11 11:42:35 +02:00
Jonnadula Chaitanya
b4b0253167 fix(ui): take default namespace into account on filters (#5406) 2024-10-11 11:31:33 +02:00
yuri
cbca503c7b chore(git): remove unintended submodule (#5414)
Removed Git submodule introdued by 4b5ca3013f.
2024-10-11 09:28:19 +02:00
YannC
e2daaf091d feat(core): create new command to allows update multiple flows whatever the namespace and update the FlowNamespaceUpdateCommand to add an option to override all namespaces (#5407) 2024-10-10 22:30:34 +02:00
Florian Hussonnois
78bd7d2283 chore(ore): update DeserializationException 2024-10-10 21:14:48 +02:00
Loïc Mathieu
9bb0dd37ab feat(core): ForEachItme avoid checking all split file for existance but list them 2024-10-10 17:36:17 +02:00
Florian Hussonnois
9fee966484 fix(core): fix do not upload file when validating inputs (#5399)
Fix: #5399
2024-10-10 14:20:26 +02:00
Miloš Paunović
daadfdb31a fix(ui): amend duplication the lables field on execution run (#5405) 2024-10-10 11:50:51 +02:00
Florian Hussonnois
eb1fc25a0d refactor(core): enhancement for service liveness
This commit contains some code refactoring to decouple
the ServiceLivenessManager and ServiceLivenessCoordinator
from repository.

Changes:
- add new ServiceLivenessStore interface
- add new ServiceLivenessUpdater interface
2024-10-10 10:54:07 +02:00
Miloš Paunović
dd7daf7cd5 chore(ui): filter out system namespace from namespace select filter (#5403) 2024-10-10 10:53:29 +02:00
Will Russell
35e6f21a48 fix: remove depreciated blueprint 2024-10-10 09:49:15 +01:00
Loïc Mathieu
99fa553c62 fix(core): incorrect duration metric computed on the Worker 2024-10-10 10:38:54 +02:00
riya mustare
59b63e6691 Pre-fill namespace from current filter (#5398) 2024-10-10 09:36:34 +02:00
Miloš Paunović
39fb9351c9 fix(ui): make sure disable toggle for triggers of next executions works every time (#5397) 2024-10-10 09:06:31 +02:00
YannC
693702a514 feat(core): Files changes watcher (#5382) 2024-10-10 08:31:22 +02:00
YannC
705b9af0ca feat(core): add new prop tasks to add current state of each existing taskRun in the runContext (#5386) 2024-10-10 08:31:04 +02:00
Mohammed Viqar Ahmed
44d581d5cf chore(docs): add section about javascript memory heap out error in contributing guide (#5392)
* CONTRIBUTING.md : addind node options variable

* chore(ui): improve wording of contribution guide

---------

Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-10-10 08:20:30 +02:00
Ahmad Midlaj B
fbf9d0070c fix(ui): make execution replay dialog description readable in dark theme (#5360)
* fix(ui): make text readable in dark theme

* chore(ui): revert package-lock.json file to initial state

---------

Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-10-09 21:44:46 +02:00
Miloš Paunović
f3a53c3c33 fix(ui): revert icon coloring tweak (#5393) 2024-10-09 19:02:37 +02:00
brian.mulier
15b1849974 fix(cli): lighter json schema on PluginDocCommand 2024-10-09 18:40:15 +02:00
brian.mulier
51a5cbeb37 fix(cli): ability to generate json schema when using PluginDocCommand 2024-10-09 18:08:56 +02:00
brian.mulier
a80ecbb99b fix(core): allow ExecutableTasks to be deserialized to allow graph deserialization 2024-10-09 17:31:43 +02:00
riya mustare
a814bd477b aligned relative filter (#5388) 2024-10-09 17:07:00 +02:00
Loïc Mathieu
ad93c23cd5 chore(core,jdbc): refactory flow topology to use flow with source 2024-10-09 16:40:03 +02:00
Miloš Paunović
4ee3883cdf fix(ui): amend dark mode icon color on plugins page (#5385) 2024-10-09 14:40:10 +02:00
Harshvardhan Parmar
7ba57df893 fix(ui): prevent overwriting the flow after save from topology (#5361)
Signed-off-by: Harsh4902 <harshparmar4902@gmail.com>
2024-10-09 10:49:16 +02:00
Florian Hussonnois
77f0f1f631 feat(webserver): add API to bulk-delete multiple KV pairs (#5359)
related-to: #5359
2024-10-09 10:20:31 +02:00
Miloš Paunović
f093ca88ff chore(deps): regular dependency update (#5375) 2024-10-09 09:10:50 +02:00
GitHub Action
fce7e5b1b8 chore(translations): auto generate values for languages other than english 2024-10-09 06:16:58 +00:00
Sai Mounika Peri
b695d2ae97 feat(ui): add a tooltip over flow triggers tab if empty (#5358)
Co-authored-by: Will Russell <will@wrussell.co.uk>
2024-10-09 08:14:21 +02:00
Loïc Mathieu
84d845cde4 chore(core, jdbc): refactor Worker with more immutability
Avoid mutating the WorkerTask inside the worker, thanks to that we can avoid serialization/deserialization steps for cleanup transient that can eat up more than 15% of CPU time in the Worker on contrived benchmarks.
2024-10-08 17:26:58 +02:00
YannC
64466103a4 feat(scheduler): add missing "skipLocked()" method so multiple scheduler can query triggers (#5347) 2024-10-08 16:44:05 +02:00
Miloš Paunović
afb3b934e2 chore(ui): make sidebar toggle more prominent (#5357) 2024-10-08 16:26:16 +02:00
Loïc Mathieu
012b9bf67c fix(jdbc): always include deleted the the logs and metrics queries
Even if not needed to be sure we use the correct index.
2024-10-08 13:11:27 +02:00
Loïc Mathieu
157a8063cc chore(core): avoid recreating an ObjectMapper in YamlFlowParser 2024-10-08 12:30:01 +02:00
YannC
2c212598b1 fix(scheduler): Do not remove next schedule date, and add trigger in schedulableNextDate at initialization (#5349)
close #3535
2024-10-08 10:51:20 +02:00
YannC
83f0fe3841 fix(core): missing retry in toFlow() and of() method in Flow class (#5343) 2024-10-08 10:18:40 +02:00
Sachin
e6161c3d11 feat(ui): add chart visibility toggle to flows and logs page (#5345)
Co-authored-by: Sachin KS <mac@apples-MacBook-Air.local>
2024-10-08 10:07:43 +02:00
Sachin
1c3d271dae fix(ui): amend translation keys usage (#5346)
Co-authored-by: Sachin KS <mac@apples-MacBook-Air.local>
2024-10-08 09:47:56 +02:00
GitHub Action
432e896b71 chore(translations): auto generate values for languages other than english 2024-10-08 07:24:30 +00:00
Sai Mounika Peri
b8e4325523 feat(ui): improve page shown when flow has no dependencies (#5340) 2024-10-08 09:23:46 +02:00
riya mustare
54ac92f789 chore(ui): reduced line height on input description (#5344) 2024-10-08 09:16:57 +02:00
Loïc Mathieu
9f686a28cc feat(core,jdbc,webserver): plugin default from Flow source
This would avoid having default values set in the Flow object (JSON) representation so allows to set default that override the object default value (like the one from Lombok `@Builder.Default`).

Fixes #2260
Fixes #2797
2024-10-08 09:04:57 +02:00
Florian Hussonnois
7ec254ae92 feat(core): move service usages 2024-10-07 16:31:05 +02:00
Anna Geller
b95f514a76 Update en.json (#5339)
* Update en.json

* chore(translations): auto generate values for languages other than english

---------

Co-authored-by: GitHub Action <actions@github.com>
2024-10-07 15:32:12 +02:00
Sachin
fae3f13760 fix(ui): add bottom border on debug outputs (#5334)
Co-authored-by: Sachin KS <mac@apples-MacBook-Air.local>
2024-10-07 13:05:24 +02:00
Sachin
663ae2030f fix(ui): prevent removal of empty fields in metadata editor (#5313)
Co-authored-by: Sachin KS <mac@apples-MacBook-Air.local>
2024-10-07 11:24:10 +02:00
Sachin
af311f6e07 fix(ui): amend flow disable from low code editor (#5315)
Co-authored-by: Sachin KS <mac@apples-MacBook-Air.local>
2024-10-07 11:19:53 +02:00
brian.mulier
59f10d452a fix(core): windows backslashes in paths were leading to wrong URI being created leading to error upon execution deletion 2024-10-07 11:15:05 +02:00
Sachin
4b2fbe8338 fix(ui): persisting flow metadata from low code editor (#5316)
Co-authored-by: Sachin KS <mac@apples-MacBook-Air.local>
2024-10-07 11:14:19 +02:00
YannC
98ef14c145 fix(core): set min & max size to flow id/namespace props (#5306) 2024-10-07 11:11:03 +02:00
Sachin
6a44177e88 feat(ui): added executions tab to single namespace (#5322)
Co-authored-by: Sachin KS <mac@apples-MacBook-Air.local>
2024-10-07 11:03:00 +02:00
Antoine Gauthier
744888526f chore(ui): update button conditions based on flow states (#5319) 2024-10-07 10:29:23 +02:00
Karthik D
4b5ca3013f docs: add Docker Hub documentation and image tags (#5304) 2024-10-07 10:08:17 +02:00
dependabot[bot]
615e1d6831 chore(deps): bump org.junit-pioneer:junit-pioneer from 2.2.0 to 2.3.0
Bumps [org.junit-pioneer:junit-pioneer](https://github.com/junit-pioneer/junit-pioneer) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/junit-pioneer/junit-pioneer/releases)
- [Commits](https://github.com/junit-pioneer/junit-pioneer/compare/v2.2.0...v2.3.0)

---
updated-dependencies:
- dependency-name: org.junit-pioneer:junit-pioneer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 10:07:45 +02:00
dependabot[bot]
6f22bba373 chore(deps): bump opensearchRestVersion from 2.17.0 to 2.17.1
Bumps `opensearchRestVersion` from 2.17.0 to 2.17.1.

Updates `org.opensearch.client:opensearch-rest-client` from 2.17.0 to 2.17.1
- [Release notes](https://github.com/opensearch-project/OpenSearch/releases)
- [Changelog](https://github.com/opensearch-project/OpenSearch/blob/main/CHANGELOG.md)
- [Commits](https://github.com/opensearch-project/OpenSearch/compare/2.17.0...2.17.1)

Updates `org.opensearch.client:opensearch-rest-high-level-client` from 2.17.0 to 2.17.1
- [Release notes](https://github.com/opensearch-project/OpenSearch/releases)
- [Changelog](https://github.com/opensearch-project/OpenSearch/blob/main/CHANGELOG.md)
- [Commits](https://github.com/opensearch-project/OpenSearch/compare/2.17.0...2.17.1)

---
updated-dependencies:
- dependency-name: org.opensearch.client:opensearch-rest-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.opensearch.client:opensearch-rest-high-level-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 09:47:33 +02:00
dependabot[bot]
da007ec1e8 chore(deps): bump nl.basjes.gitignore:gitignore-reader
Bumps [nl.basjes.gitignore:gitignore-reader](https://github.com/nielsbasjes/codeowners) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/nielsbasjes/codeowners/releases)
- [Changelog](https://github.com/nielsbasjes/codeowners/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nielsbasjes/codeowners/compare/v1.8.0...v1.9.0)

---
updated-dependencies:
- dependency-name: nl.basjes.gitignore:gitignore-reader
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 09:47:06 +02:00
dependabot[bot]
9cb3ac96b4 chore(deps): bump io.micronaut.platform:micronaut-platform
Bumps [io.micronaut.platform:micronaut-platform](https://github.com/micronaut-projects/micronaut-platform) from 4.6.2 to 4.6.3.
- [Release notes](https://github.com/micronaut-projects/micronaut-platform/releases)
- [Commits](https://github.com/micronaut-projects/micronaut-platform/compare/v4.6.2...v4.6.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 09:46:53 +02:00
Sai Mounika Peri
624dbb4d30 chore(ui): improve validation for kv store (#5321)
* Validation error of previous type should be cleared once the KV type is changed

* chore(ui): remove comment as code is self-explanatory

---------

Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-10-07 08:58:33 +02:00
brian.mulier
39c2698756 fix(core): path matcher for windows were not working 2024-10-04 19:40:39 +02:00
dependabot[bot]
98477ae9a6 chore(deps): bump org.jooq:jooq from 3.19.12 to 3.19.13
Bumps org.jooq:jooq from 3.19.12 to 3.19.13.

---
updated-dependencies:
- dependency-name: org.jooq:jooq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-04 17:06:03 +02:00
Loïc Mathieu
f92da780f7 feat(core): Plugin Default validation
Fixes https://github.com/kestra-io/kestra-ee/issues/39
2024-10-04 17:04:48 +02:00
GitHub Action
70de7a1d57 chore(translations): auto generate values for languages other than english 2024-10-04 13:40:24 +00:00
Miloš Paunović
a0dcf585fb chore(ui): improve the dashboard ratios calculation (#5311) 2024-10-04 15:39:43 +02:00
Sachin
3be6f1c320 chore(ui): use improved chart for flow executions (#5309)
* Replace the Flows Execution barchart with the barchart used on the main dashboard

* chore(ui): added bottom margin

---------

Co-authored-by: Sachin KS <mac@apples-MacBook-Air.local>
Co-authored-by: MilosPaunovic <paun992@hotmail.com>
2024-10-04 14:58:10 +02:00
Loïc Mathieu
584e7679a0 feat(core): switch to callable and don't use another thread to run the task 2024-10-04 14:34:58 +02:00
YannC
d982881bd9 fix(ui): filter by triggerId when loading logs from triggerFlow page (#5307) 2024-10-04 11:24:00 +02:00
Miloš Paunović
11cdf2369c fix(ui): prevent cases where dashboard totals shows nan instead of value (#5308) 2024-10-04 10:54:23 +02:00
Loïc Mathieu
2c8212c5e7 Revert "feat(core): switch to callable and don't use another thread to run the task"
This reverts commit b106458561.
2024-10-04 09:45:58 +02:00
Loïc Mathieu
3e656cd3cb fix(core): log with the final taskrun 2024-10-04 09:24:27 +02:00
Loïc Mathieu
b106458561 feat(core): switch to callable and don't use another thread to run the task 2024-10-04 09:24:27 +02:00
Miloš Paunović
d9dfbb8be4 fix(ui): amend end date on dashboard refresh (#5303) 2024-10-04 09:05:20 +02:00
Miloš Paunović
637e7ee160 chore(ui): re-calculate translation strings for left menu after language change (#5302) 2024-10-04 08:02:34 +02:00
Miloš Paunović
7b11b1c359 chore(ci): add check for translation keys matching (#5301) 2024-10-03 21:51:50 +02:00
Miloš Paunović
9325668ffd chore(ui): uniform translation keys across languages (#5298) 2024-10-03 20:03:51 +02:00
Florian Hussonnois
0d17a81899 refactor(core): use interface HasUID when possible
This commit adds a new HasUID interface for explicitly
managing classes that expose a unique identifier
2024-10-03 19:54:41 +02:00
YannC
f93013abc3 feat(core): Added namespaces property to the Count task (#5295) 2024-10-03 15:28:42 +02:00
Miloš Paunović
216a083404 fix(ui): amend logs scrolling for the last task (#5294) 2024-10-03 13:21:00 +02:00
Loïc Mathieu
d9ec3628fa fix(core): plugin default test 2024-10-03 11:07:11 +02:00
Loïc Mathieu
975ab4ba7f feat: allow to send output from a failed task
Fixes #4020
2024-10-03 10:29:40 +02:00
MilosPaunovic
c11d7a7cb8 chore(ci): exit workflow with success if no changes are present 2024-10-03 09:35:59 +02:00
Loïc Mathieu
23582c1057 fix(core): hide secret inputs in logs
Fixes #5259
2024-10-03 09:32:45 +02:00
MilosPaunovic
1d219d58b6 chore(ci): separate direct pull requests and the ones from forked repositories 2024-10-03 09:20:12 +02:00
MilosPaunovic
b2045b2364 chore(ci): expose paste to editor function globally for testing 2024-10-03 08:31:04 +02:00
yuri
a0f2547a1b fix(ui): enable keyboard shortcut to launch execution (#5288) 2024-10-03 08:16:20 +02:00
Vivek Gangwani
9d09786b2e fix (ui): Unable to unselect the currently chosen log level (#5287)
* Update root.scss to Fix Topology View for Light Mode

* Update root-dark.scss to unify Gantt and TOpology View Colors

* Added deselect button for Log Levels
2024-10-02 18:49:30 +02:00
Vivek Gangwani
8763455eca chore(ui): making the color scheme the same for gantt and topology(#5280) 2024-10-02 16:00:19 +02:00
brian.mulier
9dc32febf6 fix(ui): properly expand parent on route change in Docs tab 2024-10-02 14:44:26 +02:00
brian.mulier
7a8002bf18 fix(ui): no more blinking upon clicking on a parent page in docs
close #5270
2024-10-02 13:37:31 +02:00
MilosPaunovic
79bc504620 chore(ui): uniform using import class 2024-10-02 12:50:28 +02:00
Miloš Paunović
bd71b2f8ab chore(ci): generate translation values as a commit to existing pull request (#5278) 2024-10-02 12:37:22 +02:00
Ludovic DEHON
e7ea224e16 fix(ui): use same layout for plugin than doc
close #5218
2024-10-02 11:26:33 +02:00
Sai Mounika Peri
2a68d8e1e0 chore(ui): update parent from metadata editor (#5265) 2024-10-02 11:07:47 +02:00
AbdurRahman2004
0436dd72ae chore(ui): move the delete logs button to top (#5266)
* Move 'Delete logs' button to top right corner of navigation

---------

Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-10-02 10:31:39 +02:00
Florian Hussonnois
6629e7a49c fix(core): use tenant for resolving worker groups 2024-10-02 10:16:16 +02:00
Antoine Gauthier
ea39f0ce40 fix(ui): amend typos in french translations (#5272) 2024-10-02 09:53:58 +02:00
dependabot[bot]
495e72707c chore(deps): bump posthog-js from 1.165.1 to 1.166.1 in /ui (#5271)
Bumps [posthog-js](https://github.com/PostHog/posthog-js) from 1.165.1 to 1.166.1.
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/compare/v1.165.1...v1.166.1)

---
updated-dependencies:
- dependency-name: posthog-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-02 09:46:39 +02:00
Ludovic DEHON
d2c7b0e762 chore(cicd): keep the same allure report directory no matter the run 2024-10-01 23:54:13 +02:00
brian.mulier
255263a7fa fix(ci): add back datahub plugin to ci build 2024-10-01 22:30:58 +02:00
brian.mulier
f403d3efbd fix(ci): remove datahub plugin for now as it's not finished 2024-10-01 18:14:29 +02:00
github-actions[bot]
69a4ba25fb Auto-generate translations from en.json (#5264)
Co-authored-by: GitHub Action <actions@github.com>
2024-10-01 17:50:30 +02:00
Jonnadula Chaitanya
66159fab53 feat(ui): "see all" options to executions in progress #5200 (#5260)
* feat(ui): "see all" options to executions in progress

* fix(ui): polishing

---------

Co-authored-by: YannC <ycoornaert@kestra.io>
2024-10-01 17:48:41 +02:00
dependabot[bot]
cfbe36840d chore(deps): bump com.fasterxml.jackson:jackson-bom
Bumps [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) from 2.17.2 to 2.18.0.
- [Commits](https://github.com/FasterXML/jackson-bom/compare/jackson-bom-2.17.2...jackson-bom-2.18.0)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson:jackson-bom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-01 17:25:41 +02:00
dependabot[bot]
dedf6e5141 chore(deps): bump com.github.oshi:oshi-core from 6.6.4 to 6.6.5
Bumps [com.github.oshi:oshi-core](https://github.com/oshi/oshi) from 6.6.4 to 6.6.5.
- [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.6.4...oshi-parent-6.6.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-01 17:25:30 +02:00
dependabot[bot]
805353cc80 chore(deps): bump org.apache.logging.log4j:log4j-to-slf4j
Bumps org.apache.logging.log4j:log4j-to-slf4j from 2.24.0 to 2.24.1.

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-to-slf4j
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-01 17:25:18 +02:00
Loïc Mathieu
b5b66a375d fix(core): kv.GetKeys with no prefix 2024-10-01 17:25:05 +02:00
brian.mulier
9e9544550e fix(ci): restore github release on main workflow in case of skipped e2e 2024-10-01 15:29:00 +02:00
brian.mulier
2c674115fa fix(ci): publish maven even if E2E were skipped 2024-10-01 14:24:59 +02:00
brian.mulier
2e1d91bb12 fix(ci): no more docker build & E2E for tags build 2024-10-01 13:14:22 +02:00
Miloš Paunović
a9950c76fc chore(docs): add a link to filtered out good first issues (#5255) 2024-10-01 12:09:37 +02:00
Loïc Mathieu
0d64bf7c47 doc(cicd): improve contributing guidelines (#5256) 2024-10-01 12:09:16 +02:00
brian.mulier
cccc7df18f chore(version): update snapshot version 'v0.20.0-SNAPSHOT'. 2024-10-01 11:24:52 +02:00
brian.mulier
a56361f249 chore(version): update to version 'v0.19.0'. 2024-10-01 11:24:48 +02:00
brian.mulier
b250ff947e fix(ui): links' color were wrong in the doc when in a div 2024-10-01 11:20:21 +02:00
brian.mulier
1fbb0bf420 fix(ui): some links in doc were not working + enhanced light mode 2024-10-01 11:08:03 +02:00
Ludovic DEHON
15024cd799 chore(cicd): remove github discussions link 2024-10-01 07:25:38 +02:00
Anna Geller
679946be43 fix: README typo 2024-10-01 03:20:43 +02:00
YannC
4d46ebd364 fix(local-storage): Set windows path to linux path (#5248)
close #5247
2024-09-30 20:45:07 +02:00
Anna Geller
48676f4208 Update README.md 2024-09-30 16:01:41 +02:00
Anna Geller
a930277d84 Update README.md 2024-09-30 15:59:30 +02:00
Anna Geller
792e11ad4e Fix/readme (#5242)
* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md
2024-09-30 15:52:53 +02:00
Ludovic DEHON
1fa85daa65 fix(ui): missing icon on the doc 2024-09-30 15:49:22 +02:00
Miloš Paunović
ea4a3721ac fix(ui): prevent breaking of docs on certain pages (#5240) 2024-09-30 14:57:50 +02:00
Ludovic DEHON
9034876282 fix(ui): don't allow collapse of the doc since no layout for the collapse state 2024-09-30 14:01:06 +02:00
Ludovic DEHON
6289ec1d16 fix(ui): shiki layout failed on plugins page 2024-09-30 14:00:41 +02:00
Ludovic DEHON
9c4267ce25 fix(ui): top link to internal documentation 2024-09-30 13:44:33 +02:00
Ludovic DEHON
cb7409ddbb fix(ui): responsive documentation & title
close #5229
close #5183
2024-09-30 13:43:56 +02:00
Loïc Mathieu
5f62549cc0 fix(ui): audit logs should always be the last tab 2024-09-30 13:26:29 +02:00
Ludovic DEHON
c0538a86e1 fix(ui): move the docs menu position 2024-09-30 13:19:58 +02:00
Miloš Paunović
756bf59854 chore(ui): render flow description as markdown (#5236) 2024-09-30 13:12:39 +02:00
Miloš Paunović
a5e6d52496 chore(ui): revert shiki color scheme for dark mode (#5235) 2024-09-30 13:05:55 +02:00
YannC
0eeaba3b0d fix(ui): issue in docs compnent (#5230)
close #5224
2024-09-30 12:36:22 +02:00
Miloš Paunović
5faccd9783 fix(ui): avoid showing errors until execute button is clicked (#5232) 2024-09-30 12:13:58 +02:00
Loïc Mathieu
7090c9e520 fix(webserver): removing the purge flow from the autoloader 2024-09-30 11:52:32 +02:00
Loïc Mathieu
afc64c91f2 fix(webserver): add the system ns if not existing 2024-09-30 11:52:32 +02:00
Ludovic DEHON
cb8470e5ef fix(ui): avoid blinking for level log navigation 2024-09-30 11:48:36 +02:00
Ludovic DEHON
071be47994 fix(ui): missing breadcrumb on plugin page 2024-09-30 11:48:02 +02:00
YannC
96b8e9db94 fix(ui): executions component issue (#5213) 2024-09-30 10:33:33 +02:00
yuri
dd880bd55f chore(ui): prevent using 'this' in vue templates (#5187) 2024-09-30 09:25:13 +02:00
Florian Hussonnois
65cde143cc feat(core): add support to validate worker groups 2024-09-30 09:24:01 +02:00
Miloš Paunović
8411780326 fix(ui): show welcome page when no executions and no not tutorial flows (#5212) 2024-09-30 09:23:28 +02:00
MilosPaunovic
f353d5b8e1 chore(ui): remove obsolete console statement 2024-09-30 08:45:48 +02:00
Miloš Paunović
b5fe02d930 fix(ui): welcome page visibility tweaks (#5211) 2024-09-30 08:42:29 +02:00
MilosPaunovic
6d51c3a8a1 chore(ui): amend linter build issue 2024-09-30 08:21:09 +02:00
Sai Mounika Peri
6eaf5eba00 Wrong Password Toast Improvement-Issue-4012 (#5206) 2024-09-30 08:53:17 +03:00
nicoallgood
57ca1e2169 fix(docs): Leverage utm_campaign instead of duplicating utm_content in EE tooltips (#4925)
* Leverage utm_campaign instead of duplicating utm_content

Current EE tooltips in the app link to:
`https://kestra.io/demo?utm_source=app&utm_content=ee-tooltip&utm_term=iam&utm_content=left-menu`
(notice the duplicated `utm_content`)

GA4 by default mainly supports `utm_source`, `utm_medium` & `utm_campaign`. Let's make sure we have `campaign` well populated.

* Populate utm_campaign in all UTMd urls
2024-09-29 22:46:09 +02:00
Karthik D
79ec73db1f Fix: Execution chart issue on the Executions page (#5195) 2024-09-29 21:36:50 +02:00
AhnYoungJin
99527965ba Add namespace KV JSON Type validation (#5190)
* feat: add namespace KV json validator

* feat: add namespace KV json validator

* feat: add namespace KV json validator

* feat: add namespace KV json validator
2024-09-29 21:36:34 +02:00
github-actions[bot]
b06f068b8c Auto-generate translations from en.json (#5197)
Co-authored-by: GitHub Action <actions@github.com>
2024-09-29 21:20:25 +02:00
k sidharth
797f34c88c Moved "Language" selection to "Localization" section next to Timezone and Date format settings #5193 (#5196)
Co-authored-by: ksidharth <keesari64@gmail.com>
2024-09-29 21:18:30 +02:00
brian.mulier
5a9816100e fix(ui): properly handle relative links in docs 2024-09-29 02:05:31 +02:00
brian.mulier
21d15e5a7e fix(ui): can scroll sidebar on Docs page 2024-09-27 18:48:49 +02:00
Loïc Mathieu
0e0c645691 fix(ui): add PAUSED to the list of concurrency slot
Also does some improvements
2024-09-27 17:55:34 +02:00
github-actions[bot]
306c72f8f3 Auto-generate translations from en.json (#5185)
Co-authored-by: GitHub Action <actions@github.com>
2024-09-27 17:34:48 +02:00
brian.mulier
56a7bd5242 feat(ui): light mode for in-app doc 2024-09-27 17:25:05 +02:00
Loïc Mathieu
87713473d9 fix(ui): set labels didn't work anymore
Fixes https://github.com/kestra-io/kestra/issues/5179
2024-09-27 16:37:02 +02:00
Miloš Paunović
e8e55be296 fix(ui): properly filter system executions when necessary (#5178) 2024-09-27 15:32:19 +02:00
Miloš Paunović
2582c434a7 fix(ui): filter executions per namespace chart on selected namespace (#5175) 2024-09-27 14:52:59 +02:00
Miloš Paunović
3e2478814a fix(ui): more tweaks to showing welcome page (#5174) 2024-09-27 14:26:31 +02:00
Miloš Paunović
a19776f645 fix(ui): amend showing welcome page in certain scenarios (#5172) 2024-09-27 13:47:47 +02:00
Loïc Mathieu
2cfe5fb9c2 fix(core,script,tests): various code improvements 2024-09-27 13:33:23 +02:00
Loïc Mathieu
5ee48b4718 fix(core): use shortcircuit || instead of | 2024-09-27 13:33:23 +02:00
Loïc Mathieu
3bb41e27ba fix(core,webserver): use more performant replace() instead of replaceAll() when possible 2024-09-27 13:33:23 +02:00
Loïc Mathieu
6bbddefb55 fix(core): allow executions of flow without FLOW permissions
Fixes https://github.com/kestra-io/kestra-ee/issues/1815
2024-09-27 13:32:50 +02:00
brian.mulier
9c9fbabbaf feat(ui-ee): search for content in docs 2024-09-27 12:52:31 +02:00
GitHub Action
2bfb0b6033 Auto-generate translations from en.json 2024-09-27 12:42:27 +02:00
Loïc Mathieu
8f2e2745d3 fix: hide the triggers widget in the dashboard when no permission
Triggers can only be listed if a user has the FLOW READ permission
2024-09-27 12:27:31 +02:00
YannC
2e26161605 fix(ui): update tree to display newly created folder when new file path is "folder/subfolder/file.txt" (#5166)
* fix(ui): avoid creation of duplicate namespace files

* fix(ui): update tree to display newly created folder when new file path is "folder/subfolder/file.txt"

close #4779
2024-09-27 11:35:19 +02:00
brian.mulier
e3055baa0a fix(ui): bump ui-libs to fix shiki lang import issueà 2024-09-27 11:19:39 +02:00
github-actions[bot]
5b3829d8eb Auto-generate translations from en.json (#5168)
Co-authored-by: GitHub Action <actions@github.com>
2024-09-27 11:15:07 +02:00
YannC
29fd354e31 fix(ui): avoid creation of duplicate namespace files (#5165) 2024-09-27 11:07:50 +02:00
Loïc Mathieu
d967f36a54 Revert "doc: replace HTML4-obsolete align attribute with CSS's text-align"
This reverts commit 639a8c3301.
2024-09-27 09:59:14 +02:00
hainenber
639a8c3301 doc: replace HTML4-obsolete align attribute with CSS's text-align 2024-09-27 09:58:37 +02:00
yuri
1f7446c100 fix(webserver): enforce pagination (#4995)
Added missing constraints at `page`/`size` query params.

Enforced pagination via `PageableUtils`.
2024-09-27 08:59:07 +02:00
Miloš Paunović
639fc200a6 fix(ui): amend spacing on dashboard (#5163) 2024-09-27 08:53:07 +02:00
Miloš Paunović
3b35855214 fix(ui): filter next scheduled per namespace (#5162) 2024-09-27 08:46:36 +02:00
MilosPaunovic
f2d562bbbf chore(ui): remove extra character from doughnut chart tooltip 2024-09-27 08:24:25 +02:00
Miloš Paunović
a669d9662d fix(ui): set proper chart color scheme default value (#5152) 2024-09-27 00:09:41 +02:00
github-actions[bot]
8adef1e0e0 Auto-generate translations from en.json (#5151)
Co-authored-by: GitHub Action <actions@github.com>
2024-09-26 23:55:36 +02:00
YannC
328b3b6c05 feat(ui): conurrency view in flow page (#5150)
close #4721
2024-09-26 23:52:32 +02:00
GitHub Action
4f92104736 Auto-generate translations from en.json 2024-09-26 22:12:12 +02:00
brian.mulier
8aff2fee5b feat(ui): introduce in-app doc
part of kestra-io/kestra-ee#1535
2024-09-26 22:11:18 +02:00
Loïc Mathieu
efa2723934 fix(cli): invalid static access via Child class
Static access must always be done on the class that contains the static method not a child
2024-09-26 20:15:21 +02:00
Loïc Mathieu
d6b0d4aedf fix(core): invalid usage of & instead of && 2024-09-26 17:55:36 +02:00
YannC
6b2aa3d3a6 fix(ui): show input errors (#5139)
close #5033
2024-09-26 16:28:04 +02:00
YannC
ae615ddb3f fix(webserver): use String instead of URI to accept space in path (#5091) 2024-09-26 16:27:52 +02:00
Loïc Mathieu
13a2e23eb0 feat(ui): Display input id as "id" in the execution overview page
Fixes #5047
2024-09-26 14:56:25 +02:00
YannC
85c2910baa fix(ui): show existing labels when editing label in execution page (#5133)
close #4249
2024-09-26 14:43:39 +02:00
Anna Geller
5e3e8d22d8 fix: allowInput -> allowCustomValue (#5138) 2024-09-26 14:21:11 +02:00
Miloš Paunović
9d1700caf1 chore(ui): amend news date text color (#5135) 2024-09-26 12:02:44 +02:00
Miloš Paunović
dfbca15c34 fix(ui): amend spacing on dashboard (#5132) 2024-09-26 11:35:07 +02:00
Miloš Paunović
9a20b2748b chore(ui): uniform dashboard related translation strings (#5131) 2024-09-26 11:26:51 +02:00
github-actions[bot]
e22276ddd8 chore(ui): auto generate translations for languages other than english (#5130) 2024-09-26 11:22:37 +02:00
Miloš Paunović
7b2011c7a4 chore(ui): rename default scheme to classic (#5129) 2024-09-26 11:21:01 +02:00
Miloš Paunović
9dc6362dca chore(ui): amend color of input desciptions (#5125) 2024-09-26 10:42:18 +02:00
YannC
e833e75884 fix(ui): Do not use value as key for scheduleDate datetime picker (#5123)
close kestra-io/kestra-ee#1782
2024-09-26 10:38:36 +02:00
YannC
70755f071a fix(ui): interpret html in markdown in logs (#5122)
close #5049
2024-09-26 10:38:29 +02:00
Miloš Paunović
4414b65d9d fix(ui): check for existance of a descripiton field (#5121) 2024-09-26 09:45:10 +02:00
Miloš Paunović
d765262566 chore(ui): regular dependency update (#5120) 2024-09-26 09:27:22 +02:00
Miloš Paunović
bc26e1e4f1 fix(ui): made trigger toggle on dashboard work properly (#5119) 2024-09-26 09:19:09 +02:00
YannC
96ce248c18 fix(ui): create flow button from namespace flows list (#5117)
close #4646
2024-09-25 21:21:53 +02:00
YannC
15700ef9d4 feat(*): implement impersonate inside UI (#5092) 2024-09-25 20:55:11 +02:00
YannC
f35e0a35d2 fix(webserver): use flowId parameter in trigger search method (#5113)
close #5112
2024-09-25 20:47:56 +02:00
Loïc Mathieu
49e80bb9fb fix(ui): allow to send binary namespace files
Fixes https://github.com/kestra-io/plugin-notifications/issues/149
2024-09-25 17:26:05 +02:00
YannC
48549ec4d3 fix(ui): Set default duration in duration picker (#5111) 2024-09-25 16:59:11 +02:00
Loïc Mathieu
cc55e82cb5 fix(core): property close the OutputStream in ScriptSerice
Property close the OutputStream in ScriptSerice.saveOnLocalStorage
2024-09-25 16:34:53 +02:00
github-actions[bot]
8bdea2457e Auto-generate translations from en.json (#5109)
Co-authored-by: GitHub Action <actions@github.com>
2024-09-25 16:02:54 +02:00
Florian Hussonnois
ccff7e874e fix(ui): dashboard not showing 0 for triggers/flows (#5106)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-09-25 16:00:40 +02:00
Miloš Paunović
47f2369e22 chore(ui): improve dashboard link handling (#5108) 2024-09-25 15:57:23 +02:00
YannC
451fa058ce fix(ui): confirm dialog box when deleting a single log (#5103) 2024-09-25 15:56:31 +02:00
Miloš Paunović
4b37460a8d fix(ui): amend splitting of date filter (#5105) 2024-09-25 15:51:51 +02:00
rybandrei2014
2e96612516 feat(webserver): Add REST methods for task and trigger validation that accept JSON body (#3785)
* added methods for task and trigger validation that accept JSON body

* added parsing of tasks and triggers before validation

* added tests for validateTask and validateTrigger endpoints

* add dev note

---------

Co-authored-by: Loïc Mathieu <loikeseke@gmail.com>
2024-09-25 15:41:44 +02:00
dependabot[bot]
cb94557c2b chore(deps): bump com.google.guava:guava from 33.3.0-jre to 33.3.1-jre
Bumps [com.google.guava:guava](https://github.com/google/guava) from 33.3.0-jre to 33.3.1-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-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-25 13:37:38 +02:00
dependabot[bot]
8759636318 chore(deps): bump org.jooq:jooq from 3.19.11 to 3.19.12
Bumps org.jooq:jooq from 3.19.11 to 3.19.12.

---
updated-dependencies:
- dependency-name: org.jooq:jooq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-25 13:37:28 +02:00
dependabot[bot]
916a64a844 chore(deps): bump nl.basjes.gitignore:gitignore-reader
Bumps [nl.basjes.gitignore:gitignore-reader](https://github.com/nielsbasjes/codeowners) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/nielsbasjes/codeowners/releases)
- [Changelog](https://github.com/nielsbasjes/codeowners/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nielsbasjes/codeowners/compare/v1.7.0...v1.8.0)

---
updated-dependencies:
- dependency-name: nl.basjes.gitignore:gitignore-reader
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-25 13:37:19 +02:00
Miloš Paunović
f9dec758a0 chore(ui): improve date labels on charts (#5097) 2024-09-25 13:18:57 +02:00
Miloš Paunović
2ee0e851f7 chore(ui): improve chart look and feel (#5096) 2024-09-25 12:47:10 +02:00
Loïc Mathieu
e0c2fe147b fix(core): fix the Flow task documentation 2024-09-25 12:19:23 +02:00
Loïc Mathieu
fa8411f8a5 fix(core): lower the task title size 2024-09-25 12:19:23 +02:00
Miloš Paunović
dccfe46fc8 chore(ui): add tooltips to doughnut chart (#5094) 2024-09-25 11:56:49 +02:00
Florian Hussonnois
85b8535985 fix(test): use micronaut MockBean in KVStoreServiceTest 2024-09-25 10:41:53 +02:00
Ikko Eltociear Ashimine
3b051e4bd9 fix(docs): update basic.md (#5087)
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-09-25 10:32:30 +02:00
Miloš Paunović
8c297dff37 chore(ui): uniform translation keys (#5088) 2024-09-25 09:51:33 +02:00
Miloš Paunović
6b0401f63d chore(ui): regular dependency update (#5082) 2024-09-25 09:18:58 +02:00
github-actions[bot]
cf43c4e02d chore(ui): auto generate translations for languages other than english (#5081) 2024-09-25 08:21:58 +02:00
Miloš Paunović
73e8270086 chore(ui): amend color scheme for dashboard charts (#5080) 2024-09-25 08:21:07 +02:00
github-actions[bot]
a6aaa03b93 chore(ui): auto generate translations for languages other than english (#5076) 2024-09-24 21:24:40 +02:00
Miloš Paunović
2112b046d9 feat(ui): create different dashboard for flow overview (#5075) 2024-09-24 21:21:53 +02:00
Florian Hussonnois
2af2bf734d fix(core): add validation for flow input dependencies (#5057)
Fix: #5057
2024-09-24 20:30:18 +02:00
Loïc Mathieu
6af505a418 feat(jdbc): emit async in a dedicated thread pool 2024-09-24 17:13:51 +02:00
Florian Hussonnois
2f2c002846 fix(core): fix input expressions must be resolved with dependencies (#5037) 2024-09-24 16:37:21 +02:00
Florian Hussonnois
abe0fc38cb fix(core): fix namespace not exist when accessing kv for parent namespace
related-to: #5037
2024-09-24 16:37:13 +02:00
Loïc Mathieu
f0f14dbf65 fix(core): don't erase the evaluation lock when resetting the exec
This causes realtime trigger to be restarted!
Fixes #1773
2024-09-24 16:23:10 +02:00
Loïc Mathieu
0ceb0d74df fix(ui): missing translation + wrong property name in the trigger list 2024-09-24 16:23:10 +02:00
Miloš Paunović
f8b7e6663b chore(ui): improve dashboard styling (#5070)
* chore(ui): amend card search icon color

* chore(ui): remove bar chart radius
2024-09-24 16:10:11 +02:00
YannC
59874e063e fix(core): Slash/backslash windows issue when listing all folders (#5065) 2024-09-24 16:00:39 +02:00
Loïc Mathieu
7aaefb89f1 feat(jdbc): make the JdbcQueueIndexer tolerant to flow topology fault
Fixes #4825
2024-09-24 15:56:44 +02:00
github-actions[bot]
dd08068edb chore(ui): auto generate translations for languages other than english (#5068) 2024-09-24 15:53:10 +02:00
Miloš Paunović
af2b9ef188 chore(ui): amend default chart color scheme (#5067) 2024-09-24 15:52:21 +02:00
Will Russell
dd6813af41 fix(docs): update youtube link 2024-09-24 14:46:04 +01:00
github-actions[bot]
f46565368d chore(ui): auto generate translations for languages other than english (#5059) 2024-09-24 15:20:35 +02:00
Miloš Paunović
fd5c843a3c feat(ui): add multiple color schemes for dashboard (#5058) 2024-09-24 15:17:12 +02:00
Miloš Paunović
780ef74a16 chore(ui): dashboard improvements (#5053)
* feat(ui): add variable thickness to doughnut chart arcs

* feat(ui): remove duration line shadow

* feat(ui): amend background color of tables

* feat(ui): amend grey color on tables

* feat(ui): introduce tooltips

* feat(ui): introduce ellipsis to table column values
2024-09-24 13:24:36 +02:00
brian.mulier
d329c68023 fix(core): Set task with type JSON was not working
closes #5041
2024-09-24 10:54:42 +02:00
YannC
8ebc486a51 fix(ui): adjust markdown renderer for logs (#5038)
close #4834
close kestra-io/kestra-ee#1699
2024-09-24 10:49:56 +02:00
Loïc Mathieu
39a4409260 feat(core): provide convenience methods to build a Data property 2024-09-24 10:27:41 +02:00
Anna Geller
29e641d644 Merge branch 'develop' of https://github.com/kestra-io/kestra into develop 2024-09-24 10:24:54 +02:00
Anna Geller
f08002b71f fix: KV example and docs 2024-09-24 10:24:47 +02:00
Ludovic DEHON
47b2300a88 chore(cicd): rockset shutdown 2024-09-24 10:22:17 +02:00
Florian Hussonnois
3df5a7ffa2 fix(core): properly handle select input with expression (#5035) (#5036)
Fix: #5035
2024-09-23 23:56:15 +02:00
Florian Hussonnois
242d2c4060 fix(core): enchance error handling for conditional inputs
This commit fixes UI for InputsForm component
2024-09-23 20:12:33 +02:00
Florian Hussonnois
493e2a9b65 chore(core): add schema description to inputs 2024-09-23 18:13:32 +02:00
Loïc Mathieu
2134e6b5fc feat(core, webserver): add an URL pointing to the UI to the create execution endpoint
Fixes #4256
2024-09-23 18:05:37 +02:00
Yoann Vernageau
7c7df26b0a feat(core): add label rendering when an execution is triggered (flow and schedule only) (#5025)
* feat: add label rendering when an execution is triggered (flow and schedule only)

* fix: handle IllegalVariableEvaluationException when rendering

* test: add unit tests

* fix: omit label if rendering fails
2024-09-23 18:05:08 +02:00
Miloš Paunović
7a6b61a66d fix(ui): pass flow id on creation only if exists (#5030) 2024-09-23 17:19:58 +02:00
github-actions[bot]
3ad08dfca6 chore(ui): auto generate translations for languages other than english (#5029) 2024-09-23 16:39:42 +02:00
Miloš Paunović
72f65af0a5 fix(ui): disable toggle for flows with disabled triggers (#5028) 2024-09-23 16:38:51 +02:00
Loïc Mathieu
7669669c0a feat(core, jdbc): allow to trigger flows from a transient state
Fixes #4276
2024-09-23 16:28:14 +02:00
Florian Hussonnois
f0dc85c87e fix(ui): use nextExecutionDate to sort triggers on dashboard (#5018) (#5027)
Fix: #5018

Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-09-23 16:27:43 +02:00
Ludovic DEHON
05e40ef8f3 chore(core): warning compilation 2024-09-23 15:44:55 +02:00
dependabot[bot]
5f9187a942 chore(deps): bump com.github.oshi:oshi-core from 6.6.3 to 6.6.4
Bumps [com.github.oshi:oshi-core](https://github.com/oshi/oshi) from 6.6.3 to 6.6.4.
- [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.6.3...oshi-parent-6.6.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 15:31:12 +02:00
dependabot[bot]
3ab654e594 chore(deps-dev): bump @shikijs/markdown-it from 1.17.6 to 1.18.0 in /ui (#4990)
Bumps [@shikijs/markdown-it](https://github.com/shikijs/shiki/tree/HEAD/packages/markdown-it) from 1.17.6 to 1.18.0.
- [Release notes](https://github.com/shikijs/shiki/releases)
- [Changelog](https://github.com/shikijs/shiki/blob/main/CHANGELOG.md)
- [Commits](https://github.com/shikijs/shiki/commits/v1.18.0/packages/markdown-it)

---
updated-dependencies:
- dependency-name: "@shikijs/markdown-it"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-09-23 15:23:49 +02:00
dependabot[bot]
a1dc5c9b3a chore(deps-dev): bump monaco-editor from 0.51.0 to 0.52.0 in /ui (#4985)
Bumps [monaco-editor](https://github.com/microsoft/monaco-editor) from 0.51.0 to 0.52.0.
- [Release notes](https://github.com/microsoft/monaco-editor/releases)
- [Changelog](https://github.com/microsoft/monaco-editor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/microsoft/monaco-editor/compare/v0.51.0...v0.52.0)

---
updated-dependencies:
- dependency-name: monaco-editor
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-09-23 15:22:55 +02:00
dependabot[bot]
91ba87ad47 chore(deps): bump @rollup/rollup-linux-x64-gnu in /ui (#4987)
Bumps [@rollup/rollup-linux-x64-gnu](https://github.com/rollup/rollup) from 4.21.3 to 4.22.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.21.3...v4.22.0)

---
updated-dependencies:
- dependency-name: "@rollup/rollup-linux-x64-gnu"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-09-23 15:21:43 +02:00
YannC
0234733d40 feat(ci): set PG14 as used docker image for validating compatibility (#5020) 2024-09-23 14:34:43 +02:00
Florian Hussonnois
f1380099d4 feat: add displayName to inputs (#4470)
Fix: #4470
2024-09-23 14:11:27 +02:00
YannC
82d2170fff fix(jdbc): compatible with Postgres 14 (#5019)
close #4825
2024-09-23 13:51:04 +02:00
dependabot[bot]
2bdd46b309 chore(deps): bump @vue-flow/core from 1.41.1 to 1.41.2 in /ui (#4983)
Bumps [@vue-flow/core](https://github.com/bcakmakoglu/vue-flow/tree/HEAD/packages/core) from 1.41.1 to 1.41.2.
- [Release notes](https://github.com/bcakmakoglu/vue-flow/releases)
- [Changelog](https://github.com/bcakmakoglu/vue-flow/blob/master/packages/core/CHANGELOG.md)
- [Commits](https://github.com/bcakmakoglu/vue-flow/commits/@vue-flow/core@1.41.2/packages/core)

---
updated-dependencies:
- dependency-name: "@vue-flow/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-09-23 12:59:58 +02:00
Ludovic DEHON
29733cd11d chore(core): replace deprecated RandomStringUtils methods 2024-09-23 12:21:27 +02:00
Miloš Paunović
c9c6af33a1 chore(ui): uniform the height of toggl table cell (#5023) 2024-09-23 12:17:07 +02:00
Miloš Paunović
01d404366f chore(ui): uniform graph colors on main dashboard (#5012) 2024-09-23 12:16:32 +02:00
dependabot[bot]
c4dcefcfe2 chore(deps): bump flyingSaucerVersion from 9.9.1 to 9.9.4 (#5001)
Bumps `flyingSaucerVersion` from 9.9.1 to 9.9.4.

Updates `org.xhtmlrenderer:flying-saucer-core` from 9.9.1 to 9.9.4
- [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.9.1...v9.9.4)

Updates `org.xhtmlrenderer:flying-saucer-pdf` from 9.9.1 to 9.9.4
- [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.9.1...v9.9.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-23 11:50:01 +02:00
Loïc Mathieu
827d17a26d chore(deps): upgrade Protobuf to 3.25.5 (#5014) 2024-09-23 11:47:50 +02:00
dependabot[bot]
f3299e516d chore(deps): bump vue from 3.5.5 to 3.5.8 in /ui (#5008)
Bumps [vue](https://github.com/vuejs/core) from 3.5.5 to 3.5.8.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.5...v3.5.8)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-23 11:29:29 +02:00
dependabot[bot]
a60c6f1a78 chore(deps): bump posthog-js from 1.161.3 to 1.162.0 in /ui (#4986)
Bumps [posthog-js](https://github.com/PostHog/posthog-js) from 1.161.3 to 1.162.0.
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/compare/v1.161.3...v1.162.0)

---
updated-dependencies:
- dependency-name: posthog-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-09-23 11:19:04 +02:00
Ludovic DEHON
2cfb788df0 fix(core): text block spaces removed (#5006)
* fix(core): text block spaces removed

* Update core/src/main/java/io/kestra/plugin/core/namespace/UploadFiles.java

---------

Co-authored-by: Will Russell <wrussell@kestra.io>
2024-09-23 10:18:04 +01:00
Florian Hussonnois
dc57546e05 feat(ui): add support for dependsOn on input (#3610) 2024-09-23 11:08:33 +02:00
Florian Hussonnois
b0fae8525f feat(core): add support for dependsOn on input (#3610)
This commits adds:
- support for dependsOn field in flow's inputs
- support for expression on input of type SELECT, MULTISELECT
- new REST API to validate inputs for an execution
- some code cleanup, and method renaming

Fix: #3610
2024-09-23 11:08:33 +02:00
Miloš Paunović
d8db1c5087 chore(ui): show decimal places for main numbers on dashboard (#5016) 2024-09-23 11:05:07 +02:00
dependabot[bot]
a8461b4f78 chore(deps-dev): bump @typescript-eslint/parser in /ui (#4984)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.5.0 to 8.6.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.6.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-09-23 11:02:13 +02:00
dependabot[bot]
9368a2b1ac chore(deps): bump opensearchRestVersion from 2.16.0 to 2.17.0
Bumps `opensearchRestVersion` from 2.16.0 to 2.17.0.

Updates `org.opensearch.client:opensearch-rest-client` from 2.16.0 to 2.17.0
- [Release notes](https://github.com/opensearch-project/OpenSearch/releases)
- [Changelog](https://github.com/opensearch-project/OpenSearch/blob/main/CHANGELOG-3.0.md)
- [Commits](https://github.com/opensearch-project/OpenSearch/compare/2.16.0...2.17.0)

Updates `org.opensearch.client:opensearch-rest-high-level-client` from 2.16.0 to 2.17.0
- [Release notes](https://github.com/opensearch-project/OpenSearch/releases)
- [Changelog](https://github.com/opensearch-project/OpenSearch/blob/main/CHANGELOG-3.0.md)
- [Commits](https://github.com/opensearch-project/OpenSearch/compare/2.16.0...2.17.0)

---
updated-dependencies:
- dependency-name: org.opensearch.client:opensearch-rest-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.opensearch.client:opensearch-rest-high-level-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 11:01:40 +02:00
Anna Geller
7cfd33459a Merge branch 'develop' of https://github.com/kestra-io/kestra into develop 2024-09-23 10:27:28 +02:00
Anna Geller
89b28a9992 fix: release + flow info 2024-09-23 10:27:21 +02:00
dependabot[bot]
5e7b044a11 chore(deps): bump commons-io:commons-io from 2.16.1 to 2.17.0
Bumps commons-io:commons-io from 2.16.1 to 2.17.0.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 10:13:09 +02:00
dependabot[bot]
c09069630f chore(deps): bump com.microsoft.playwright:playwright (#4932)
Bumps [com.microsoft.playwright:playwright](https://github.com/microsoft/playwright-java) from 1.46.0 to 1.47.0.
- [Release notes](https://github.com/microsoft/playwright-java/releases)
- [Commits](https://github.com/microsoft/playwright-java/compare/v1.46.0...v1.47.0)

---
updated-dependencies:
- dependency-name: com.microsoft.playwright:playwright
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-23 10:12:57 +02:00
Anna Geller
280af82eac Merge branch 'develop' of https://github.com/kestra-io/kestra into develop 2024-09-23 10:09:13 +02:00
Anna Geller
e09c2a969e fix: links in README 2024-09-23 10:09:03 +02:00
Miloš Paunović
c02b5e2a9e chore(ui): change and improve stats by namespace endpoint and parsing (#5010) 2024-09-23 10:08:30 +02:00
Ludovic DEHON
961dd59bc8 chore(deps): update gradle wrapper 2024-09-23 09:56:53 +02:00
dependabot[bot]
2be354bed8 chore(deps): bump nl.basjes.gitignore:gitignore-reader (#5005)
Bumps [nl.basjes.gitignore:gitignore-reader](https://github.com/nielsbasjes/codeowners) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/nielsbasjes/codeowners/releases)
- [Changelog](https://github.com/nielsbasjes/codeowners/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nielsbasjes/codeowners/compare/v1.6.0...v1.7.0)

---
updated-dependencies:
- dependency-name: nl.basjes.gitignore:gitignore-reader
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-23 09:47:48 +02:00
dependabot[bot]
c7b5e765eb chore(deps-dev): bump @vitejs/plugin-vue from 5.1.3 to 5.1.4 in /ui (#4988)
Bumps [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) from 5.1.3 to 5.1.4.
- [Release notes](https://github.com/vitejs/vite-plugin-vue/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-vue/blob/main/packages/plugin-vue/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-vue/commits/plugin-vue@5.1.4/packages/plugin-vue)

---
updated-dependencies:
- dependency-name: "@vitejs/plugin-vue"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-23 09:25:28 +02:00
Anna Geller
bc534d4056 fix: message 2024-09-22 12:50:33 +02:00
brian.mulier
f494a9b97f fix(ui): route was null in NamespaceDependenciesWrapper in production build
closes kestra-io/kestra-ee#1764
2024-09-20 18:03:18 +02:00
github-actions[bot]
732039748c chore(ui): auto generate translations for languages other than english (#4994) 2024-09-20 15:32:42 +02:00
Miloš Paunović
cef3f239f5 feat(ui): refreshing the main dashboard (#4959) 2024-09-20 15:29:01 +02:00
Loïc Mathieu
c636336ac0 fix(core): SchedulerScheduleOnDatesTest.recoverLASTMissing is flaky
Fixes #4971
2024-09-20 10:51:42 +02:00
YannC
ba076a0f84 fix(core): handle Map & List and keep their original format in EscapeChar and Replace filters (#4979)
close #4340
2024-09-20 10:27:50 +02:00
Ludovic DEHON
4f97c638de feat(cli): add version & commit on startup log 2024-09-20 08:24:17 +02:00
Loïc Mathieu
ac77f9c78b fix(core): SchedulerScheduleOnDatesTest.recoverNoneMissing flakiness
Fixes #4971
2024-09-19 10:19:30 +02:00
github-actions[bot]
6d10fb39c8 fix(ui): missing translation (#4968) 2024-09-19 07:40:10 +02:00
Loïc Mathieu
517d26edf4 feat(core); log the stacktrace in case of plugin scanning error 2024-09-18 15:41:29 +02:00
github-actions[bot]
3c6aadf866 Auto-generate translations from en.json (#4970)
Co-authored-by: GitHub Action <actions@github.com>
2024-09-18 14:39:52 +02:00
Loïc Mathieu
c0551e5ec0 fix(jdbc): retry flaky tests forEachItem 2024-09-18 14:36:24 +02:00
Loïc Mathieu
eaeadc6cf1 fix(core): always add the secret consumer
This causes a WARNING in the log for some cases, with the risk to have a secret leaked into the logs.

Fixes https://github.com/kestra-io/kestra-ee/issues/1741
2024-09-18 14:36:24 +02:00
YannC
134f7c3f25 feat(ui): warn usage of trigger variable in flow when executing (#4969) 2024-09-18 13:33:43 +02:00
yuri1969
9b9508b724 fix(core): make flow plugin defaults override global ones
This handles the OSS precedence.
2024-09-18 12:12:50 +02:00
YannC
5db357efac fix(webserver): missing params in file paths (#4966)
close #4958
2024-09-18 12:04:05 +02:00
Loïc Mathieu
eb0161b8eb feat(*): schedule an execution on a fixed date 2024-09-18 11:32:23 +02:00
dependabot[bot]
ebf968ff7a chore(deps-dev): bump vite from 5.4.5 to 5.4.6 in /ui (#4963)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.5 to 5.4.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-17 22:37:09 +02:00
YannC
31879976ee feat: implement refresh token (#4833)
close #4120
2024-09-17 13:18:01 +02:00
Miloš Paunović
f77872e974 chore(ui): improve labeling of namespaces in listing (#4957) 2024-09-17 12:39:21 +02:00
YannC
cc49dc4104 feat(ui): provide a real duration input that validate it and generate it (#4955)
close #3710
close #3742
close #3697
2024-09-17 08:47:21 +02:00
Mathieu Gabelle
ae9131dbca feat: add Meilisearch plugin 2024-09-17 08:00:28 +02:00
dependabot[bot]
2e8882e6f5 chore(deps): bump io.micronaut.platform:micronaut-platform (#4931)
Bumps [io.micronaut.platform:micronaut-platform](https://github.com/micronaut-projects/micronaut-platform) from 4.6.1 to 4.6.2.
- [Release notes](https://github.com/micronaut-projects/micronaut-platform/releases)
- [Commits](https://github.com/micronaut-projects/micronaut-platform/compare/v4.6.1...v4.6.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-16 11:20:21 +02:00
github-actions[bot]
71aeb56bde Auto-generate translations from en.json (#4953)
Co-authored-by: GitHub Action <actions@github.com>
2024-09-16 09:43:20 +02:00
YannC
36a149b540 fix(ui): more explicite copy url for webhook trigger 2024-09-16 09:36:14 +02:00
yuri
9fd2b87d45 fix(cli): make server <type> help work (#4910)
* fix(cli): make server <type> help work

Also fixed missing `--version/-V`.

* Add a basic test
2024-09-16 09:07:57 +02:00
github-actions[bot]
b19a9bc0f8 Auto-generate translations from en.json (#4952)
Co-authored-by: GitHub Action <actions@github.com>
2024-09-16 09:03:43 +02:00
Anna Geller
6f3f425c1c closes https://github.com/kestra-io/kestra/issues/4951 2024-09-16 08:58:10 +02:00
Miloš Paunović
c018d13029 fix(ui): allow sorting triggers table on flow name (#4949) 2024-09-14 22:03:32 +02:00
github-actions[bot]
82a53e8bd3 chore(ui): auto generate translations for languages other than english (#4919) 2024-09-14 21:54:00 +02:00
Miloš Paunović
d1d0f6f898 chore(ui): regular dependency update (#4948) 2024-09-14 21:26:49 +02:00
MilosPaunovic
926c946192 chore(deps): run dependabot checks for npm on friday, day after bugfix releases 2024-09-14 00:21:53 +02:00
Miloš Paunović
51625c1b56 fix(ui): make sure the talk to us dialogs do not stack on eachother (#4930) 2024-09-14 00:17:58 +02:00
Miloš Paunović
9f32264534 fix(ui): filter system flows' executions tab for system data (#4929) 2024-09-13 23:55:03 +02:00
Miloš Paunović
28593128a4 fix(ui): filter system namespace overview tab for system data (#4928) 2024-09-13 23:47:42 +02:00
Miloš Paunović
af9743252c chore(ui): remove blueprint browser tags on namespace section (#4926) 2024-09-13 23:33:46 +02:00
Loïc Mathieu
0d04553a91 feat(core,jdbc): changes needed for backup and restore 2024-09-13 15:28:31 +02:00
YannC
1c55256184 feat(ui): Added trigger detail on flow triggers page and make icon clickable for webhook to copy link (#4914)
close #3891
2024-09-13 12:38:44 +02:00
Miloš Paunović
f7c39fd05d chore(ui): add whitespace changes highlighting into diff editor (#4917) 2024-09-13 11:31:01 +02:00
MilosPaunovic
c184aa104d fix(ui): better handling of reflecting changes in code from topology 2024-09-13 10:18:05 +02:00
MilosPaunovic
37eb62d65e fix(ui): remove passing input prop to editor 2024-09-13 09:28:35 +02:00
Miloš Paunović
c130490bbd fix(ui): enabled editor content mouse scroll (#4912) 2024-09-13 09:17:22 +02:00
Anna Geller
bfef9baa68 Update basic.md 2024-09-12 19:37:43 +02:00
Anna Geller
e41496acaa docs: document https://github.com/kestra-io/kestra/pull/4757 2024-09-12 19:36:24 +02:00
YannC
8fca0fd599 fix(core): use subgroup package infos when available (#4908)
close kestra-io/docs#1456
2024-09-12 16:48:35 +02:00
Miloš Paunović
0c2c47600b fix(ui): don't duplicate read-only warning if existing (#4907) 2024-09-12 14:18:34 +02:00
brian.mulier
c80d734c29 fix(ui): properly filter logs by level on running executions 2024-09-12 11:54:53 +02:00
brian.mulier
713646a3e6 fix(ui): remove cursor from logs and uppercase log levels
closes #4896
2024-09-12 11:54:10 +02:00
Miloš Paunović
b2b5484320 chore(ui): bump ui-libs for colors fix to take place (#4903) 2024-09-12 11:15:47 +02:00
brian.mulier
98ee431d1f feat(webserver): Purge system flow created from blueprint at startup
closes #4878
2024-09-12 10:10:25 +02:00
Miloš Paunović
f6c9ed8296 fix(ui): reflect changes in code after making them in topology (#4901) 2024-09-12 09:32:54 +02:00
Loïc Mathieu
d40c5b35b8 fix(jdbc): forEachItem tests that are flaky with SQLServer 2024-09-11 20:06:36 +02:00
Loïc Mathieu
ab1f73f6a1 feat: handle QueueException on tests 2024-09-11 20:06:36 +02:00
Loïc Mathieu
7b73eed068 feat: Implements message protection for the JDBC Queue
Allow to set a limit in size for messages, when exceeded, the message will be refused by the Queue.
The JDBC executor and worker has been updated to handle a too big message and fail the execution.
2024-09-11 20:06:36 +02:00
Loïc Mathieu
1d7982406c feat(jdbc-postgres): improve JSONB performance 2024-09-11 17:50:46 +02:00
Anna Geller
9a4a8082c5 fix: https://github.com/kestra-io/kestra/issues/4895 2024-09-11 15:22:59 +02:00
Miloš Paunović
265c0011d5 fix(ui): revert casing of a variable in a translation file 2024-09-11 15:05:52 +02:00
Miloš Paunović
6bf6188452 fix(ui): amend trigger logs flickering (#4894) 2024-09-11 15:01:06 +02:00
github-actions[bot]
b07284892c Auto-generate translations from en.json (#4893)
Co-authored-by: GitHub Action <actions@github.com>
2024-09-11 14:52:41 +02:00
Anna Geller
302210da3c fix: https://github.com/kestra-io/kestra/issues/4873 2024-09-11 14:48:10 +02:00
Anna Geller
05b366e41f fix: https://github.com/kestra-io/kestra/issues/4827 2024-09-11 14:45:22 +02:00
Loïc Mathieu
4c3b493474 fix(core): handle array in outputs
Fixes #4769
2024-09-11 14:31:48 +02:00
Loïc Mathieu
a52c59ad49 fix(core, script): check default enable to not FALSE
As it's true via Lombok Builder.Default but if you set include or exclude without setting enabled: true, the deserializaiton will set it to null.

Fixes #4867
2024-09-11 13:57:16 +02:00
Loïc Mathieu
9662397d6c fix(jdbc): handle duplicate key on flow topology save
We usually always include `onDuplicateKeyUpdate()` when we save an object in the database, it was missing for batch insert of flow topologies.

Fixes #4825
2024-09-11 12:22:31 +02:00
Loïc Mathieu
f81aa77206 fix(cli): allow HTTP header up to 32k 2024-09-11 12:22:22 +02:00
Miloš Paunović
d1f4daa793 chore(ui): add proper axios parameters to send cookies (#4888) 2024-09-11 10:28:29 +02:00
Miloš Paunović
c60b2e72c5 fix(ui): improve scope filter select field (#4886) 2024-09-11 08:43:34 +02:00
YannC
7d942cc11c feat: allow select & multiple select to have custom input options with new property allowInput (#4884)
close #4696
2024-09-10 19:25:00 +02:00
github-actions[bot]
47d26b7a5a chore(ui): auto generate translations for languages other than english
Co-authored-by: GitHub Action <actions@github.com>
2024-09-10 15:12:55 +02:00
Miloš Paunović
c50b5303d8 feat(ui): improve scope multi-select behavior (#4880)
* feat(ui): improve scope multi-select behavior

* fix(webserver): scope parameter for flows & executions is now a list

---------

Co-authored-by: brian.mulier <bmmulier@hotmail.fr>
2024-09-10 15:09:54 +02:00
brian.mulier
af4fc147d5 fix(webserver): scope parameter for flows & executions is now a list 2024-09-10 14:34:43 +02:00
brian.mulier
cf065cc145 fix(core): handle subflow retries
closes #4823
2024-09-10 11:32:39 +02:00
Florian Hussonnois
1bb8ad928d feat(core): add new stats apis (#3822)
part-of: #3822
2024-09-10 11:10:06 +02:00
Miloš Paunović
79ad3d63de fix(ui): pass namespace parameter to file creation (#4876) 2024-09-10 11:06:44 +02:00
Miloš Paunović
7bcceffa48 feat(ui): double click on blueprint tag now resets filter (#4875) 2024-09-10 10:02:17 +02:00
Miloš Paunović
ee5c459a24 fix(ui): properly handle blueprints (#4874) 2024-09-10 09:53:42 +02:00
Loïc Mathieu
5871f63005 feat(core): allow building a property of a List 2024-09-10 09:26:49 +02:00
Ludovic DEHON
b890a7541e feat(core): reduce log level from service liveness 2024-09-09 23:06:41 +02:00
brian.mulier
0777655b4e fix(core): add flow revision to failed execution in case of trigger evaluation failure 2024-09-09 17:57:11 +02:00
brian.mulier
45624e7e41 fix(tests): system flow warnings removed 2024-09-09 17:12:00 +02:00
brian.mulier
4a8a68e7df fix(tests): tests were not compiling 2024-09-09 16:21:56 +02:00
brian.mulier
7f28c0ac6f fix(tests): remove warning for system namespace 2024-09-09 15:32:47 +02:00
brian.mulier
9400c1bacc feat(ui): introduce log navigation by level
closes #2045
2024-09-09 15:09:35 +02:00
brian.mulier
d1f374c7a7 fix(tests): tests weren't compiling 2024-09-09 15:01:34 +02:00
github-actions[bot]
1fc40f403d chore(ui): auto generate translations for languages other than english 2024-09-09 11:45:17 +02:00
Miloš Paunović
5c5d8bef97 feat(ui): add system flows logic (#4774) 2024-09-09 11:43:06 +02:00
Shruti Mantri
4e3dfac3fd fics(docs): standardise id naming - part 2 (#4832) 2024-09-09 10:45:07 +02:00
dependabot[bot]
2c3713ef3e chore(deps): bump org.apache.logging.log4j:log4j-to-slf4j
Bumps org.apache.logging.log4j:log4j-to-slf4j from 2.23.1 to 2.24.0.

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-to-slf4j
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 10:12:46 +02:00
Miloš Paunović
f64e6bc966 chore(ui): regular dependency update (#4860)
* chore(deps): move dependabot scan from sunday to monday morning

* chore(deps): regular dependecy update
2024-09-09 08:56:24 +02:00
Loïc Mathieu
6aa35a280d feat(core): allow initiating a property from a map and open the constructor for testing 2024-09-06 14:00:37 +02:00
Loïc Mathieu
90fbb5e450 fix(webserver): don't cpnsume inputs on errors
Consuming inputs on error seems to be the right things to do ... but it causes a memory leak and can totally hang the webserver pretty quickly with the error: java.lang.OutOfMemoryError: Cannot reserve 65562 bytes of direct buffer memory.

Removing the consumption of inputs seems to fix the issue.
2024-09-06 12:54:20 +02:00
Miloš Paunović
ed949a955b fix(ui): re-import date related component (#4839) 2024-09-06 12:31:44 +02:00
Shruti Mantri
bf2dffeebc fix(docs): standardise id naming - part 1 (#4829)
* fix(docs): standardise id naming - part 1

* Update core/src/main/java/io/kestra/plugin/core/trigger/Flow.java

---------

Co-authored-by: Will Russell <wrussell@kestra.io>
2024-09-06 10:06:45 +01:00
Loïc Mathieu
a996e5a42c feat(core): change deprecated notice in the doc
Fixes #4395
2024-09-05 18:37:12 +02:00
YannC
4ca5ad467f chore: upgrade micronaut platform dependencies to 4.6.1 (#4766) 2024-09-05 17:14:28 +02:00
Loïc Mathieu
d253284a1f chore: add Databug plugin 2024-09-05 09:53:03 +02:00
github-actions[bot]
e814893fd4 Auto-generate translations from en.json (#4824)
Co-authored-by: GitHub Action <actions@github.com>
2024-09-04 15:17:06 +02:00
Anna Geller
7d00063496 fix: naming of Execution States for consistency and clarity (#4821) 2024-09-04 15:05:29 +02:00
Loïc Mathieu
67e7b26019 fix(webserver): webhook hang indefinitly for 404 status
When we send a 404 status by retuning HttpReponse.notFound(), the webhook hang forever for POST request (but works for GET).

Throwing an HttpStatusException fix the issue, it seems to be caused by a bug in Micronaut, I will try to create a reproducer and open an issue upstream by meanwhile this fixes the issue.
2024-09-04 13:50:03 +02:00
Loïc Mathieu
69c07a03df fix(core): ForEachItem NPE when no items
Fixes #4278
2024-09-04 10:30:38 +02:00
Miloš Paunović
02a0b40b16 chore(ui): add more padding between log lines (#4819) 2024-09-04 09:43:42 +02:00
Miloš Paunović
b8fa2c5ae5 chore(ui): reorder namespace tabs (#4817) 2024-09-04 08:49:58 +02:00
github-actions[bot]
b4b875ac9b Auto-generate translations from en.json (#4815)
Co-authored-by: GitHub Action <actions@github.com>
2024-09-03 19:25:23 +02:00
Anna Geller
59b6ea01dc Update en.json 2024-09-03 19:22:15 +02:00
github-actions[bot]
eb11c05d5b Auto-generate translations from en.json (#4814)
Co-authored-by: GitHub Action <actions@github.com>
2024-09-03 19:18:59 +02:00
Anna Geller
88c23bc7c9 fix: translations and their CI 2024-09-03 19:11:58 +02:00
Anna Geller
76181f6f40 fix: try fixing translations 2024-09-03 19:07:58 +02:00
Loïc Mathieu
3c7c041c9c chore(webserver): use the minimal flow where possible in the ExecutionControllerTest
This divide by 2 the test duration from 2mn20 to 1mn10
2024-09-03 17:35:46 +02:00
Loïc Mathieu
1b3870349a feat(ui, webserver): allow to change the status of a terminated execution
Fixes #4447
2024-09-03 17:35:46 +02:00
Loïc Mathieu
c97c6d32d9 fix(ui): SetLabels button only visible if user has permission 2024-09-03 17:35:46 +02:00
Ludovic DEHON
81ff4e65fd feat(cli): increase default thread count
relate to #4775
2024-09-02 22:27:53 +02:00
Loïc Mathieu
aa0c12ba0d feat(core): YAML input
Fixes #4126
2024-09-02 18:24:58 +02:00
Loïc Mathieu
749a3aa0dc fix(core): flow validation can NPE 2024-09-02 17:31:38 +02:00
Shruti Mantri
4c1020d0f5 feat(examples): standardise id naming format in examples (#4619)
Co-authored-by: Will Russell <wrussell@kestra.io>
2024-09-02 16:21:19 +01:00
github-actions[bot]
97af1b500f chore(ui): auto generate translations for languages other than english (#4804) 2024-09-02 14:36:14 +02:00
yuri
8b7f533cb2 feat(ui): make executions view more compact (#4728) 2024-09-02 14:33:16 +02:00
Miloš Paunović
6a6b4417df chore(ui): regular dependency update (#4803) 2024-09-02 14:23:18 +02:00
Loïc Mathieu
4d2f1a65c6 feat(core): deprecate EachParallel and EachSequential
Fixes #4800
2024-09-02 14:17:35 +02:00
Anna Geller
a1bcf33fca Revert "Update StandAloneCommand.java"
This reverts commit d89aeeb7aa.
2024-09-02 14:12:39 +02:00
Anna Geller
d89aeeb7aa Update StandAloneCommand.java 2024-09-02 13:30:40 +02:00
dependabot[bot]
403fa23468 chore(deps): bump org.opensearch.client:opensearch-java
Bumps [org.opensearch.client:opensearch-java](https://github.com/opensearch-project/opensearch-java) from 2.13.0 to 2.14.0.
- [Release notes](https://github.com/opensearch-project/opensearch-java/releases)
- [Changelog](https://github.com/opensearch-project/opensearch-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/opensearch-project/opensearch-java/compare/v2.13.0...v2.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 10:41:28 +02:00
dependabot[bot]
fc9c77437f chore(deps): bump flyingSaucerVersion from 9.9.0 to 9.9.1
Bumps `flyingSaucerVersion` from 9.9.0 to 9.9.1.

Updates `org.xhtmlrenderer:flying-saucer-core` from 9.9.0 to 9.9.1
- [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.9.0...v9.9.1)

Updates `org.xhtmlrenderer:flying-saucer-pdf` from 9.9.0 to 9.9.1
- [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.9.0...v9.9.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 10:40:37 +02:00
dependabot[bot]
c7a9a65cf0 chore(deps): bump org.owasp.dependencycheck from 10.0.3 to 10.0.4
Bumps org.owasp.dependencycheck from 10.0.3 to 10.0.4.

---
updated-dependencies:
- dependency-name: org.owasp.dependencycheck
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 10:39:56 +02:00
dependabot[bot]
8338e068c6 chore(deps): bump org.apache.commons:commons-lang3 from 3.16.0 to 3.17.0
Bumps org.apache.commons:commons-lang3 from 3.16.0 to 3.17.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-lang3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 10:39:46 +02:00
Loïc Mathieu
c32f5a550a chore: use 2*nbProc as default worker threads
Part-of: #4771
2024-08-30 15:02:27 +02:00
Loïc Mathieu
4ce50f7ad0 fix(core): render output files
Fixes https://github.com/kestra-io/kestra/issues/4759
2024-08-29 18:35:54 +02:00
brian.mulier
950ee9aa94 fix(ui): prevent wrong blueprintBaseUri + Use button from blueprint detail work properly
closes #4768
2024-08-29 18:21:01 +02:00
Loïc Mathieu
9dfec8221e feat(core): create a Data type that can be used for multi-type property
We very often use Object for a traditional 'from' property that can comes from either an internal storage UI, an inline Map, or an inline list of maps. This class bringd a more declarative support for that.
2024-08-29 14:08:11 +02:00
YannC
83073ec313 fix(ui): remove trigger preview in executions list (#4765)
close #4644
2024-08-29 13:32:33 +02:00
brian.mulier
588ac69d66 feat(ui): add log file preview and download buttons 2024-08-29 09:31:30 +02:00
Loïc Mathieu
28c301e633 feat(core): add the ability for a task or trigger to log to a file
Fixes #4688
2024-08-29 09:31:30 +02:00
Anna Geller
d70e276e1e fix: renamed json pebble 2024-08-29 00:34:24 +02:00
Anna Geller
2e14f9dcf4 fix: avoid hardcoding namespace in UploadFiles 2024-08-29 00:21:20 +02:00
brian.mulier
6e72bd146f fix(cli): null-safe StateStoreMigrateCommand 2024-08-28 19:18:38 +02:00
brian.mulier
71fe48ca6d fix(ui): task runner can be filled through low code editor
closes kestra-io/kestra-ee#1477
2024-08-28 16:01:17 +02:00
brian.mulier
e00b620d4d fix(ui): remove empty arrays overriding default values upon task validation in low code
closes #4758
2024-08-28 13:54:46 +02:00
brian.mulier
42a3484f0e fix(cli): lazy init of repository & storage to wait for plugin init in StateStoreMigrateCommand 2024-08-28 13:01:36 +02:00
brian.mulier
88a6fbbb14 fix(cli): forgot super.call() in StateStoreMigrateCommand to load plugins 2024-08-28 09:46:51 +02:00
YannC
2b6110ccbb fix(core): create dedicated field for resubmit in Executor (#4714) 2024-08-28 09:34:38 +02:00
Loïc Mathieu
417b786c37 feat: Plugin Property v2 2024-08-27 19:43:27 +02:00
brian.mulier
cbbebefc6c fix(tests): AbstractFlowRepositoryTest.find protected to allow overriding + one flow deletion was missing 2024-08-27 18:06:12 +02:00
brian.mulier
bd1249fd0c fix(controller): filter out EE blueprints
closes kestra-io/plugin-ee-aws#16
2024-08-27 18:06:12 +02:00
brian-mulier-p
4c0e32e7a9 feat(core): state store is now using KV Store as backend (#4666)
part of kestra-io/plugin-singer#71
2024-08-27 16:46:29 +02:00
Miloš Paunović
924329e005 chore(ui): made flow id column have proper width (#4756) 2024-08-27 15:03:19 +02:00
Loïc Mathieu
2ffd08f15b Revert "chore(deps): bump io.micronaut.platform:micronaut-platform"
This reverts commit e3a5cad479.
2024-08-27 09:28:32 +02:00
github-actions[bot]
e78febe7a1 Auto-generate translations from en.json (#4752)
Co-authored-by: GitHub Action <actions@github.com>
2024-08-26 23:05:45 +02:00
Anna Geller
e523e0820f closes https://github.com/kestra-io/kestra/issues/4746 2024-08-26 23:03:09 +02:00
brian.mulier
88687d94e3 fix(build): some ui-deps were missing preventing the UI build 2024-08-26 17:47:50 +02:00
Miloš Paunović
41e186f61d fix(ui): load blueprint from proper url (#4749) 2024-08-26 16:03:10 +02:00
dependabot[bot]
e3a5cad479 chore(deps): bump io.micronaut.platform:micronaut-platform
Bumps [io.micronaut.platform:micronaut-platform](https://github.com/micronaut-projects/micronaut-platform) from 4.5.1 to 4.6.0.
- [Release notes](https://github.com/micronaut-projects/micronaut-platform/releases)
- [Commits](https://github.com/micronaut-projects/micronaut-platform/compare/v4.5.1...v4.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 14:28:47 +02:00
brian.mulier
379f3b34e3 fix(core): add type to KV Store Set task
closes kestra-io/kestra-ee#1422
2024-08-26 12:53:18 +02:00
dependabot[bot]
db5bf013e3 chore(deps): bump org.postgresql:postgresql from 42.7.3 to 42.7.4
Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.3 to 42.7.4.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.7.3...REL42.7.4)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 10:19:41 +02:00
dependabot[bot]
4399807c4c chore(deps): bump com.github.oshi:oshi-core from 6.6.2 to 6.6.3
Bumps [com.github.oshi:oshi-core](https://github.com/oshi/oshi) from 6.6.2 to 6.6.3.
- [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.6.2...oshi-parent-6.6.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 10:19:26 +02:00
dependabot[bot]
d06a086ce4 chore(deps): bump org.apache.commons:commons-compress
Bumps org.apache.commons:commons-compress from 1.27.0 to 1.27.1.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 10:19:16 +02:00
yuri
cb1d2a7b34 chore(ui): improve copy as curl functionality (#4696) 2024-08-26 09:13:30 +02:00
dependabot[bot]
88ee312fbd chore(deps): bump chart.js from 4.4.3 to 4.4.4 in /ui (#4740)
Bumps [chart.js](https://github.com/chartjs/Chart.js) from 4.4.3 to 4.4.4.
- [Release notes](https://github.com/chartjs/Chart.js/releases)
- [Commits](https://github.com/chartjs/Chart.js/compare/v4.4.3...v4.4.4)

---
updated-dependencies:
- dependency-name: chart.js
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 08:32:01 +02:00
dependabot[bot]
b1d46d4f92 chore(deps): bump @vue-flow/core from 1.39.3 to 1.40.1 in /ui (#4733)
Bumps [@vue-flow/core](https://github.com/bcakmakoglu/vue-flow) from 1.39.3 to 1.40.1.
- [Release notes](https://github.com/bcakmakoglu/vue-flow/releases)
- [Changelog](https://github.com/bcakmakoglu/vue-flow/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bcakmakoglu/vue-flow/compare/@vue-flow/core@1.39.3...@vue-flow/core@1.40.1)

---
updated-dependencies:
- dependency-name: "@vue-flow/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 08:31:32 +02:00
dependabot[bot]
93ba4b8c6c chore(deps): bump element-plus from 2.8.0 to 2.8.1 in /ui (#4731)
Bumps [element-plus](https://github.com/element-plus/element-plus) from 2.8.0 to 2.8.1.
- [Release notes](https://github.com/element-plus/element-plus/releases)
- [Changelog](https://github.com/element-plus/element-plus/blob/dev/CHANGELOG.en-US.md)
- [Commits](https://github.com/element-plus/element-plus/compare/2.8.0...2.8.1)

---
updated-dependencies:
- dependency-name: element-plus
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 08:31:02 +02:00
dependabot[bot]
bb9f15d0b8 chore(deps-dev): bump @shikijs/markdown-it from 1.12.1 to 1.14.1 in /ui (#4691)
Bumps [@shikijs/markdown-it](https://github.com/shikijs/shiki/tree/HEAD/packages/markdown-it) from 1.12.1 to 1.14.1.
- [Release notes](https://github.com/shikijs/shiki/releases)
- [Changelog](https://github.com/shikijs/shiki/blob/main/CHANGELOG.md)
- [Commits](https://github.com/shikijs/shiki/commits/v1.14.1/packages/markdown-it)

---
updated-dependencies:
- dependency-name: "@shikijs/markdown-it"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 08:30:18 +02:00
dependabot[bot]
683497a170 chore(deps): bump vue-i18n from 9.13.1 to 9.14.0 in /ui (#4692)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n-next/tree/HEAD/packages/vue-i18n) from 9.13.1 to 9.14.0.
- [Release notes](https://github.com/intlify/vue-i18n-next/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n-next/commits/v9.14.0/packages/vue-i18n)

---
updated-dependencies:
- dependency-name: vue-i18n
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 08:29:33 +02:00
dependabot[bot]
549a636134 chore(deps): bump posthog-js from 1.155.0 to 1.157.2 in /ui (#4732)
Bumps [posthog-js](https://github.com/PostHog/posthog-js) from 1.155.0 to 1.157.2.
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/compare/v1.155.0...v1.157.2)

---
updated-dependencies:
- dependency-name: posthog-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 08:28:24 +02:00
dependabot[bot]
8fd14a2b47 chore(deps-dev): bump monaco-editor from 0.50.0 to 0.51.0 in /ui (#4739)
Bumps [monaco-editor](https://github.com/microsoft/monaco-editor) from 0.50.0 to 0.51.0.
- [Release notes](https://github.com/microsoft/monaco-editor/releases)
- [Changelog](https://github.com/microsoft/monaco-editor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/microsoft/monaco-editor/compare/v0.50.0...v0.51.0)

---
updated-dependencies:
- dependency-name: monaco-editor
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 08:27:09 +02:00
dependabot[bot]
effb8518ac chore(deps): bump core-js from 3.38.0 to 3.38.1 in /ui (#4738)
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.38.0 to 3.38.1.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.38.1/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 08:26:11 +02:00
dependabot[bot]
43fce73c9c chore(deps): bump axios from 1.7.4 to 1.7.5 in /ui (#4734)
Bumps [axios](https://github.com/axios/axios) from 1.7.4 to 1.7.5.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.7.4...v1.7.5)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 08:25:35 +02:00
dependabot[bot]
09f1045aef chore(deps): bump markdown-it-anchor from 9.0.1 to 9.1.0 in /ui (#4737)
Bumps [markdown-it-anchor](https://github.com/valeriangalliat/markdown-it-anchor) from 9.0.1 to 9.1.0.
- [Release notes](https://github.com/valeriangalliat/markdown-it-anchor/releases)
- [Changelog](https://github.com/valeriangalliat/markdown-it-anchor/blob/master/CHANGELOG.md)
- [Commits](https://github.com/valeriangalliat/markdown-it-anchor/compare/v9.0.1...v9.1.0)

---
updated-dependencies:
- dependency-name: markdown-it-anchor
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 08:25:05 +02:00
dependabot[bot]
12eeb53e67 chore(deps-dev): bump @typescript-eslint/parser in /ui (#4736)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.0.1 to 8.2.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.2.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 08:24:38 +02:00
dependabot[bot]
9813c4ce32 chore(deps-dev): bump vite from 5.4.0 to 5.4.2 in /ui (#4735)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.0 to 5.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 08:23:56 +02:00
dependabot[bot]
f78c2b14a5 chore(deps): bump @rollup/rollup-linux-x64-gnu in /ui (#4690)
Bumps [@rollup/rollup-linux-x64-gnu](https://github.com/rollup/rollup) from 4.20.0 to 4.21.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.20.0...v4.21.0)

---
updated-dependencies:
- dependency-name: "@rollup/rollup-linux-x64-gnu"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 08:23:25 +02:00
dependabot[bot]
4b84bd9087 chore(deps): bump vue from 3.4.37 to 3.4.38 in /ui (#4689)
Bumps [vue](https://github.com/vuejs/core) from 3.4.37 to 3.4.38.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/v3.4.38/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.4.37...v3.4.38)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 08:22:48 +02:00
Anna Geller
d5c3ae5db3 closes https://github.com/kestra-io/kestra/issues/4741 2024-08-25 23:24:57 +02:00
brian.mulier
84703bfa1e fix(ui): better performance in gantt view when having a lot of task runs
closes #1434
2024-08-22 17:55:55 +02:00
Loïc Mathieu
a10da02b20 fix(core): failed expression on a trigger condition crash the scheduler
Fixes https://github.com/kestra-io/kestra/issues/4629
2024-08-21 18:36:07 +02:00
brian.mulier
823a934f60 fix(ui): better performance in log view when having a lot of task runs
part of #1434
2024-08-21 17:33:49 +02:00
Loïc Mathieu
424fab98dc feat(jdbc): avoid loading all excutions in memory 2024-08-21 17:25:37 +02:00
Loïc Mathieu
3904f59520 feat(jdbc): avoid loading all excutions in memory
Fixes https://github.com/kestra-io/kestra-ee/issues/1262
2024-08-21 15:31:54 +02:00
YannC
aa4c83c174 fix(core): fix log tests 2024-08-21 15:25:37 +02:00
YannC
03cee37b5d feat(runner-kafka): Check worker job before resubmitting
close #405
2024-08-21 13:41:36 +02:00
github-actions[bot]
fd1cc04664 Auto-generate translations from en.json (#4713)
Co-authored-by: GitHub Action <actions@github.com>
2024-08-21 13:27:16 +02:00
Ahmad
cc50a7bbec feat: better message for no selection (#4712) 2024-08-21 13:09:53 +02:00
Ludovic DEHON
dd341cfdb1 fix(core): reduce log level of docker commands 2024-08-20 23:34:23 +02:00
brian.mulier
41d290ad68 fix(tests): scope PurgeExecutions to a flowId and namespace to avoid flakiness 2024-08-20 13:43:05 +02:00
Ludovic DEHON
062b4aa159 fix(core): be resilient to invalid log format
close #4641
2024-08-20 13:21:33 +02:00
Loïc Mathieu
c6551954ab feat: add JBang plugin 2024-08-20 12:49:24 +02:00
Ludovic DEHON
c58e42ef0d feat(core): capture log from script command
close #4641
2024-08-20 12:21:21 +02:00
brian.mulier
a698b80d1b fix(tests): add creation time and last modified time tests to make sure they are millis
part of #4119
2024-08-20 09:29:08 +02:00
brian.mulier
245dd04752 fix(repositories): align ACLs for all repositories
part of kestra-io/kestra-ee#1358
2024-08-19 17:13:51 +02:00
YannC
32f2d8ad1f fix(ui): fixed tab error when viewing blueprint details
close kestra-io/kestra-ee#1530
2024-08-19 11:52:14 +02:00
YannC
7d8fb63077 fix(ui): avoid empty navbar in blueprint details view 2024-08-19 11:36:31 +02:00
YannC
4df587ff5a fix(core): In nested flowable, return 0 instead of null output for iterationCount in waitFor task (#4700)
close #4657
2024-08-19 10:49:35 +02:00
Florian Hussonnois
76062e60c2 fix(mysql): temproray fix to optimize fetch from queue table
This commit adds a temporary fix to replace FIND_IN_SET with
a IN clause in order to properly use the index on the consumers column
2024-08-19 10:36:04 +02:00
dependabot[bot]
a097aceea8 chore(deps): bump com.google.guava:guava from 33.2.1-jre to 33.3.0-jre
Bumps [com.google.guava:guava](https://github.com/google/guava) from 33.2.1-jre to 33.3.0-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-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 09:47:07 +02:00
audunsol
ae87cc83cc Update PurgeLogs.java
Fixed `WARNING` => `WARN`


Following this example gave me this error:

```
Illegal flow yaml: Cannot deserialize value of type org.slf4j.event.Level from String “WARNING”: not one of the values accepted for Enum class: [ERROR, DEBUG, TRACE, INFO, WARN]
 at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: io.kestra.core.models.flows.Flow[“tasks”]->java.util.ArrayList[0]->io.kestra.plugin.core.log.PurgeLogs[“logLevels”]->java.util.ArrayList[3])
```

See also: https://www.slf4j.org/api/org/slf4j/event/Level.html
2024-08-19 09:46:42 +02:00
dependabot[bot]
c233f12a2e chore(deps): bump org.jooq:jooq from 3.19.10 to 3.19.11
Bumps org.jooq:jooq from 3.19.10 to 3.19.11.

---
updated-dependencies:
- dependency-name: org.jooq:jooq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 09:27:51 +02:00
dependabot[bot]
d0a64b681a chore(deps): bump com.h2database:h2 from 2.3.230 to 2.3.232
Bumps [com.h2database:h2](https://github.com/h2database/h2database) from 2.3.230 to 2.3.232.
- [Release notes](https://github.com/h2database/h2database/releases)
- [Commits](https://github.com/h2database/h2database/compare/version-2.3.230...version-2.3.232)

---
updated-dependencies:
- dependency-name: com.h2database:h2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 09:27:40 +02:00
Loïc Mathieu
90c1c71e42 fix(jdbc-postgres): remove not-needed serialization in Postgres queue 2024-08-19 09:15:08 +02:00
Ludovic DEHON
fd19334972 fix(webserver): create execution don't display error
close #4673
2024-08-16 21:31:59 +02:00
Miloš Paunović
492f5f4520 chore(ui): improve outputs debugging expression logic (#4682) 2024-08-16 15:40:53 +02:00
Miloš Paunović
8296bb39fe feat(ui): add the ability to scroll the outputs error log and copy to clipboard (#4681) 2024-08-16 14:18:54 +02:00
Miloš Paunović
7db04cac44 chore(ui): improve parameter passing to child component (#4678) 2024-08-16 11:20:07 +02:00
Miloš Paunović
6acba8df89 feat(ui): add restart button on execution logs page (#4672) 2024-08-15 14:12:59 +02:00
Miloš Paunović
9ad860ce6e feat(ui): made output of type uri clickable (#4671) 2024-08-15 13:43:03 +02:00
Miloš Paunović
85305d96d2 chore(test): add data-test-id attribute to global loader 2024-08-15 13:33:53 +02:00
Miloš Paunović
32046df7ad chore(ui): sort plugins list alphabetically (#4670) 2024-08-15 11:40:00 +02:00
Miloš Paunović
1630faeef1 chore(ui): editor sticky scroll to follow theme coloring (#4669) 2024-08-15 11:31:24 +02:00
Miloš Paunović
f914f04b4c fix(ui): only set editor tabs to dirty if not on creation (#4668) 2024-08-15 10:51:13 +02:00
Milos Paunovic
82f183788f fix(ui): make sure blueprint base url is always present in component 2024-08-15 10:07:20 +02:00
Miloš Paunović
647c15f298 fix(ui): improved the editor behaviour on switching views (#4667) 2024-08-15 09:54:46 +02:00
YannC
b103faf94e fix(core): change property options to values for multiselect, deprecated the older and will be removed in 0.20 2024-08-14 16:43:15 +02:00
Miloš Paunović
f0c0f93099 fix(ui): add optional check if string exists 2024-08-14 16:04:01 +02:00
YannC
f004c6f0d1 fix(ui): reload blueprints when base uri change 2024-08-14 13:53:16 +02:00
YannC
5e6aeb13cd fix(ui): prevent event propagate and provide blueprint source in query (#4651)
close #4487
2024-08-14 10:03:01 +02:00
Anna Geller
2a7f14ad94 fix: Korean after review from John 2024-08-14 09:11:44 +02:00
dependabot[bot]
87b4fe5b09 chore(deps): bump axios from 1.7.3 to 1.7.4 in /ui (#4650)
Bumps [axios](https://github.com/axios/axios) from 1.7.3 to 1.7.4.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.7.3...v1.7.4)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-14 08:17:09 +02:00
YannC
39cc614a44 fix(jdbc): useline line 2024-08-13 14:58:27 +02:00
YannC
9cc435cfce tests(jdbc): keep tables name in memory (#4647)
* tests(jdbc): keep tables name in memory

* fix(jdbc): added @PostConstruct setup for tables
2024-08-13 14:56:55 +02:00
dependabot[bot]
7e27220cbf chore(deps): bump org.siouan.frontend-jdk17 from 8.0.0 to 8.1.0 (#4047)
Bumps org.siouan.frontend-jdk17 from 8.0.0 to 8.1.0.

---
updated-dependencies:
- dependency-name: org.siouan.frontend-jdk17
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-13 14:00:43 +02:00
Loïc Mathieu
bd66a9c319 feat(core): deprecate FileSerder.reader() metods and provide a readAll() overload with a Java class 2024-08-13 11:31:37 +02:00
Loïc Mathieu
9911e2532f fix(core): FileSerde use reader and writer to be able to configure the charset 2024-08-12 15:25:54 +02:00
brian.mulier
76b59eb69d fix(tests): modify mocks for taskCommands to match the new implementation 2024-08-12 13:17:27 +02:00
yuri1969
a15d908b27 fix(webserver): allow label containing a comma
Queries like `?labels=foo:bar,baz` failed since due using `,` as
separator the `baz` was parsed as a label.

This PR switches the `labels` parameter format from
`param=Mike,Adam,Kate` to `param=Mike&param=Adam&param=Kate`.

https://docs.micronaut.io/latest/guide/#clientParameters
2024-08-12 12:57:57 +02:00
Miloš Paunović
20fe0de4b8 fix(ui): add check if property exists on blueprint details page 2024-08-12 12:38:54 +02:00
brian.mulier
d006449b46 fix(script): include directories in docker task runner volume 2024-08-12 12:28:16 +02:00
dependabot[bot]
f98fc7be7e chore(deps): bump org.apache.commons:commons-compress
Bumps org.apache.commons:commons-compress from 1.26.2 to 1.27.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 10:38:22 +02:00
Anna Geller
8c3c25cc50 chore: add CI to autogenerate a PR for other languages once we change sth in en.json (#4628) 2024-08-12 10:37:31 +02:00
dependabot[bot]
a6dc1fd79f chore(deps): bump org.apache.commons:commons-lang3 from 3.15.0 to 3.16.0
Bumps org.apache.commons:commons-lang3 from 3.15.0 to 3.16.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-lang3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 10:08:24 +02:00
dependabot[bot]
f793178a0e chore(deps): bump com.microsoft.playwright:playwright
Bumps [com.microsoft.playwright:playwright](https://github.com/microsoft/playwright-java) from 1.45.1 to 1.46.0.
- [Release notes](https://github.com/microsoft/playwright-java/releases)
- [Commits](https://github.com/microsoft/playwright-java/compare/v1.45.1...v1.46.0)

---
updated-dependencies:
- dependency-name: com.microsoft.playwright:playwright
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 10:08:11 +02:00
dependabot[bot]
542500851b chore(deps): bump opensearchRestVersion from 2.15.0 to 2.16.0
Bumps `opensearchRestVersion` from 2.15.0 to 2.16.0.

Updates `org.opensearch.client:opensearch-rest-client` from 2.15.0 to 2.16.0
- [Release notes](https://github.com/opensearch-project/OpenSearch/releases)
- [Changelog](https://github.com/opensearch-project/OpenSearch/blob/main/CHANGELOG-3.0.md)
- [Commits](https://github.com/opensearch-project/OpenSearch/compare/2.15.0...2.16.0)

Updates `org.opensearch.client:opensearch-rest-high-level-client` from 2.15.0 to 2.16.0
- [Release notes](https://github.com/opensearch-project/OpenSearch/releases)
- [Changelog](https://github.com/opensearch-project/OpenSearch/blob/main/CHANGELOG-3.0.md)
- [Commits](https://github.com/opensearch-project/OpenSearch/compare/2.15.0...2.16.0)

---
updated-dependencies:
- dependency-name: org.opensearch.client:opensearch-rest-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.opensearch.client:opensearch-rest-high-level-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 10:08:01 +02:00
dependabot[bot]
80054f5aa4 chore(deps): bump org.slf4j:slf4j-api from 2.0.14 to 2.0.16
Bumps org.slf4j:slf4j-api from 2.0.14 to 2.0.16.

---
updated-dependencies:
- dependency-name: org.slf4j:slf4j-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 10:07:49 +02:00
Miloš Paunović
f8e328d671 chore(deps): amend property types in Dependabot 2024-08-12 09:08:49 +02:00
Miloš Paunović
38d51052a7 chore(deps): add time zone and npm package default reviewer to Dependabot 2024-08-12 09:07:05 +02:00
dependabot[bot]
4696865c5b chore(deps): bump element-plus from 2.7.8 to 2.8.0 in /ui (#4626)
Bumps [element-plus](https://github.com/element-plus/element-plus) from 2.7.8 to 2.8.0.
- [Release notes](https://github.com/element-plus/element-plus/releases)
- [Changelog](https://github.com/element-plus/element-plus/blob/dev/CHANGELOG.en-US.md)
- [Commits](https://github.com/element-plus/element-plus/compare/2.7.8...2.8.0)

---
updated-dependencies:
- dependency-name: element-plus
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-08-12 08:16:47 +02:00
dependabot[bot]
63245981d3 chore(deps): bump posthog-js from 1.154.5 to 1.155.0 in /ui (#4627)
Bumps [posthog-js](https://github.com/PostHog/posthog-js) from 1.154.5 to 1.155.0.
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/compare/v1.154.5...v1.155.0)

---
updated-dependencies:
- dependency-name: posthog-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Miloš Paunović <paun992@hotmail.com>
2024-08-12 08:16:10 +02:00
dependabot[bot]
167d989038 chore(deps-dev): bump vite from 5.3.5 to 5.4.0 in /ui (#4625)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.3.5 to 5.4.0.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/create-vite@5.4.0/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-12 08:15:17 +02:00
dependabot[bot]
7e03a46630 chore(deps): bump vue from 3.4.36 to 3.4.37 in /ui (#4624)
Bumps [vue](https://github.com/vuejs/core) from 3.4.36 to 3.4.37.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.4.36...v3.4.37)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-12 08:14:00 +02:00
Shruti Mantri
aa4f0a82eb fix(ui): correct the hindi translations (#4623) 2024-08-10 10:22:52 +02:00
Anna Geller
963d933154 feat: add korean for FILA (#4620) 2024-08-09 15:59:46 +02:00
Loïc Mathieu
0cb79faa5a fix(core): if empty then
Fixes #4601
2024-08-09 15:50:00 +02:00
Anna Geller
d296cbb9f3 feat: add more languages (#4616)
* feat: translations

* fix: now the correct OSS version

* Apply suggestions from code review

Co-authored-by: smunteankestra <smuntean@kestra.io>

* Apply suggestions from Stefan's review

Co-authored-by: smunteankestra <smuntean@kestra.io>

---------

Co-authored-by: smunteankestra <smuntean@kestra.io>
2024-08-09 15:27:29 +02:00
Florian Hussonnois
437ff66341 chore: make DefaultPluginRegistry extendable 2024-08-09 15:06:20 +02:00
eric
c931668dd2 feat(ui): add simplified chinese to the UI (#4610) 2024-08-09 11:30:00 +02:00
yuri
92b5f884d1 feat(ui): add shortcut to Output Debugger (#4612)
Use Ctrl+Enter to run the debug expression.
2024-08-09 09:21:51 +02:00
Miloš Paunović
9e2cc0ac97 chore(ui): clean template by removing unused data properties (#4615) 2024-08-09 08:23:40 +02:00
Anna Geller
bcc9c4bac0 feat: add German and Polish (#4614)
* feat: add German and Polish

* fix: missing parameters
2024-08-08 23:37:23 +02:00
Anna Geller
de704faaaa fix: my bad commit 2024-08-08 19:18:51 +02:00
Miloš Paunović
6f6d035361 fix(ui): graciously handle situation with no tutorial flows loaded (#4609) 2024-08-08 16:31:36 +02:00
Loïc Mathieu
3881d778a4 fix(core,jdbc): PurgeLog with levels in postgres
Fixes #4604
2024-08-08 12:57:50 +02:00
Anna Geller
22bd56ae9a closes https://github.com/kestra-io/kestra/issues/4084 2024-08-08 12:54:08 +02:00
Loïc Mathieu
5b75a05ae4 fix(core): increase retry duration to fix flaky test on Kafka 2024-08-08 11:47:33 +02:00
Anna Geller
4d00fc1aa3 docs: clarify HTTP timeout (#4603)
* docs: clarify HTTP timeout

* Update Request.java
2024-08-08 10:55:16 +02:00
eric
6821303fa7 fix(ui): improve date handling per locale (#4600) 2024-08-08 10:49:11 +02:00
YannC
3e2b4b07ef tests(ui): check language files keys (#4602)
close #4576
2024-08-08 10:39:12 +02:00
YannC
300e2c6d77 chore: remove condition in daily check workflow 2024-08-08 09:13:27 +02:00
brian.mulier
a487a462fa fix(tests): cleanup executions before running PurgeExecutions tests 2024-08-07 17:22:54 +02:00
brian.mulier
0b24249c82 fix(ui + core): topology expand subflow now properly work in executions + can expand subflow with dynamic ids on executions
part of #4299
2024-08-07 17:22:54 +02:00
Ludovic DEHON
c2471c2d73 refactor(core): reuse version endpoint from oss 2024-08-07 17:12:22 +02:00
YannC
a0729774c6 chore: amend variable use in workflow 2024-08-07 16:28:31 +02:00
YannC
a68c35fe74 chore: rollout if docker task is success (#4597) 2024-08-07 16:24:09 +02:00
Florian Hussonnois
8d1876b1c6 fix(core): fix NPE for K/V tasks and WorkingDirectory (#4592)
Fix: #4592
2024-08-07 16:23:56 +02:00
Ludovic DEHON
89f14419dc feat(ui): add commit id and date on version hover 2024-08-07 16:20:18 +02:00
yuri1969
c81217c74f fix(webserver): do not accept invalid labels
Enabled validation instead of returning a HTTP 500 response.
2024-08-07 16:10:32 +02:00
Loïc Mathieu
31242dfac6 fix(core): reduce retry tests duration
Retry tests on H2 goes down from 2mn06s to 41s
2024-08-07 16:08:02 +02:00
brian.mulier
eca03bdd8c fix(core): have running state in subflow attempts
closes #4066
2024-08-07 15:47:47 +02:00
YannC
7c7b60c6ad chore: add a workflow to daily check the CI and notify if failed (#4596) 2024-08-07 15:37:04 +02:00
dependabot[bot]
79635ff8da chore(deps): bump org.hamcrest:hamcrest from 2.2 to 3.0
Bumps [org.hamcrest:hamcrest](https://github.com/hamcrest/JavaHamcrest) from 2.2 to 3.0.
- [Release notes](https://github.com/hamcrest/JavaHamcrest/releases)
- [Changelog](https://github.com/hamcrest/JavaHamcrest/blob/master/CHANGES.md)
- [Commits](https://github.com/hamcrest/JavaHamcrest/compare/v2.2...v3.0)

---
updated-dependencies:
- dependency-name: org.hamcrest:hamcrest
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 14:58:52 +02:00
Miloš Paunović
21ac9bc342 chore(ui): only show delete logs button on flow logs tab (#4591) 2024-08-07 14:37:05 +02:00
dependabot[bot]
17cb7567b9 chore(deps): bump org.hamcrest:hamcrest-library from 2.2 to 3.0
Bumps [org.hamcrest:hamcrest-library](https://github.com/hamcrest/JavaHamcrest) from 2.2 to 3.0.
- [Release notes](https://github.com/hamcrest/JavaHamcrest/releases)
- [Changelog](https://github.com/hamcrest/JavaHamcrest/blob/master/CHANGES.md)
- [Commits](https://github.com/hamcrest/JavaHamcrest/compare/v2.2...v3.0)

---
updated-dependencies:
- dependency-name: org.hamcrest:hamcrest-library
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 14:36:15 +02:00
dependabot[bot]
e468eb6414 chore(deps): bump org.slf4j:slf4j-api from 2.0.13 to 2.0.14
Bumps org.slf4j:slf4j-api from 2.0.13 to 2.0.14.

---
updated-dependencies:
- dependency-name: org.slf4j:slf4j-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 14:36:03 +02:00
dependabot[bot]
642b38cf15 chore(deps): bump org.opensearch.client:opensearch-java
Bumps [org.opensearch.client:opensearch-java](https://github.com/opensearch-project/opensearch-java) from 2.12.0 to 2.13.0.
- [Release notes](https://github.com/opensearch-project/opensearch-java/releases)
- [Changelog](https://github.com/opensearch-project/opensearch-java/blob/v2.13.0/CHANGELOG.md)
- [Commits](https://github.com/opensearch-project/opensearch-java/compare/v2.12.0...v2.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 14:32:36 +02:00
dependabot[bot]
108e4ad120 chore(deps): bump io.qameta.allure:allure-bom from 2.28.0 to 2.29.0
Bumps [io.qameta.allure:allure-bom](https://github.com/allure-framework/allure-java) from 2.28.0 to 2.29.0.
- [Release notes](https://github.com/allure-framework/allure-java/releases)
- [Commits](https://github.com/allure-framework/allure-java/compare/2.28.0...2.29.0)

---
updated-dependencies:
- dependency-name: io.qameta.allure:allure-bom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 14:31:29 +02:00
Miloš Paunović
e662648f0b chore(deps): regular dependency updates (#4577) 2024-08-07 14:04:38 +02:00
brian.mulier
8d9d26ab83 fix(tests): doc tests wording changed 2024-08-07 12:18:40 +02:00
Anna Geller
8ab2ebdd9b fix: wording 2024-08-07 11:37:04 +02:00
Anna Geller
45426aa2ed fix: task runner plugins info 2024-08-07 11:31:22 +02:00
Ludovic DEHON
bfce2232ea fix(core): remove useless logger on jsonfilter 2024-08-06 19:01:00 +02:00
YannC
6065c49fc1 chore(version): update snapshot version 'v0.19.0-SNAPSHOT'. 2024-08-06 17:06:02 +02:00
Ludovic DEHON
016281025b feat(core): add EE flag on the documentation 2024-08-06 16:33:15 +02:00
brian.mulier
d81c6e5e04 fix(ui): no more duplicate call to search due to auto refresh being on
closes #3510
2024-08-06 15:54:17 +02:00
Miloš Paunović
d4ac7eb559 chore(ui): amend indentation in onboarding component 2024-08-06 12:49:06 +02:00
Miloš Paunović
43e590e012 chore(ui): add larger timeout between certain tour steps (#4572) 2024-08-06 12:24:32 +02:00
Anna Geller
1609225136 fix: weird character in the docs 2024-08-05 21:05:29 +02:00
Loïc Mathieu
3aead5b14a fix(core, script): Docker and Proces should always be a new instance
As there is a cache in the instance in the parent class.
2024-08-05 19:01:54 +02:00
brian.mulier
a849ac2851 fix(core): docker runner must remove the entrypoint by default 2024-08-05 18:45:29 +02:00
Loïc Mathieu
c437c363c4 feat(script): allow toBuilder on the Docker task runner
Some plugins needs it to have more control over the Docker task runner, like the old Bash task.
2024-08-05 18:09:51 +02:00
Loïc Mathieu
82913e77a0 fix(core): enforce Jackson version from the platform 2024-08-05 16:37:37 +02:00
Miloš Paunović
49480ffefd fix(ui): prevent trigger logs from collapsing on auto refresh (#4565) 2024-08-05 15:48:35 +02:00
Miloš Paunović
fc813089bb chore(ui): hide delete button from logs listing page (#4563) 2024-08-05 15:41:05 +02:00
Florian Hussonnois
0cc8adab68 fix(core): make flow repository an optional bean 2024-08-05 14:37:10 +02:00
Miloš Paunović
4e7298a302 fix(ui): load outputs api url from alias override location (#4556) 2024-08-05 13:01:26 +02:00
Florian Hussonnois
131fa5104b fix(ui): fix datetime/date type handling for KV 2024-08-05 11:50:25 +02:00
brian.mulier
d058c567e2 fix(ui): handle dates in KV Store 2024-08-05 11:35:03 +02:00
Miloš Paunović
3fb54f007a fix(ui): load topology graph on flow creation (#4552) 2024-08-05 10:57:21 +02:00
Florian Hussonnois
3253857479 fix(core): fix wrong NotNull annotation 2024-08-03 00:16:48 +02:00
yuri1969
ac5dfc9d0f fix(tests): test missing flow's execution
Added during debugging of v0.16 vs v0.18.0-SNAPSHOT behavior.
2024-08-02 23:47:07 +02:00
Florian Hussonnois
81a57f20a2 fix(core): fix KV store types (#4483)
Fix: #4483
2024-08-02 23:42:17 +02:00
dependabot[bot]
373660db26 chore(deps): bump flyingSaucerVersion from 9.7.2 to 9.9.0
Bumps `flyingSaucerVersion` from 9.7.2 to 9.9.0.

Updates `org.xhtmlrenderer:flying-saucer-core` from 9.7.2 to 9.9.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.7.2...v9.9.0)

Updates `org.xhtmlrenderer:flying-saucer-pdf` from 9.7.2 to 9.9.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.7.2...v9.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-02 23:38:35 +02:00
dependabot[bot]
97b515d0ca chore(deps): bump com.fasterxml.jackson:jackson-bom
Bumps [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) from 2.16.2 to 2.17.2.
- [Commits](https://github.com/FasterXML/jackson-bom/compare/jackson-bom-2.16.2...jackson-bom-2.17.2)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson:jackson-bom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-02 23:38:04 +02:00
Florian Hussonnois
07957db4e1 fix(core): support null value for KV store (#4504)
Fix: #4504
2024-08-02 17:23:40 +02:00
Florian Hussonnois
6b6b01d4df fix(core): only allow KV to be created for an existing namespace (#4522)
Fix: #4522
2024-08-02 16:15:21 +02:00
Miloš Paunović
3e7f059932 fix(ui): debug outputs for loops handled in a better way (#4521) 2024-08-02 11:58:03 +02:00
Anna Geller
c73d832df0 fix https://github.com/kestra-io/kestra/issues/4371 2024-08-02 10:21:56 +02:00
Loïc Mathieu
0d9df7eafe chore: change Docker image tags
- *-full -> *
- * -> *-no-plugins
2024-08-02 10:17:03 +02:00
Loïc Mathieu
02ad5bfbae feat(jdbc): SQLServer runner 2024-08-02 10:10:46 +02:00
YannC
251f8e5e44 fix(core): set anyOf map instead of list (#4519)
close #4516
2024-08-02 08:21:58 +02:00
YannC
9e67f52dfb fix(core): allow null namespace in uploadFiles task (#4518) 2024-08-02 08:21:47 +02:00
Florian Hussonnois
02c86899f8 fix(core): fix StackOverflowError on plugin defaults (#4363)
Fix: #4363
2024-08-01 17:42:11 +02:00
YannC
69a1e8a1ab Revert "chore(deps): bump kafkaVersion from 3.7.1 to 3.8.0" (#4515)
This reverts commit b84d8fd717.
2024-08-01 16:59:25 +02:00
Anna Geller
6f1fb747f0 docs: task runner (#4513)
* docs: task runner

* fix: wording

* fix: comma

* docs: add example with memory
2024-08-01 15:58:21 +02:00
YannC
6a48d622f0 fix(): allow create flow and allow save when namespace is allowed (#4512)
close kestraio/kestra-ee#1443
2024-08-01 12:04:26 +02:00
Loïc Mathieu
572ccc56f1 fix(core): compilation issue 2024-08-01 10:57:01 +02:00
Loïc Mathieu
b525b3bded feat: add plugin-airflow 2024-08-01 09:27:14 +02:00
Anna Geller
465ef8534f docs: UploadFiles task 2024-08-01 09:24:23 +02:00
YannC
2cee4542b2 fix(): test compilation 2024-08-01 09:20:47 +02:00
YannC
b2e09e5224 feat(): filter state on dashboard and graph on execution list (#4507)
close #4397
2024-08-01 08:37:09 +02:00
YannC
936fb2bd22 feat(): simplified uploadfiles (#4502)
close #3919
2024-07-31 17:20:02 +02:00
Loïc Mathieu
c1a47cfd05 fix(script): don't display the taskRunner log if the old runner prop is used
Fixes #4499
2024-07-31 16:13:49 +02:00
Anna Geller
e2b0695a38 fix: Automatic Code Folding 2024-07-31 15:10:08 +02:00
Miloš Paunović
755bcb44ab fix(ui): casting boolean values on resume dialog (#4498) 2024-07-31 14:23:59 +02:00
Miloš Paunović
dae1f296b0 fix(ui): show tabs on blueprints for custom ones (#4493) 2024-07-31 10:23:45 +02:00
Miloš Paunović
10a43909bc fix(ui): amend editor height under namespace tabs (#4492) 2024-07-31 08:51:18 +02:00
YannC
d1eb0ad4ea Fix(): uploadfiles fix (#4484)
* fix(): better handle of regex

* fix(): remove windows letter from path
2024-07-31 08:34:04 +02:00
Miloš Paunović
c5efe00de1 fix(ui): handle invalid task run when showing logs fro execution topology view (#4482) 2024-07-30 14:38:51 +02:00
Miloš Paunović
c3e42e28cb fix(ui): filter out falsy values for icons list (#4481) 2024-07-30 13:06:08 +02:00
YannC
e5cd7d2c2f fix(): use string instead of path to be Windows compatible for namespace files (#4471) 2024-07-30 11:39:53 +02:00
Loïc Mathieu
079d3ec9fb fix(core): ForEach concurencyLimit=0
Fixes #4475
2024-07-30 11:32:29 +02:00
Loïc Mathieu
7a639601bd fix(core): ForEach graph should be sequential when concurrencyLimit=1
Fixes #4474
2024-07-30 11:32:29 +02:00
dependabot[bot]
b84d8fd717 chore(deps): bump kafkaVersion from 3.7.1 to 3.8.0
Bumps `kafkaVersion` from 3.7.1 to 3.8.0.

Updates `org.apache.kafka:kafka-clients` from 3.7.1 to 3.8.0

Updates `org.apache.kafka:kafka-streams` from 3.7.1 to 3.8.0

Updates `org.apache.kafka:kafka-streams-test-utils` from 3.7.1 to 3.8.0

---
updated-dependencies:
- dependency-name: org.apache.kafka:kafka-clients
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.kafka:kafka-streams
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.kafka:kafka-streams-test-utils
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-30 10:54:41 +02:00
Loïc Mathieu
0af18e551a chore: remove --break-system-packages 2024-07-30 10:37:11 +02:00
Loïc Mathieu
40d8c0b7e6 chore: use 21-jre-jammy base image 2024-07-30 10:29:37 +02:00
Anna Geller
e483ee942c fix: https://github.com/kestra-io/kestra/issues/4408 2024-07-29 17:40:06 +02:00
Milos Paunovic
dbfdb67a74 chore(ui): passing the three props as query string parameters 2024-07-29 13:36:53 +02:00
Milos Paunovic
f8eb36eb47 chore(ui): add checkboxes for logs, metrics and storage deletetion confirmation 2024-07-29 13:36:53 +02:00
Loïc Mathieu
346281509c feat(core, webserver): delete execution related logs, metrics and storage 2024-07-29 13:36:53 +02:00
Loïc Mathieu
2af186660e feat(core): add a toIon Pebble filter 2024-07-29 13:36:38 +02:00
Miloš Paunović
c4a5dc5ef0 deps(ui): regular dependency updates (#4469) 2024-07-29 13:13:27 +02:00
Milos Paunovic
763aeb16e5 chore(ui): added confirmation dialog for logs deletion 2024-07-29 13:08:12 +02:00
Milos Paunovic
71a937df9a chore(ui): add button for logs deletion 2024-07-29 13:08:12 +02:00
Loïc Mathieu
54aa618498 feat(core,jdbc,webserver): delete flow logs 2024-07-29 13:08:12 +02:00
Miloš Paunović
88b222ef7a fix(ui): properly set key attribute to log-line component to render required content (#4468) 2024-07-29 13:03:35 +02:00
dependabot[bot]
352a547b47 chore(deps): bump io.micronaut.platform:micronaut-platform
Bumps [io.micronaut.platform:micronaut-platform](https://github.com/micronaut-projects/micronaut-platform) from 4.5.0 to 4.5.1.
- [Release notes](https://github.com/micronaut-projects/micronaut-platform/releases)
- [Commits](https://github.com/micronaut-projects/micronaut-platform/compare/v4.5.0...v4.5.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 12:55:58 +02:00
dependabot[bot]
aea4554672 chore(deps): bump com.microsoft.playwright:playwright
Bumps [com.microsoft.playwright:playwright](https://github.com/microsoft/playwright-java) from 1.45.0 to 1.45.1.
- [Release notes](https://github.com/microsoft/playwright-java/releases)
- [Commits](https://github.com/microsoft/playwright-java/compare/v1.45.0...v1.45.1)

---
updated-dependencies:
- dependency-name: com.microsoft.playwright:playwright
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 12:48:54 +02:00
dependabot[bot]
771b2eb8ff chore(deps): bump aquasecurity/trivy-action from 0.20.0 to 0.24.0
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.20.0 to 0.24.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.20.0...0.24.0)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 12:48:37 +02:00
Loïc Mathieu
9c2158c9f4 feat(core): rename json and ion filter/functions
Fixes https://github.com/kestra-io/kestra/issues/4451
2024-07-29 12:04:56 +02:00
Miloš Paunović
051a04a19a fix(ui): properly update low code editor on metadata editing (#4464) 2024-07-29 10:05:24 +02:00
Miloš Paunović
1ad3bb6b30 fix(ui): show proper code value in blueprint detail editor (#4444) 2024-07-26 15:09:16 +02:00
Miloš Paunović
1425fb872e fix(ui): amend rendering expressions 2024-07-26 14:31:15 +02:00
Miloš Paunović
f0f4b20586 chore(ui): improved render expression UI (#4440)
* chore(ui): improved render expression UI

* fix(ui): properly compute task icons
2024-07-26 12:45:35 +02:00
YannC
b63fc43253 fix(core): filter flowWithException in SchedulerEndpoint (#4439) 2024-07-26 12:20:46 +02:00
Florian Hussonnois
7c9a329df2 feat: add plugins transform-grok transform-json 2024-07-25 15:40:10 +02:00
Miloš Paunović
50ecced73a fix(ui): prevent unexpectedly switching outputs to the ones from another task (#4433)
* fix(ui): prevent wrong selection to be shown on file output

* chore(ui): make section width constant

* chore(ui): preven trimming strings under 16 characters in length
2024-07-25 14:31:37 +02:00
Anna Geller
68a75276ed related to https://github.com/kestra-io/kestra/issues/4396 2024-07-25 13:25:02 +02:00
YannC
89af5cb6ce Fix/waitfor issue (#4421)
* fix(core): waitFor task execution children in good order after first iteration

* fix(ui): display whole log, not only link to existing taskrun

* fix(ui): improve texts
2024-07-25 13:20:41 +02:00
Miloš Paunović
ff7df5d030 chore(ui): update dependencies (#4428) 2024-07-25 12:03:16 +02:00
Miloš Paunović
1cc0ae85d3 fix(ui): check if the taskrun property exist 2024-07-25 11:31:16 +02:00
Miloš Paunović
d12902ea9e chore(ui): remove obsolete console statement 2024-07-25 11:13:35 +02:00
Miloš Paunović
765da9bebd feat(ui): refactor outputs view (#4426) 2024-07-25 10:25:11 +02:00
Loïc Mathieu
3a300e4cee chore: remove image check output as they are not readable 2024-07-25 09:59:35 +02:00
Loïc Mathieu
fe73ca2396 chore: rename dependency check to vulnerability check and fix the output 2024-07-25 09:55:41 +02:00
Loïc Mathieu
b8b951164e chore: check image dependencies on latest-full 2024-07-25 09:51:23 +02:00
YannC
5bab548795 fix(ui):hide switch if trigger is disabled from source code (#4422) 2024-07-25 08:47:33 +02:00
Shruti Mantri
5150cb81c4 feat(docs): add authentication http request example (#4423)
* feat(docs): add authentication http request example

* Apply suggestions from code review

---------

Co-authored-by: Anna Geller <anna.m.geller@gmail.com>
2024-07-24 18:30:52 +02:00
Florian Hussonnois
19d30d9431 fix(core): prevent invalid plugin from breaking JSON schema generation (#4159)
Fix: #4159
2024-07-24 18:16:54 +02:00
Loïc Mathieu
82ec67a763 chore: polish dependency check workflow 2024-07-24 17:35:11 +02:00
Anna Geller
7411c6d12e docs: add HTTP application json example 2024-07-24 17:33:18 +02:00
Loïc Mathieu
6c4a569b47 chore: publish dependency check reports 2024-07-24 16:56:33 +02:00
Loïc Mathieu
cac39c7ea1 chore: fix image to scan for vulnerabilities 2024-07-24 16:14:13 +02:00
Loïc Mathieu
24b6ec3566 chore: scan our Docker image for known vulnerabilities in the CI 2024-07-24 15:45:50 +02:00
Loïc Mathieu
44013418ec fix(script): allow long file name inside the Docker task runner 2024-07-24 14:17:08 +02:00
Loïc Mathieu
25e8489bf4 fix(script): task runner override
Lombok is buggy when working with `@Builder.Default` it didn't take into accont overrides from properties so you should use getter everywhere.

Fixes https://github.com/kestra-io/plugin-dbt/issues/114
2024-07-24 13:10:15 +02:00
dependabot[bot]
097aba116e chore(deps): bump io.micronaut.platform:micronaut-platform
Bumps [io.micronaut.platform:micronaut-platform](https://github.com/micronaut-projects/micronaut-platform) from 4.4.3 to 4.5.0.
- [Release notes](https://github.com/micronaut-projects/micronaut-platform/releases)
- [Commits](https://github.com/micronaut-projects/micronaut-platform/compare/v4.4.3...v4.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-24 09:36:14 +02:00
dependabot[bot]
6cdaa33b53 chore(deps): bump org.projectlombok:lombok from 1.18.32 to 1.18.34
Bumps [org.projectlombok:lombok](https://github.com/projectlombok/lombok) from 1.18.32 to 1.18.34.
- [Changelog](https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown)
- [Commits](https://github.com/projectlombok/lombok/compare/v1.18.32...v1.18.34)

---
updated-dependencies:
- dependency-name: org.projectlombok:lombok
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-24 09:35:56 +02:00
Miloš Paunović
6f7cf931da fix(ui): pass proper namespace id attribute to dependencies tab (#4411) 2024-07-24 09:33:10 +02:00
Miloš Paunović
1f13c3672b fix(ui): passing valid attributes to method which handles edit event in low code editor (#4409) 2024-07-23 19:01:49 +02:00
Florian Hussonnois
c6c2b63216 fix(build): fix docker build 2024-07-23 18:52:49 +02:00
Anna Geller
24e00638ab closes https://github.com/kestra-io/kestra/issues/4371 2024-07-23 18:10:17 +02:00
YannC
2426b2a654 fix(core): fix waitFor task when having a fail task inside (#4402) 2024-07-23 16:00:39 +02:00
Miloš Paunović
439cf2e7ec fix(ui): properly load flows for editor 2024-07-23 14:19:20 +02:00
dependabot[bot]
cf93be493a chore(deps): bump org.opensearch.client:opensearch-java
Bumps [org.opensearch.client:opensearch-java](https://github.com/opensearch-project/opensearch-java) from 2.10.3 to 2.12.0.
- [Release notes](https://github.com/opensearch-project/opensearch-java/releases)
- [Changelog](https://github.com/opensearch-project/opensearch-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/opensearch-project/opensearch-java/compare/v2.10.3...v2.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 14:07:59 +02:00
YannC
0338f23e5b fix(core): fix null coalesce, created undefined coalesce, allow empty string (#4401)
close #2396
close #4134
2024-07-23 12:33:10 +02:00
dependabot[bot]
6ff74039e4 chore(deps): bump org.apache.commons:commons-lang3 from 3.14.0 to 3.15.0
Bumps org.apache.commons:commons-lang3 from 3.14.0 to 3.15.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-lang3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 10:03:51 +02:00
dependabot[bot]
b600c7ead4 chore(deps): bump opensearchRestVersion from 2.14.0 to 2.15.0
Bumps `opensearchRestVersion` from 2.14.0 to 2.15.0.

Updates `org.opensearch.client:opensearch-rest-client` from 2.14.0 to 2.15.0
- [Release notes](https://github.com/opensearch-project/OpenSearch/releases)
- [Changelog](https://github.com/opensearch-project/OpenSearch/blob/main/CHANGELOG.md)
- [Commits](https://github.com/opensearch-project/OpenSearch/compare/2.14.0...2.15.0)

Updates `org.opensearch.client:opensearch-rest-high-level-client` from 2.14.0 to 2.15.0
- [Release notes](https://github.com/opensearch-project/OpenSearch/releases)
- [Changelog](https://github.com/opensearch-project/OpenSearch/blob/main/CHANGELOG.md)
- [Commits](https://github.com/opensearch-project/OpenSearch/compare/2.14.0...2.15.0)

---
updated-dependencies:
- dependency-name: org.opensearch.client:opensearch-rest-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.opensearch.client:opensearch-rest-high-level-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 09:39:14 +02:00
Loïc Mathieu
ad1f76093d fix(webserver): PluginControllerTest.inputs() assertion 2024-07-23 09:32:04 +02:00
Loïc Mathieu
021dfa0e48 fix(core): update tests 2024-07-23 09:31:13 +02:00
Anna Geller
33a0d82761 fix: no single wall of text now 2024-07-23 09:31:13 +02:00
Anna Geller
b4c16f9a0c docs: update ForEach examples and docs 2024-07-23 09:31:13 +02:00
YannC
0949232ea5 chore(core): remove useless code 2024-07-23 09:18:02 +02:00
dependabot[bot]
5f6b2ab107 chore(deps): bump com.github.oshi:oshi-core from 6.6.1 to 6.6.2
Bumps [com.github.oshi:oshi-core](https://github.com/oshi/oshi) from 6.6.1 to 6.6.2.
- [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.6.1...oshi-parent-6.6.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 18:17:28 +02:00
YannC
7cb41fb8f9 feat(core): create SELECT input and deprecate ENUM
close #4063
2024-07-22 17:43:00 +02:00
YannC
4f15ebbad3 fix(UI): Do not display disable switch if not compatible with the trigger
close #3886
2024-07-22 16:55:12 +02:00
dependabot[bot]
94f2a10379 chore(deps): bump com.h2database:h2 from 2.2.224 to 2.3.230
Bumps [com.h2database:h2](https://github.com/h2database/h2database) from 2.2.224 to 2.3.230.
- [Release notes](https://github.com/h2database/h2database/releases)
- [Commits](https://github.com/h2database/h2database/compare/version-2.2.224...version-2.3.230)

---
updated-dependencies:
- dependency-name: com.h2database:h2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 16:50:04 +02:00
Loïc Mathieu
b7084a07f3 fix(cli): cli tests 2024-07-22 15:34:44 +02:00
Miloš Paunović
0e9e7074ab chore(ui): make namespace label clickable (#4393) 2024-07-22 13:54:16 +02:00
YannC
c47d15867c fix(webserver): avoid publishing two event when labelling an execution 2024-07-22 12:23:17 +02:00
Anna Geller
010bf8d13d fix: message 2024-07-22 11:31:36 +02:00
Miloš Paunović
2a1f5dc9e5 fix(ui): only stringify inputs if they're not strings already (#4391)
* fix(ui): only stringify inputs if they're not strings already

* chore(ui): removed obsolete code
2024-07-22 11:14:45 +02:00
Miloš Paunović
cc93344dec fix(ui): allowing files without extensions to be created (#4390) 2024-07-22 10:35:14 +02:00
yuri1969
cc0c44bd2c feat(cli): descriptive server start error via bean
Validated the environment properties via a dedicated bean.
2024-07-22 10:30:33 +02:00
Loïc Mathieu
dd00bcdd68 fix(core): HTTP tests 2024-07-22 10:30:16 +02:00
Loïc Mathieu
d1ab52bb9c feat: add plugin-hubspot and plugin-zendesk 2024-07-22 10:25:13 +02:00
Frank Tianyu Zeng
333ca9308a chore(ui): enhanced email and password length constraints in basic authentication (#4261) 2024-07-22 08:29:06 +02:00
Miloš Paunović
f424148aa4 test(ui): add attributes for logs page (#4387) 2024-07-22 08:24:44 +02:00
Miloš Paunović
7f17a97dda fix(ui): namespace tweaks (#4368)
* fix(ui): namespace flows filtered by single namespace

* fix(ui): namespace key value pairs filtered by single namespace

* fix(ui): single namespace properly filtered
2024-07-19 23:38:59 +02:00
Florian Hussonnois
ca78d85577 feat: secret enhancements 2024-07-19 14:01:08 +02:00
Loïc Mathieu
20270533eb fix(ui): template migration guide has moved 2024-07-19 10:01:48 +02:00
Loïc Mathieu
309fed521f feat: add plugin-ldap 2024-07-19 10:01:30 +02:00
Miloš Paunović
4b567ba487 chore(ui): include never as an option for time select component 2024-07-19 09:35:29 +02:00
Miloš Paunović
8876517d79 chore(ui): decrease the padding on namespace listing 2024-07-19 09:16:54 +02:00
dependabot[bot]
9a9cf80941 chore(deps-dev): bump ws from 8.17.0 to 8.18.0 in /ui (#4272)
Bumps [ws](https://github.com/websockets/ws) from 8.17.0 to 8.18.0.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.17.0...8.18.0)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-19 09:06:11 +02:00
Loïc Mathieu
9169333e04 fix(platform): upgrade plexus-utils to resolve CVE-2022-4244
See https://nvd.nist.gov/vuln/detail/CVE-2022-4244
2024-07-18 18:58:26 +02:00
Loïc Mathieu
98b7cec500 feat: OWASP dependency check
Check for known vulnerabilities each day thanks to the OWASP Dependency Check Gradle plugin.
2024-07-18 18:58:26 +02:00
Loïc Mathieu
244621ce33 feat: add plugin-linear 2024-07-18 17:57:19 +02:00
YannC
f78a765ae9 Revert "feat(cli): provide descriptive server start error (#4171)"
This reverts commit 96803a6cc8.
2024-07-18 13:25:59 +02:00
Loïc Mathieu
eb9851a932 feat(webserver): deprecate handling flows as YAML and emit a warning
Part-of: #3713
2024-07-18 11:58:12 +02:00
Loïc Mathieu
baf69ae94f fix(core): await for the scheduler is ready before launching the ToggleTest 2024-07-18 11:53:55 +02:00
Loïc Mathieu
fc4a291bc6 fix(cli): tests didn't work anymore 2024-07-18 10:19:48 +02:00
YannC
3c44c99cf3 fix: allow null enum when required is false 2024-07-18 09:22:08 +02:00
yuri
96803a6cc8 feat(cli): provide descriptive server start error (#4171)
* feat(cli): provide descriptive server start error

* The validation is based just on 3 basic Kestra properties.
* Provided a description and link to the docs in the error.
* The `server local` nor any other non-`server` commands were affected.
* Added a crude test.

* Describe each missing property separately
2024-07-18 09:03:33 +02:00
Miloš Paunović
956c9ec952 fix(ui): load all namespaces at once (#4356) 2024-07-18 08:22:19 +02:00
Loïc Mathieu
5f2a9a55e0 feat: add metrics to the worker page 2024-07-17 17:43:13 +02:00
Loïc Mathieu
06b3f99bbc feat(script): delete container and volume conditionaly in the Docker task runner
This allow to keep the container and the volume for debugging purpose
2024-07-17 16:11:24 +02:00
Loïc Mathieu
a5dc8e4513 feat(core, script): use a volume instead of a bind for handling files in the Docker task runner
Fixes #3857
2024-07-17 16:11:24 +02:00
Loïc Mathieu
c508682b40 feat: add plugin-jira 2024-07-17 15:54:11 +02:00
Miloš Paunović
30ea154cdc fix(ui): handle file names without extensions (#4352) 2024-07-17 15:13:23 +02:00
Miloš Paunović
6c43645ab7 fix(ui): properly pass namespace parameter for fetching files (#4351) 2024-07-17 13:43:14 +02:00
Miloš Paunović
d2db856427 chore(ui): display current name on single namespace page (#4350) 2024-07-17 13:25:58 +02:00
Miloš Paunović
1f656f9f55 feat(ui): display trigger logs in the ui (#4347) 2024-07-17 13:17:16 +02:00
YannC
b0cb94460d fix: dont display create namespace button on OSS 2024-07-17 13:09:53 +02:00
Loïc Mathieu
ca888aa98a fix(webserver): retry flaky test ExecutionControllerTest.kill() 2024-07-17 12:56:54 +02:00
dependabot[bot]
82f479f5b5 chore(deps): bump io.qameta.allure:allure-bom from 2.27.0 to 2.28.0 (#4316)
Bumps [io.qameta.allure:allure-bom](https://github.com/allure-framework/allure-java) from 2.27.0 to 2.28.0.
- [Release notes](https://github.com/allure-framework/allure-java/releases)
- [Commits](https://github.com/allure-framework/allure-java/compare/2.27.0...2.28.0)

---
updated-dependencies:
- dependency-name: io.qameta.allure:allure-bom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-17 12:56:44 +02:00
dependabot[bot]
05ef1df6b5 chore(deps): bump docker/build-push-action from 5 to 6 (#4097)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-17 11:33:41 +02:00
dependabot[bot]
086f487dbb chore(deps): bump robinraju/release-downloader from 1.10 to 1.11 (#4181)
Bumps [robinraju/release-downloader](https://github.com/robinraju/release-downloader) from 1.10 to 1.11.
- [Release notes](https://github.com/robinraju/release-downloader/releases)
- [Commits](https://github.com/robinraju/release-downloader/compare/v1.10...v1.11)

---
updated-dependencies:
- dependency-name: robinraju/release-downloader
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-17 11:33:27 +02:00
dependabot[bot]
eb82e4ea29 chore(deps): bump kafkaVersion from 3.7.0 to 3.7.1 (#4182)
Bumps `kafkaVersion` from 3.7.0 to 3.7.1.

Updates `org.apache.kafka:kafka-clients` from 3.7.0 to 3.7.1

Updates `org.apache.kafka:kafka-streams` from 3.7.0 to 3.7.1

Updates `org.apache.kafka:kafka-streams-test-utils` from 3.7.0 to 3.7.1

---
updated-dependencies:
- dependency-name: org.apache.kafka:kafka-clients
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.kafka:kafka-streams
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.kafka:kafka-streams-test-utils
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-17 11:31:38 +02:00
Loïc Mathieu
bdd916bddc feat(core): provide a ForEach task (#4343)
Fixes #2137
2024-07-17 11:19:28 +02:00
YannC
da103309cc fix(core): upload files now handle string as input for Files and throw an error if input type is incorrect (#4342)
close #3919
2024-07-17 11:11:06 +02:00
dependabot[bot]
02425d5100 chore(deps): bump com.microsoft.playwright:playwright (#4269)
Bumps [com.microsoft.playwright:playwright](https://github.com/microsoft/playwright-java) from 1.44.0 to 1.45.0.
- [Release notes](https://github.com/microsoft/playwright-java/releases)
- [Commits](https://github.com/microsoft/playwright-java/compare/v1.44.0...v1.45.0)

---
updated-dependencies:
- dependency-name: com.microsoft.playwright:playwright
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-17 11:00:35 +02:00
dependabot[bot]
567a010ce4 chore(deps): bump org.sonarqube from 5.0.0.4638 to 5.1.0.4882 (#4270)
Bumps org.sonarqube from 5.0.0.4638 to 5.1.0.4882.

---
updated-dependencies:
- dependency-name: org.sonarqube
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-17 11:00:15 +02:00
Shruti Mantri
d764adc941 fix(core): correct the url in http download example (#4338) 2024-07-16 08:58:24 +02:00
Loïc Mathieu
0125d50796 feat(core, jdbc, webserver): allow to filter logs by triggerId
Part-of: https://github.com/kestra-io/kestra/issues/4245
2024-07-15 18:42:24 +02:00
Loïc Mathieu
2416760fe9 feat(core,jdbc,webserver): find trigger by worker id
Part-of: https://github.com/kestra-io/kestra-ee/issues/1299
2024-07-15 17:41:18 +02:00
Suraj Verma
44b6ffbff5 fix(readme): update broken link (#4332) 2024-07-15 14:38:36 +02:00
Miloš Paunović
9d965680d4 chore: updated vue-flow related dependencies (#4335) 2024-07-15 14:33:50 +02:00
Miloš Paunović
08b2564333 feat(ui): add commit details to index.html file using vite plugin system (#4334) 2024-07-15 13:59:38 +02:00
Miloš Paunović
bb2b0d81f8 fix(ui): proprely handle json type inputs when prefilling executions (#4333) 2024-07-15 13:29:36 +02:00
Miloš Paunović
ebff8bb8e5 fix(ui): properly handle array input types (#4331) 2024-07-15 12:43:52 +02:00
dependabot[bot]
ec05e753f8 chore(deps): bump com.github.docker-java:docker-java-transport-httpclient5
Bumps [com.github.docker-java:docker-java-transport-httpclient5](https://github.com/docker-java/docker-java) from 3.3.6 to 3.4.0.
- [Release notes](https://github.com/docker-java/docker-java/releases)
- [Changelog](https://github.com/docker-java/docker-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/docker-java/docker-java/compare/3.3.6...3.4.0)

---
updated-dependencies:
- dependency-name: com.github.docker-java:docker-java-transport-httpclient5
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 12:09:07 +02:00
dependabot[bot]
2184a834f9 chore(deps): bump com.github.docker-java:docker-java from 3.3.6 to 3.4.0
Bumps [com.github.docker-java:docker-java](https://github.com/docker-java/docker-java) from 3.3.6 to 3.4.0.
- [Release notes](https://github.com/docker-java/docker-java/releases)
- [Changelog](https://github.com/docker-java/docker-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/docker-java/docker-java/compare/3.3.6...3.4.0)

---
updated-dependencies:
- dependency-name: com.github.docker-java:docker-java
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 11:34:30 +02:00
Miloš Paunović
adcf20553a feat(ci): add commit details to index.html file with each fresh build (#4329) 2024-07-15 11:31:07 +02:00
Loïc Mathieu
15a6c0e775 feat: add GitHub plugin 2024-07-15 11:07:50 +02:00
Yoann Vernageau
8792b6b654 fix(core): keep key order when rendering a Map 2024-07-15 10:42:25 +02:00
dependabot[bot]
5749c3e526 chore(deps): bump org.jsoup:jsoup from 1.17.2 to 1.18.1
Bumps [org.jsoup:jsoup](https://github.com/jhy/jsoup) from 1.17.2 to 1.18.1.
- [Release notes](https://github.com/jhy/jsoup/releases)
- [Changelog](https://github.com/jhy/jsoup/blob/master/CHANGES.md)
- [Commits](https://github.com/jhy/jsoup/compare/jsoup-1.17.2...jsoup-1.18.1)

---
updated-dependencies:
- dependency-name: org.jsoup:jsoup
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 10:40:57 +02:00
yuri
cc4c1b9f26 feat(ui): add cURL command to the execute dialog (#4308) 2024-07-15 10:24:59 +02:00
Shruti Mantri
0de97b0e49 fix(docs): correct the kv task examples 2024-07-15 09:30:23 +02:00
Miloš Paunović
d0c7263eb8 refactor(ui): change route parameters for namespaces (#4312) 2024-07-12 22:56:02 +02:00
Loïc Mathieu
ab3ebd651e fix(core): include all files as input files
isRegularFile filter too many files, !isDirectory will include more files.
I'm not sure why but for ex isRegularFile didn't include files in the DBT .profile dir
2024-07-12 11:04:53 +02:00
dependabot[bot]
6342ee8680 chore(deps): bump andrcuns/allure-publish-action from 2.6.0 to 2.7.1
Bumps [andrcuns/allure-publish-action](https://github.com/andrcuns/allure-publish-action) from 2.6.0 to 2.7.1.
- [Release notes](https://github.com/andrcuns/allure-publish-action/releases)
- [Commits](https://github.com/andrcuns/allure-publish-action/compare/v2.6.0...v2.7.1)

---
updated-dependencies:
- dependency-name: andrcuns/allure-publish-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-11 17:30:11 +02:00
Loïc Mathieu
9e041693d9 feat(webserver): allow restarting a trigger
This will kill it then restart it
2024-07-11 14:18:29 +02:00
Loïc Mathieu
0990855c70 feat: purge icons 2024-07-11 13:49:01 +02:00
Loïc Mathieu
8885e589d1 feat(core): rename PurgeInternalStorage to PurgeCurrentExecutionFiles 2024-07-11 10:17:43 +02:00
Miloš Paunović
883a35f877 fix(ui): switching editor view type to source if opened from namespace menu link 2024-07-10 15:32:15 +02:00
Miloš Paunović
63a67be7c3 fix(ui): amend editor for flow creation 2024-07-10 15:18:17 +02:00
Loïc Mathieu
8857f1ca6a fix(core): possible NPE when validating a flow 2024-07-10 13:54:47 +02:00
Loïc Mathieu
f39a6ac89c feat(core, jdbc): add a PurgeLogs task 2024-07-10 13:54:47 +02:00
Loïc Mathieu
cac6143211 feat(core): rename storage.PurgeExecution to storage.PurgeInternalStorage and add a test 2024-07-10 13:54:47 +02:00
Loïc Mathieu
dd2f8b42cb feat(core): rename storage.Purge to execution.Purgeexecutions and add a 'startDate' property 2024-07-10 13:54:47 +02:00
Loïc Mathieu
ca3979482b fix(jdbc): abstract class should not be singleton 2024-07-10 13:54:47 +02:00
Loïc Mathieu
fc506c4870 feat(core): 'ionDecode()' Pebble function 2024-07-10 12:47:18 +02:00
Loïc Mathieu
572ea1d3b8 feat(core): rename the json fonction to jsonDecode 2024-07-10 12:47:18 +02:00
Loïc Mathieu
2051e0dfc8 feat(core): rename the json filter to jsonEncode 2024-07-10 12:47:18 +02:00
brian.mulier
f35c9790b6 feat(task-runners): modify task runner implementation so that it has every files from working directory 2024-07-10 12:03:11 +02:00
Miloš Paunović
277304fd68 chore(ui): replace the link to video in the namespace editor welcome page 2024-07-10 10:35:44 +02:00
Miloš Paunović
20ff514d5f chore(ui): passing proper namespace parameter to endpoints (#4294) 2024-07-10 10:31:19 +02:00
Miloš Paunović
c0bdf2349f chore(ui): aligned kv-store duration validator with enterprise solution 2024-07-10 10:01:06 +02:00
Miloš Paunović
b513623d80 feat(ui): add lightweight namespace section to community edition (#4292) 2024-07-10 09:46:11 +02:00
Loïc Mathieu
735ed6e83c fix(core, jdbc): purge deleted executions
part-of: https://github.com/kestra-io/kestra/issues/3961
2024-07-09 15:42:10 +02:00
Loïc Mathieu
bf32d6f6e7 feat(core): stop realtime trigger and generate a FAILED execution if the publisher cannot be created 2024-07-09 15:35:32 +02:00
brian.mulier
76fc7ea583 fix(tests): kv-store CLI tests was wrong 2024-07-09 15:14:14 +02:00
Will Russell
b5d32b9d17 fix: namespace to company.team 2024-07-09 12:07:53 +01:00
brian.mulier
1b6e8532bb feat(kv-store): introduce CLI commands 2024-07-09 12:26:47 +02:00
brian.mulier
38b72a2077 fix(kv-store): after-review fixes 2024-07-09 12:25:53 +02:00
Shruti Mantri
999859ff5e fix(docs): add details about the usage of DateTimeBetweenCondition (#4286) 2024-07-09 08:12:56 +02:00
Will Russell
3c9f6a6e03 fix: readme formatting 2024-07-08 17:08:43 +01:00
Loïc Mathieu
fcb249f74d fix(core): add trigger type to worker trigger metrics
Fixes #4259
2024-07-08 16:40:17 +02:00
Loïc Mathieu
dc4c78aaf2 feat(core): add global jobs metrics to the server
Those metrics will allow to autoscale Worker pod based
2024-07-08 15:49:06 +02:00
yuri
e7e7cc516f feat: implement preview functionality for pdf files (#4157) 2024-07-08 08:59:45 +02:00
brian.mulier
3272e1aad4 fix(tests): flaky tests in SchedulerStreamingTest 2024-07-05 18:32:39 +02:00
brian.mulier
1ba85254ab feat(ui): introduce KV Store 2024-07-05 18:32:39 +02:00
brian.mulier
4f385ddbab feat(core): Backend + Tasks + Pebble function for KV-Store 2024-07-05 18:32:39 +02:00
Florian Hussonnois
ff20b2d6d4 ci: rollback docker image build 2024-07-05 18:24:23 +02:00
brian.mulier
6e4fc09452 fix(tests): remove ForEachItem tests flakiness by increasing the number of iterations 2024-07-05 18:01:26 +02:00
brian.mulier
da500b397e feat(core & webserver): bring lightweight version of namespaces 2024-07-05 18:01:26 +02:00
Florian Hussonnois
4eaccd2df2 fix(core): fix processing of execution killed with tenant (#4173) 2024-07-05 16:08:47 +02:00
Miloš Paunović
d3e67c0d43 chore(ui): redirect to welcome page if there are no flows (#4246)
* chore(ui): redirect to welcome page if there are no flows

* refactor(ui): removed duplicated home route definition
2024-07-05 12:45:19 +02:00
Miloš Paunović
134a90d35f fix(ui): increase the width of absolute date filter (#4242) 2024-07-05 10:01:19 +02:00
Miloš Paunović
37508e011a chore(ui): increase the width of trigger popover on executions listing (#4237) 2024-07-05 09:04:41 +02:00
Florian Hussonnois
74003a1668 ci: fix workflow docker 2024-07-04 22:11:30 +02:00
Florian Hussonnois
1396802716 ci(main): add property load=true for docker 2024-07-04 21:37:34 +02:00
yuri
26d279453d feat(ui): humanize cron expressions (#4233)
* Added the **cRonstrue** dependency.
* Enabled English/French localization.
* Enabled the readable cron expression on Flow listing.
* Refactored the app locale config access.
2024-07-04 20:54:27 +02:00
Florian Hussonnois
d66708fab5 ci(main): remove quotes from docker args 2024-07-04 20:50:20 +02:00
Florian Hussonnois
0f1fa9af24 ci: add missing needs on docker build 2024-07-04 20:14:16 +02:00
Florian Hussonnois
9cff8dfda7 ci: fix github matrix options for docker image 2024-07-04 19:06:30 +02:00
Will Russell
2842e45e7b fix: video link 2024-07-04 17:58:00 +01:00
Will Russell
c21cab45fc feat: new product overview video 2024-07-04 17:57:30 +01:00
Florian Hussonnois
9962acc1ab ci: fix docker image build 2024-07-04 18:19:29 +02:00
Florian Hussonnois
a090a4d807 feat: add E2E tests modules and github workflow
Changes:
* add new gradle module e2e-tests
* add new reusable github workflow e2e

Enhancement:
* update main workflow to use setup-build composite action
* update main workflow to use .plugin file for listing plugins
* update docker workflow to use .plugin file for listing plugins
2024-07-04 17:47:25 +02:00
Anna Geller
c6fcb833dc docs: add parallel examples 2024-07-04 15:55:14 +02:00
Miloš Paunović
abc2ffc641 fix(ui): make sure labels have both key and value fields filled in (#4227) 2024-07-04 14:29:07 +02:00
Miloš Paunović
a9e8716c66 chore(ui): tweaked the links for welcome page 2024-07-04 09:55:39 +02:00
Miloš Paunović
12a97fed75 chore(ui): dispatch event once user openes the news drawer 2024-07-04 09:13:04 +02:00
Miloš Paunović
d7c0812f94 feat: implement vite plugin to handle filename injection for testing purposes (#4205)
* feat: implement `vite` plugin to handle filename injection for testing purposes

* chore: made manual adjustments to `data-component` attributes
2024-07-04 08:54:13 +02:00
Anna Geller
d77ea8408e fix: add a full working example 2024-07-02 17:05:43 +02:00
Miloš Paunović
252560d160 test(ui): add data-test-id property to dashboard header button 2024-07-02 10:14:54 +02:00
Miloš Paunović
e97652a21f test(ui): add data-test-id property to executions (#4203) 2024-07-02 08:37:26 +02:00
nicoallgood
7c6918f8ba fix(docs): Dead link towards GitHub Discussions (disabled) (#4190) 2024-07-01 17:13:22 +02:00
Miloš Paunović
2f8d8e2636 test(ui): add data-test-id property to execute button on dialog (#4189) 2024-07-01 15:51:19 +02:00
Florian Hussonnois
cedc2df028 chore: remove javadoc warning on compilation 2024-07-01 14:20:15 +02:00
Miloš Paunović
f0645c010b fix(ui): amended method for extracting component path for data-component attribute (#4188) 2024-07-01 14:08:15 +02:00
Miloš Paunović
c347608a86 fix(ui): properly checking is right property exists (#4187) 2024-07-01 13:40:16 +02:00
Ludovic DEHON
b5d64b27bf feat(ui): add data-component attribute (#4174)
* feat(ui): initial add of data-component attributes

* feat(ui): add data-component attributes to more places

---------

Co-authored-by: Milos Paunovic <paun992@hotmail.com>
2024-07-01 11:50:33 +02:00
yuri
fe06c69ada chore(github): fix typos in PR template (#4172) 2024-07-01 08:02:04 +02:00
Shruti Mantri
bd0d225f99 fix: correct the Docker task runner image (#4168) 2024-06-29 10:52:48 +01:00
YannC
6a93169e1f fix: ipAddress for audit log 2024-06-28 14:07:49 +02:00
Miloš Paunović
06259d867a fix(ui): allow editor view switching on flow creation (#4164) 2024-06-28 12:50:29 +02:00
Miloš Paunović
ad1250992c fix(ui): only validate graph is the flow is valid (#4161) 2024-06-28 09:08:58 +02:00
Ludovic DEHON
007bfa67b9 fix(ui): better layout for logline 2024-06-28 08:41:56 +02:00
Florian Hussonnois
22c1a62b86 fix(webserver): properly handle namespace_uri given slash path 2024-06-27 19:07:44 +02:00
YannC
b0d44898b3 feat: auditlogs diffs (#4139)
* WIP: auditLog diff

* WIP: auditLog diff

* feat: allow finding deleted object for auditlog

* feat: now send previous if exists in crudEvent

* feat: ui + various fixes

* fix: improved refacto

* fix: review changes
2024-06-27 17:00:17 +02:00
Loïc Mathieu
e4b06bbfd7 fix(core): FileService render twice the input files
Fixes #4093
2024-06-27 16:51:59 +02:00
Miloš Paunović
48116cc931 fix(ui): parsing the date input using the proper value format (#4153) 2024-06-27 14:55:26 +02:00
Loïc Mathieu
b5853de665 feat(core, ui): save the worker id in the trigger context 2024-06-27 10:30:22 +02:00
Miloš Paunović
c80e3aba34 chore(ui): improved the errors page (#4149) 2024-06-26 16:04:17 +02:00
Loïc Mathieu
408a384950 fix(core): don't remove the executionId after killing a task
As there can be other tasks to kill
2024-06-26 15:07:04 +02:00
Milos Paunovic
77f2ee232e test(ui): added data-test-id property for execution status button 2024-06-26 14:42:20 +02:00
YannC
d47941d1ee feat: triggers select (#4140)
* feat(ui): make table selectable

* feat: add all endpoint by query & by ids

* feat: ui to back
2024-06-26 13:26:14 +02:00
Miloš Paunović
78e04fe51c chore(ui): added 1s delay to plugin tooltips (#4145) 2024-06-26 13:03:32 +02:00
Loïc Mathieu
9330be2880 chore: add MinIO plugin 2024-06-26 12:12:31 +02:00
Miloš Paunović
a20cd4e2c5 fix(ui): properly handle view type on namespace files (#4138) 2024-06-26 10:48:14 +02:00
Loïc Mathieu
3924cb7782 fix(core): use the flow revision from the condition context instead of the trigger context
Fixes #3970
May also fix #4059 but we need to reproduce before to be sure
2024-06-26 10:35:29 +02:00
brian.mulier
57c3b9964f fix(core): flows from one tenant don't erase those from others 2024-06-26 10:32:49 +02:00
Miloš Paunović
6fd52edfad fix(ui): only append date values to inputs form if they exist (#4135) 2024-06-25 16:44:36 +02:00
Loïc Mathieu
e1ee652177 chore: fix CI didn't run tests anymore 2024-06-25 16:14:39 +02:00
Florian Hussonnois
06b35ed9ab chore: add optional sequential id to executor
This commit adds an optional seqId property to the
Executor class that can be used to detect concurrent/stale updates
on execution.
2024-06-25 11:46:17 +02:00
Ludovic DEHON
3f500704a8 chore(core): remove remaining compilation warnings 2024-06-25 11:45:41 +02:00
Loïc Mathieu
4e7cf0d578 fix(core): better log in the Worker when updating a flow with a trigger
Also removing the interrupted stacktrace as it didn't have any value.

Fixes #3969
2024-06-25 10:24:35 +02:00
Loïc Mathieu
4efb59c02b fix(core): avoid interrupting already stopped worker threads
Fixes #3882
2024-06-25 10:24:35 +02:00
Loïc Mathieu
1b35911b27 fix: JdbcExecutor schedule thread can throw CancellationException when stopped 2024-06-25 10:24:35 +02:00
YannC
2d994e554c fix(jdbc): add timezone in JDBC url as it was using default JVM timezone (#4114) 2024-06-25 09:38:55 +02:00
Loïc Mathieu
9b2ba0d03b fix(core): the Request task can crash the worker
Fixes #4115
2024-06-25 09:16:15 +02:00
Ludovic DEHON
6c2dddb6f2 fix(cicd): use choice for skip-test 2024-06-25 09:09:09 +02:00
Miloš Paunović
e7eef6bba0 chore: allow importing multiple files (#4128) 2024-06-25 08:33:43 +02:00
Ludovic DEHON
5d0e089192 fix(cicd): don't publish jacoco when skip test 2024-06-24 22:47:29 +02:00
Ludovic DEHON
503d9696b4 refactor(core): values filter test was flaky 2024-06-24 19:24:26 +02:00
Ludovic DEHON
6e9a632e92 fix(core): failed restart due to immutable list 2024-06-24 16:33:44 +02:00
Ludovic DEHON
8ae35f69c9 fix(cicd): restore parallel test on gradle 2024-06-24 16:08:39 +02:00
Ludovic DEHON
175162d7b4 fix(core): restore failling test from last refactor 2024-06-24 16:08:39 +02:00
Miloš Paunović
145bffb1e9 fix(ui): keep flow available after closing namespace file (#4117) 2024-06-24 14:32:37 +02:00
Loïc Mathieu
f72b135f10 feat(core,script): provide default instance for Docker and Process
This will avoid to do it again and again for all plugins that needs it
2024-06-24 12:14:42 +02:00
Miloš Paunović
b3807df0e6 chore(ui): added padding to bottom of multiple pages (#4113) 2024-06-24 10:16:02 +02:00
Milos Paunovic
3894dd7aae Merge branch 'develop' of https://github.com/kestra-io/kestra into develop 2024-06-24 10:03:05 +02:00
Milos Paunovic
53013379cd chore(ui): removed unnecessary breadcrumb on plugins page 2024-06-24 10:03:01 +02:00
Ludovic DEHON
1731205dcc refactor(core): remove lots of compilation warnings 2024-06-24 09:57:41 +02:00
Anna Geller
e4df42336b fix: BC alert is no longer relevant 2024-06-24 09:16:44 +02:00
Ludovic DEHON
e60fa88fbd refactor(core): remove Worker constructor 2024-06-24 00:02:59 +02:00
Ludovic DEHON
bc98de3519 refactor(core): remove lots of compilation warning 2024-06-24 00:02:59 +02:00
Ludovic DEHON
b73b7873d4 refactor(core): remove RunnerUtils.typedInputs 2024-06-24 00:02:59 +02:00
Ludovic DEHON
84c7743991 refactor(core): remove some deprecated method on RunContext 2024-06-24 00:02:59 +02:00
Anna Geller
bd8b7f3210 fix: backfills via code are deprecated 2024-06-22 13:07:33 +02:00
Ludovic DEHON
b309014d04 fix(jdbc): JdbcServiceLivenessManager need Repository configured to be instanciate 2024-06-21 18:21:54 +02:00
Miloš Paunović
e472d7300d fix(ui): amended editor content when switching from topology view (#4091) 2024-06-21 16:46:43 +02:00
Loïc Mathieu
f48de18f5b chore(core): exclude Jackson from jsonschema lib
So the version from the platform is always used.
This should already be the case as the platform is enforced but Gradle didn't seems to agree to its own documentation ...
2024-06-21 16:32:49 +02:00
Loïc Mathieu
76ef61cf98 chore(platform): add jackson-dataformat-xml to the platform 2024-06-21 16:00:10 +02:00
Loïc Mathieu
e76e8ebeb9 chore: disable CodeQL as we didn't use it
Keep the workflow for now as we may change our mind.
2024-06-21 15:51:16 +02:00
Ludovic DEHON
9908e33327 chore(cicd): fix sonar coverage 2024-06-21 15:12:18 +02:00
Ludovic DEHON
e9f8a8f3c2 feat(core): use a standard logger for unit test 2024-06-21 15:05:57 +02:00
Florian Hussonnois
f3b711c1b3 chore(core): remove unused NamespaceFilesService 2024-06-21 14:18:01 +02:00
Loïc Mathieu
61d6d4e9e1 chore(platform): add Opensearch client lib to the platform 2024-06-21 11:56:17 +02:00
Shruti Mantri
c94e23ae66 fix(docs): use namespace as company.team for all examples (#4088) 2024-06-21 10:57:50 +02:00
Loïc Mathieu
45ee3d2c5f chore(platform): add the Kestra 'tests' library to the platform 2024-06-21 10:56:27 +02:00
Florian Hussonnois
1f5d14142c fix(core): handle trailing slash for namespace-file as URI 2024-06-21 10:11:29 +02:00
Florian Hussonnois
80db45c95f fix(core): handle NoClassDefFoundError in PluginScanner 2024-06-21 09:59:38 +02:00
Ludovic DEHON
bd5d5c5758 feat(core): move test utils to a proper package 2024-06-20 22:58:40 +02:00
Miloš Paunović
8370798669 fix(ui): tabs are being cleared on flow creation (#4085) 2024-06-20 17:40:09 +02:00
Loïc Mathieu
6efe80a88d chore: add Kestra libs used in tests in the platform 2024-06-20 17:17:12 +02:00
Loïc Mathieu
fb2732e055 feat(core): Schedule with seconds
Fixes #3941
2024-06-20 17:08:44 +02:00
Loïc Mathieu
c97d6a9c8e fix: platform publication 2024-06-20 16:35:53 +02:00
Will Russell
cf3e77bf2c fix(docs): add migration guide link to LocalFiles 2024-06-20 15:33:37 +01:00
Loïc Mathieu
76f7038b52 feat: Kestra Platform BOM 2024-06-20 15:15:22 +02:00
brian.mulier
a862f9b6e0 fix(core): add secret consumer when rendering variables for subflows 2024-06-20 14:50:02 +02:00
Loïc Mathieu
ca398441ab fix(core): possible NPE on namespace files usage
Fixes #4078
2024-06-20 13:40:15 +02:00
Shruti Mantri
7f8bcdfbcc fix(examples): correct the plugin type with the renamed plugin (#4075) 2024-06-19 19:56:45 +02:00
YannC
7064bd2977 feat(): multiselect input (#4061)
* feat(): multiselect input string

* feat(): multiple type for multiselect
2024-06-17 16:10:18 +02:00
Loïc Mathieu
b9620a5bf2 feat(core): validate that an input of type FILE didn't have any defaults 2024-06-17 12:19:39 +02:00
YannC
dd3e64a343 fix(): clean axios.js from log 2024-06-17 11:57:29 +02:00
brian.mulier
1a190a013f fix(core): nullable tenants & executions for execution skips 2024-06-17 11:42:40 +02:00
dependabot[bot]
5e3707b3e2 chore(deps): bump de.focus-shift:jollyday-core from 0.28.1 to 0.29.0
Bumps [de.focus-shift:jollyday-core](https://github.com/focus-shift/jollyday) from 0.28.1 to 0.29.0.
- [Release notes](https://github.com/focus-shift/jollyday/releases)
- [Commits](https://github.com/focus-shift/jollyday/compare/v0.28.1...v0.29.0)

---
updated-dependencies:
- dependency-name: de.focus-shift:jollyday-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 11:13:13 +02:00
YannC
1bb4e723c5 fix(): namespaces files working in script tasks on Windows 2024-06-17 11:11:30 +02:00
Florian Hussonnois
1cb54f792c refactor(core): allow access to NamespaceFiles through RunContext
Changes:
* add new Namespace and NamespaceFile class
* add new methods Storage#namespace and Storage#namesapce(string)
* add new utility class PathMatcherPredicate
* Deprecate for removal NamespaceFilesService
2024-06-17 10:35:00 +02:00
brian.mulier
4ff8c69a32 feat(*): skip executions for a tenant
part of kestra-io/kestra-ee#1247
2024-06-17 10:24:24 +02:00
brian.mulier
c8f7e398e7 fix(*): add tenant id to namespace identifier for skip execution by namespace
part of kestra-io/kestra-ee#1247
2024-06-17 10:11:35 +02:00
dependabot[bot]
590fb97f2e chore(deps): bump de.focus-shift:jollyday-jaxb from 0.28.1 to 0.29.0
Bumps [de.focus-shift:jollyday-jaxb](https://github.com/focus-shift/jollyday) from 0.28.1 to 0.29.0.
- [Release notes](https://github.com/focus-shift/jollyday/releases)
- [Commits](https://github.com/focus-shift/jollyday/compare/v0.28.1...v0.29.0)

---
updated-dependencies:
- dependency-name: de.focus-shift:jollyday-jaxb
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 10:07:33 +02:00
brian.mulier
70c0d03b20 feat(*): skip executions for a namespace
part of kestra-io/kestra-ee#1247
2024-06-17 10:01:54 +02:00
dependabot[bot]
97ab52f8f9 chore(deps): bump nl.basjes.gitignore:gitignore-reader
Bumps [nl.basjes.gitignore:gitignore-reader](https://github.com/nielsbasjes/codeowners) from 1.5.1 to 1.6.0.
- [Release notes](https://github.com/nielsbasjes/codeowners/releases)
- [Changelog](https://github.com/nielsbasjes/codeowners/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nielsbasjes/codeowners/compare/v1.5.1...v1.6.0)

---
updated-dependencies:
- dependency-name: nl.basjes.gitignore:gitignore-reader
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 09:34:36 +02:00
Loïc Mathieu
2ecfbec7e1 feat(core, jdbc): use virtual threads as "watcher" threads
This is safe as those threads are mainly sleeping.
2024-06-17 09:26:52 +02:00
Loïc Mathieu
5aba92f4d0 feat(core): user virtual threads in the Process task runner
This is safe as those threads are mainly sleeping.
2024-06-17 09:26:52 +02:00
Florian Hussonnois
7779a4f7a3 fix(core): pass param create to workdir 2024-06-14 13:33:03 +02:00
Florian Hussonnois
69084e0017 refactor(core): create new WorkingDir interface for RunContext
Changes:
* add new method RunContext#workingDir
* add new interface WorkingDir and default implementation
* deprecate all related methods from RunContext
* add new method WorkingDir#findAllFilesMatching
2024-06-14 12:47:46 +02:00
Will Russell
8ce9d16591 fix: typo in flow trigger example (#4019) 2024-06-14 11:16:37 +01:00
Ludovic DEHON
259c2bac17 fix(test): fix falling test 2024-06-14 10:31:51 +02:00
Loïc Mathieu
7c83d78fa5 fix(webserver): add plugin alias icons
Fixes #4030
2024-06-14 10:29:17 +02:00
Miloš Paunović
be84e23133 fix(ui): triggering tab change only if editor prop input is false (#4036) 2024-06-14 10:28:45 +02:00
YannC
e43400112a fix(ui): no stringify of json inputs (already string as coming form string input)
close #4033
2024-06-14 10:06:32 +02:00
YannC
5858207ca5 fix(ui): only throw flow/execution not found on sse error when execution is not populated
close #4034
2024-06-14 09:59:50 +02:00
yuri
99d0a277e2 fix(ui): allow colon mark in label value (#4027) 2024-06-14 08:43:07 +02:00
Ludovic DEHON
22d3aba578 feat(core): add a values filter
close #4032
2024-06-13 23:15:44 +02:00
Ludovic DEHON
27a81a363b feat(cicd): publish jacoco report 2024-06-13 15:55:16 +02:00
brian.mulier
40cf623a22 fix(core): add reactor dep as API 2024-06-13 12:33:59 +02:00
brian.mulier
d2cd1ac7a4 fix(build): don't fail build if writeExecutableJar is executed multiple times in a row 2024-06-13 10:45:44 +02:00
Miloš Paunović
e0a986c118 chore(ui): only validate yaml files if they are flows (#4017) 2024-06-13 10:18:17 +02:00
brian.mulier
1533959b52 fix(build): publish jdbc-h2 2024-06-12 20:09:42 +02:00
brian-mulier-p
b15d2cf409 feat(memory): remove memory runner and introduce @KestraTest (#3948) 2024-06-12 19:17:57 +02:00
Miloš Paunović
a0da24dfa1 fix(ui): added rollup as an optional dependency to amend build issues (#4010) 2024-06-12 17:02:51 +02:00
Florian Hussonnois
9fcd2a55d1 chore(core): extract interface RunContext
This commits provides new core classes to build and manipulate RunContext.

Changes:
* Rename RunContext class to DefaultRunContext
* Create new RunContext interface with no dependency on Micronaut
* Delegate all RunContext factory methods to RunContextFactory class
* Delegate RunContext hydratation to new RunContextInitializer class
* Delegate variables build to new RunVariables class
2024-06-12 16:20:38 +02:00
Frank Tianyu Zeng
275f5e8901 fix(ui): improve the readability of error message in flows (#3901) 2024-06-12 16:20:26 +02:00
Miloš Paunović
d1e3d40b2e chore(deps): updating npm dependencies (#4009)
* chore(deps): updating npm dependencies

* chore: removing the obsolete vite plugin
2024-06-12 16:00:35 +02:00
YannC
aab0919a82 fix(): set "/" as default destination when uploading files in namespace
close #3965
2024-06-12 15:30:27 +02:00
YannC
74c8bbd125 fix(): replace Windows \ for / in scriptService when returning file path
close #3724
2024-06-12 15:21:39 +02:00
Florian Hussonnois
c0745e27e9 fix(core): properly inject pluginConfiguration for WorkingDirectory task (#4006)
fix: #4006
2024-06-12 14:22:10 +02:00
YannC
78ec3c1bc4 fix(): replace Windows \ for / in LocalStorage 2024-06-12 14:09:09 +02:00
Florian Hussonnois
5391c44c6b chore: add allure reports to gitignore 2024-06-12 14:07:32 +02:00
Florian Hussonnois
0b8222ea6e chore(core): remove unused code 2024-06-12 14:05:39 +02:00
Miloš Paunović
5b347ac273 fix(ui): properly parsing json files in the editor (#4007) 2024-06-12 13:36:12 +02:00
Miloš Paunović
154631d014 chore(ui): editor improvements (#4005)
* fix(ui): editor cursor position on windows is now recalculated properly

* fix(ui): binding file explorer context menu to id property instead of name
2024-06-12 11:56:55 +02:00
YannC
541270eeb0 feat(): align on EE (#3996)
* feat(): prevent redirect on login pages (not only the login page)

* feat(): new resetPasswordUrl method
2024-06-12 11:18:16 +02:00
YannC
e99fa587e9 feat(ui): better handle of no permission (#4004) 2024-06-12 11:17:10 +02:00
Loïc Mathieu
e5abafc91c fix(webserver): trim the flow when importing
Otherwhise the flows (except the first one) will have an empty line at the begining of the surce due to the way we split multiple flows.

Fixes #3915
2024-06-12 10:52:00 +02:00
brian-mulier-p
b1fd56add4 fix(core): decrypt outputs for tasks within WorkingDirectory (#4001)
closes #4000
2024-06-12 10:41:01 +02:00
Florian Hussonnois
f194256c7a fix(core): add unique prefix identifier for output files (#3991)
fix: #3991
2024-06-11 23:02:09 +02:00
Loïc Mathieu
e2555981ef fix(script): container image is not taken into account
This was due to a bug in Lombok when a property is null but the getter returns an object initialized with the builder default.

Fixes #3997
2024-06-11 18:09:34 +02:00
Loïc Mathieu
5e7cac416e feat: move task runner out of beta and deprecate the old runner props 2024-06-11 15:16:14 +02:00
Loïc Mathieu
b7bddfc9c8 feat: add Debezium Oracle plugin 2024-06-11 09:18:14 +02:00
Florian Hussonnois
bc34aeb16c chore(jdbc): cleanup QueueInterface 2024-06-10 19:01:21 +02:00
Anna Geller
769a21665f feat: simplify the default flow template 2024-06-10 18:34:29 +02:00
Florian Hussonnois
1bade6d786 chore: remove System.out.println from Resume task 2024-06-10 15:33:33 +02:00
Loïc Mathieu
e31093ac3a feat: add Debezium DB2 and MongoDB plugins 2024-06-10 15:05:55 +02:00
Miloš Paunović
3b65ea0c45 fix(ui): properly render markdown properties (#3980) 2024-06-10 14:50:18 +02:00
Miloš Paunović
a388418426 refactor(ui): using cssVariable helper from ui-libs package (#3975) 2024-06-10 13:27:29 +02:00
YannC
4327f080a2 fix(): avoid using link tag in custom markdown plugin
close #3963
2024-06-10 11:15:47 +02:00
Florian Hussonnois
c06938f155 chore(core): remove useless method pause for WorkerJobQueueInterface 2024-06-10 10:15:58 +02:00
Miloš Paunović
210308f806 chore(ui): added note for timezone settings (#3968) 2024-06-10 09:50:27 +02:00
Ludovic DEHON
5fd7a2b3a3 feat(cicd): publish allure report 2024-06-08 22:39:14 +02:00
Will Russell
f1cf2fe502 fix(docs): Note that schedule runs on UTC by default (#3960) 2024-06-08 13:10:18 +02:00
Miloš Paunović
7b2866e455 chore(ui): added min and max values for int and float input types on flow execution (#3956) 2024-06-07 14:41:49 +02:00
brian.mulier
dc350aa2f8 fix(ui): namespace files calls were not including tenant 2024-06-07 13:11:20 +02:00
Milos Paunovic
fe25a15ba9 fix(ui): amended output preview for sqs trigger messages for ion files 2024-06-07 12:22:15 +02:00
Miloš Paunović
348bddf57e feat(ui): added filtering by state on triggers page (#3954) 2024-06-07 11:49:37 +02:00
YannC
a1db81054f feat(): use custom tag in logs to render router link in logs (#3952) 2024-06-07 10:48:49 +02:00
Miloš Paunović
8a1b0e3733 chore(ui): showing ee tooltip only on click (#3951) 2024-06-07 09:08:08 +02:00
Will Russell
ec95caa857 chore(core): add migration note (#3947) 2024-06-07 08:55:45 +02:00
Milos Paunovic
0ceea717f1 fix(ui): reverting the sqs output preview change to create better one 2024-06-07 08:10:08 +02:00
Ludovic DEHON
2c5a06839e chore(deps): update gradle-wrapper-validation 2024-06-06 23:30:11 +02:00
Florian Hussonnois
11a2915901 chore(core): remove unused WorkerInstanceService class 2024-06-06 16:36:41 +02:00
Miloš Paunović
bed63f4efd fix(ui): amended output preview for sqs trigger messages (#3863)
* fix(ui): amended output preview for sqs trigger messages

* fix(ui): file preview should retain its extension
2024-06-06 13:10:35 +02:00
Miloš Paunović
67e690d0fa chore(ui): showing ee tooltip on hover only once, then, just on click (#3944) 2024-06-06 10:11:48 +02:00
Miloš Paunović
cd08cf9b88 fix(ui): only show dependency warning on flow deletion when there are dependencies (#3942) 2024-06-06 08:49:17 +02:00
brian.mulier
82806ce637 fix(ui): prevent the need of loading all flows for Flow tab to be displayed in editor 2024-06-05 22:36:43 +02:00
YannC
080db524ae fix(ui): avoid 404 with autocomplete when flow does not exist 2024-06-05 21:35:44 +02:00
brian.mulier
6904e3aa83 fix(tests): increase timeout on TestsUtils.receive 2024-06-05 20:47:50 +02:00
YannC
9bf6967dc7 fix(): handle namespace variable in eval 2024-06-05 17:27:44 +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
brian.mulier
805c238ee7 fix(tests): using util to properly receive from queues and close it at the end to avoid side-effects between tests 2024-06-05 16:49:25 +02:00
YannC
97d33add63 fix(ui): dont count flow in tutorial namespace 2024-06-05 15:34:08 +02:00
Miloš Paunović
f6a2c5a3cc fix(ui): added safety checks for all tour related calls (#3938) 2024-06-05 15:32:50 +02:00
brian.mulier
90a680eaad fix(ui): null-safe guided tour access in TriggerFlow.vue 2024-06-05 15:11:09 +02:00
Miloš Paunović
1d9add2190 chore(ui): compacted the top of the blueprints page (#3935) 2024-06-05 14:06:17 +02:00
Miloš Paunović
db32f55e5a fix(ui): flow default inputs are now properly populated (#3934) 2024-06-05 13:13:44 +02:00
Loïc Mathieu
a0c8546015 chore(*): remove deprecated classes not used anymore 2024-06-05 11:53:25 +02:00
Miloš Paunović
001cc6a7c0 chore(ui): amended color on number input on settings page (#3930) 2024-06-05 10:48:56 +02:00
Miloš Paunović
9b1e789289 chore(ui): tour icons management and change to top dropdown menu (#3928)
* fix(ui): hiding docker task runner icon on tour

* chore(ui): removed plugins from the top nav bar
2024-06-05 10:16:26 +02:00
YannC
23db7dec2b fix(webserver): extract pluginIcon code to a Cached method 2024-06-05 09:30:30 +02:00
YannC
ccf4d2a11e fix(core): Now accept an extension for the file input
close #3858
2024-06-04 18:28:01 +02:00
Anna Geller
1f86ea5654 feat: switch from contact-us to demo 2024-06-04 17:53:15 +02:00
Loïc Mathieu
eb97af7a91 fix(core): remove the killed execution from the map after killing it 2024-06-04 17:51:53 +02:00
dependabot[bot]
d66eed19ed chore(deps): bump com.google.guava:guava from 33.2.0-jre to 33.2.1-jre
Bumps [com.google.guava:guava](https://github.com/google/guava) from 33.2.0-jre to 33.2.1-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-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-04 17:32:17 +02:00
yuri1969
102df8ccf7 chore(deps): update frontend Gradle plugin to Java 17 2024-06-04 16:18:03 +02:00
Loïc Mathieu
8c0dc8e8e0 chore: fix docker image build 2024-06-04 15:35:27 +02:00
Loïc Mathieu
9cd43d66d3 core: add default 'true' to docker task 2024-06-04 14:45:38 +02:00
YannC
bae343af46 fix(core): remove @NotEmpty
close #3920
2024-06-04 14:40:12 +02:00
YannC
86e930730a fix(core): UploadFiles now handle subfolders 2024-06-04 14:40:12 +02:00
Loïc Mathieu
5ad261f926 chore: fix docker workflow variable computation 2024-06-04 14:37:33 +02:00
Loïc Mathieu
5b225a72f2 fix: Maven description 2024-06-04 11:11:36 +02:00
Loïc Mathieu
8ae19084c3 chore(version): update snapshot version 'v0.18.0-SNAPSHOT'. 2024-06-04 10:04:26 +02:00
Loïc Mathieu
e6112bcae1 chore(version): update to version 'v0.17.0'. 2024-06-04 10:03:09 +02:00
Anna Geller
1e30b6213d fix: namespace files tasks 2024-06-04 09:47:23 +02:00
brian.mulier
4dcaa480b8 fix(tests): run receive consumers cancellations to prevent assignment stealings between tests 2024-06-03 23:07:18 +02:00
brian.mulier
ba9202092e fix(tests): null-safe findByExecutionId in MemoryLogRepository 2024-06-03 22:34:04 +02:00
brian.mulier
2a496df421 fix(core): force shutdown after terminationGracePeriod
closes #3897
2024-06-03 19:19:26 +02:00
YannC
f763ed2d46 fix(webserver): validate start/end date timeline and throw if not correct (#3911)
* fix(webserver): validate start/end date timeline and throw if not correct

* chore(): add test
2024-06-03 17:50:17 +02:00
Florian Hussonnois
0885f7285b fix: support alias for plugin-configuration 2024-06-03 17:16:06 +02:00
YannC
f148af9ce3 fix(ui): import javascript langage for shiki 2024-06-03 17:05:30 +02:00
YannC
e7a0a0bb5b fix(core): avoid using removeIf in PluginUtilsService 2024-06-03 17:05:30 +02:00
Ludovic DEHON
8d75d9d7fb fix(ui): entreprise tooltip term can be null 2024-06-03 14:41:57 +02:00
Loïc Mathieu
304f43ec06 chore: move PluginUtilsService out of the tasks package so it could be removed soon 2024-06-03 12:56:26 +02:00
brian.mulier
c0ac6dd80a fix(ui): flow buttons were no longer showing 2024-06-03 12:33:12 +02:00
Loïc Mathieu
193a6084d5 chore: fix download artifact 2024-06-03 12:15:42 +02:00
Miloš Paunović
fea9019019 chore(ui): no onboarding menu item on ee instances (#3913) 2024-06-03 11:51:47 +02:00
Loïc Mathieu
ee34695022 chore: fix docker wokflow job as no dependency 2024-06-03 11:18:23 +02:00
YannC
c191843a8b fix(core): missing variables in rendering (#3910) 2024-06-03 11:15:00 +02:00
Ludovic DEHON
c0031ee40d feat(ui): add link for ee on the left menu 2024-06-03 10:48:37 +02:00
Loïc Mathieu
0cbbad4043 feat: new CI and release process 2024-06-03 10:46:29 +02:00
Florian Hussonnois
9844744928 fix(script): set task-runner type legacy DockerOptions (#3896)
fix: #3896
2024-06-03 09:03:50 +02:00
Ludovic DEHON
78f24343b1 feat(ui): add auditlogs tabs on execution & flow 2024-06-02 22:39:47 +02:00
Ludovic DEHON
167b33d7db feat(ui): display server error when possible
relate #3752
2024-06-02 22:39:47 +02:00
YannC
d51b898518 fix(core): dont keep null value when transforming input files 2024-05-31 23:28:37 +02:00
YannC
31338d2b3a fix(script): do not use set -e option when on windows (#3892)
close #3658
2024-05-31 21:18:26 +02:00
Ludovic DEHON
9a18867722 feat(ui): better error toast
close #3752
2024-05-31 14:42:02 +02:00
Miloš Paunović
974b0874a4 chore(ui): properly colouring task icons on both modes (#3895)
* chore(ui): amended border color on flow image cards

* chore(ui): properly coloring task icons on both modes
2024-05-31 13:28:15 +02:00
YannC
b63b49002b fix(core): use attribute instead of method for line separator in TargetOS 2024-05-31 13:02:04 +02:00
YannC
2e5ae6d1a8 fix(core): waitfor maxIteration do not stop too early
close #3861
2024-05-31 12:58:24 +02:00
YannC
2223265e60 fix(core): prevent updating disable state of a real time trigger from the trigger api 2024-05-31 12:50:59 +02:00
Miloš Paunović
46ed44deee chore(ui): added code image for welcome page for light mode (#3893) 2024-05-31 12:29:59 +02:00
YannC
e0446ac6fd fix(): improve Docker process stability on Windows OS (#3834)
* fix(): improve Docker process stability on Windows OS

* feat(): new targetOS property
2024-05-31 11:40:50 +02:00
YannC
e21d45346b fix(QA): resolve QA issues
close #3888
2024-05-31 11:39:28 +02:00
Miloš Paunović
8f353ff402 fix(ui): included python into list of languages for markdown highlighter (#3890) 2024-05-31 11:06:09 +02:00
YannC
21c7a9de98 feat(core): create util for Path 2024-05-31 10:54:25 +02:00
Florian Hussonnois
c703bf741e fix(core/jdbc): fix JdbcServiceInstanceRepository predicate for finding active instances 2024-05-31 09:55:13 +02:00
Miloš Paunović
fce7326507 chore(ui): more improvements of the overall onboarding experience (#3889) 2024-05-31 09:30:06 +02:00
brian.mulier
e15840fd98 fix(ui): scope buttons css to prevent autocompletion from being invisible 2024-05-30 17:22:21 +02:00
Miloš Paunović
a9b7a18f8f chore(ui): improved overall onboarding experience (#3887)
* chore(ui): changed button and card styles to improve overall ui

* chore(ui): added execute button glow animation

* chore(ui): added arrow jumping animation
2024-05-30 16:54:46 +02:00
Ludovic DEHON
807fe8f3a5 feat(ui): send template on guided tour events 2024-05-30 16:48:45 +02:00
brian.mulier
0bc580b0d2 feat(ui): add autocompletion for root attributes
part of #3622
2024-05-30 15:50:15 +02:00
YannC
5d97122d4d feat(core): use ant style matcher for namespaces tasks 2024-05-30 15:09:20 +02:00
Miloš Paunović
00f43c173c chore(ui): hiding tour skip button and repositioning card on last step (#3880)
* chore(ui): hiding skip button on tour last step

* chore(ui): better offset for last step to show entire gantt chart
2024-05-30 14:32:17 +02:00
Miloš Paunović
8824f80626 chore(ui): preventing execution modal closing during onboarding tour (#3879) 2024-05-30 13:46:46 +02:00
Miloš Paunović
cc307d27c6 chore(ui): tweaked onboarding tour for both light and dark modes (#3878) 2024-05-30 13:32:22 +02:00
YannC
755302a0af feat(core): namespace files tasks (#3866)
* feat(core): namespace files tasks

* fix(): rendering
2024-05-30 11:28:19 +02:00
Miloš Paunović
0e3a08befb fix(ui): editor cursor position on windows is now recalculated properly (#3872) 2024-05-30 10:37:16 +02:00
Florian Hussonnois
1729b66111 chore(core): enhance collectors service 2024-05-29 16:46:55 +02:00
Miloš Paunović
f6763af504 chore(ui): improved overall onboarding tour (#3868)
* chore(ui): added the ability to finish the tour and stay on current page

* chore(ui): hiding next button on steps where we need execution button click
2024-05-29 16:20:43 +02:00
Anna Geller
f6f50117fa Merge branch 'develop' of https://github.com/kestra-io/kestra into develop 2024-05-29 15:27:17 +02:00
Anna Geller
15dca3c05c fix: docker task runner type 2024-05-29 15:27:09 +02:00
Loïc Mathieu
f39e6fdb8a fix(core): multipleConditionTriggerFailed() is flaky 2024-05-29 15:25:30 +02:00
Miloš Paunović
a9a2768d9f fix(ui): amended first click on resume execution butotn (#3865) 2024-05-29 15:19:07 +02:00
Loïc Mathieu
f91d17c3ef fix(core): WaitFor task
- condition was inverted
- resolveState was mis-implemented leading to warnings in the lof
- doc & plugin update
2024-05-29 14:57:41 +02:00
Loïc Mathieu
a87747099e fix(core): missing @PluginProperty on Pause.onResume 2024-05-29 13:00:52 +02:00
Loïc Mathieu
4f713bf826 fix(core): render input files
Fixes #3853
2024-05-29 10:17:19 +02:00
brian.mulier
9360392577 fix(tests): cross tenant test in StorageTestSuite was wrong 2024-05-29 09:33:46 +02:00
Loïc Mathieu
5a4575dc70 fix(core): dynamic tasks 2024-05-28 17:11:56 +02:00
Miloš Paunović
9af465fad4 chore(ui): improved code example image on welcome page (#3848) 2024-05-28 14:48:57 +02:00
Miloš Paunović
cf588e43ae fix(ui): prevented tabs to overflow into a global scroll (#3846) 2024-05-28 14:05:09 +02:00
Miloš Paunović
510855b7b0 chore(ui): include subtasks in flow icons for onboarding tour (#3845) 2024-05-28 13:42:44 +02:00
Loïc Mathieu
d0b05b4a89 chore: use the Micronaut Platform BOM 2024-05-28 13:04:26 +02:00
Will Russell
2c50fb50f8 fix(docs): remove vscode editor reference (#3741) 2024-05-28 12:56:24 +02:00
Miloš Paunović
c2284d7e3d refactor(ui): optimized file icon package (#3844) 2024-05-28 12:53:00 +02:00
Loïc Mathieu
4f8c38e254 chore(*): dependency upgrade 2024-05-28 10:12:15 +02:00
Miloš Paunović
b4894ddce5 chore(ui): increased size of the select icons (#3841) 2024-05-28 09:13:11 +02:00
brian.mulier
b47c5f3e62 feat(ui): autocompletion also works for nested tasks
closes #3819
2024-05-27 18:46:45 +02:00
Miloš Paunović
f61a1eda2e fix(ui): adapted layout on welcome page for different screen sizes (#3839) 2024-05-27 17:32:15 +02:00
brian.mulier
628a8176cc feat(ui): bring relative date filter everywhere instead of date range only
closes kestra-io/kestra-ee#970
closes kestra-io/kestra-ee#901
2024-05-27 17:01:39 +02:00
YannC
9d4a03ecd1 fix(core): create new runcontextlogger when cleaning up in runContext 2024-05-27 16:56:46 +02:00
Loïc Mathieu
9f9da8e422 chore: upgrade to Micronaut 4.4.3 2024-05-27 16:27:24 +02:00
Loïc Mathieu
61d469eb52 feat: check allowed namespaces on the Purge task 2024-05-27 15:05:23 +02:00
Miloš Paunović
b62adc984c feat(ui): improved file explorer empty state (#3838) 2024-05-27 13:39:43 +02:00
Ludovic DEHON
8c8a171f9a fix(core): proper error message for invalid input
relate to #3752
2024-05-27 13:34:13 +02:00
Miloš Paunović
6c0d0482f2 fix(ui): amended editor sidebar to properly refresh list of files (#3833) 2024-05-27 10:52:04 +02:00
Anna Geller
beb9a341e8 fix: improve the error message 2024-05-27 10:46:33 +02:00
Shruti Mantri
e3f0cf3c65 feat(examples): update an example to use 0.17.0 plugin names (#3820) 2024-05-24 19:13:13 +02:00
Miloš Paunović
aea578adfa chore(ui): task icon improvements on onboarding (#3816) 2024-05-24 16:39:15 +02:00
brian.mulier
0295556e28 fix(ui): more explicit "save task" button to avoid confusion with saving flow in task editor
closes #2869
2024-05-24 16:37:12 +02:00
Miloš Paunović
bbae50623c fix(ui): improved onboarding styles on light theme (#3815) 2024-05-24 16:14:18 +02:00
brian.mulier
9c6301c6f7 feat(core): add warning when a Flow trigger has no condition
closes #3395
2024-05-24 15:37:04 +02:00
brian.mulier
21d6408439 fix(storage-local): add log in case of failing file visit 2024-05-24 15:21:12 +02:00
brian.mulier
326ec8f052 fix(storage-local): regression on LocalStorage allByPrefix 2024-05-24 15:12:19 +02:00
brian.mulier
0ab909446b fix(webserver): prevent zombie folders when deleting namespace files and there is no more file in it
closes kestra-io/terraform-provider-kestra#98
2024-05-24 13:22:38 +02:00
Anna Geller
7331d05f99 fix: add deprecation marker for Template 2024-05-24 10:04:47 +02:00
brian.mulier
3d954a4cc4 fix(ui): plugin card clicks now also open the first element of the plugin even if there is no tasks (triggers, conditions or taskRunners)
closes #3801
2024-05-24 09:50:12 +02:00
brian.mulier
73c4a67188 fix(ui): null-safe Usages.vue 2024-05-23 17:52:23 +02:00
Loïc Mathieu
abafdb81fa feat(cli): allow to start only some executors 2024-05-23 17:03:31 +02:00
Florian Hussonnois
8875472176 fix(core): fix kill method call for triggers 2024-05-23 16:53:15 +02:00
Anna Geller
087d43b42d fix: outdated wdir examples 2024-05-23 16:03:59 +02:00
Miloš Paunović
551507fa2d fix(ui): made import paths relative for ee build to work (#3806)
* fix(ui): made import paths relative for ee build to work

* chore(ui): removed obsolete code
2024-05-23 15:26:54 +02:00
Miloš Paunović
679696bb92 feat(ui): implemented fresh and improved onboarding flow (#3804)
* refactor(ui): improved syntax on component related to settings page

* refactor(ui): added two more vite aliases

* feat(ui): added background image and animation

* feat(ui): removed obsolete styling file and it's import

* feat(ui): added helper for getting proper icons based on name and type

* feat(ui): added onboarding related buttons

* chore(ui): added tsconfig.json file with path aliases

* feat(ui): new onboarding flow

* refactor(ui): removed obsolete file

* feat(ui): onboarding flow tweaks

* chore(ui): onboarding flow tweaks
2024-05-23 13:33:53 +02:00
brian.mulier
929ee7be9c fix(core): aliases are now lowercased in Map for easier class retrieval 2024-05-23 11:07:26 +02:00
YannC
b14064d6f1 chore(core): use const instead of magic number 2024-05-23 10:42:55 +02:00
YannC
deeebe5815 fix(core): correctly use updated taskRun in waitFor nextDateEvaluation 2024-05-23 10:41:50 +02:00
Loïc Mathieu
8ea06ce356 fix(core): add missing icon for th runner subgroup 2024-05-23 09:47:37 +02:00
YannC
c0f073cd7f fix(core): Return metric correctly use rendered format 2024-05-23 09:14:38 +02:00
Anna Geller
e53c534cc4 fix: WaitFor docs 2024-05-22 18:01:13 +02:00
Loïc Mathieu
105719d8f9 chore(core): filter log message
Filter the og message 'Failed to bind as java.util.concurrent.Executors$AutoShutdownDelegatedExecutorService is unsupported.' it is due to Micronaut/Micrometer not knowing this kind of executor so it refuses to meter it.
2024-05-22 16:39:38 +02:00
brian.mulier
0ae83269ad fix(tests): increase HTTP readTimeout for webserver tests 2024-05-22 16:26:24 +02:00
brian.mulier
dc9cb2a3ee fix(tests): increase readTimeout for RequestTest.selfSigned 2024-05-22 16:26:24 +02:00
brian.mulier
9cfa66496d fix(tests): add retrying to some flaky tests 2024-05-22 16:26:24 +02:00
brian.mulier
7f4c2bbc97 fix(core): add dry run importFlow in FlowService 2024-05-22 16:26:24 +02:00
YannC
21f1f86b5b fix(ui): dont add file type to formdata if value is null 2024-05-22 16:18:17 +02:00
Loïc Mathieu
932fc3da20 fix(script): render the container image before passing it to the task runner
Fixes #147
2024-05-22 16:02:31 +02:00
YannC
857cdd3a4e feat(): allow file creation with specific name from runContext (#3796) 2024-05-22 13:59:56 +02:00
Loïc Mathieu
914a10855b fix(webserver): return a Publisher and carefully handle all exceptional path
This is important so that the body is always consume.
2024-05-22 13:12:59 +02:00
Loïc Mathieu
d93761efc0 fix(core, webserver): file upload 2024-05-22 09:39:10 +02:00
Anna Geller
26ec19df47 docs: Resume task 2024-05-21 19:23:30 +02:00
Loïc Mathieu
cc7ef72b53 feat(core): Download - get the filename form the content disposition
Fixes #3788
2024-05-21 18:23:55 +02:00
Loïc Mathieu
64b82e5b85 feat(core): rename VariableCondition to ExpressionCondition
Fixes #3790
2024-05-21 18:01:16 +02:00
Loïc Mathieu
6aa1a228fa feat(*): rename task defaults as plugin defaults
Fixes #3556
2024-05-21 17:16:26 +02:00
Florian Hussonnois
7f6881d448 WIP feat(core): add new stop method WorkerJobLifecycle
part-of: #3734
part-of: kestra-io/plugin-kafka#75
2024-05-21 15:43:06 +02:00
brian.mulier
2a1b9d8daf fix(core): restore secrets encryption in logs 2024-05-21 13:49:29 +02:00
Florian Hussonnois
e00a3b51e1 fix(cli): load flows for webservers and standalone (#3783)
Changes:
- add new option --no-tutorials to disable auto loading of tutorial
  flows from CLI.

Fix: #3783
2024-05-21 13:46:39 +02:00
Ludovic DEHON
07744be45b fix(core): add a better error message for invalid expression 2024-05-21 12:04:45 +02:00
Ludovic DEHON
e716421e17 fix(tasks): add missing http icons 2024-05-21 11:34:30 +02:00
Loïc Mathieu
e0cfd77b03 feat(core): load task defaults from aliases 2024-05-21 11:02:44 +02:00
Loïc Mathieu
19268a8bf9 feat(core): add missing test for null inputs 2024-05-21 11:02:36 +02:00
Miloš Paunović
9a6527953e fix(ui): prevent sending empty strings as payload for flow exectutions (#3780) 2024-05-21 10:15:54 +02:00
Miloš Paunović
d0eac4edea fix(ui): dashboard date range shows full field (#3778) 2024-05-21 09:46:47 +02:00
Miloš Paunović
be3439b316 fix(ui): amended execute dialog form width issue (#3777) 2024-05-21 08:57:52 +02:00
Miloš Paunović
04a6c12157 chore(ui): changed the color of number input buttons on settings page (#3776) 2024-05-20 18:41:15 +02:00
YannC
513e69d381 fix(ui); remove lang settings from date/time section 2024-05-20 16:50:22 +02:00
YannC
3cd8becb41 feat(): improve task default (#3775)
* feat(core): improve taskDefault validation

* feat(ui): Apply taskdefault schema on Task Defaults input in namespace ui
2024-05-20 16:35:57 +02:00
Loïc Mathieu
80e8da3758 feat(core): include all variables in the run context 2024-05-20 13:00:26 +02:00
Loïc Mathieu
28883b3957 feat: rename task in tests, comments, docs and UI (#3753) 2024-05-20 10:39:00 +02:00
Loïc Mathieu
c4cf12fcb0 fix(core): remove PluginCategory.DATA_QUALITY as it's not used (#3766) 2024-05-20 10:28:40 +02:00
Miloš Paunović
3368e5ad14 chore(ui): minor improvements on settings page and cleaning up (#3773)
* refactor(ui): removed obsolete imports

* chore(ui): rearanged the export buttons on settings page
2024-05-20 08:22:54 +02:00
brian.mulier
bfa914f4d7 fix(core): add AbstractFlowRepositoryTest.findByNamespacePrefix test 2024-05-17 19:54:55 +02:00
brian.mulier
f904d6b5d4 feat(core): enhance FlowService and add findByNamespacePrefix 2024-05-17 19:35:33 +02:00
Florian Hussonnois
8a7aeb43f2 fix(webserver): prevent FlowAutoLoaderService to crash when api is unavailable 2024-05-17 15:00:13 +02:00
YannC
32d8586cf5 fix(): remove useless test 2024-05-17 14:55:38 +02:00
Loïc Mathieu
41a8e41e49 fix(core): Pebble JsonFunction and JsonFiter should use the stanard ObjectMapper
Fixes #3211
2024-05-17 11:36:13 +02:00
Florian Hussonnois
5fb2eb7f60 feat(webserver): autoload tutorial flows from blueprints (#3607)
fix: #3607
2024-05-17 10:51:54 +02:00
YannC
0f64c09365 feat(core): allows multiple task for WaitFor (#3751)
* feat(core): add checkFrequency prop to waitFor task

* feat(core): allows multiple task for WaitFor

* fix(): use iteration and clear attempts to avoid cumulating data

* chore(doc): removed alias on WaitFor task and renamed task in tests
2024-05-17 10:12:16 +02:00
YannC
02b57afef1 fix(core): check trigger before casting
close #3735
2024-05-17 10:04:37 +02:00
Loïc Mathieu
a013a7b7ae feat: support aliased ForEachItem and Schedule on the UI 2024-05-17 09:53:17 +02:00
Florian Hussonnois
68bbbc5bc3 chore(core): clean PluginScanner log 2024-05-17 08:56:20 +02:00
Miloš Paunović
d32fe876cd fix(ui): improved flow and editor behaviour (#3761)
* fix(ui): allowing flow sve on creation

* chore(ui): renaming plugins in samlpe flow

* fix(ui): improved editor positioning
2024-05-17 08:24:48 +02:00
Ludovic DEHON
b262e48d7f fix(core): prevent a crash if a plugin is invalid 2024-05-16 22:49:17 +02:00
Ludovic DEHON
3cee2bee6a fix(ui): don't use lodash full
relate to #3717
2024-05-16 22:49:03 +02:00
Ludovic DEHON
87ed6f13fa refactor(core): don't expose multiple entry on collector service 2024-05-16 22:48:23 +02:00
YannC
f410353176 fix(core): avoid casting TaskForExecution to executableTask in graphs
close #3757
2024-05-16 17:28:22 +02:00
Miloš Paunović
288c608a8f fix(ui): adding safeguard against current tab (#3756) 2024-05-16 15:45:30 +02:00
Loïc Mathieu
6ef8d5e314 feat(core): add HTTP tasks to the core plugin
Fixes #3188
2024-05-16 15:42:16 +02:00
Miloš Paunović
500271dfb9 fix(ui): improved flow validation (#3755)
* fix(ui): not validating namespace file, only flows

* fix(ui): allowing save of every tab which is dirty
2024-05-16 15:23:56 +02:00
Loïc Mathieu
17ccfcf93e feat(core, script): rename DockerTaskRunner to Docker and ProcessTaskRunner to Process
Fixes #3729
2024-05-16 13:55:54 +02:00
Loïc Mathieu
9288149c0b feat(core): remove Flow and Worker task and use aliases 2024-05-16 13:55:54 +02:00
Loïc Mathieu
b48a758ec7 feat(core): rename task Counts to Count
Fixes #2863
2024-05-16 13:55:54 +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
Loïc Mathieu
18d0db973c feat(core): add alias to the old plugin name 2024-05-16 13:55:54 +02:00
Miloš Paunović
e9f773adf3 fix(ui): made copy flow functionality work again (#3750) 2024-05-16 10:40:47 +02:00
Miloš Paunović
957c5ab89f fix(ui): combined editor topology view height amended (#3748) 2024-05-16 09:36:43 +02:00
Miloš Paunović
3feb468323 fix(ui): editor layout fix on templates page (#3747) 2024-05-16 09:21:59 +02:00
Pranav Nagarajan
f00616a201 fix(docs): update link to templates migration page (#3739) 2024-05-16 08:25:21 +02:00
Miloš Paunović
5604c93236 fix(ui): adjusting editor layout issues (#3746)
* fix(ui): adjusting default dependency count to 0

* feat(core): new WaitFor task (#3652)

* feat(core): new WaitFor task

* feat(): avoid locking a thread

* chore(docs): improved documentation

* fix(): output method

* fix(ui): editor is no longer breaking on flow editing/creation switch

---------

Co-authored-by: YannC <37600690+Skraye@users.noreply.github.com>
2024-05-16 08:12:20 +02:00
Loïc Mathieu
9e5a6050ab fix(core, ui): display alias doc in the editor 2024-05-15 17:25:43 +02:00
Anna Geller
ffee34b61b fix: typo 2024-05-15 16:00:23 +02:00
brian.mulier
dc99d30e01 fix(ui): remove vscode-web from gitignore 2024-05-15 14:32:46 +02:00
YannC
7be087d04b feat(ui): removed draft
close #3677
2024-05-15 14:32:20 +02:00
Loïc Mathieu
a72e391b34 feat(core, webserver): alias improvements
- Fix the title in the doc
- Display the replacement in the doc and in the Flow editor warning
2024-05-15 12:38:29 +02:00
YannC
00fa834b71 chore(core): deprecated LocalFiles task
close #3728
2024-05-15 11:49:01 +02:00
Anna Geller
eecb2d69d1 fix: remove handlebar expressions 2024-05-15 11:44:26 +02:00
Anna Geller
e15ba46f3d docs: add Pebble expressions to the main UI documentation for a quick reference 2024-05-15 11:34:24 +02:00
YannC
b2ea51da09 feat(core): new WaitFor task (#3652)
* feat(core): new WaitFor task

* feat(): avoid locking a thread

* chore(docs): improved documentation

* fix(): output method
2024-05-15 10:44:26 +02:00
Anna Geller
3f5796a389 feat(subflow): change the defaults to wait until subflow completion 2024-05-14 19:35:58 +02:00
Loïc Mathieu
2545df4387 chore: fix more Jackson lib versions 2024-05-14 18:00:18 +02:00
brian.mulier
305e467b4f feat(core): add a few methods to NamespaceFilesService and use existing methods for recursive listing 2024-05-14 17:05:03 +02:00
YannC
3d129d281e fix(ui): load more than 10 triggers in flow trigger page
closes #3455
2024-05-14 16:54:41 +02:00
Florian Hussonnois
834190c1db feat(core/scripts): properly handle kill of TaskRunner (#3700)
fix: #3700
related-to: kestra-io/plugin-gcp#380
2024-05-14 16:43:35 +02:00
Florian Hussonnois
fc07fe57b0 chore(core): remove unnecessary saveFlowableOutput method calls 2024-05-14 16:27:29 +02:00
Florian Hussonnois
5a2c9749b5 fix(core): add outputs to WorkingDirectory (#3693)
Fix: #3693
2024-05-14 16:27:29 +02:00
Florian Hussonnois
4d8173d34d fix(scripts): fix wrong warning on volume-enabled (#3608)
fix: #3608
2024-05-14 15:58:42 +02:00
Loïc Mathieu
d979298f99 feat(core): remove our custom ObjectMapperFactory 2024-05-14 15:56:34 +02:00
Miloš Paunović
8610fef95c fix(ui): properly show editor on execution payload input (#3725) 2024-05-14 15:22:56 +02:00
YannC
a8ec522b22 fix(ui): logsWrapper use correctly namespace
closes #3424
2024-05-14 15:09:31 +02:00
YannC
838eceec8b chore(): upgrade kestra ui-lib version 2024-05-14 14:30:35 +02:00
Miloš Paunović
fe24172573 fix(ui): ability to scroll through multiple triggers to limit the column width (#3722) 2024-05-14 14:04:40 +02:00
Miloš Paunović
635f638f83 fix(ui): added flow retry to metadata editor (#3721) 2024-05-14 12:39:17 +02:00
YannC
925ce686f0 feat(core): trigger task icon 2024-05-14 11:50:23 +02:00
YannC
70a0b67548 feat(ui): better concurrency UI 2024-05-14 11:36:01 +02:00
Anna Geller
e5b0767ffa fix: retry 2024-05-14 10:44:38 +02:00
YannC
efee6c9055 feat(core): if iteration is available, add it in runCOntext 2024-05-14 10:23:29 +02:00
Miloš Paunović
3bb9c6d933 fix(ui): amended tabs closing issue on re-rendering (#3718) 2024-05-14 10:09:31 +02:00
Miloš Paunović
29af172981 chore(ui): improvements of the editor usability (#3696)
* chore(ui): added the ability to resize the file explorer sidebar

* fix(ui): amended the revisions editor height

* fix(ui): handle editor width with combined view opened

* fix(ui): editor styling should differ if opened in a drawer
2024-05-14 08:46:14 +02:00
Ludovic DEHON
ff383dbb31 fix(ui): monaco editor is mixing models
close #3716
2024-05-14 08:36:10 +02:00
Ludovic DEHON
e1641bfa60 fix(ui): metadata remove the outputs
close #3468
2024-05-14 08:22:05 +02:00
Ludovic DEHON
3e3cd0f341 fix(core): UriProvider should output null if empty string
relate to kestra-io/kestra-ee#1110
2024-05-13 22:05:42 +02:00
brian-mulier-p
1101ae4c18 fix(ci): prevent running sonar if skip test 2024-05-13 18:46:20 +02:00
Loïc Mathieu
fd32ee7803 feat(core): use JsonInclude.NON_DEFAULT on plugin classes
Else, when deserialized by Jackson the default value will be included even if not set.
2024-05-13 18:30:33 +02:00
Loïc Mathieu
d1c6772289 fix(core): remove the custom BeanSerializerFactory 2024-05-13 18:30:33 +02:00
Loïc Mathieu
c664cef6e5 fix(core): don't serialize the state endDate 2024-05-13 18:30:33 +02:00
Loïc Mathieu
4c9c187d45 feat(core): keep empty object on json serialization 2024-05-13 18:30:33 +02:00
Anna Geller
c6af300497 fix: re-add the company name 2024-05-13 14:22:22 +02:00
Shruti Mantri
dc4290ebf0 fix(docs): correct the url to huggingface 2024-05-13 11:46:18 +02:00
brian.mulier
30d6973744 fix(ui): autocompletion for flowId was not working 2024-05-13 09:52:37 +02:00
Miloš Paunović
53ac47d2d2 feat(ui): structured settings page by sections (#3703) 2024-05-13 08:56:12 +02:00
Miloš Paunović
57230b07a9 fix(ui): ameded editor breaking on problematic yaml code pasting (#3704) 2024-05-12 15:14:57 +02:00
Miloš Paunović
bf1d910518 chore(ui): amending the initial editor implementation (#3689)
* chore(ui): added placeholder when there are no files in the explorer

* chore(ui): collapsing sidebar if there are no namespace files present

* chore(ui): collapsing sidebar on initial load

* fix(ui): amended folder import

* fix(ui): amended topology view height

* fix(ui): amended revision history editor

* chore(ui): reduced the width of the sidebar

* chore(ui): made active tab name more prominent
2024-05-09 11:27:44 +02:00
brian.mulier
9189cd6782 feat(ui): remove VSCode Namespace Files editor
part of #3685
2024-05-07 19:46:23 +02:00
Florian Hussonnois
b992be7a55 fix(core): fix task timeout 2024-05-07 18:32:17 +02:00
brian.mulier
a9d5b64c64 fix(ui): restore autocompletion for flows 2024-05-07 18:28:44 +02:00
Miloš Paunović
ae9bca5c4f feat(ui): replacing vscode editor with custom monaco implementation (#3568)
---------

Co-authored-by: brian.mulier <bmmulier@hotmail.fr>
2024-05-07 17:43:06 +02:00
Loïc Mathieu
83dbf042ed fix(core): move trigger tests on their own namespace 2024-05-07 16:46:14 +02:00
Loïc Mathieu
fee2fd0135 fix(core): redact the KESTRA_PLUGIN_PATH from the env vars available in a flow 2024-05-07 16:45:54 +02:00
Loïc Mathieu
905cc459ab feat: task to resume an execution
Fixes #1041
2024-05-07 15:17:49 +02:00
Florian Hussonnois
f2d600ba25 chore: fix makefile to wait for pg before starting kestra 2024-05-07 10:41:45 +02:00
Florian Hussonnois
55da62b207 fix(ui): handle inputs for type array (#3644)
Fix: #3644
2024-05-07 10:39:58 +02:00
Florian Hussonnois
35c469d638 fix(ui): fix flow inputs (#3668)
This commit fixes multiple issues on inputs when triggering a flow.

Fix: #3668
Fix: #3648
Fix: #3649
2024-05-07 09:59:08 +02:00
Loïc Mathieu
1c491f4740 fix(repository-memory): possible NPE in MemoryLogRepository.findByExecutionIdAndTaskId 2024-05-06 17:59:23 +02:00
Loïc Mathieu
320d7df123 feat: add taskrunner usage 2024-05-06 17:59:23 +02:00
Loïc Mathieu
f15194f96a feat(core): rename Pebble context() function to printContext() 2024-05-06 16:40:05 +02:00
Loïc Mathieu
238dbfb69d fix(core): rename Pebble dump() function to context() function 2024-05-06 12:20:12 +02:00
Florian Hussonnois
61853d519b chore: use parallelStream for loading plugins 2024-05-06 11:02:55 +02:00
Ludovic DEHON
dd885069a9 fix(ui): task logo are missing on logs page
close #3666
2024-05-05 23:09:38 +02:00
Ludovic DEHON
df99b3826a fix(ui): top level await are not supported 2024-05-05 22:41:01 +02:00
Ludovic DEHON
e6e4ce0dd4 fix(ui): better layout of markdown 2024-05-05 22:41:01 +02:00
Anna Geller
f5586d2dea closes https://github.com/kestra-io/kestra/issues/3670 2024-05-05 14:18:16 +02:00
Anna Geller
8d8c605723 fix(ui): links on the Welcome page 2024-05-05 12:23:12 +02:00
Ludovic DEHON
25cce87a49 fix(ui): layout of plugins pages 2024-05-04 23:13:08 +02:00
Ludovic DEHON
4455a15b5c feat(ui): replace prism with shiki for code highlight
close kestra-io/kestra#3625
2024-05-04 22:33:20 +02:00
Ludovic DEHON
060bc29094 feat(ui): metric graph text are visible
close #3364
2024-05-03 23:36:51 +02:00
Ludovic DEHON
075ab7d95c feat(ui): restore tab on monaco editor type input
close #1015
2024-05-03 23:20:24 +02:00
Ludovic DEHON
afa8462ac0 feat(core): add a dump expression
close #3537
close #1279
2024-05-03 22:14:45 +02:00
Florian Hussonnois
3adba7ade6 fix(cli): ensure PluginRegistry init is lazy 2024-05-03 19:16:58 +02:00
Ludovic DEHON
f0c091eee0 fix(ui): add a filter on execution output
close kestra-io/kestra-ee#410
2024-05-03 18:30:53 +02:00
Ludovic DEHON
72c7f30d08 fix(ui): prevent breaking execution overview during loading of flow definition 2024-05-03 18:30:53 +02:00
Florian Hussonnois
8c1cd8ef9e build(deps): use jackson version 2.16.2 2024-05-03 17:15:25 +02:00
Ludovic DEHON
fbec4e0168 fix(core): preserve case on task default values
close #2844
2024-05-03 16:40:17 +02:00
YannC
48146ba961 feat(ui): when readonly and JSON, format code
close #1957
2024-05-03 11:38:44 +02:00
YannC
7439bf96e9 fix(ui): emit default value from inputsForm 2024-05-03 11:27:02 +02:00
YannC
88a76009ee fix(ui): refresh input when open trigger flow 2024-05-03 11:26:39 +02:00
Ludovic DEHON
50192308ab chore(deps): update javascript deps 2024-05-02 22:52:24 +02:00
Ludovic DEHON
593f2ef3c5 chore(deps): update most java deps 2024-05-02 19:04:54 +02:00
Florian Hussonnois
47d96649ea feat(script): add support for killing docker container (#973)
Fix: #973
Fix: #2653
2024-05-02 18:25:07 +02:00
Florian Hussonnois
d99601cfbc feat(core): add new WorkerJobLifecycle interface (#1498)
Fix: #1498
2024-05-02 18:25:07 +02:00
Florian Hussonnois
8f0119d947 feat(core): add inputFiles and outputFiles to WorkingDirectory (#3554)
Fix: #3554
2024-05-02 18:08:06 +02:00
Loïc Mathieu
88e4357df2 fix: force Commons Compress version
The version from the Docker lib is too old for the k8s extension.
2024-05-02 17:33:12 +02:00
Florian Hussonnois
7dadd0271d chore: refactor runContext deprecated method 2024-05-02 16:35:34 +02:00
brian.mulier
ece32ac77f fix(build): no more limit on the jar file amount 2024-05-02 16:33:36 +02:00
YannC
57c194e282 fix(core): new execution retry fix 2024-05-02 15:58:26 +02:00
Florian Hussonnois
d537cfc625 chore(script): deprecate outputDir in favor of outputFiles (#3492)
Fix: #3492
2024-05-02 15:44:14 +02:00
Loïc Mathieu
b6563d24e0 feat(script): switch to Apache HTTP based Docker HTTP client 2024-05-02 10:42:04 +02:00
YannC
a718fabd0a fix(core): Also set parent taskrun to RETRIED
closes #3512
2024-05-02 10:29:30 +02:00
brian.mulier
9588d94a59 fix(ui): prevent lazy-loaded fonts leading to cursor shift bug on Windows 2024-05-02 09:43:56 +02:00
YannC
28f448b3d4 fix(core): return all tasks in execution dto task class 2024-05-02 09:33:59 +02:00
YannC
d7c266e25a feat: allows to use svg for tenant logo (#3646) 2024-04-30 19:23:40 +02:00
Florian Hussonnois
527c13a262 fix(core): prevent PluginRegistry from being init alongside ObjectMapper 2024-04-30 18:53:01 +02:00
Ludovic DEHON
9fc212869d feat(core): add generateRealtimeExecution on TriggerService 2024-04-30 18:03:20 +02:00
Loïc Mathieu
3d82f1435a feat(jdbc-*): drop worker_instance table
It is not used anymore since multiple releases.

Fixes #3498
2024-04-30 17:26:36 +02:00
Ludovic DEHON
d1ddb9e137 chore(core): reduce log verbosity on server liveness and lifecycle 2024-04-30 15:52:07 +02:00
Ludovic DEHON
844d6478ec fix(core): close WorkerTriggerRealtimeThread on shutdown 2024-04-30 15:28:21 +02:00
Loïc Mathieu
552937c493 fix(script): add missing AbstractExecScript task 2024-04-30 12:43:22 +02:00
brian.mulier
a9ac726820 feat(core): add content & move recursiveList method to public in NamespaceFilesService 2024-04-30 12:24:03 +02:00
Ludovic DEHON
ad46cc28cc fix: use currentColor on icons 2024-04-30 12:20:14 +02:00
Loïc Mathieu
8bfdb58574 feat(script): move plugin-script library to Kestra itself 2024-04-30 11:52:37 +02:00
Ludovic DEHON
90858d6a47 refactor(core): remove unneeded WorkerTriggerIntervalInterface 2024-04-30 10:01:07 +02:00
Ludovic DEHON
203df2180f feat(core): kill trigger running on worker when updated 2024-04-30 10:01:07 +02:00
Ludovic DEHON
684aba6362 feat(core): introduce Realtime Trigger 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
Ludovic DEHON
c60f78ffb4 fix(ui): proper design of input file and number 2024-04-30 09:32:29 +02:00
Florian Hussonnois
7620714dbc fix(core): fix DeduplicateItems for item containing Instant (#3615)
Refactor DeduplicateItems to directly deserialize ION to Map and not use
ObjectMapper.convertValue which leads to error regarding jsr-310.

Fix: #3615
2024-04-29 20:36:21 +02:00
YannC
e20119cec5 fix(ui): use correct mapState to display inputs in execution overview 2024-04-29 19:24:43 +02:00
YannC
abcc737299 Revert "feat: add execution initiator in execution metadata (#3639)"
This reverts commit 0ab3f7d9af.
2024-04-29 18:32:16 +02:00
Florian Hussonnois
ce11b937f5 chore(core): remove Introspected from StorageInterface 2024-04-29 16:46:42 +02:00
Florian Hussonnois
b381ee53fc chore(core): migrate StorageInterface to service-loader mechanism
part-of: kestra-io/storage-minio#80
part-of: kestra-io/storage-s3#80
part-of: kestra-io/storage-gcs#119
part-of: kestra-io/storage-azure#53
2024-04-29 15:47:32 +02:00
YannC
0ab3f7d9af feat: add execution initiator in execution metadata (#3639) 2024-04-29 13:38:41 +02:00
Loïc Mathieu
abc4e3ac8b fix(core): disable PauseTest.parallelDelay as it's flaky but pass with JDBC and Kafka 2024-04-29 11:38:54 +02:00
Loïc Mathieu
f1147cb1d8 fix(core): Fetch task must check that it can access the flow
Fixes https://github.com/kestra-io/kestra-ee/issues/1024
2024-04-29 11:38:54 +02:00
Loïc Mathieu
d346937c1d feat(core): add PluginCategory.CORE to trigger subgroup 2024-04-29 11:19:24 +02:00
brian.mulier
dcb75357b9 fix(core): type-safe TaskRunner.toAbsolutePath 2024-04-26 20:14:42 +02:00
brian.mulier
6ac51502a0 fix(core): task runner can now transform relative to absolute paths (based on wdir) + changed ProcessTaskRunner wdir & outputDir var type 2024-04-26 19:48:51 +02:00
brian.mulier
19d6633933 fix(ui): inputs autocompletion was triggering at wrong spots 2024-04-26 16:35:12 +02:00
Loïc Mathieu
f2e7a3a7fe chore: upgrade to Micronaut 4.3.8 2024-04-26 12:09:53 +02:00
Loïc Mathieu
386836d964 fix(webserver): restrict authfilter to OSS
Also set it to the security order
2024-04-26 11:51:42 +02:00
Ludovic DEHON
f09a3f7c50 fix(core): working directory are not passing the tenantId to child tasks
close #3623
2024-04-26 10:28:13 +02:00
brian-mulier-p
89629a8b15 feat(ui): autocompletion and dropdown for subflows (#3581)
closes #2473
2024-04-26 10:04:17 +02:00
YannC
08c3808d47 fix(ui): use index instead of title for v-for key 2024-04-26 09:25:54 +02:00
YannC
93f9f70dcb feat: display subgroups in plugin home page 2024-04-25 16:53:41 +02:00
brian.mulier
a3dbb8c2b5 feat(ui): make links clickable in logs 2024-04-25 15:54:52 +02:00
Loïc Mathieu
7965e7267b Revert "chore: upgrade to Micronaut 4.3.8"
This reverts commit 82bde21a0d.
2024-04-25 15:54:36 +02:00
Loïc Mathieu
82bde21a0d chore: upgrade to Micronaut 4.3.8
Fixes #3553

Using the trick explained [here](https://github.com/micronaut-projects/micronaut-core/issues/10714#issuecomment-2072802537) to use a different cookie encoder to fix https://github.com/micronaut-projects/micronaut-core/issues/10714
2024-04-25 14:28:42 +02:00
Loïc Mathieu
8d83b0d4ad feat: plugin aliases 2024-04-25 14:27:19 +02:00
Loïc Mathieu
4c9edca955 feat(core): allowed namespaces 2024-04-25 14:06:58 +02:00
YannC
384b94df26 chore(ui): upgrade kestra-io/ui-libs dependency 2024-04-25 12:56:18 +02:00
Loïc Mathieu
5f018f7630 feat(core): improve plugin log 2024-04-25 11:29:35 +02:00
YannC
586c77015a fix: no inputs message instead of empty content 2024-04-25 09:06:21 +02:00
YannC
c03520b69b fix: missing method in auth.js 2024-04-25 08:59:48 +02:00
Florian Hussonnois
8964c32f72 fix(test): init PluginDeserializer for test not using Micronaut 2024-04-24 23:27:25 +02:00
Florian Hussonnois
88ca1b00f5 build(deps): add jakarta.annotation to model 2024-04-24 21:24:44 +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
65d7e7c949 feat: allow execution of a flow without flow read permission (#3614) 2024-04-24 15:29:42 +02:00
Loïc Mathieu
cf46a8b93f chore: Java 21 on subprojects 2024-04-24 14:03:50 +02:00
Loïc Mathieu
a49b5bc847 chore: Java 21 in the Dockerfile 2024-04-24 13:45:58 +02:00
Florian Hussonnois
6a9035977f fix(core/jdbc): add missing sort mapping for ServiceInstanceRepositoryInterface 2024-04-24 12:12:49 +02:00
Loïc Mathieu
6124317e79 feat(core): log plugin scanner result 2024-04-24 12:09:25 +02:00
Loïc Mathieu
0b3eb05633 feat: add plugin-jdbc-sybase 2024-04-24 11:44:00 +02:00
YannC
953ecfc287 feat: make the execution page works without FLOW READ permission (#3584)
* feat: make the execution page works without FLOW READ permission

* chore: use abstraction instead of interface for Flow
2024-04-24 11:42:19 +02:00
brian.mulier
ea37a24133 fix(build): update java version to 21 for subprojects 2024-04-23 16:50:25 +02:00
Loïc Mathieu
1a66537ac5 feat(core): support ARRAY inputs 2024-04-23 14:17:49 +02:00
YannC
e8ac345970 fix(scheduler): bad condition 2024-04-22 19:39:41 +02:00
Loïc Mathieu
175af96305 ci: set plugin version via a variable to allow easily changing it 2024-04-22 17:38:14 +02:00
YannC
3f3ce1ce6b fix(scheduler): better handling of locked triggers (#3603) 2024-04-22 17:01:26 +02:00
Loïc Mathieu
0b2015cff6 fea(core): mandate that both key and value are present for labels 2024-04-19 11:57:49 +02:00
Loïc Mathieu
69efbb929b fix(core): filter label with null key in the run context variables
Also allowing multiple labels with the same key
2024-04-19 11:57:49 +02:00
Florian Hussonnois
05bba564c8 fix(core): VariableRenderer should expose alternativeRender 2024-04-19 11:46:41 +02:00
Anna Geller
b027e6ffc6 fix: docs (#3583) 2024-04-18 22:26:47 +02:00
Loïc Mathieu
b95cd9ca36 fix(core): disable replay test in the memory runner 2024-04-18 16:31:54 +02:00
Loïc Mathieu
42fa35b3d4 feat(core): plugin category rework
Remove FLOW, rename MISC to OTHER, and add INGESTION, BI and DATA_QUALITY.

Fixes #3448
2024-04-18 16:30:05 +02:00
Loïc Mathieu
d00be2dc4e fix(webserver): tests didn't pass anymore 2024-04-18 13:18:20 +02:00
Loïc Mathieu
60f1bc2c88 fix(core): tests didn't pass anymore 2024-04-18 12:29:35 +02:00
Anna Geller
82a70fb9f7 fix: wrong task ID
sorry
2024-04-18 10:23:02 +02:00
Anna Geller
6652190d6b fix: JSON display 2024-04-18 10:21:00 +02:00
yuri
30525a0e62 fix(ui): prevent superfluous API requests (#3521)
Redundant API requests waste backend resources.

* Applying a data table (e.g. Executions or Flows) filter,
such as a specific namespace, resulted in two identical
search requests. Since the `page` query param is present
even when its value equals `1` this proposed fix is valid.

* Navigation often emitted multiple idential stats events.
Identical events most probably skewed the stats.
2024-04-18 10:06:08 +02:00
Anna Geller
218674fe29 fix: output tasks (#3577)
* fix: output tasks

* Update ExecutionOutputsCondition.java
2024-04-18 09:52:09 +02:00
YannC
7869f24774 feat(webserver): resume/restart/replay new method to retrieve flow (#3574) 2024-04-18 09:40:58 +02:00
Florian Hussonnois
2f36c160b3 feat(core): add outputs support for conditional flow trigger (#3595) (#3573)
* feat(core): add outputs support for conditional flow trigger (#3595)

Changes:
- add new ExecutionOutputsCondition
- allow outputs to be available for rendering trigger inputs

Fix: #3559

* Apply suggestions from code review

---------

Co-authored-by: Anna Geller <anna.m.geller@gmail.com>
2024-04-17 19:30:35 +02:00
brian.mulier
c49dae3e3f fix(cli): API commands work against a pre-micronaut-upgrade server 2024-04-17 15:42:16 +02:00
Ludovic DEHON
7826722b1b fix(core): handle secret in trigger 2024-04-17 10:57:55 +02:00
brian.mulier
cb26406788 chore(deps): update ui-libs to 0.0.43 2024-04-17 09:30:49 +02:00
Loïc Mathieu
5b9e14a67e fix(core): return null for taskCommands.duration inside the AbstractTaskRunnerTest 2024-04-17 09:12:39 +02:00
Ludovic DEHON
5f4cffbbc5 fix(ui): hide posthog survey on route change
close #3467
2024-04-16 18:42:34 +02:00
Loïc Mathieu
d8d58008ec feat(core): pass task timeout to the task runner
Fixes #3461
2024-04-16 17:20:52 +02:00
Ludovic DEHON
f684935055 fix(ui): flow full revision is truncated
close #3478
2024-04-16 16:44:35 +02:00
YannC
ba215bcb42 feat(ui): add labels/flow/execution in autocompletion 2024-04-16 16:21:12 +02:00
brian.mulier
3eb4533982 feat(ui): autocompletion for inputs, outputs, outputs.{taskId}, vars and trigger 2024-04-16 16:21:12 +02:00
brian.mulier
ee415e2dbb fix(ui): Gantt clicks are working again 2024-04-16 15:38:34 +02:00
brian.mulier
c507314539 fix(ui): prevent editor shrink on loading task runner doc 2024-04-16 15:27:05 +02:00
brian.mulier
e3c4e0440f fix(tests): add real launch to outputDirDisabled test for task runners 2024-04-16 15:24:24 +02:00
Loïc Mathieu
50a1bf14a5 fix(ui): lint issue 2024-04-16 14:37:58 +02:00
YannC
ead3029f33 fix(ui): trigger popover 2024-04-16 11:19:03 +02:00
Anna Geller
64eabd9bf4 fix: video link 2024-04-16 11:04:29 +02:00
YannC
5bf709d49c fix(core): outputvalues task icon 2024-04-16 10:45:36 +02:00
Loïc Mathieu
7b7e27114c chore: upgrade to Java 21 2024-04-16 09:06:32 +02:00
YannC
8199398998 fix(core): log task message required NotNull 2024-04-16 09:05:50 +02:00
YannC
98e2486472 fix(ui): css on dashboard 2024-04-16 08:24:03 +02:00
YannC
e9047e7a2a fix(core): new method for /scheduler endpoint (#3561) 2024-04-16 08:12:55 +02:00
YannC
255aa9e61b feat(core): new OutputValues task, Return task deprecated (#3555)
close #3330
2024-04-15 15:02:37 +02:00
YannC
5e49af2ab2 feat(ui): click anywhere on the row to open logs of a task in Gantt vue 2024-04-15 14:15:13 +02:00
YannC
9753a2a2bd feat(ui): set plugins menu back in the UI (#3558) 2024-04-15 13:48:43 +02:00
brian.mulier
b6e510f5a3 fix(ui): use new Monaco API for decorations to prevent editor from disappearing
closes #3536
2024-04-15 13:08:36 +02:00
brian.mulier
b76e952ab6 fix(ui): remove console.log 2024-04-15 12:53:12 +02:00
brian.mulier
1d87459da0 fix(tests): remove useless embedded server starts in commands tests 2024-04-15 11:41:04 +02:00
brian.mulier
8fcd658590 fix(validate): restore ability to run validate command without any configuration 2024-04-15 11:41:04 +02:00
Anna Geller
2d4c8e220b fix: remove deprecated tasks property 2024-04-15 11:18:53 +02:00
YannC
56ce915917 feat(core): endsWith pebble filter 2024-04-15 11:06:49 +02:00
YannC
81831efa8d feat(core): startsWith pebble filter
close #3379
2024-04-15 11:06:19 +02:00
Loïc Mathieu
c3f87f7c93 fix: downgrade Micronaut
Go back to previously working version 4.3.4 as 4.3.7 have a bug when randomly the routeMatch is null on the security filter.
See https://github.com/kestra-io/kestra-ee/issues/1085
2024-04-15 10:06:30 +02:00
Ludovic DEHON
9b7aa8db8a fix(core): manage trigger as a worker thread 2024-04-15 08:49:58 +02:00
Florian Hussonnois
a290ea3358 chore(build): migrate to lib dev.failsafe (#3502)
Fix: #3502
2024-04-12 12:45:19 +02:00
Loïc Mathieu
d71ff2b1ee feat(*): skip executions based on flow identifiers
Fixes #3383
2024-04-12 12:30:18 +02:00
Anna Geller
504d4a2868 fix: update server url 2024-04-11 17:31:46 +02:00
Loïc Mathieu
3a660ed8e8 chore(version): update snapshot version 'v0.17.0-SNAPSHOT'. 2024-04-11 16:43:28 +02:00
Loïc Mathieu
c90182b1f0 chore(version): update to version 'v0.16.0'. 2024-04-11 16:42:27 +02:00
Ludovic DEHON
f98928c470 feat(ui): add app type on posthog 2024-04-11 16:36:38 +02:00
brian.mulier
617bdd1b5f fix(tests): remove incorrectly rendered icon on Mac 2024-04-11 15:01:47 +02:00
brian.mulier
901591b839 fix(ui): import Legend for ChartJS 2024-04-11 14:41:32 +02:00
Anna Geller
db1531b583 fix: add links to read more and format tasks as table 2024-04-11 12:51:37 +02:00
brian.mulier
7fded2217b fix(core): remove incorrectly rendered icon on Mac 2024-04-11 12:34:38 +02:00
Anna Geller
d5b6f3e623 docs: add missing flow properties 2024-04-11 12:20:17 +02:00
YannC
7602c8a44e fix(ui): chart issues 2024-04-11 12:05:58 +02:00
Loïc Mathieu
49639e789a fix(core): remove FlowLabelsCondition and deprecate FlowNamespaceCondition
Fixes #3517 and #3324
2024-04-11 09:11:34 +02:00
Loïc Mathieu
bb080ccb94 feat(webserver): cache plugin icons (#3516) 2024-04-11 09:07:08 +02:00
brian.mulier
227131540d fix(ui): make ellipsis on taskId at the beginning for long ids + wider column
closes #1426
2024-04-10 18:10:53 +02:00
brian.mulier
2fc84905a2 fix(ui): execution update is throttled to reduce browser load 2024-04-10 17:58:40 +02:00
brian.mulier
40e872eeb6 fix(ui): Monaco no longer having duplicate auto-completion issue 2024-04-10 17:57:47 +02:00
brian.mulier
3f71c0365a fix(ui): remove various warnings 2024-04-10 17:29:07 +02:00
brian.mulier
24d46535ba fix(core): add @NotNull to Purge.endDate 2024-04-10 17:28:46 +02:00
Loïc Mathieu
d62ab4853d fix(webserver): plugin group can be null and Jackson cannot serialize null key 2024-04-10 15:02:53 +02:00
Loïc Mathieu
8dae233725 feat(core): add an icone for the ProcessTaskRunner 2024-04-10 14:42:07 +02:00
YannC
3bc599f71d fix(ui): plugin page light theme 2024-04-10 14:02:09 +02:00
YannC
d04c0e830d fix(ui): template in settings don't crashed page 2024-04-10 13:59:12 +02:00
YannC
d4da93d77a feat(): add test with task that generate dynamic task (#3508) 2024-04-10 13:34:52 +02:00
YannC
ea1f72dcb9 fix(ui): don't show attempt and originalDate for prior execution
closes #3507
2024-04-10 11:34:21 +02:00
YannC
b266dc531e fix(core): allow task null to be founded for retry (#3505) 2024-04-10 11:13:18 +02:00
Loïc Mathieu
b9d4136740 fix(webserver): incorrect package for TriggerController 2024-04-10 09:21:17 +02:00
brian.mulier
2a31e83613 fix(ui): ForEachItem properly handled in Gantt, Logs & Topology
closes #3208
2024-04-09 23:32:53 +02:00
Florian Hussonnois
c0161b6217 chore: move all API Controllers to conditional package
Changes:
- relocate all /api controller to a dedicated package to apply
  conditional Micornaut beans
- add a new root endpoint to get server info

Fix: #3223
2024-04-09 22:07:53 +02:00
dependabot[bot]
37d6173c36 chore(deps): bump commons-io:commons-io from 2.16.0 to 2.16.1
Bumps commons-io:commons-io from 2.16.0 to 2.16.1.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-09 18:21:07 +02:00
YannC
fb670d5df3 fix(ui): headband plugin page 2024-04-09 16:45:58 +02:00
brian.mulier
d27ed75d4d chore(deps): bump ui deps 2024-04-09 15:49:30 +02:00
YannC
793b4abf5d fix(ui): plugin pages improvements 2024-04-09 15:39:24 +02:00
Loïc Mathieu
da63207cdb chore(*): upgrade dependencies 2024-04-09 15:29:13 +02:00
YannC
dc460458db fix(ui): change tutorial path 2024-04-09 14:07:23 +02:00
YannC
f2567ceed0 feat(ui): revamp plugin documentation (#3500) 2024-04-09 14:00:42 +02:00
brian.mulier
09732e6314 fix(runner): output dir property as a guard 2024-04-09 12:30:01 +02:00
Anna Geller
66243d7e03 fix: french translation 2024-04-09 12:20:22 +02:00
Anna Geller
0174958c3e fix: welcome page wording 2024-04-09 12:18:23 +02:00
Loïc Mathieu
755f24a96e feat(core): add missing trigger Toggle task icon 2024-04-09 10:49:38 +02:00
Loïc Mathieu
b05c5d1019 fix(core): allow the read() function to read an URI 2024-04-09 09:03:10 +02:00
YannC
c06f32b559 fix(ui): light theme welcome 2024-04-08 21:42:58 +02:00
YannC
748a66e01e fix(ui): missing images 2024-04-08 21:35:08 +02:00
YannC
abb1aab641 feat(ui): new welcome page 2024-04-08 21:27:53 +02:00
Loïc Mathieu
9b6305060f fix(core): revert restricting the read function to the Worker for now 2024-04-08 20:15:09 +02:00
Loïc Mathieu
ff49e515bf feat: doc for task runners 2024-04-08 18:11:16 +02:00
Loïc Mathieu
55f63b8702 feat(core): rename the ForEachItem executable task name 2024-04-08 17:09:21 +02:00
YannC
2e70d543c3 fix(core): allows only runnable task to be retried 2024-04-08 17:02:49 +02:00
YannC
12b7fd7bd8 feat(core): improve nested flowable retry 2024-04-08 17:02:37 +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
Florian Hussonnois
cbcd9b07a7 fix: persist state for each service instance event 2024-04-08 12:56:18 +02:00
brian.mulier
b7084cfe87 feat(pebble): add renderOnce function
closes #3450
2024-04-08 09:47:51 +02:00
brian.mulier
d691b76970 chore(core): rename ScriptRunner to TaskRunner 2024-04-05 18:19:46 +02:00
Loïc Mathieu
23c53e430b chore: add the AS400 plugin 2024-04-05 15:49:26 +02:00
Loïc Mathieu
125cbbddf7 fix(webserver): basic auth filter should executore on the BLOCKING executor 2024-04-05 14:53:00 +02:00
Yoann Vernageau
9b8a1c4827 feat(core): add reactive methods in FileSerde to optimize read/write performance of ION files (#3472)
* refactor(core): refactor FileSerde to optimize ION file read/write performance using reactive processing

* refactor: change BUFFER_SIZE value

Co-authored-by: Loïc Mathieu <loikeseke@gmail.com>

* docs: add documentation on JacksonMapper#createIonSystem()

* test: add unit tests

---------

Co-authored-by: Loïc Mathieu <loikeseke@gmail.com>
2024-04-05 14:07:54 +02:00
brian.mulier
e4da823c65 fix(tests): add test to ensure runner additional vars & env are rendered 2024-04-05 11:13:14 +02:00
brian.mulier
7313e142e9 fix(core): render commands env and additional vars in ScriptRunner 2024-04-05 10:46:59 +02:00
brian.mulier
d753ae7e99 fix(core): runnerEnv & runnerAdditionalVars throw IllegalVariableException 2024-04-04 17:39:16 +02:00
brian.mulier
fc79d30593 fix(core): add runContext to additionalVars & env for ScriptRunners 2024-04-04 17:30:54 +02:00
brian.mulier
398825b8bb fix(core): prevent NPE for empty input files 2024-04-04 17:08:50 +02:00
brian.mulier
297460b3b1 fix(core): prevent NPE on ScriptService.replaceInternalStorage 2024-04-04 16:47:10 +02:00
YannC
88855d17bb fix(test): test does not pass during release 2024-04-04 16:24:59 +02:00
yuri
be17970286 fix(ui): correct various margins (#3428) 2024-04-04 15:38:11 +02:00
brian.mulier
b90d86de4d fix(runner): change visibility of cache variables in ScriptRunner and use proper runContext in tests 2024-04-04 15:29:57 +02:00
brian.mulier
bcf44b705e feat(core): better additional vars and env handling for runners 2024-04-04 13:37:31 +02:00
brian.mulier
45ce792724 feat(core): more script-runners common steps and better handling for input files 2024-04-04 13:37:31 +02:00
yuri
3537bdc6ef Add 'escapeChar' Pebble filter (#3466)
This `escapeChar` filter eases the string sanitizatinon process.
2024-04-04 10:47:46 +02:00
Anna Geller
a24d9f9e21 docs: add task properties and fix render 2024-04-03 17:52:23 +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
90f28cc8e8 fix(core): make RunContex.renderMap() null tolerant 2024-04-03 15:38:15 +02:00
Loïc Mathieu
b9a72fbb34 chore: use 'docker compose' and not 'docker-compose' 2024-04-03 12:54:56 +02:00
YannC
e0a3a92b4d fix(webserver): set paused to success if not subtask (#3458) 2024-04-03 11:01:22 +02:00
Loïc Mathieu
539a0064f5 feat(core): Script Runner refactoring 2024-04-03 10:49:08 +02:00
YannC
619aeb0128 fix(ui): allow backfill with not required inputs 2024-04-03 10:37:09 +02:00
Loïc Mathieu
47d3255e78 feat(core): add Script Runner common vars and envs 2024-04-02 19:15:28 +02:00
Florian Hussonnois
1e4ec682be chore(core): refactor RunnerUtils to be only used by tests
Changes:
- Refactor newExecution as a static method in the Execution model class
- Migrate all inputs/ouputs methods to a dedicated class FlowInputOutput
2024-04-02 11:57:35 +02:00
brian.mulier
42297537a5 fix(ui): no more editor shrink due to localStorage value missing
closes #3451
2024-04-02 11:12:34 +02:00
brian.mulier
108894f459 fix(webserver): ability to turn off basic authentication through configuration 2024-04-02 10:47:56 +02:00
Florian Hussonnois
bc588dc7d4 feat(ui): add message to warn for deleting running exec (#2651)
Fix: #2651
2024-04-02 10:29:37 +02:00
Loïc Mathieu
41ade3eb90 fix(core): declare the FlowExecutor as a bean (#3389) 2024-04-02 08:45:02 +02:00
Loïc Mathieu
1ee6633ca4 feat(core): ScriptService.normalize() 2024-03-29 17:27:23 +01:00
brian.mulier
b5031e15da feat(core): ability to replace absolute with relative paths when uploading internal storage files to local files 2024-03-29 15:00:37 +01:00
Loïc Mathieu
ecde53285b fix(core): ScriptService.labels should not add "/" to the prefix 2024-03-29 14:28:11 +01:00
Loïc Mathieu
0aff0e0056 fix(core): Correcting the EachParallel flow example
* fix(ui): lint issue

* fix(docs): Correcting the EachParallel flow example

---------

Co-authored-by: Shruti Mantri <shruti1810@gmail.com>
2024-03-29 14:27:59 +01:00
brian.mulier
242dd05ba1 feat(core): ability to replace absolute with relative paths when replacing internal storage 2024-03-29 13:55:58 +01:00
Florian Hussonnois
67951b7e32 chore(core): add default worker constructor for test 2024-03-28 18:30:55 +01:00
Loïc Mathieu
9395a37e2f chore: add plugin-jdbc-db2 2024-03-28 18:14:22 +01:00
Loïc Mathieu
9980a6c1da fix(core): skip directory and un-readable file on WorkingDirectory post action 2024-03-28 17:40:55 +01:00
Florian Hussonnois
01c9cba01e fix(core): fix NPE in ServiceLivenessManager 2024-03-28 17:28:40 +01:00
brian.mulier
7c85c2eb52 fix(core): properly handle deprecation for input's name property to prevent false warnings 2024-03-28 14:29:28 +01:00
Florian Hussonnois
6a8cfc67de fix(core): fix race condition on ServiceLivenessManager 2024-03-28 14:07:00 +01:00
Florian Hussonnois
6c6dedc681 fix(core): fix stats webserver (#3408)
Fix: #3408
2024-03-28 13:06:33 +01:00
Loïc Mathieu
ecd389f16d fix(core): improve Execution.findChilds()
When computing output, findChilds is called for each taskrun so we go throught the ist of taskruns for each taskrun which is very time consuming.
Pre-computing a map of taskrun by ID improve things a lot.
I validated it using a CPU profile, before this change the findChilds() methods took up to 18% of CPU time on a contrieved example with a big EachParallel, with this change the new method is not prominent in the profile as it's very quick.
2024-03-28 10:33:24 +01:00
Loïc Mathieu
e81b8602dc fix(core): MapUtils performance 2024-03-28 10:33:24 +01:00
Florian Hussonnois
ec0c47b92a fix(core): ensure all services are closed before ServiceLivenessManager 2024-03-27 20:38:07 +01:00
Loïc Mathieu
86ca24c552 feat(core): ScriptService.labels() and ScriptService.jobName()
This avoid duplicating the code in multiple plugins
2024-03-27 18:02:11 +01:00
Loïc Mathieu
0d4836cf4a feat(core): move the default log consumer to the core 2024-03-27 16:49:36 +01:00
Loïc Mathieu
407ea6b1e7 fix(webserver): Triggers page crash when a trigger is deleted
Fixes #3327
2024-03-27 16:49:24 +01:00
brian.mulier
e121fcfcf6 fix(core): better script runners documentation generation 2024-03-27 14:33:57 +01: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
brian.mulier
dd35a56505 fix(core): remove incorrectly rendered icon on Mac 2024-03-27 11:34:45 +01:00
yuri
b2b9d5697d fix(ui): remove absolute filter when switching to the relative one (#3341) 2024-03-26 14:28:33 +01:00
YannC
b84ebfb26d feat(): highlight pebble in monaco
close kestra-io/kestra-ee#1018
2024-03-26 13:51:27 +01:00
brian.mulier
f564a463ce fix(ui): prevent duplicate auto-completions 2024-03-26 13:40:18 +01:00
brian.mulier
eb411aaeb1 feat(ui): include ScriptRunners on plugins page
closes #3347
2024-03-26 10:33:56 +01:00
Florian Hussonnois
a963e3b2c6 chore(core): add utility class for enums 2024-03-26 09:43:24 +01:00
brian.mulier
a3f913eb07 feat(ui): include ScriptRunners documentation in right pane on editor
closes #3345
2024-03-25 20:24:34 +01:00
brian.mulier
db285fc548 fix(core): add getName() to input to have soft deprecation 2024-03-25 17:33:38 +01:00
brian.mulier
00aaab1790 fix(core): variable renderer handle properly raw tags when recursive rendering 2024-03-25 17:05:56 +01:00
Loïc Mathieu
93d9962f8d feat: hide JooQ log about not supported DB version
Fixes #3321
2024-03-25 16:08:56 +01:00
Florian Hussonnois
653f6cc7c2 chore(core): add waitForServiceInState to ServiceRegistry 2024-03-25 15:13:56 +01:00
Loïc Mathieu
313ab2858f feat(core): new trigger Toggle task
Fixes #2717
2024-03-25 15:02:19 +01:00
Florian Hussonnois
89573d6ece feat(core): add task restart strategy on worker failure (#3343,#3351)
Changes:
- add new config 'kestra.server.workerTaskRestartStrategy'
- update default value for 'kestra.server.liveness.initialDelay' to match timeout
- fix schedule initial delay to 0
- cleanup javadoc

Fix: #3343
Fix: #3351
2024-03-25 10:56:52 +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
brian.mulier
ec06079f6b feat(core): ScriptService now allow consuming (internalStorage, localFile) when replacing in commands 2024-03-25 10:35:18 +01:00
brian.mulier
6f3039e967 fix(editor): editor won't fully shrink anymore 2024-03-25 10:34:14 +01:00
YannC
34a74fb221 fix(ui): boolean input label 2024-03-25 10:33:19 +01:00
Ludovic DEHON
5fae3dcb00 feat(core): add metric for worker trigger 2024-03-23 22:55:05 +01:00
Florian Hussonnois
beee3c8a17 chore: update the ServiceInstanceRepositoryInterface
This commit add a service-type filter to the ServiceInstanceRepositoryInterface
2024-03-22 18:42:38 +01:00
Loïc Mathieu
8e27b16eac fix(core): use a different taskrun for each script runner test
Otherwhise, script runner that handle resuming job will fail tests
2024-03-22 18:13:07 +01:00
Florian Hussonnois
4e810abef9 feat(core): enchance liveness core api to support metrics
This commit also removes the admin/service view
2024-03-22 09:51:32 +01:00
Loïc Mathieu
8a38131182 feat(core,ui): allow marking plugin and propertes as beta
Fixes #3344
2024-03-22 09:25:43 +01:00
yuri
56d911d8d5 fix(core): warn on failed local flow parsing (#3349) 2024-03-22 09:09:24 +01:00
Ludovic DEHON
400b2f8d04 feat(core): add labels to triggers 2024-03-21 23:44:24 +01:00
brian.mulier
f0fa7c0865 fix(tests): add default image for AbstractScriptRunnerTest 2024-03-21 17:57:27 +01:00
Loïc Mathieu
a1fa571255 feat(core): script containerImage property 2024-03-21 17:33:23 +01:00
YannC
18a70fdd76 fix(ui): only display select flow in home summary failed
closes #3240
2024-03-21 14:38:10 +01:00
Loïc Mathieu
481ddaa889 feat: Script runners as plugins 2024-03-21 12:16:16 +01:00
yuri
17d8204494 fix(ui): improve selected filter highlight (#3342) 2024-03-20 20:53:31 +01:00
Loïc Mathieu
45b2553251 feat(core): input task documentation (#3338) 2024-03-20 16:40:17 +01:00
YannC
23521114a9 fix(ui): translate enable auth message 2024-03-20 16:33:31 +01:00
YannC
33be970a66 feat(): allow to override existing flow (#3339)
closes #1736
2024-03-20 16:22:54 +01:00
Loïc Mathieu
d68b70e57a feat(cli): add warnings to the flow validate command
Fixes #3124
2024-03-20 13:38:44 +01:00
Loïc Mathieu
3a338b75ee feat(core): add a storage prefix for big message 2024-03-20 09:45:57 +01:00
brian.mulier
3e53eb07b7 fix(core): runContext decrypt method as public 2024-03-19 14:53:34 +01:00
Loïc Mathieu
5c55f0da30 feat(core): enable Flyway migration logs
Fixes #3172
2024-03-19 13:28:51 +01:00
brian.mulier
0c4e5e3217 fix(core): prevent crashing if secret input is null
solves https://kestra-io.slack.com/archives/C03FQKXRK3K/p1710777137811119
2024-03-19 10:20:44 +01:00
brian.mulier
8a0947b678 fix(webserver): no longer decrypt secret inputs & outputs when doing an evaluate for an execution taskrun
closes kestra-io/kestra-ee#986
2024-03-19 10:20:44 +01:00
Loïc Mathieu
6d9e038c64 feat(core): make the 'from' property of storage tasks mandatory 2024-03-19 09:39:01 +01:00
Ludovic DEHON
cea19c1502 chore(deps): don't fix github action to strict version 2024-03-18 22:42:46 +01:00
Florian Hussonnois
a63a829a5b fix(core): fix missing random number generator algorithm 2024-03-18 19:35:11 +01:00
Loïc Mathieu
923be2987d feat(core): rename ForEachItem subtask '_executable' -> '_item' 2024-03-18 18:11:55 +01:00
Loïc Mathieu
46e819b4aa feat(cli): deprecate include helper 2024-03-18 18:10:59 +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
66a030a487 chore: upgrade to Workflow Dispatch action v1.2.3 2024-03-18 17:04:07 +01:00
brian.mulier
a542ecb80e fix(ui): remove Axios' default URL to prevent duplicate context path in called URL
closes #2630
2024-03-18 16:56:08 +01:00
Loïc Mathieu
7af146cb87 chore: upgrade to Workflow Dispatch action v1.2.3 2024-03-18 16:25:19 +01:00
YannC
34cc2b4b92 chore(ui): split languages in multiples files (#3313) 2024-03-18 15:09:40 +01:00
YannC
590376a53a fix(ui): Executions.vue lint 2024-03-18 13:25:38 +01:00
yuri
4478bdaeae feat(ui): add minimal version of saved search filters (#3292)
* Minimal version of saved execution filters

* This implementation targets the `localStorage`
* Styling/UX/naming need to be reviewed & corrected

* feat(): make filter generics + add shortcut on button

---------

Co-authored-by: YannC <ycoornaert@kestra.io>
2024-03-18 12:09:37 +01:00
YannC
edae865ce3 fix(ui): display selected namespace in selector 2024-03-18 11:26:04 +01:00
brian.mulier
ec3e072902 fix(core): remove ScheduleBackfill, Condition & ScheduleCondition from defs
closes kestra-io/docs#732
2024-03-18 11:24:58 +01:00
yuri
9188f9c385 feat(*): mass execution replay (#3277)
* feat(*): enable basic mass replay

* Simply replay selected executions
* No revision control - the used one is kept
* Made all 'by-query' calls respect time filter
* Refactored the confirm toast

* feat(ui): add missing translations

---------

Co-authored-by: Loïc Mathieu <loikeseke@gmail.com>
2024-03-18 09:29:43 +01:00
brian.mulier
d2ba5f1a6a fix(ui): remove additional warnings 2024-03-15 20:50:01 +01:00
yuri1969
85150d0eb7 chore(ui): fix various Vue dev warnings
Flood of Vue warnings made the console hard to work with.

* Attempted to fix various reoccuring issues.
* Migrated el-radio.
2024-03-15 20:50:01 +01:00
brian.mulier
6fef2c151e fix(ui): remove outline from monaco editor to prevent small blue bars around it 2024-03-15 20:49:03 +01:00
brian.mulier
57b712724a fix(topology): fixed some edge cases where graph uids were wrong 2024-03-15 20:36:51 +01:00
brian.mulier
ce750c44bc fix(graph): remove useless styling 2024-03-15 13:13:23 +01:00
brian.mulier
96c0ad309e fix(topology): fixed a bug where having a subflow with a trigger with same id than current flow would lead to wrong graph 2024-03-15 11:59:40 +01:00
kriko
b1c6dddf89 feat(core): add Pebble YAML filter and YAML function (#3283)
* feat/pebble-yaml-#3258: add Pebble YAML filter and function

---------

Co-authored-by: Kristjan Kolde <kristjan.kolde@tehik.ee>
2024-03-15 11:01:59 +01:00
brian.mulier
b6f53e6ed0 fix(charts): force chart canvas to take the full width / height of its container 2024-03-15 10:31:56 +01:00
kriko
ee6c42ab17 feat(core): add Pebble filters indent, nindent (#3284)
* feat/pebble-indent-#3258: add Pebble filters indent, nindent

* feat(): abstract apply method to avoid duplicate code

---------

Co-authored-by: Kristjan Kolde <kristjan.kolde@tehik.ee>
Co-authored-by: YannC <ycoornaert@kestra.io>
2024-03-15 09:01:50 +01:00
Ludovic DEHON
76c3d8301b fix(ui): don't display log filter on dashboard 2024-03-14 22:11:55 +01:00
Ludovic DEHON
a6e02e0c9e fix(ui): size of charts fix 2024-03-14 22:10:42 +01:00
Ludovic DEHON
866dd547d9 feat(core): add charts by level on log view 2024-03-14 18:55:19 +01:00
brian.mulier
2ec538956b fix(build): no more force install for npm peer dependencies 2024-03-14 17:03:45 +01:00
brian-mulier-p
d5dbff0839 fix(core): prevent flow validation from crashing (#3278) 2024-03-14 14:15:31 +01:00
YannC
9efbbdfef6 feat(core): FlowLabelsCondition 2024-03-14 12:51:33 +01:00
YannC
163c9d53ad feat(core): ExecutionLabelsCondition
closes #2720
2024-03-14 12:47:54 +01:00
YannC
573d8966f6 fix(ui): update originalFlow on save
closes #3221
2024-03-14 12:12:08 +01:00
YannC
2f65a702a7 fix(ui): correct link to namespace
closes kestra-io/kestra-ee#931
2024-03-14 12:06:55 +01:00
brian.mulier
f020520499 chore(deps): move vue-chart3 to vue-chartjs as it got deprecated 2024-03-14 11:00:57 +01:00
brian.mulier
9c49e5da3d fix(webserver): override InputStream available method in NamespaceFileController.putNamespaceFile 2024-03-14 09:31:52 +01:00
Ludovic DEHON
c44d2c35bc fix(core): missing lombok annotation on new storage tasks 2024-03-13 21:41:29 +01:00
Anna Geller
6b96b3d449 closes https://github.com/kestra-io/docs/issues/983 2024-03-13 16:00:27 +01:00
brian.mulier
1367a21847 chore(deps): bump Monaco editor (0.39.0 -> 0.47.0) & Monaco-YAML (4.0.0-alpha.0 -> 5.1.1) 2024-03-13 15:10:20 +01:00
Loïc Mathieu
7c7cf82262 fix(core): null label value can crash the executor
A label with a null value will generates an exception while computing the list of variables inside the RunContext, failing to create a RunContext which can crash the executor.
2024-03-13 12:02:35 +01:00
Loïc Mathieu
cce92fb44d feat: change the key of SubflowExecutionResult
There can be multiple subflow execution results er parent taskrun id: one for each generated subflow executions. So we must use executionId as a key instead.
2024-03-13 11:11:40 +01:00
Loïc Mathieu
8f45a40fb0 fix(core): ExecutionRunning use '|' and not '_' as separator 2024-03-13 11:10:39 +01:00
brian.mulier
3d68cbd7af chore(deps): bump all simple-upgrade deps 2024-03-13 01:52:06 +01:00
YannC
60e1eca783 fix(ui): ExecutionRoot marge issue 2024-03-12 18:57:25 +01:00
YannC
93feaa788b fix(ui): add top margin in tabs components 2024-03-12 15:52:58 +01:00
brian.mulier
6afc4ca566 chore(deps): bump ui-libs to 0.0.39 2024-03-12 15:18:37 +01:00
Loïc Mathieu
95686b3d8b feat(core): add default inputs if not already set in variables
Polling triggers will create an execution that didn't contains default inputs, with this change default inputs will always be included in variables.

Fixes https://github.com/kestra-io/plugin-mqtt/issues/37
2024-03-12 12:41:20 +01:00
Ludovic DEHON
37524b3ac1 fix(ui): log on flow missed filters 2024-03-12 11:36:26 +01:00
Anna Geller
ffea7d49c1 Merge branch 'develop' of https://github.com/kestra-io/kestra into develop 2024-03-12 11:19:04 +01:00
Anna Geller
c87d67d73d fix: backfill link 2024-03-12 11:18:43 +01:00
YannC
cdc1ff4234 fix(): set timeout to sse and now display loading/error on UI (#3259) 2024-03-12 11:18:40 +01:00
Anna Geller
ba5c74bc34 fix: docs links 2024-03-12 11:16:27 +01:00
brian.mulier
7447acbeb5 fix(core): Pause task properly handled in restart
closes #2084
2024-03-11 15:57:01 +01:00
YannC
d3451c1c4f fix(core): create dependency between forEachItem task and subflow (#3256) 2024-03-11 15:00:51 +01:00
YannC
8efedce743 fix(core): Avoid creating empty files when splitting (#3254) 2024-03-11 15:00:37 +01:00
brian.mulier
9f0f312ebd fix(webserver): change cookie decoder to netty one 2024-03-11 12:19:58 +01:00
brian.mulier
88315041fd fix(webserver): rollback to http 1.1 2024-03-11 11:10:23 +01:00
brian.mulier
e13cf16d07 fix(ui): grayed-out triggers when disabled (in source or through API) in topology
closes #3048
2024-03-11 10:09:58 +01:00
Anna Geller
10e3fc0d4d fix: wording of the security toast 2024-03-11 00:03:22 +01:00
Ludovic DEHON
15d9d91b51 fix(ui): reorder left menu 2024-03-09 00:15:06 +01:00
Ludovic DEHON
9ad728f167 fix(ui): blueprint layout & margin 2024-03-09 00:13:14 +01:00
Ludovic DEHON
ec3515cb87 feat(ui): add guided tour on top bar
close #3152
2024-03-08 23:01:57 +01:00
Ludovic DEHON
6268a8d32d feat(ui): better new version message 2024-03-08 22:34:36 +01:00
Ludovic DEHON
88677f2cba fix(ui): invalid tooltip header color on white 2024-03-08 22:18:47 +01:00
Ludovic DEHON
c158f34d9f fix(ui): better styling for el-select 2024-03-08 22:07:10 +01:00
Ludovic DEHON
3c8a986aae fix(ui): feedtracker button are not aligned to right 2024-03-08 21:51:00 +01:00
Ludovic DEHON
2aa3040fb3 fix(docs): add a docker version for front end development 2024-03-08 17:45:51 +01:00
brian.mulier
5619279e9e fix(ui): revision author is now fetched only once we know which revision to display to prevent inconsistencies
closes kestra-io/kestra-ee#805
2024-03-08 11:54:37 +01:00
Loïc Mathieu
41a88b9fa8 fix(core): document the batch default value so it correctly appears in the doc
Fixes #2447
2024-03-07 18:08:33 +01:00
YannC
9d85b72717 test(core): DocumentationGeneratorTest, deprecated message 2024-03-07 16:28:24 +01:00
brian.mulier
62c46870f7 fix(webserver): multi-cookies in a single header decoder
part of #3228
2024-03-07 15:08:27 +01:00
YannC
c15e971ed6 fix(core): take timezone into account for new schedule triggers (#3230)
closes #3227
2024-03-07 11:18:45 +01:00
Florian Hussonnois
691597efe2 fix(core): pebble render function must render boolean (#3218)
Fix: #3218
2024-03-07 11:10:52 +01:00
YannC
043f9ed2d9 fix(ui): manage panel for SuperAdmin without tenant (#3225) 2024-03-07 10:28:58 +01:00
Loïc Mathieu
e950975904 feat(core): restrict using the read function on the Worker
Fixes #3126
2024-03-07 09:25:13 +01:00
Loïc Mathieu
8bfac1efef feat(core): missing secret env var should return a null secret
Fixes #3162
2024-03-07 09:25:06 +01:00
Ludovic DEHON
92ade5d240 fix(ui): don't save settings on page load 2024-03-06 21:11:04 +01:00
Ludovic DEHON
1a25d5c8b7 feat(ui): change menu & icon layout
close kestra-io/kestra#2161
2024-03-06 18:56:08 +01:00
YannC
125251dc0b fix(controller): return 404 when flow not found in follow API (#3219)
* fix(controller): return 404 when flow not found in follow API

closes #1299

* fix(): review changes
2024-03-06 17:17:48 +01:00
YannC
0725f6d89a fix(core): validate task default (#3224)
closes #25
2024-03-06 16:10:20 +01:00
Ludovic DEHON
ff78d3d83c feat(ui): add full-screen button on drawer
close kestra-io/kestra#2627
2024-03-06 15:51:05 +01:00
YannC
45d3e8c799 fix(ui): make dependencies expand more clear (#3222)
closes #3160
2024-03-06 14:19:02 +01:00
Loïc Mathieu
5cd521b0f6 fix(jdbc): make the flow listener tolerant of plugin loader issue 2024-03-06 09:12:01 +01:00
YannC
ebca9d0c95 fix(): quickwins (#3215)
* fix(ui): increase flow input size in blueprints creation

closes #913

* feat(ui): keep the latest pagination size selected

closes #3030

* fix(ui): Do not display revision selector when only one revision

closes #1681

* fix(ui): can not save if flow is same as original

closes #1331

* fix(ui): now load execution before following it

closes #682

* fix(ui): display trigger.date instead of variables.date on execution page

closes #2832

* feat(ui): add new last 48 hours filter

closes #3184
2024-03-05 17:50:00 +01:00
Loïc Mathieu
46e3fa015d feat(jdbc*): add an index on logs.timestamp
Fixes #2376

An issue exists in Postgres when we request ERROR logs on a wide timestamp range, it's cardinality calculation leads to ignore the existing indexes. Adding an index only on the timestamp column is a last resort for queries not finding existing indexes useful.
The same index is added to the other databases even if we didn't have clues on the same issue for consistency.
2024-03-05 14:05:21 +01:00
Ludovic DEHON
2ed6916617 fix(core): change link to flow overview on dependencies
close #2872
2024-03-05 09:52:12 +01:00
Loïc Mathieu
f4275ad9f0 feat(core): templated task (#3191)
* feat(core): templated task

Fixes #2962

* Update core/src/main/java/io/kestra/core/tasks/templating/TemplatedTask.java

Co-authored-by: Anna Geller <anna.m.geller@gmail.com>

---------

Co-authored-by: Anna Geller <anna.m.geller@gmail.com>
2024-03-05 09:40:59 +01:00
Loïc Mathieu
4fb0c67ccb fix(core): DocumentationGeneratorTest.ech() test assertion 2024-03-05 09:40:28 +01:00
Ludovic DEHON
f519f5eb1c fix(core): replace deprecated icons
close #2328
2024-03-04 23:43:19 +01:00
Ludovic DEHON
45fa721cde feat(ui): add reach out button
close #2561
2024-03-04 21:39:54 +01:00
Ludovic DEHON
885eb951af feat(ui): use icon instead of avatar on flow trigger
close #2789
2024-03-04 21:23:23 +01:00
YannC
7460ec916c fix(ui): change editor width storage key 2024-03-04 18:13:43 +01:00
YannC
07aed1ad18 fix(controller): fix 404 issue when flow of a trigger has been deleted (#3209) 2024-03-04 17:29:09 +01:00
Loïc Mathieu
06b756f372 fix(ui): missing check permission to display flow CREATE and EXECUTE button
When a user didn't have FLOW CREATE permission, the 'Create' buton will disapear from the Dashboard and the Flows pages.
When a user didn't have EXECUTION CREATE permission, the 'Execute' button will disapear from the Flow detail and Execution detail pages.
2024-03-04 11:18:37 +01:00
Anna Geller
e51336d9f4 Update FlowCreate.vue (#3196) 2024-03-01 16:12:44 +01:00
yuri
50533cdd20 fix(ui): fix labels filter by route (#3189)
This PR attempts to fix a specific filtering bug:

* Execute more executions than the Execution's table page size
* Skip to a page no. >1
* Add a specific unique label to an Execution on the page no. >1
* Click on the added label to filter by its value
* No executions are displayed - the page query parameter was not reset
2024-03-01 15:44:15 +01:00
Loïc Mathieu
7f34507f25 fix(ui): lint issue 2024-03-01 11:48:37 +01:00
YannC
02a05c088e chore(ui): display lint error in browser (#3190) 2024-03-01 09:54:12 +01:00
Loïc Mathieu
d0d2c5b031 fix(ui): lint issue 2024-02-29 16:17:54 +01:00
Loïc Mathieu
46398324bd fix(ui): lint issue 2024-02-29 16:17:39 +01:00
Loïc Mathieu
ef31c731be chore(version): update snapshot version 'v0.16.0-SNAPSHOT'. 2024-02-29 16:02:05 +01:00
Loïc Mathieu
076b938a4f chore(version): update to version 'v0.15.0'. 2024-02-29 16:01:43 +01:00
YannC
5b8e098a6f feat(ui): add homepage doc in flow editor
closes #3164
2024-02-29 15:34:12 +01:00
YannC
86bb202bfa fix(ui): make prism-js responsive 2024-02-29 15:25:47 +01:00
YannC
1979b79d8f fix(ui): taskruns page issue 2024-02-29 14:32:26 +01:00
dependabot[bot]
6848a2f379 chore(deps): bump org.apache.logging.log4j:log4j-to-slf4j
Bumps org.apache.logging.log4j:log4j-to-slf4j from 2.22.1 to 2.23.0.

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-to-slf4j
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-29 14:29:47 +01:00
Florian Hussonnois
64723b39c4 fix(ui): fix style of execution filter query labels (#3168)
Fix: #3168
2024-02-29 13:47:59 +01:00
YannC
da827f6e89 fix(ui): issue when no message in logline (#3183) 2024-02-29 11:16:07 +01:00
YannC
0bc5d22c5c fix(ui): refresh is directly enable if set on relative (#3181) 2024-02-29 10:04:12 +01:00
yuri1969
f7967b4578 fix(core): log empty messages
Empty log lines were presented as `null` in downloaded log files.
2024-02-29 09:34:42 +01:00
Loïc Mathieu
1b3717fe2d fix(core): FlowTriggerTest
The trigger-flow-listener-namespace-condition flow can be triggered by any of the flow of the namespace. As some flow are trigger by other, we cannot be sure that it has been trigered by the one we want to I relax the assertion.
2024-02-28 17:30:37 +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
Loïc Mathieu
bcbe0a3e63 fix(core): fix Pause task topology when no sub-tasks
Fixes #3158
2024-02-28 16:10:09 +01:00
yuri
b5d66c9103 chore(webserver): test request utils (#3006)
Co-authored-by: Anna Geller <anna.m.geller@gmail.com>
2024-02-28 15:44:03 +01:00
Ludovic DEHON
463de57dc5 fix(ui): don't display flow revision on the dashboard 2024-02-28 14:42:04 +01:00
Ludovic DEHON
d824d7d80e fix(ui): don't display top pagination on embed 2024-02-28 14:27:59 +01:00
Florian Hussonnois
352fcd7770 fix(core): rename task Deduplicate to DeduplicateItems 2024-02-28 14:14:50 +01:00
Ludovic DEHON
421a1549cb fix(ui): dialog header padding
close #3165
2024-02-28 13:57:20 +01:00
Florian Hussonnois
ba314ec54d feat(core): add new FilterItems task for filtering records from file 2024-02-28 13:53:42 +01:00
Florian Hussonnois
264432f3a6 fix(ui): fix toast for validating security 2024-02-28 10:21:27 +01:00
Ludovic DEHON
1eedcdef11 fix(core): fix falling test on trigger controller 2024-02-28 09:42:13 +01:00
Ludovic DEHON
d15523b88b fix(core): invalid examples 2024-02-27 22:37:08 +01:00
Ludovic DEHON
58c95e1925 chore(deps): update all java deps 2024-02-27 16:03:33 +01:00
YannC
48e78e4b3e fix(ui): light mode selected editor button (#3167) 2024-02-27 15:27:38 +01:00
YannC
5bbf41f822 fix(ui): Do not display any state for trigger when no execution (#3166)
closes #3147
2024-02-27 14:53:02 +01:00
Ludovic DEHON
9c768ef1db chore(deps): update ui deps 2024-02-27 13:33:43 +01:00
Ludovic DEHON
51d21c825c chore(test): fix falling test 2024-02-27 13:04:34 +01:00
Florian Hussonnois
cfe237a710 chore(ui): add a toast asking user to validate their instance security (#2583)
Fix: #2583
2024-02-27 10:24:09 +01:00
Ludovic DEHON
3ca23b5a2c fix(ui): remove magic numbers 2024-02-27 10:19:41 +01:00
Florian Hussonnois
f2dc3875e5 feat(core): add new Deduplicate task for storage 2024-02-27 10:17:22 +01:00
Ludovic DEHON
c970b3d35e fix(ui): prevent html tags
close #3159
2024-02-27 10:16:42 +01:00
Ludovic DEHON
62b3b966d0 feat(core): add enum input & output type
close #3156
2024-02-27 09:12:04 +01:00
Ludovic DEHON
50f52c676e fix(core): don't break on core for an invalid class 2024-02-27 08:32:42 +01:00
YannC
bdd5c04ce3 fix(ui): prevent enabled/disabled trigger already disabled from flow definition (#3149)
* fix(ui): prevent enabled/disabled trigger already disabled from flow definition

closes #3113

* tests(): adapt tests to new search trigger result
2024-02-26 15:20:49 +01:00
YannC
1a16ac18b4 fix(ui): no error on settings page for super admin with no tenant access (#3151) 2024-02-26 15:12:02 +01:00
Loïc Mathieu
ec08041a88 fix(ui): french translation execution -> exécution 2024-02-26 12:38:50 +01:00
Loïc Mathieu
739a293ebd fix(core): default documentation to required false
In case a task is not required, default to false or the documentation will display '?'.

Fixes #3145
2024-02-26 12:26:53 +01:00
YannC
53ef46fa3d fix(ui): display topology view
closes #3143
2024-02-26 10:45:39 +01:00
YannC
f08d754b56 feat(core): Deprecate tasks and errors property of Pause task (#3122)
* feat(core): Deprecate `tasks` and `errors` property of Pause task

* fix(ui): linter

* fix(core): Keep errors in Pause flowable
2024-02-26 08:59:36 +01:00
Loïc Mathieu
5af29672b0 fix(ui): missing executions page daily statistic
Daily statistci was missing if no date or time range was present in the query string.
Also remove duplicated filter.

Fixes https://github.com/kestra-io/kestra-ee/issues/894
2024-02-23 17:45:37 +01:00
YannC
627fcd34b5 fix(ui): editorView CSS 2024-02-23 10:41:10 +01:00
YannC
6c55c2c01e fix(ui): remove char from html in App.vue 2024-02-23 09:50:16 +01:00
Florian Hussonnois
5eeb349812 feat(cli): add --api-token option
This commit allows specifying an --api-token
option to authenticate to Kestra API (EE only).
2024-02-23 09:44:06 +01:00
YannC
e00bbad73d feat(scheduler): schedulecondition to condition (#3115)
* feat(scheduler): schedulecondition to condition

* tests(): adapt tests

* fix(): review changes
2024-02-23 09:30:07 +01:00
Ludovic DEHON
234759101a fix(ui): trigger with no state on the triggers page 2024-02-23 00:11:39 +01:00
Ludovic DEHON
392c40ef4c feat(ui): move save on editor at top
close kestra-io/kestra#3008
2024-02-22 23:35:33 +01:00
Florian Hussonnois
b2af7feb4b feat(core): add type to flow outputs (#3094)
This commit also add outputs validation for flow

Fix: #3094
2024-02-22 21:47:18 +01:00
Florian Hussonnois
4b02fc16ed fix(core): prevent standalone worker from being evicted 2024-02-22 19:48:33 +01:00
YannC
bf4a5c1ba9 fix(ui): foreach button size (#3120) 2024-02-22 17:02:40 +01:00
Loïc Mathieu
ed2af17ff4 fix(core): fix SchedulerScheduleTest 2024-02-22 14:22:39 +01:00
Loïc Mathieu
509f455ee7 fix(core): rename recoverMissedSchedules property 2024-02-22 12:58:53 +01:00
Loïc Mathieu
2290824c5e fix: SchedulesScheduleTests don't need to start the worker
As Schedule is evaluated directly by the Scheduler
2024-02-22 11:12:28 +01:00
Loïc Mathieu
907acd6fd8 fix(ui): éxécution -> exécution 2024-02-22 11:12:28 +01:00
Loïc Mathieu
5b7a24c0dd feat(core): Recover Missed Schedule
Fixes #2219

Allow to specify the behavior in case of misses schedules: recover all, recover last or recover none.
2024-02-22 11:12:28 +01:00
Anna Geller
6740aa2ddb closes https://github.com/kestra-io/kestra/issues/3111 2024-02-22 11:10:46 +01:00
Loïc Mathieu
e0b245331a fix(core): base64 decode the provided encryption key 2024-02-22 09:54:33 +01:00
yuri
d4f69ead65 fix(ui): reset the set labels dialog (#3110)
The dialog presented previously entered values.
2024-02-22 09:18:02 +01:00
Anna Geller
b88e968481 docs: add timezone link 2024-02-21 16:21:46 +01:00
yuri
f36eddb0a9 feat(*): enable mass resume (#3105)
* feat(*): enable mass resume

Enabled resuming of multiple executions at once.

The impl closely mirrors existing mass actions.

* fix(ui, webserver): add missing translations and do some refactoring

---------

Co-authored-by: Loïc Mathieu <loikeseke@gmail.com>
2024-02-21 13:51:57 +01:00
Loïc Mathieu
b54d0d387f fix(core): WorkerGroupValidator never validates on the Namespaces page
Fixes https://github.com/kestra-io/kestra-ee/issues/882
2024-02-20 16:45:33 +01:00
brian-mulier-p
ff725e128b feat/setup-configuration (#3025)
* feat(ui): extract Logo as independant component + fixed some styling

part of kestra-io/kestra-ee#601

* feat(): revert logo/left menu css changes

* feat(): finished UI + handle null tenant

---------

Co-authored-by: YannC <ycoornaert@kestra.io>
2024-02-20 16:26:21 +01:00
YannC
1864399161 fix(ui): minor UI fix 2024-02-20 10:06:54 +01:00
Loïc Mathieu
36b7367ac0 feat(*): update execution labels
Fixes #2633
2024-02-20 10:06:54 +01:00
yuri1969
55ec8eee53 fix(ui): render HTML inside bulk select button 2024-02-20 09:26:08 +01:00
YannC
11ea122ec0 fix(): fix issue at backfill creation (#3096) 2024-02-19 19:05:34 +01:00
Loïc Mathieu
ffc8800df4 fix(ui, websever): rename startDateRange to timeRange and add support for it in the mass actions 2024-02-19 17:38:59 +01:00
Loïc Mathieu
929b8200fc fix(ui): lint issue 2024-02-19 17:04:47 +01:00
Loïc Mathieu
df197d667b feat(core): send a failed execution if evaluating a condition fail for a polling trigger
Fixes #3072
2024-02-19 17:00:57 +01:00
YannC
1de372bfa0 feat(): backfill progression (#3097) 2024-02-19 16:31:59 +01:00
Loïc Mathieu
4110e61e7d fix(ui): export flows 2024-02-19 12:36:41 +01:00
Ludovic DEHON
eb71df930d fix(core): fix plugin document generation 2024-02-19 09:27:45 +01:00
Ludovic DEHON
9c7bf71a37 fix(core): deprecated properties failed to render as markdown 2024-02-18 23:51:09 +01:00
Ludovic DEHON
649b27b1e6 fix(ui): tabs are not handle when the menu is collapsed 2024-02-18 23:51:09 +01:00
Loïc Mathieu
0514962160 Feat/schedule refacto (#3075)
* feat(core): avoid evaluate each second after a empty Schedule evaluation

* feat(core): Move saving the trigger in the saveLastTriggerAndEmitExecution() methods

This avoids duplicate save of the trigger in Kafka.

* chore(core): Trigger and Scheduler refactoring

* fix(): use correct method to update trigger

* fix(): rebase issue

* fix(): implement custom getDisabled() in trigger for previous existing trigger

---------

Co-authored-by: YannC <ycoornaert@kestra.io>
2024-02-16 13:55:55 +01:00
YannC
27a7e51c69 fix(): correct next execution date when updating trigger from ui/source (#3079)
* fix(): correct next execution date when updating trigger from ui/source code

* test(controller): trigger updated() test was missing flow creation

* fix(): review changes
2024-02-16 11:16:50 +01:00
YannC
307826e1e3 fix(ui): make polling trigger visible in UI (#3080) 2024-02-16 11:09:01 +01:00
YannC
3c986580f7 feat(): make backfill end date not mandatory (#3078)
* feat(): make backfill end date not mandatory

* chore(): lint
2024-02-15 17:04:44 +01:00
YannC
7f0e417a74 fix(): only required one double click to execute action (#3077) 2024-02-15 16:28:24 +01:00
Ludovic DEHON
ee991423bf fix(ui): better absolute / relative filter design 2024-02-15 15:51:02 +01:00
Loïc Mathieu
7af71aab1b Feat(core, jdbc): refactor execution loggind and add the tenant
Fixes https://github.com/kestra-io/kestra-ee/issues/863
2024-02-15 15:09:44 +01:00
Ludovic DEHON
af00d6b011 refactor(ui): remove on backfill duplicate from flow run 2024-02-15 13:49:27 +01:00
Anna Geller
15643dd5a5 fix: update readme 2024-02-15 11:34:13 +01:00
Anna Geller
89d14374b8 docs: add stopAfter example 2024-02-15 10:48:03 +01:00
Loïc Mathieu
58aae86080 fix(core): stopAfter tests didn't really test that the trigger is disabled 2024-02-15 10:36:39 +01:00
Loïc Mathieu
a8b2eb4192 feat(core): generates a fail execution if we cannot evaluate a Schedule
Fixes #2811
2024-02-15 10:36:39 +01:00
Florian Hussonnois
3854b1734a feat: add makefile to build and deploy kestra locally
This commit adds a simple Makefile that can be used by
developers to more easily setup an up and running kestra standalone installation.

Makefile can also be used to easily installed known plugins from a `.plugins` file.

Examples:
* make install
* make install-plugins
* make start-standalone-postgres
2024-02-15 10:17:28 +01:00
Loïc Mathieu
558cef175c fix(core): polling trigger didn't update their next evaluation date
So they are re-evaluated each second
2024-02-15 10:11:33 +01:00
Loïc Mathieu
6ba21097f7 feat(*): emit a warning when using the 'system' namespace
Fixes #3004
2024-02-15 09:19:06 +01:00
Ludovic DEHON
32669a10e2 fix(ui): enhance ux on flow backfill 2024-02-14 23:41:29 +01:00
Ludovic DEHON
5ac598673b fix(ui): fix style of date time input on disabled date 2024-02-14 21:03:13 +01:00
Ludovic DEHON
157c13dfd0 feat(ui): display pagination at top
close #3059
2024-02-14 17:41:06 +01:00
Ludovic DEHON
fcc6860d12 feat(ui): introduce new tabs 2024-02-14 17:41:06 +01:00
Ludovic DEHON
4e5f05e43f fix(ui): proper select size for small and large 2024-02-14 17:41:05 +01:00
YannC
d6b6ab859c fix(): missing button in admin triggers (#3065) 2024-02-14 14:22:07 +01:00
Loïc Mathieu
b77d1cb731 fix(ui): allow to save the default flow without any modification
Fixes #3047
2024-02-14 14:14:36 +01:00
YannC
6bd96c8498 fix(): backfill deleted when shouldn't (#3064) 2024-02-14 13:46:17 +01:00
Anna Geller
102c50f4a0 fix: remove backfill from examples 2024-02-14 13:45:52 +01:00
Anna Geller
1ca8849d51 fix: backfill doc 2024-02-14 13:29:53 +01:00
Loïc Mathieu
8278948065 feat(core): Trigger stopAfter 2024-02-14 11:32:25 +01:00
YannC
4fad32d389 fix(heartbeat): revert prevent systemExit on standalone and add more logs (#3057)
* fix(): revert prevent standalone to kill itself in heartbeat

* chore(): add log when worker is being deleted from DB and improved dead worker log
2024-02-14 11:16:19 +01:00
Florian Hussonnois
ff1f1e9056 chore(core): add required utility methods
This commit adds required utilities for further improvements.
2024-02-14 11:16:10 +01:00
yuri
d53def1251 fix(ui): render trigger description as Markdown (#3050) 2024-02-13 16:58:39 +01:00
YannC
5a35301a2e feat(core): disable trigger (#3052) 2024-02-13 16:53:11 +01:00
Loïc Mathieu
a78a27980b fix(ui): remove end date range for the execution search 2024-02-13 16:40:43 +01:00
yuri1969
422e52e1b6 fix(ui): fix relative time filter range 2024-02-13 16:03:04 +01:00
Ludovic DEHON
11d2b9ac59 fix(ui): select font-size align to other form items 2024-02-13 15:19:20 +01:00
Ludovic DEHON
3253d06996 fix(webserver): change default logging for access 2024-02-13 15:12:55 +01:00
Anna Geller
4719ecf2f8 fix: alert action step 2024-02-13 11:43:45 +01:00
Anna Geller
4fa0641ecf feat: add a step to automate adding BC to release notes 2024-02-13 11:24:09 +01:00
YannC
0f2c9be5b6 feat(): new backfill implementation (#3019)
* feat(): new backfill implementation

* fix(): review changes

* fix(ui): linting
2024-02-13 09:42:39 +01:00
YannC
2aa10e49e4 fix(): prevent worker exit when instance is standalone (#3046) 2024-02-12 13:33:47 +01:00
Loïc Mathieu
d40fa7c4ee feat(*): remove logId and delete log by query 2024-02-12 09:46:37 +01:00
Anna Geller
28cb6a3a27 docs: add example for accessing parent taskrun value (#3033)
* docs: add example for accessing parent taskrun value

* Update EachSequential.java

* Update EachSequential.java

* Update EachSequential.java

* quotes no longer needed

* remove last whitespace

* fix missing description
2024-02-11 13:41:41 +01:00
Loïc Mathieu
642992407d fix(core): trigger immediatly new triggers 2024-02-09 17:31:13 +01:00
Loïc Mathieu
91aa83137e chore(webserver): retry flaky test ExecutionControllerTest.killPaused() 2024-02-09 12:06:45 +01:00
Loïc Mathieu
662e85a568 chore(*): upgrade to Micronaut 4.3 with other dependency upgrades 2024-02-09 12:06:45 +01:00
Florian Hussonnois
c740cc1771 chore(core): rename prop for enabling subflow outputs (#2953) 2024-02-09 11:52:11 +01:00
yuri1969
4f8d5ffb6f RFC: feature(core): relative time filter
As a part of the initiative towards making a "stored execution filter"
possible there is a need to deal with the current implementaiton of
the time filter. The current implementation is not capable of fitering
based on a relative date.

---

Making the API capable of dealing with both absolute and relative time
filters seems like a good idea since it adds flexibility for the
clients.

The _ISO 8601 duration_ format was chosen as the represenation of
the relative filter as it is commonly understood.

Since the query param-based filtering was kept, the absolute and relative
filter pairs were made mutually exclusive.

As a part of the RFC only the `executions/search` API endpoint got modified.

---

On the UI front, the Executions view date filter was altered to make it
possible to use either the relative or absolute date filter.

The relative filter features a set of pre-defined time ranges. The
ranges were mostly migrated from the existing date filter.

The auto-refresh search can be activated only with the relative filter
active.

As a part of the RFC only the bare core functionality got covered.
2024-02-09 11:47:16 +01:00
Loïc Mathieu
f11ece84ef fix(core): implement concurrency without ExecutionQueued 2024-02-09 11:20:58 +01:00
Loïc Mathieu
8c01f04513 fix(core): init logger before computing variables in the run context 2024-02-09 09:54:36 +01:00
Loïc Mathieu
179bad7912 chore(core): rename CryptoService to EncryptionService and made the key optional 2024-02-09 09:54:36 +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
Loïc Mathieu
f6c8f76d94 fix(core): add a setter on AbstractTrigger.minLogLevel for backward compatibility 2024-02-09 09:04:33 +01:00
Loïc Mathieu
82d9086f51 fix(jdbc): JDBC concurrency limit
Fixes #2976

Previously, action that must be done when an execution is terminated was done inside the method that handle messages from the execution queue. As there is a last execution message send when the execution is terminated, this lead to those methods being called two times.
Moving those action after the sending of the execution solves the issue and also allow to remove a deduplication that was in place to fix the same issue on a different action.
2024-02-09 08:55:06 +01:00
Ludovic DEHON
017a5d9006 feat(core): automaticaly hide secret on log (#3018)
close kestra-io/kestra-ee#34
2024-02-08 23:21:30 +01:00
YannC
59e506054b fix(core): worker group validation issue (#3015) 2024-02-08 17:11:10 +01:00
Loïc Mathieu
7895d0cf1a feat(core): Add a namespace condition on the flow trigger without any condition
This is because without any condition, it is triggered on every flow execution and can make any test assertion flaky.
Anyway, this flow existed but no assertion was made that it was triggered, the new flow is now asserted to be triggered.
2024-02-08 16:45:23 +01:00
Loïc Mathieu
e16f2f5700 chore(core): move all flow listeners test to their own namespace 2024-02-08 16:45:23 +01:00
Ludovic DEHON
8fb1bf2ef1 fix(core): log on console are not working anymore 2024-02-08 15:21:17 +01:00
Loïc Mathieu
6b273b6f82 chore(jdbc): retry flacky test JdbcRunnerTest.forEachItemSubflowOutputs 2024-02-08 14:36:29 +01:00
Loïc Mathieu
7a772eb38d fix: lint error on Kill.vue 2024-02-08 14:27:15 +01:00
Loïc Mathieu
9aaf087f94 feat: automatic encryption and decryption of task outputs 2024-02-08 12:40:00 +01:00
Loïc Mathieu
2a062275cc feat(core): remove newline to allow multi-line secret
As some old base64 tool may add some.

Fixes #2249
2024-02-08 12:12:30 +01:00
Loïc Mathieu
8205200308 feat: allow to delete flow execution logs
Fixes #3001
2024-02-08 10:07:59 +01:00
Florian Hussonnois
00147b02fa feat(core): transmit kill to subflows (#2220)
Fixed: #2220
2024-02-08 10:01:36 +01:00
Ludovic DEHON
d050a89714 fix(core): filtering on flowId is not working
close kestra-io/kestra#2921
2024-02-07 22:55:49 +01:00
Anna Geller
79650ac00e fix(ui): better naming for executions filters 2024-02-07 16:33:43 +01:00
Ludovic DEHON
8443b81517 fix(core): missing title for subgroup plugins
close kestra-io/docs#865
2024-02-07 09:26:54 +01:00
Ludovic DEHON
6eff89888d chore(deps): bump some gh actions 2024-02-07 08:51:58 +01:00
Ludovic DEHON
f49d6eddbf feat(core): add a filter for child executions (#2993)
close kestra-io/kestra#2559
2024-02-07 00:16:38 +01:00
Ludovic DEHON
4a40214065 chore(cicd): use a special database for each unit test 2024-02-05 21:34:38 +01:00
Florian Hussonnois
9e615c45b7 fix(ui): fix duplicated subflow logs (#2641)
Fix: #2664
2024-02-05 18:16:54 +01:00
Florian Hussonnois
b9f6b71a7a refactor(core): use plugin configurations to enable/disable subflow outputs (#2952)
Fix: #2952
2024-02-05 15:24:06 +01:00
Florian Hussonnois
cf8594bc18 feat(core): add plugin configurations (#2952)
Subtask for #2952
2024-02-05 15:24:06 +01:00
brian.mulier
147f580d39 fix(ui): id and namespace are reset if changed on an existing flow 2024-02-05 15:11:04 +01:00
Ludovic DEHON
6b4fff6b7c feat(core): remove deprecated handlebars (#2986) 2024-02-05 13:58:20 +01:00
brian.mulier
8efb584b5f fix(ui): no more error due to lacking revision upon generating graph from source 2024-02-05 12:32:37 +01:00
brian.mulier
1a04d59920 feat(ui): display warning and additional confirm popup in case of editing an outdated revision
closes #2953
2024-02-02 21:02:22 +01:00
brian.mulier
8bd556d6fe feat(webserver): generate outdated warning upon Flow validation if revision is provided
part of #2953
2024-02-02 21:02:22 +01:00
brian.mulier
6a827fe4df feat(core): fetch last revision of a flow
part of #2953
2024-02-02 21:02:22 +01:00
brian.mulier
d1c9c149ae fix(ui): using Utils to download logs to prevent polluting body
closes #1618
2024-02-02 20:47:54 +01:00
brian.mulier
fef338a3a5 fix(core): don't crash upon injecting Namespace Files if the root folder doesn't exist
closes #2965
2024-02-02 20:22:14 +01:00
Ludovic DEHON
ffbbce67cc feat(tasks): add a storage task to reverse a file 2024-02-02 18:55:50 +01:00
yuri
c006010605 chore(ui): introduce ESLint check in build (#1860)
Co-authored-by: brian.mulier <bmmulier@hotmail.fr>
2024-02-02 14:31:59 +01:00
Loïc Mathieu
ba90936efe fix(jdbc): retry flaky test 2024-02-02 12:15:59 +01:00
Loïc Mathieu
65b6a93852 feat: allow encryption via the RunContext
This will allow easily encryption of output from a task (for ex for GCP OauthAccessToken).
2024-02-02 12:15:59 +01:00
YannC
ff8537018d fix(ui): rename name for id 2024-02-02 11:19:46 +01:00
Loïc Mathieu
47078e0360 feat: new SECRET input type 2024-02-02 11:19:46 +01:00
yuri1969
40b56f74f2 fix(ui): fix task run logs download 2024-02-01 20:37:14 +01:00
Anna Geller
3365a703d0 feat: make bug report template shorter (#2916) 2024-02-01 20:36:09 +01:00
brian.mulier
14378c110d feat(ui): stats page in Administration menu
closes #2795
closes #2584
closes #2565
2024-02-01 17:18:52 +01:00
Loïc Mathieu
cb3f31977a fix(core): Jakarta package 2024-02-01 15:58:33 +01:00
Loïc Mathieu
a6d403dae2 feat(core): Execution Resumed 2024-02-01 15:31:06 +01:00
Loïc Mathieu
6a0d83f7d2 feat(core): increase flow wait duration in PauseTest 2024-02-01 15:31:06 +01:00
YannC
32585f8742 fix(ui): forgotten renaming name to id 2024-02-01 15:17:25 +01:00
Loïc Mathieu
b9d94ec583 fix: re-enable test
Some tests was disabled because they need plugin recompilation due to the migration to Jakarta EE. Now that plugins has been migrated we can re-enable them.
2024-02-01 10:46:04 +01:00
Anna Geller
b0a4b452af fix: missing type 2024-01-31 20:17:23 +01:00
Loïc Mathieu
67063eb3ca feat(core): add Pebble encrypt and decrypt functions
Fixes #2143
2024-01-31 15:49:50 +01:00
Loïc Mathieu
6347b4f0fe fix(webserver): don't load the flow from the execution as we already have it
Fixes #2959
Today we load again the flow from the execution but we already load it before.
Doing this can crash the execution queue if we didn't succeed to load it.
2024-01-31 15:49:34 +01:00
Ludovic DEHON
66e7f5298d feat(core): rename input id to input name (#2950)
close kestra-io/kestra#2861
2024-01-31 11:33:31 +01:00
Florian Hussonnois
3f0b404103 fix(core): taskRunValue should be optional for task state file
This commit fixes a regression from commit 9e1b660
2024-01-30 17:19:49 +01:00
Anna Geller
2348fc64f0 fix: typo in the link 2024-01-30 16:46:18 +01:00
Florian Hussonnois
e9ffb901c1 feat(docker): introduce Solace plugin 2024-01-30 09:54:52 +01:00
Florian Hussonnois
59fc0822de fix(core): use consistent hashing function for storage prefix (#2934)
Fix: #2934
2024-01-30 09:54:25 +01:00
Ludovic DEHON
da7a4afc53 feat(webserver): rename trigger endpoint
close kestra-io/kestra#2913
2024-01-29 23:20:17 +01:00
Ludovic DEHON
84a8d46c80 fix(ui): handle empty message log 2024-01-29 21:13:57 +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
e000b5876d feat(*): Migrate from RxJava2 to Reactor 2024-01-29 16:05:24 +01:00
Loïc Mathieu
d55376a11a fix(core): remove @NotBlank on Log.message
As it cannot be used with an Object property type (neither @NotEmpty).
2024-01-29 16:05:24 +01:00
Loïc Mathieu
407c3fcb97 feat(*): upgrade to Micronaut 4.2.2 and all other libs 2024-01-29 16:05:24 +01:00
Loïc Mathieu
870245ec82 fix(core): workaround Micronaut 4 unable to replace a validator
See https://github.com/micronaut-projects/micronaut-validation/issues/278
2024-01-29 16:05:24 +01:00
Loïc Mathieu
610963f7d3 fix(webserver): workaround or Micronaut 4 bugs with subtype serialization
See https://github.com/micronaut-projects/micronaut-core/issues/10294
2024-01-29 16:05:24 +01:00
Loïc Mathieu
7b52ef4d37 fix(cli,core): disable for now tests that needs plugin recompilation 2024-01-29 16:05:24 +01:00
Loïc Mathieu
bedb22b1ee feat(webserver,cli): replace our custom access log by Micronaut's one 2024-01-29 16:05:24 +01:00
Loïc Mathieu
42a03ae04b fix(jdbc): use a qualified asterisk to fix a jOOQ bug with MySQL 2024-01-29 16:05:24 +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
f5e2e1c3a6 fix(core): validation messages has changed 2024-01-29 16:05:24 +01:00
Loïc Mathieu
3671cdcaf3 fix(jdbc): use a thread executor per jdbc queue 2024-01-29 16:05:24 +01:00
Loïc Mathieu
85cbec2a70 fix(jdbc): close gracefully the JdbcExecutor in case of unhandled exceptions 2024-01-29 16:05:24 +01:00
Loïc Mathieu
7af52455ee fix(webserver): cannot bind multiple time the request body
See Micronaut 4 breaking changes https://docs.micronaut.io/latest/guide/#breaks section '@Body annotation on controller parameters'
2024-01-29 16:05:24 +01:00
Loïc Mathieu
de6675ac00 fix(webserver): use a POJO to bind the request in the stats API 2024-01-29 16:05:24 +01:00
Loïc Mathieu
ea52d21714 fix(cli,core): simplify KestraAplicationContextBuilder 2024-01-29 16:05:24 +01:00
Loïc Mathieu
2d321008b7 feat(webserver): remove usage of media type text/json
It will default to the more common application/json instead
2024-01-29 16:05:24 +01:00
Loïc Mathieu
337f82fef9 feat(*): move to Jakarate EE 2024-01-29 16:05:24 +01:00
Loïc Mathieu
5977c2003f feat(*): upgrade to Micronaut 4 and SLF4J 2 2024-01-29 16:05:24 +01:00
Scott Gunn
c7640c8c9c Update README.md (#2933)
Fix link to RScript plugin
2024-01-28 00:55:02 +01:00
Florian Hussonnois
9e1b6601be chore(core): add new interface for accessing Kestra storage
This commit provides a cleaner way to access kestra storage through
RunContext
2024-01-26 19:03:18 +01:00
brian.mulier
fa1479e3e5 feat(core): usage per tenant
part of #2565
2024-01-26 18:45:34 +01:00
brian-mulier-p
31a6f17747 feat(core): add an enum to specify the Comparison to use when matching namespace (#2930)
solves https://kestra-io.slack.com/archives/C03FQKXRK3K/p1706190346514079
2024-01-25 21:35:23 +01:00
brian.mulier
b448f2252c fix(tests): longer timeout for parallel flow testing 2024-01-25 20:12:12 +01:00
brian.mulier
f6225e36a7 fix(core): map with nested number list are properly rendered
solves https://kestra-io.slack.com/archives/C03FQKXRK3K/p1706175341927119
2024-01-25 20:12:12 +01:00
brian.mulier
a564e6dbb1 feat(webserver): store Basic Authentication in Repository + force email address as username 2024-01-25 18:50:28 +01:00
Ludovic DEHON
8cc798b47b chore(test): fix falling test 2024-01-24 11:05:44 +01:00
Ludovic DEHON
0c51d87299 feat(core): add labels on runContext 2024-01-24 10:23:03 +01:00
brian.mulier
33e677878f fix(tests): ExecutionControllerTest.downloadFile test is no longer based on application.yml to prevent changes from failing it 2024-01-23 15:14:21 +01:00
YannC
a4ce03c554 fix(): use same JDBC mapper (#2915)
* fix(): use same JDBC mapper

* cleanup

* fix(test): change wiremock unit test port

---------

Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2024-01-23 14:51:29 +01:00
Ludovic DEHON
7c30465ff2 fix(ui): add cookie on api call 2024-01-22 18:03:13 +01:00
brian.mulier
ab62ba9024 fix(core-ee): avoid the need of recursiveness when generating outputFiles 2024-01-21 11:55:23 +01:00
Ludovic DEHON
317983572f chore(version): update snapshot version 'v0.15.0-SNAPSHOT'. 2024-01-18 08:26:32 +01:00
Ludovic DEHON
f3a621045f chore(version): update to version 'v0.14.0'. 2024-01-18 08:25:52 +01:00
yuri
381869ba03 fix(cli): Make the CLI help clearer (#2882) 2024-01-17 08:53:10 +01:00
brian-mulier-p
8127aeafa4 fix(ui): restoreUrl is now scoped to a tenant (#2880)
closes kestra-io/kestra-ee#767
2024-01-16 22:01:19 +01:00
Ludovic DEHON
fae782967c fix(ui): don't init topology if not visible 2024-01-16 18:50:03 +01:00
Ludovic DEHON
ab74bab8aa fix(ui): invalid dependencies count
close #2871
2024-01-16 18:43:48 +01:00
Ludovic DEHON
4c083d102f fix(ui): tooltip DateAgo need a key
close kestra-io/kestra-ee#774
close #2879
2024-01-16 18:09:52 +01:00
Ludovic DEHON
31350e8313 refactor(ui): refactor executions 2024-01-16 18:08:53 +01:00
Ludovic DEHON
af5e00917c fix(ui): reorganize settings 2024-01-16 17:45:31 +01:00
Loïc Mathieu
80f836a190 fix(core): add the tenantId at trigger creation (#2877)
Fixes kestra-io/kestra-ee#770
2024-01-16 17:16:41 +01:00
YannC
900f3d0804 fix(): load correct tenant & no more unauthorized error (#2875) 2024-01-16 15:54:51 +01:00
Anna Geller
85812f0ff2 fix: wording in translations (#2868) 2024-01-16 10:43:28 +01:00
Loïc Mathieu
901ed01563 fix(core): refactoring of execution running for concurrency limit (#2825) 2024-01-16 10:09:45 +01:00
Ludovic DEHON
e4cfc3b6e2 fix(ui): add missing id on posthog 2024-01-16 08:53:11 +01:00
brian-mulier-p
8093ecf166 fix(ui): NamespaceSelect input size fits its content (#2865)
closes #2860
2024-01-15 20:44:11 +01:00
brian.mulier
6cbf539cc2 fix(tests): trigger resubmit test is now based on condition awaiting instead of arbitrary time await 2024-01-15 16:05:48 +01:00
Shruti Mantri
f6fc56e2f9 fix(docs): doc correction under core model tasks (#2866) 2024-01-15 15:31:47 +01:00
brian.mulier
2a7612da81 fix(translations): some translations were missing 2024-01-15 12:13:28 +01:00
brian-mulier-p
319bf8c498 fix(translations): eval button renamed to render (#2864) 2024-01-15 11:26:19 +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
brian-mulier-p
b327f28912 feat(render): disable recursive rendering by default with kestra.variables.recursive-rendering as a settings + introduce render() function (#2834) 2024-01-15 11:05:11 +01:00
Loïc Mathieu
70ca7b44bd chore(ci): don't sign JARs if it's not to publish them (#2810)
This allow to install locally without signing the JARs
2024-01-15 10:43:54 +01:00
Ludovic DEHON
efafd7bd6f chore(deps): update dependencies 2024-01-15 10:31:41 +01:00
Loïc Mathieu
31b43c7f9e fix(core): retry can crash the Worker (#2837)
Fixes #2835
2024-01-15 10:24:06 +01:00
Loïc Mathieu
a7f7ce7963 feat(core): add a new CORE plugin category (#2842) 2024-01-15 10:22:04 +01:00
Loïc Mathieu
b6c45fcb98 feat(webserver): add a log in case rendering the webhook key fail (#2828) 2024-01-15 10:21:18 +01:00
Shruti Mantri
1cb32c96a3 fix(docs): doc corrections for core models and tasks (#2819)
Co-authored-by: Shruti Mantri <smantri@moveworks.ai>
2024-01-15 09:26:04 +01:00
Loïc Mathieu
56da9495cd fix(ui): hide the export template button if template is not enabled. 2024-01-12 16:17:23 +01:00
Loïc Mathieu
19f2fa21c2 feat(jdbc): safely deserialize subflow executions
Fixes #2300
2024-01-12 16:13:45 +01:00
Ludovic DEHON
b781db5166 fix(ui): correct api url 2024-01-12 15:58:01 +01:00
Ludovic DEHON
0f1f233cfc fix(ui): proper api xhr options for config endpoint 2024-01-12 12:37:06 +01:00
Ludovic DEHON
08688e6bbd fix(core): tenantId on runContext should not be serialized 2024-01-11 23:24:44 +01:00
Ludovic DEHON
5a51c5fca0 chore(deps): bump org.apache.httpcomponents:httpclient from 4.5.13 to 4.5.14 2024-01-11 17:50:18 +01:00
dependabot[bot]
376318624c chore(deps): bump github/codeql-action from 2 to 3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-11 17:46:29 +01:00
Ludovic DEHON
6c17067232 chore(deps): update most js package 2024-01-11 17:36:37 +01:00
Ludovic DEHON
2c69382d49 chore(deps): update most of java deps 2024-01-11 17:31:01 +01:00
Ludovic DEHON
edc060c1d4 feat(ui): add posthog event tracking 2024-01-11 14:27:35 +01:00
Ludovic DEHON
d79dc261aa fix(core): keep a setter for items on TaskRun for backward compatibility 2024-01-11 13:09:22 +01:00
Ludovic DEHON
1e1785db7e chore(refactor): remove a bunch of compilation warning and remove deprecated StorageInterface method 2024-01-11 12:56:42 +01:00
Ludovic DEHON
b0a805e8e0 feat(core): allow caching static file for cdn 2024-01-10 23:42:04 +01:00
Ludovic DEHON
06eae527f1 fix(ui): fix props type on EditorView 2024-01-10 23:38:49 +01:00
Ludovic DEHON
6000123a62 fix(ui): prevent crash on invalid yaml 2024-01-10 23:38:49 +01:00
Ludovic DEHON
920583216d fix(webserver): handle invalid route proper error 2024-01-10 23:38:49 +01:00
YannC
79bf74063f chore(ui): refacto UI so its use new "numberOfBatches" output 2024-01-10 14:21:54 +01:00
Loïc Mathieu
0ac8cdc0e3 chore(*): refactoring of subflow 2024-01-10 14:21:54 +01:00
Loïc Mathieu
906e53fd85 feat: refactor to use taskrun.iteration 2024-01-10 14:21:54 +01:00
Loïc Mathieu
11b2f063c6 fix(core): invalid log, should log task id and not flow id twice 2024-01-10 11:35:03 +01:00
Ludovic DEHON
f7ae086911 fix(ui): log can be empty 2024-01-09 15:49:06 +01:00
Loïc Mathieu
4537883108 feat(core): make the triggerStateSavedLock protected so it can be used on subclasses 2024-01-08 15:56:12 +01:00
brian.mulier
0750948ed5 fix(handlebars): added another mapper without context for YamlFlowParser to prevent trying to retrieve flow location for non-file flows 2024-01-05 09:38:14 +01:00
brian-mulier-p
5d116a93e2 Revert "Revert "fix(docs): corrected the docs on multiple flows (#2799)""
This reverts commit 5ee0122af0.
2024-01-04 15:47:14 +01:00
brian-mulier-p
5ee0122af0 Revert "fix(docs): corrected the docs on multiple flows (#2799)"
This reverts commit da69eb24de.
2024-01-04 11:16:27 +01:00
brian.mulier
959a1f8297 fix(core): NamespaceFilesService inject include / exclude patterns don't mandate a leading '/' for patterns
closes #2755
2024-01-04 10:00:50 +01:00
Shruti Mantri
da69eb24de fix(docs): corrected the docs on multiple flows (#2799)
Co-authored-by: Shruti Mantri <smantri@moveworks.ai>
2024-01-04 08:21:59 +01:00
brian.mulier
a54c2a39b7 fix(tests): JdbcHeartbeatTest.triggerResubmit logging in case of failure 2024-01-03 12:42:08 +01:00
brian.mulier
2eed307dc2 fix(jdbc): handle leap year for MySQL group by week 2024-01-03 12:11:55 +01:00
brian.mulier
0d43d6209f fix(core): Move .kestraignore handling to its own KestraIgnore class
part of kestra-io/plugin-git#26
2024-01-03 09:49:44 +01:00
Loïc Mathieu
7bef32a10c chore: report JUnit tests to CI 2024-01-02 17:10:46 +01:00
brian.mulier
e524057558 fix(jdbc): group by (namespace, flow_id) for lastExecutions query instead of flow_id only 2024-01-02 14:46:33 +01:00
brian.mulier
e5520e1174 fix(tests): add a test to ensure that we retrieve 1 last execution per (flow, namespace)
part of #2739
2024-01-02 14:46:33 +01:00
YannC
77d4f7453c fix(): CI property issue 2023-12-28 11:18:57 +01:00
YannC
ec8d191bde feat(build): add concurrency property to avoid duplicate develop CI running (#2766) 2023-12-28 09:36:08 +01:00
Ludovic DEHON
cbee164c60 feat(core): add categories to plugin metadata 2023-12-28 09:31:40 +01:00
brian.mulier
93fbe82de4 chore(deps): bump Kestra VSCode extension to v0.1.11. 2023-12-27 12:22:18 +01:00
brian.mulier
e76cc70bfd fix(core): FlowWithSource also copies tenantId when created with method of
closes kestra-io/kestra-ee#696
2023-12-27 12:07:20 +01:00
brian.mulier
53b0fbf7ce fix(ui): no longer crashing upon null value for tasks flow property
closes #2768
2023-12-27 12:05:59 +01:00
Ludovic DEHON
b3d350400d fix(ui): click on flow executions charts must redirect to same page 2023-12-23 21:54:27 +01:00
Ludovic DEHON
e6b8333dcb fix(ui): sort on flow executions page was not working 2023-12-23 21:53:39 +01:00
Ludovic DEHON
994abc0d07 fix(ui): invalid link on charts for state 2023-12-23 21:53:39 +01:00
brian.mulier
c985c31b86 fix(tests): added debug information in case of WorkerTest.failOnWorkerTaskWithFlowable test failure 2023-12-22 15:52:06 +01:00
brian.mulier
3f8285ac43 fix(tests): added debug information in case of SchedulerThreadTest.thread test failure 2023-12-22 15:52:06 +01:00
brian.mulier
c87f4c7da6 fix(ui): every route push now include tenant to prevent bad redirections
closes kestra-io/kestra-ee#662
2023-12-22 15:52:06 +01:00
Loïc Mathieu
ccf41fc3f3 Revert "fix(): prerender variables (#2588)"
This reverts commit 2e1c3733a4.
2023-12-22 10:56:02 +01:00
Shruti Mantri
5d10ba4605 fix(docs): corrected the docs under conditions 2023-12-21 15:37:49 +01:00
brian.mulier
533f4a198b fix(jdbc): label filtering now working properly with key-value match on same object 2023-12-21 12:38:16 +01:00
Ludovic DEHON
c75fa9b981 fix(core): handle tenant on UriProvider 2023-12-21 09:08:34 +01:00
Ludovic DEHON
bed4e31024 fix(core): inheritLabels failed with empty labels 2023-12-21 09:01:43 +01:00
brian.mulier
f8f21b593f fix(tests): disable test while label filtering gets fixed 2023-12-20 19:56:30 +01:00
brian-mulier-p
48232483f6 fix(tests): query params were lacking '&' in ExecutionControllerTest.find() 2023-12-20 17:18:29 +01:00
brian.mulier
75e53c0371 fix(ui): inject tenant in every api calls 2023-12-20 17:06:59 +01:00
brian.mulier
2a51145f60 fix(webserver): accept tenant in config endpoint 2023-12-20 17:06:59 +01:00
YannC
3580003143 feat(): added concurrency property to lowcode editor (#2746) 2023-12-20 16:59:09 +01:00
brian-mulier-p
31d351153e feat(tasks): introduce Labels task to allow updating execution labels at runtime (#2742)
closes #2632
2023-12-20 13:11:46 +01:00
brian.mulier
bb47a97f34 fix(webserver): accept labels with value being URL
closes #2744
2023-12-20 12:08:02 +01:00
Loïc Mathieu
d7e1ce58fe feat(core): allign all date conditions to trigger.date 2023-12-19 14:41:35 +01:00
Loïc Mathieu
c64f7e70e0 feat(core): public holiday condition 2023-12-19 14:41:35 +01:00
Loïc Mathieu
db11cb738f feat(core): assert that task default works for Trigger and Condition 2023-12-19 14:41:26 +01:00
Loïc Mathieu
e515b7135d fix(core): add the tenant in the Flow trigger 2023-12-19 11:07:23 +01:00
brian.mulier
3b351d14e5 chore(editor-deps): bump Kestra extension to 0.1.10 2023-12-18 16:06:28 +01:00
brian.mulier
e76f011eee fix(tests): add some debug logs for flaky ForEachItemCaseTest.forEachItemNoWait 2023-12-18 15:05:19 +01:00
brian.mulier
6428aa0ad2 fix(ui): reloading flow definition upon flow save in Namespace File editor
closes #2595
2023-12-18 15:05:19 +01:00
brian.mulier
015609ac4f fix(ui): add comments to help local extension development 2023-12-18 15:05:19 +01:00
brian.mulier
49e2862f56 fix(ui): removed some console warnings around typing 2023-12-18 15:05:19 +01:00
yuri1969
35256551e3 fix(core): add missing Schedule timezone validation 2023-12-18 09:33:18 +01:00
Loïc Mathieu
734c8db429 feat(core): improve deserialization error handling (#2622) 2023-12-18 09:12:03 +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
brian.mulier
bdc61e2e71 chore(deps): bump Kestra's VSCode extension to 0.1.8 2023-12-15 19:28:53 +01:00
brian-mulier-p
a12c9e5061 fix(ui): task run attempts selector for logs is now working properly (#2721) 2023-12-15 19:22:20 +01:00
brian.mulier
8523b3e421 fix(core): removed pass-through methods for FlowService 2023-12-15 12:19:39 +01:00
brian.mulier
7716d64395 feat(core): add FlowService.findByNamespace 2023-12-15 11:57:33 +01:00
brian.mulier
f61e9747c3 fix(tests): retrying flaky JDBC replay test 2023-12-15 09:18:05 +01:00
brian.mulier
e9a2404638 feat(core): lowercase mocked flowId / namespace for it to comply with flow validation 2023-12-15 09:18:05 +01:00
brian.mulier
b83cacab9f feat(core): add FlowService.findById 2023-12-15 09:18:05 +01:00
brian.mulier
58467f6618 feat(core): all by prefix to also get directories 2023-12-15 09:18:05 +01:00
YannC
618838f6e7 fix(core): FlowWithSource now handle concurrency property (#2714) 2023-12-14 17:00:13 +01:00
Ludovic DEHON
5c47af831e fix(ui): global notification to bottom right 2023-12-12 22:51:19 +01:00
Ludovic DEHON
1f5582153c chore(core): remove stdout print 2023-12-12 14:15:37 +01:00
brian.mulier
30192bd30f chore(ui-deps): bump ui-libs version to 0.0.31 2023-12-12 12:34:47 +01:00
Loïc Mathieu
b8c8a066ae feat(core): rename the Flow task to Subflow 2023-12-12 12:34:47 +01:00
Loïc Mathieu
99ca5f7ed0 feat(core): provide a method in the run context to safely resolve a path
This allows protection against path traversal issue.
2023-12-12 11:35:37 +01:00
Loïc Mathieu
72b4e10131 fix(jdbc): update the executor even if we cannot emit logs 2023-12-12 11:32:59 +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
brian.mulier
128357b729 fix(webserver): properly injecting tenantId in parsed flow source upon import 2023-12-12 10:28:10 +01:00
Loïc Mathieu
95da457b66 fix(core): add 'deprecated' to the task front matter title (#2700)
Fixes #2327
2023-12-12 00:03:47 +01:00
brian.mulier
424e8b9f3e feat(ui): import from zip, files or folders + export as zip for namespace files
closes #2594
2023-12-11 16:48:01 +01:00
brian.mulier
5873f27875 feat(webserver): add export namespace files endpoint + support flow imports through create file endpoint
part of #2594
2023-12-11 16:48:01 +01:00
Ludovic DEHON
2d16d8cfb9 chore(deps): update most js deps 2023-12-09 23:22:43 +01:00
Ludovic DEHON
3906bc0f65 chore(deps): bump com.github.ben-manes.versions from 0.49.0 to 0.50.0 2023-12-09 22:26:17 +01:00
Ludovic DEHON
077a9e9ded chore(deps): update github actions and dependabot 2023-12-09 22:19:14 +01:00
Ludovic DEHON
f5c4aab591 feat(core): allow taskDefault to use a prefix (and not full class name) (#2657) 2023-12-08 23:08:05 +01:00
Ludovic DEHON
6699436322 fix(jdbc): log executionId could be null 2023-12-08 21:59:35 +01:00
Ludovic DEHON
0fa696465b feat(core): prevent scheduler to failed on invalid schedule 2023-12-08 16:13:34 +01:00
Ludovic DEHON
10bb10d304 fix(core): don't warm for anonymous usage 2023-12-08 15:47:36 +01:00
Ludovic DEHON
849593cbb7 feat(ui): try to use toast at bottom right 2023-12-08 13:42:23 +01:00
Ludovic DEHON
9a9c199549 feat(docker): use entrypoint to simplify 2023-12-08 13:42:08 +01:00
Loïc Mathieu
4e7c9c658f feat(cli): allow to resolve a plugin from a version range (#2646) 2023-12-08 11:44:32 +01:00
Loïc Mathieu
c691fd5317 fix(core): skip execution for flows with no list of tasks (#2601) 2023-12-08 11:44:03 +01:00
brian.mulier
af99b99815 fix(core): allow overriding an existing input / namespace file with new content 2023-12-08 08:51:13 +01:00
brian.mulier
2ff0862ad3 fix(storage): handle non-existing entry for filesByPrefix 2023-12-06 12:29:27 +01:00
brian.mulier
e27a99bc9a fix(storage): returning full uris for file search 2023-12-06 12:29:27 +01:00
brian.mulier
587c7d91fe feat(vscode): file search by name
closes #2368
2023-12-06 12:29:27 +01:00
yuri
6c4c09a686 fix(cli): add missing help outputs (#2636) 2023-12-06 06:25:26 +01:00
Anna Geller
bd35ad5cc6 doc: email (#2564)
* doc: email

* Update docker-compose.yml
2023-12-05 21:22:10 +01:00
Loïc Mathieu
92b26f15a0 chore: add Apache Druid JDBC plugin 2023-12-05 15:19:51 +01:00
Loïc Mathieu
e34d0243dd feat(ui): allow to change the status of a CREATED task 2023-12-04 17:31:34 +01:00
Ludovic DEHON
34c2f8f3ae fix(cli): disable worker on standalone when 0 2023-12-02 13:32:53 +01:00
brian.mulier
9ef5de2db1 fix(webserver): allow tenant in MarketplaceFilter pattern 2023-12-01 11:38:59 +01:00
YannC
8043a7eb2f fix(ui): avoid admin menu blinking (#2606)
* fix(ui): avoid admin menu blinking

close #2580

* fix(ui): review changes

* fix(): not blinking with tenant
2023-11-30 21:35:31 +01:00
Loïc Mathieu
aca7686c4a fix(core): possible NPE on execution.findChilds() (#2607) 2023-11-30 21:10:47 +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
brian.mulier
e091cf7ce9 fix(ui): left menu child is also selected when navigating in their subroutes 2023-11-30 17:43:08 +01:00
YannC
ee222755d9 fix(ui): use correct key when change display columns on execution list (#2615)
* fix(ui): use correct key when change display columns on execution list

* fix(): remove log
2023-11-30 16:34:25 +01:00
Ludovic DEHON
c7598f6928 feat(core): add Elastic Common Schema (ecs) log format dependencies
close #2611
2023-11-29 21:00:21 +01:00
Ludovic DEHON
701dd178d5 fix(core): prevent npe on subflow 2023-11-29 18:41:16 +01:00
YannC
1e31af6869 fix(): prerender variables (#2588)
* fix(): prerender variables

* test(): fix test

* fix(): review changes

* fix(): review changes

* fix(core): return optional of object instad of empty() when no type match
2023-11-28 17:24:25 +01:00
brian.mulier
073af367ab feat(webserver): Marketplace proxy 2023-11-28 16:15:39 +01:00
brian.mulier
e9d6634bad fix(tests): add a test to ensure that file deletion don't delete by prefix to avoid side effects 2023-11-28 14:56:06 +01:00
brian.mulier
b6e1d77f1a fix(tests): add a test to ensure that simple deletion don't delete by prefix to avoid side effects 2023-11-28 14:03:54 +01:00
Edward Li
fad528fc2b feat(core): add flatten function for pebble (#2537)
* add flatten

* fix(core): clean up

* add flatten test

---------

Co-authored-by: Edward-Li <2023edwardll@gmail.com>
2023-11-24 09:56:37 +01:00
Loïc Mathieu
c9f28cce7d fix(ui): the workers API is global to all tenants 2023-11-23 17:16:43 +01:00
Loïc Mathieu
379133c0f7 feat(core): allowFailure at the task level for flowable tasks 2023-11-23 13:06:36 +01:00
Loïc Mathieu
a07675af67 feat(core): allowFailure at the task level for executable tasks 2023-11-23 13:06:36 +01:00
Loïc Mathieu
a4ed4595db feat(core): allowFailure at the task level for runnable tasks 2023-11-23 13:06:36 +01:00
Loïc Mathieu
250a75d196 Revert "fix(webserver): mark the execution as killing to avoid ghost execution"
This reverts commit 2cff2c9cf9.
2023-11-23 13:06:25 +01:00
Loïc Mathieu
2cff2c9cf9 fix(webserver): mark the execution as killing to avoid ghost execution 2023-11-23 12:17:57 +01:00
Loïc Mathieu
065f0271c2 feat(cli): SubmitQueuedCommand to submit queued executions 2023-11-22 14:23:31 +01:00
Loïc Mathieu
dc15678c36 feat(jdbc): skip worker task running resubmission for skipped execution
Fixes #405
2023-11-22 10:17:48 +01:00
YannC
2872ff0668 fix(): display actions buttons on topology view (#2575)
* fix(): display actions buttons on topology view

* fix(): better button position
2023-11-21 19:37:23 +01:00
YannC
9d3470dc3c fix(): apply class correctly (#2578)
close #2576
2023-11-21 18:45:52 +01:00
brian.mulier
c376b12928 fix(core): input streams are now properly closed to prevent exhausting connections on remote storages
closes kestra-io/storage-s3#33
2023-11-21 17:51:28 +01:00
brian.mulier
070f10979e fix(ui): every unwanted things are now hidden in VSCode editor
closes #2336
closes #2338
closes #2339
2023-11-21 13:31:31 +01:00
YannC
bb97c46a65 fix(): display file preview (#2569) 2023-11-21 10:23:54 +01:00
Loïc Mathieu
bd756c53eb fix(core): increase ForEachItem tests flow running wait duration 2023-11-20 14:22:01 +01:00
YannC
c5c683aeae fix(ui): Add form for anyOf type (#1650)
* fix(ui): Add form for anyOf type

close #1383

* fix(): review changes
2023-11-20 10:48:05 +01:00
Loïc Mathieu
fdd1579926 fix(core): incorrect usage of validation annotations 2023-11-17 16:48:11 +01:00
Loïc Mathieu
0b42eeda89 feat(core): validation factory is not longuer supported in Micronaut 4 2023-11-17 16:48:11 +01:00
Ludovic DEHON
9813a9c65b feat(docker): introduce ruby script plugin 2023-11-16 22:17:35 +01:00
Ludovic DEHON
6376d1da64 chore(version): update snapshot version 'v0.14.0-SNAPSHOT'. 2023-11-16 22:14:10 +01:00
YannC
49be20fe12 fix(): subflow logs not working (#2552) 2023-11-16 16:23:06 +01:00
Ludovic DEHON
16d2d106f2 chore(version): update snapshot version 'v0.14.0'. 2023-11-16 09:58:09 +01:00
Ludovic DEHON
ece64c921e chore(version): update to version 'v0.13.0'. 2023-11-16 09:57:53 +01:00
Ludovic DEHON
43e5194a92 fix(ui): don't download pylance since too large 2023-11-15 21:22:08 +01:00
Loïc Mathieu
99a92015f9 feat(core): mandate all ids to start with a letter or a number (#2547) 2023-11-15 19:10:55 +01:00
Loïc Mathieu
d5c026daab feat(core): add error logs when ForEachItem fail to create executions (#2543)
close #2517

Co-authored-by: YannC <37600690+Skraye@users.noreply.github.com>
2023-11-15 18:58:02 +01:00
Loïc Mathieu
810dfeecf5 fix(jdbc, runner-memory): paused execution didn't honor concurrency limit for FAILED and CANCELLED behavior (#2542)
Fixes #2534
2023-11-15 17:33:10 +01:00
YannC
b8eadb140e feat(): keep last selected namespace in files editor (#2545) 2023-11-15 17:13:41 +01:00
YannC
78461086aa feat(): only list namespace from endpoint in files editor (#2546) 2023-11-15 17:09:14 +01:00
brian.mulier
b30a2f82f9 fix(ui): no more conn aborted error on fast-switching between tabs in flow detail
closes #2295
2023-11-15 14:48:07 +01:00
Edward Li
ea604b5aff feat(core): support integer values in EachParallel (#2539)
* Support integer values in EachParallel

* add test Integer

* cleanup

---------

Co-authored-by: Edward-Li <2023edwardll@gmail.com>
Co-authored-by: YannC <37600690+Skraye@users.noreply.github.com>
2023-11-15 14:25:46 +01:00
brian-mulier-p
e0d5494ec4 fix(ui): inverted back arrow direction on log expand (#2540) 2023-11-15 10:27:16 +01:00
brian.mulier
1cf9901b2f fix(tests): no more now() usage in tests 2023-11-15 09:53:51 +01:00
brian-mulier-p
fb4307f645 fix(core): read file wasn't working with namespaces containing '.' (#2535) 2023-11-15 00:07:02 +01:00
Loïc Mathieu
154afe3466 fix(core): use _files as namespace file prefix so it cannot mix up with flows (#2527)
Fixes #2526
2023-11-14 18:10:59 +01:00
YannC
6826a751f6 fix(core): set taskrun value in workingDirectory children task (#2528)
* fix(core): set taskrun value in workingDirectory children task

* fix(): review change
2023-11-14 16:34:06 +01:00
YannC
5b6ce9bbf3 feat(): ui input for triggerExecutionId (#2505) 2023-11-14 16:19:48 +01:00
YannC
5415c7d40b feat(ui): move finally so it does execute even when list is empty, avoid empty page (#2529) 2023-11-14 16:17:35 +01:00
YannC
f70ded79bc fix(ui): UI adjustement on foreach progress (#2508)
* fix(ui): dont show progress bar in logs tab for foreach item

* feat(ui): striped progress bar for foreach item

* fix(ui): review changes
2023-11-14 16:12:04 +01:00
brian.mulier
8c36ae2338 fix(build): now downloading & extracting extensions at build-time instead 2023-11-14 16:09:23 +01:00
brian.mulier
9fb9764a9a fix(vscode-editor): python autocompletion is now working
closes #2514
2023-11-14 16:09:23 +01:00
Anna Geller
d1d2150b2e doc: fix the enabled explanation 2023-11-14 13:06:31 +01:00
Loïc Mathieu
0b656e836c fix(core): add taskrun attemp when ending the ForEachItem task run 2023-11-14 11:50:37 +01:00
Anna Geller
421342af27 doc: clarify ForEachItem properties and provide a full example (#2520) 2023-11-14 10:59:33 +01:00
Ludovic DEHON
2d2be57dcc feat(core): introduce input & output files interface 2023-11-14 09:28:07 +01:00
Ludovic DEHON
b05ec96a7e feat(core): improve performance on runContext caching some fixed variable (#2502) 2023-11-13 22:24:40 +01:00
brian-mulier-p
b39d93f0b9 fix(commands): from & to params for ns files update command (#2497)
closes #2480
2023-11-13 19:22:21 +01:00
YannC
45215a3e1f fix(jdbc): subflow log id instead of whole execution object (#2518) 2023-11-13 17:17:52 +01:00
YannC
334ef9931e feat(ui): reduce default displayed columns in execution list (#2506) 2023-11-13 17:00:45 +01:00
brian.mulier
d35d2b75d0 fix(core): Namespace files are now stored under my/namespace/files pattern instead of my.namespace/files 2023-11-13 14:34:42 +01:00
Ludovic DEHON
600e3f0044 fix(core): replace parentId filter to triggerExecutionId 2023-11-13 09:36:45 +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
brian.mulier
f7faac86da fix(webserver): forbidden paths check on namespace files endpoints (_flows only for now) 2023-11-10 14:01:54 +01:00
brian.mulier
7da25a9df4 fix(ui): expand ForEachItem tasks in topology
closes #2482
2023-11-10 13:02:44 +01:00
YannC
91664a9095 fix(): cut log useless informations for subflow (#2498) 2023-11-10 12:39:12 +01:00
brian.mulier
85cc415812 fix(ui): no longer throws a 404 upon creation of a flow with another extension than .yml in Namespace Files editor
closes #2492
2023-11-10 09:36:46 +01:00
brian.mulier
f5eba8290b fix(commands): now properly using apiUri method to embed tenant in the called URI 2023-11-09 16:26:56 +01:00
Ludovic DEHON
233b98f159 feat(core): add a filter on parent execution id 2023-11-09 15:56:49 +01:00
Edward Li
f4fe15c0e9 fix(ui): adjust toast message when changing settings (#2468)
closes #2465
2023-11-09 09:14:53 +01:00
brian.mulier
d7ca756e3f feat(webserver): getting-started.md served as read-only in editor + auto create namespace root directory if not exist
closes kestra-io/kestra-ee#518
2023-11-09 08:40:20 +01:00
Antoine Balliet
77b9a2298a feat(ui): add last execution date & status per flow in flows view (#2384)
Co-authored-by: YannC <ycoornaert@kestra.io>
2023-11-08 22:29:00 +01:00
yuri
2cbdac3d8e feat(): select character encoding for file preview (#2302) 2023-11-08 21:42:14 +01:00
brian.mulier
d2ed704c09 fix(tests): StorageTestSuite now includes a test to verify storage accepts listing a null URI for root directory 2023-11-08 18:18:20 +01:00
brian.mulier
76d8619d06 fix(localstorage): nullable uris + added recursive directory creation in test suite 2023-11-08 18:03:47 +01:00
Loïc Mathieu
1014bb833d fix(core): read function must use get the tenantId from the flow variables (#2474)
close kestra-io/kestra-ee#527
2023-11-08 17:11:57 +01:00
Loïc Mathieu
16f640b4ae feat(cli): allow running Flyway migration with a command (#2434)
close #2291
2023-11-08 17:10:50 +01:00
brian.mulier
3f1cd4ab46 fix(ui): form items can have "small" class to prevent having too much empty space ahead 2023-11-08 14:02:32 +01:00
Ludovic DEHON
3874d1d7b8 feat(core): add NamespaceFiles props on WorkingDirectory (#2467)
close #2405

Co-authored-by: Anna Geller <anna.m.geller@gmail.com>
2023-11-08 12:41:53 +01:00
YannC
c918444990 fix(ui): step 12 is correctly displayed (#2472) 2023-11-08 12:04:25 +01:00
brian-mulier-p
657d85069e fix(core): namespace files are now stored with a leading '/' (#2470)
closes #2469
2023-11-08 09:33:39 +01:00
Loïc Mathieu
d4557deec7 feat(jdbc): add indices on tenant_id 2023-11-07 11:50:44 +01:00
Loïc Mathieu
6cd2bc2a76 fix(jdbc): take PAUSED state as concurrency limit (#2462)
close #2455
2023-11-07 10:43:20 +01:00
Ludovic DEHON
052e06bb4d feat(core): add a queued status on concurrency limit
close kestra-io/kestra#2446
2023-11-07 09:59:23 +01:00
Loïc Mathieu
916a3b30b5 feat(core): allow to configure min log level for tasks and triggers (#2416)
close #2245
2023-11-06 22:01:31 +01:00
YannC
ad595bfe2a fix(ui): clear console.log (#2459) 2023-11-06 21:58:44 +01:00
YannC
45f5a3c0f3 feat(ui): Select first namespace by default in editor, if none exist and tutorial not done redirect (#2450) 2023-11-06 20:07:18 +01:00
Loïc Mathieu
c74540b3ae feat(core): flow concurrency limit (#2371)
close kestra-io/kestra#1400
2023-11-06 16:56:30 +01:00
Edward Li
8d6fd66dfd feat(ui): add a CANCELED state (#2441)
close #2439
2023-11-06 16:36:06 +01:00
yuri
81dccae841 fix(ui): filter correctly when clicking on a label (#2438) 2023-11-06 15:09:38 +01:00
brian.mulier
5e49be50bf feat(ui): setting for execute button and whether or not it should execute in a new tab
closes #2448
2023-11-06 14:49:40 +01:00
Loïc Mathieu
fc48229363 fix(core): read function - slugify namespace and flowId
Fixes #2442
2023-11-06 14:08:21 +01:00
Loïc Mathieu
47bd63dd56 fix(core): allow to read a file from the parent execution 2023-11-06 14:08:21 +01:00
YannC
3f34d58509 fix(ui): change download logs wording (#2443) 2023-11-06 09:55:30 +01:00
Anna Geller
620f0b1e9c feat(docker): add dataform plugin 2023-11-05 22:22:52 +01:00
Edward Li
d4cc9d4766 fix(ui):dependencies count subtract one (#2435)
close #2422
2023-11-05 22:10:34 +01:00
Ludovic DEHON
3f39869bf2 fix(core): hide tenant from webserver response 2023-11-03 22:04:22 +01:00
Ludovic DEHON
0bf27951cf feat(core): add batch properties to ForEachItem
and refactor Split to use a common service
2023-11-03 17:40:31 +01:00
Ludovic DEHON
50181e47cd feat(core): remove subflow wrapping on ForEachItem 2023-11-03 16:03:59 +01:00
Ludovic DEHON
f4c57a3b2d fix(ui): tooltip heading on the dark theme 2023-11-03 15:17:29 +01:00
Ludovic DEHON
5fc4eba7fa fix(ui): advanced configurations
close #2430
2023-11-03 15:17:29 +01:00
YannC
be590d120d feat(ui): allow execution in new tab (#2432) 2023-11-03 11:51:31 +01:00
Loïc Mathieu
54fed2128f feat(core): allow the Pebble read() function to read from the internal storage
Fixes #2426
2023-11-03 11:30:49 +01:00
Loïc Mathieu
a570cc675b feat(core): ForEachItem task (#2359)
close kestra-io/kestra#2131
2023-11-03 09:33:04 +01:00
YannC
382a5df797 fix(ui): revert execute open in new tab (#2428) 2023-11-03 09:31:41 +01:00
Ludovic DEHON
d720e2bec0 fix(ui): display charts on flow > executions 2023-11-02 23:58:26 +01:00
Ludovic DEHON
75252efddd chore(ui): update vscode extension to 0.16.0 2023-11-02 22:56:35 +01:00
Ludovic DEHON
36d3f09235 fix(ui): tooltip heading on light theme color 2023-11-02 22:42:47 +01:00
Loïc Mathieu
119db01b56 feat(core): multi-tenancy in the multipleconditions storage (#2427) 2023-11-02 22:06:33 +01:00
Ludovic DEHON
2c5f4ba95b fix(controller): move namespace file to a restful path 2023-11-02 20:41:10 +01:00
Martin
e563192115 feat(cli): add new command to upload namespace files (#2406) 2023-11-02 13:36: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
Ludovic DEHON
e3fb8b01a9 chore(deps): bump com.adarshr.test-logger from 3.2.0 to 4.0.0 2023-11-01 23:48:06 +01:00
Ludovic DEHON
ddb395321f chore(cicd): reorder plugin list 2023-11-01 23:39:15 +01:00
dependabot[bot]
c1884736f9 chore(deps): bump actions/setup-node from 3 to 4
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-01 22:46:53 +01:00
Loïc Mathieu
95a2a51c13 feat(core): improve performance for flowable tasks methods (#2283)
Flowable tasks methods `resolveSequentialNext` and `resolveState` call multiple times `Execution.findTaskRunByTasks` which is a slow operation.
This refactoring avoid some of these duplication and grealy improve perfrormance when an execution has a lot of task runs.
2023-11-01 22:43:57 +01:00
Loïc Mathieu
ba7f506115 feat(cicd)i: add the Kestra Python library to full docker image (#2415)
close #2357
2023-11-01 22:34:56 +01:00
YannC
51a54dfab0 fix(ui): trigger is show as invalid on task edit (#2417)
close #2312
2023-11-01 22:29:10 +01:00
Anna Geller
49e51075b9 feat(docker): add modal plugin 2023-11-01 19:11:30 +01:00
Loïc Mathieu
4d65909a7d fix(webserver): send a validation error in case flow validation is not possible (#2419) 2023-11-01 13:25:00 +01:00
YannC
ed5ee38f65 feat(ui): make settings a components to align EE changes (#2269)
* feat(ui): make settings a components to align EE changes

* fix(ui): review changes
2023-10-31 17:36:01 +01:00
Anna Geller
914db24b25 feat(docker): add SQLite and SQLMesh plugins 2023-10-31 16:15:35 +01:00
YannC
8998a7d779 fix(ui): remove old console.log() (#2418) 2023-10-31 15:35:28 +01:00
YannC
b1e0fad6b4 feat(ui): QOL improvement for files editor (#2414)
* feat(ui): get open tab informations & allow flow execution from files editor

* feat(ui): open new execution in a new tab

* feat(ui): use default namespace for starting namespace in editor

* feat(ui): allow namespace creation in files editor

* feat(ui): Warn unsaved change in files editor

* feat(ui): make editor start on a readme file

* fix(init.js): download extension from store
2023-10-31 15:15:37 +01:00
Loïc Mathieu
690dcbd467 fix(ui): homepage dashboard incorrect results
Array.shift() return the last item and modify the array so the "last 30 days" widget didn,'t contains today and yesterday.
Usingt Array.at() didn't modify the array, fixing the issue of incorrect results.
2023-10-31 10:23:34 +01:00
Loïc Mathieu
595e66663e feat(cli): add optional tenantId for flow and template commands (#2412)
Fixes https://github.com/kestra-io/kestra-ee/issues/512
2023-10-30 18:26:42 +01:00
Ludovic DEHON
24725340cf fix(ui): missing translations 2023-10-30 16:56:41 +01:00
Ludovic DEHON
4f18b146a9 fix(ui): dialog header layout 2023-10-29 00:30:41 +02:00
Ludovic DEHON
dc3604084f fix(ui): unlock trigger button align to right 2023-10-29 00:30:30 +02:00
Ludovic DEHON
eaa19e132f fix(ui): blueprint cover
relate to #2347
2023-10-28 23:25:31 +02:00
Ludovic DEHON
a2f2759cc3 fix(ui): invalid translation 2023-10-27 22:28:26 +02:00
Ludovic DEHON
6b873d1529 fix(ui): change eye icon and id clickable
close kestra-io/kestra#2262
2023-10-27 22:25:01 +02:00
Ludovic DEHON
78e593cb2b feat(ui): change blueprint bg
close #2347
2023-10-27 21:59:19 +02:00
Ludovic DEHON
45cb9902cb feat(ui): display subflow as link on output
close #2370
2023-10-27 21:59:19 +02:00
Anna Geller
88cde38a14 chore: add Ansible plugin 2023-10-27 21:22:21 +02:00
Ludovic DEHON
7388aba5d5 fix(ui): responsive header
close #2365
close #2390
2023-10-27 21:06:28 +02:00
Ludovic DEHON
49a6906838 chore(test): fix falling test 2023-10-27 09:27:28 +02:00
Ludovic DEHON
76c376241e feat(ui): explain namespace on guided tour 2023-10-26 23:06:03 +02:00
yuri
54dbd24368 fix(ui): ctrl+e not launching an execution (#2362)
close #2348
2023-10-26 21:34:29 +02:00
YannC
f8d4ae9fd1 fix(ui): display filter in flow executions list 2023-10-26 21:31:56 +02:00
yuri1969
093db29c9d Make the main Monaco editor focused by default 2023-10-26 21:29:52 +02:00
Ludovic DEHON
0865135527 feat(cli): remove useless command 2023-10-26 20:51:21 +02:00
Ludovic DEHON
44ece2368a fix(tests): fix compilation error on test 2023-10-26 16:02:28 +02:00
Anna Geller
00e21e078b chore: add Dremio and Arrow Flight plugins 2023-10-26 15:18:41 +02:00
Anna Geller
24cd8506f1 chore: add terraform (#2398) 2023-10-26 14:49:41 +02:00
YannC
46cf1089db feat(tenant): add new key for localStorage (#2377) 2023-10-26 09:31:15 +02: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
Anna Geller
04aaa69298 fix(docs): Fix documentation of some core tasks 2023-10-26 08:42:16 +02:00
Ludovic DEHON
b826a51d3d fix(ui): handling vscode on jar files 2023-10-25 19:23:07 +02:00
Niravdas
f4c5d1a786 fix(ui): removed padding in element menu (#2354)
Removed vertical padding from Dropdowns
2023-10-25 14:54:06 +02:00
Loïc Mathieu
0203067316 fix: don't blinding get task run 5 in the WorkingDirectoryTest
It is flaky, instead get the taskrun for the task ID that we want.
2023-10-25 10:38:06 +02:00
Loïc Mathieu
3d07e5c689 fix(core): the tenantId is passed via method argument not inside the Flow class 2023-10-25 09:20:35 +02:00
brian-mulier-p
c6c4c21598 feat(core): vscode embed (#2273) 2023-10-23 23:49:07 +02:00
brian-mulier-p
cc11b798ee feat(ui) : globalSearch now use el-autocomplete (#2353)
* feat(ui): global search is now using autocomplete component

* fix(ui): cleanup

---------

Co-authored-by: YannC <ycoornaert@kestra.io>
2023-10-23 11:02:16 +02:00
Loïc Mathieu
5462ae6da0 fix(core): take into account default properties from abstract parent classes in the JsonSchemaGenerator 2023-10-23 10:39:41 +02:00
YannC
5f7adbb064 fix(): add taskrun values inside workerDirectory task (#2293)
* fix(): add taskrun values inside workerDirectory task

* fix(): change review

* test(core): add test with taskrun usage in flowable for workingDirectory
2023-10-23 09:44:32 +02:00
Loïc Mathieu
8fa1444f9e feat(core): validate that a worker group cannot be set on WorkingDirectory subtasks (#2333)
Fixes #2326
2023-10-20 17:49:51 +02:00
Martin
bfdc7d394a chore(core,storage): add a test suite for storage (#2352)
Storages have some behavior discrepencies. This PR add a test suite that
will attemp to resolve it by having the same test base on all storagei
type.
2023-10-20 15:48:39 +02:00
brian.mulier
93c63dbb74 fix(ui): place error toast on the top right 2023-10-20 08:05:06 +02:00
Ludovic DEHON
92de394472 fix(ui): place toast on the top right 2023-10-19 17:48:25 +02:00
Ludovic DEHON
837ba18056 fix(ui): change default home to dashboard 2023-10-19 17:48:25 +02:00
matvey-ososkov
76c1189dba fix(docs): docker-compose change to docker compose in readme (#2351)
command "docker-compose up" is for v1 compose, not working for now compose v2
(error "unsupported config options for service 'kestra')
"docker compose up" still works without errors
2023-10-19 17:17:56 +02:00
brian.mulier
523384a78b fix(ui): removed 'edit flow' button when already on tab and expand executions' page buttons
closes #2330
2023-10-19 09:53:05 +02:00
YannC
4eb1d4855b feat(ui): allow users to display specific columns in executions list (#2284)
* feat(ui): allow users to display specific columns in executions list

* fix() review changes
  * hide flow/namespace on flow executions list
  * translate select label
  * hide attempt number when its 1
2023-10-19 09:00:04 +02:00
Ludovic DEHON
0c751ecf46 fix(ui): fix some api url link 2023-10-18 23:07:52 +02:00
brian.mulier
540337cf70 fix(core): pebble read namespace files function 2023-10-18 16:40:28 +02:00
Anna Geller
b7c7093b46 Update FlowCondition.java 2023-10-18 11:17:47 +02:00
Anna Geller
1d25ae2450 Update FlowCondition.java 2023-10-18 10:22:18 +02:00
Loïc Mathieu
dd00efd447 fet(core): add validation to the Webhook trigger (#2320)
Validate that a Webhook trigger cannot have a condition of type MultipleCondition as this is not supported.
2023-10-18 08:00:56 +02:00
Loïc Mathieu
dabff1fea3 feat(core): shortcircuit variable rendering when it's not a template (#2282)
This avoid a lot of allocation so improve performance when there is a lot of variable rendering that didn't contain a template.
2023-10-18 07:59:59 +02:00
Loïc Mathieu
44f9e56ada feat(core): don't filter flow with exception on th FlowListeners (#2090)
close #2030
2023-10-18 07:56:07 +02:00
brian-mulier-p
69a23fc1ca feat/new-header (#2286)
closes #2244
closes #706
2023-10-17 19:33:36 +02:00
Martin
af42856a11 feat(core,webserver): multi file editor (#2234)
Add endpoint and method to storage interface to allow the new file
editor to create/move/delete and edit files and directories in a new
storage prefix.
2023-10-17 15:16:06 +02:00
Anna Geller
4a0db867ef chore(): add a new PR template (#2310)
* chore(): add a new PR template

* Update pull_request_template.md

* doc: PR template
2023-10-17 12:12:45 +02:00
Anna Geller
5a61aa8615 docs: Add the "Stay up to date" section (#2321) 2023-10-17 12:02:01 +02:00
Loïc Mathieu
26b2ad3d1b fix(webserver): remove multipleconditionstorage for webhook (#2318) 2023-10-17 10:12:36 +02:00
Loïc Mathieu
fb77cc2188 fix(jdbc): JdbcExecutor failed to skip execution asked (#2309) 2023-10-16 23:05:15 +02:00
Martin
2fb751d48d feat(webserver): add a new endpoint to get flow by namespace (#2271)
new endpoint in flowcontroller to retrieve all flow for a namespace.
2023-10-16 15:32:31 +02:00
Loïc Mathieu
7a2f079a5b fix(webserver): share webhook code for EE 2023-10-16 12:41:22 +02:00
Loïc Mathieu
b7e9659791 feat(core): add a tenant tag in the runcontext metrics (#2305)
Also avoid double put of the worker group tag from the Worker
2023-10-16 12:34:27 +02:00
Loïc Mathieu
78641ad259 feat(core,webserver): support conditions on webhooks (#2272)
* feat(core,webserver): support conditions on webhooks

* fix: Apply suggestions from code review

Co-authored-by: Anna Geller <anna.m.geller@gmail.com>

---------

Co-authored-by: Anna Geller <anna.m.geller@gmail.com>
2023-10-16 10:48:18 +02:00
Ludovic DEHON
8c698b4abd feat(ui): keep menu highlight 2023-10-14 00:25:45 +02:00
Loïc Mathieu
b5ce7e25ce feat(core): add tenants to metrics (#2301) 2023-10-13 22:35:06 +02:00
Ludovic DEHON
58fc39da46 feat(core): MapUtils::merge should allow null values 2023-10-12 21:13:07 +02:00
YannC
4a1a8a2515 chore(ui): update ui-libs version (#2292) 2023-10-12 15:44:48 +02:00
YannC
fa7de6bed8 fix(ui): correct usage of route instead of path in leftmenu (#2290) 2023-10-12 15:28:28 +02:00
Loïc Mathieu
0dc270d6c2 feat(core): multi tenant (#2217) 2023-10-12 14:40:38 +02:00
Ludovic DEHON
f725c2536c feat(core): use a simple contributing version 2023-10-11 21:45:07 +02:00
YannC
18f3a80546 fix(jdbc): change postgres queue pkey migration version (#2279) 2023-10-11 14:41:15 +02:00
Loïc Mathieu
d95f1003b9 fix(jdbc-postgres): drop the queues_pk and use an hash index instead (#2277)
This avoids the queues_pkey index to be used by the poll query which is suboptimal.
2023-10-11 14:23:00 +02:00
YannC
da2fc3c546 fix(core): Dag task with error handler now terminate correctly (#2276) 2023-10-11 14:09:58 +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
Martin
2508f2efe3 feat(cloudquery): add new cloudquery plugin (#2265) 2023-10-10 09:50:17 +02:00
Ludovic DEHON
e01f798b76 chore(docs): autologin on demo 2023-10-10 00:09:36 +02:00
Ludovic DEHON
5e42ecd66a feat(ui): add a configuration and a select to limit rows for preview
close kestra-io/kestra#2222
2023-10-09 22:42:15 +02:00
Loïc Mathieu
13bfbd8742 feat(core): lower the size of the Micronaut executor that handle @Scheduled (#2002)
We use it for the JDBC queue purge and the usage.
core-pool-size is the number of threads to keep in the pool, even if they are idle. Setting it to one seems enough as we schedule tasks each hours, by default the executor uses 2*nbProc.
2023-10-09 21:08:44 +02:00
YannC
f16ff66a3b test(core): fileSerde fix reader (#2259) 2023-10-09 17:39:40 +02:00
Ludovic DEHON
ca4e19f7a6 chore(deps): fix monaco-editor version 2023-10-09 16:53:44 +02:00
Loïc Mathieu
5ab701c326 feat(core): set to killed before set it to running (#2001)
This avoid CREATED -> RUNNING -> KILLING when we kow we will kill the task.
2023-10-09 16:22:19 +02:00
Anna Geller
457734b500 docs(core): Pause task enhancements (#2257) 2023-10-09 16:21:42 +02:00
Loïc Mathieu
4544412629 fix(jdbc): merge the locked execution with the received execution to handle parallel tasks execution (#2209)
Fixes #2179
2023-10-09 15:57:08 +02:00
Loïc Mathieu
9080a22a98 fix(core): improve date & time condition documentation (#2235) 2023-10-09 15:55:39 +02:00
Ludovic DEHON
6df095c7de chore(deps): update all js deps (#2256) 2023-10-09 15:54:07 +02:00
Ludovic DEHON
9fb78b04a3 chore(deps): update all java deps 2023-10-09 15:39:27 +02:00
Loïc Mathieu
ebce1260dc fix(core): avoid running disabled tasks inside a WorkingDirectory task (#2213)
close #2128
2023-10-09 15:18:41 +02:00
Marek Brenčič
45ad053ccd feat(ui): add 5 minutes to datepicker shortcuts (#2253)
Closes #2210

Co-authored-by: Marek "foxie" Brenčič <marek@brencic.sk>
2023-10-09 15:12:22 +02:00
yuri
f7afdf3776 fix(ui): improve the execution prefill (#2214)
* Handles cases with no execution labels correctly.
* The prefill button can be used for prefilling the labels even w/o inputs.
2023-10-09 15:09:07 +02:00
yuri
65a45b48b8 fix(core): display a warning when file preview is trucated (#2247)
Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2023-10-09 15:08:16 +02:00
Ludovic DEHON
744a7650b0 chore(deps): bump com.github.ben-manes.versions from 0.48.0 to 0.49.0 2023-10-09 15:04:54 +02:00
YannC
d2360eb8d5 fix(ui): remove default end date (#2243) 2023-10-06 13:18:00 +02:00
Anna Geller
175510fd49 chore(docs): README adjustments and fixing a wrong timeout in the README example 2023-10-05 23:08:28 +02:00
YannC
9f93c712a2 fix(webserver): remove useless @Valid annotation (#2231) 2023-10-04 22:19:30 +02:00
YannC
6268f3482e feat(ui): adapt ui-libs changes (#2228) 2023-10-03 17:46:06 +02:00
brian-mulier-p
149e297c78 feat(docker): introduce weaviate plugin 2023-10-03 10:33:08 +02:00
Ludovic DEHON
d90945d054 fix(core): missing port for healthcheck 2023-09-29 22:09:15 +02:00
Ludovic DEHON
df65498a6f fix(cicd): don't failed external contributors pr for sonar 2023-09-29 09:20:06 +02:00
Ludovic DEHON
f4e746d140 fix(cicd): try to restart container to avoid flaky test 2023-09-28 21:06:43 +02:00
Ludovic DEHON
4fb7805657 chore(version): update snapshot version 'v0.13.0-SNAPSHOT'. 2023-09-28 19:37:00 +02:00
Ludovic DEHON
592ec52a2c chore(version): update to version 'v0.12.0'. 2023-09-28 16:20:03 +02:00
Ludovic DEHON
4f3d4e70e8 feat(ui): update ui-libs to latest 2023-09-28 14:50:38 +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
brian.mulier
44a8da8a41 fix(ui): recomputing fetch interval before reloading to handle base interval case and have a live data reload
closes #2207
2023-09-28 11:51:32 +02:00
brian.mulier
3dcd480218 fix(ui): properly calculate unused paths when within a subflow
closes #2206
2023-09-28 10:17:39 +02:00
brian.mulier
6537862f80 fix(ui): prevent null pointer on Execution Topology when opening subflows
closes #2206
2023-09-28 10:07:42 +02:00
brian.mulier
df0a985225 fix(ui): added margin between task validation and save button
closes #2205
2023-09-28 09:59:37 +02:00
YannC
e16fb4e750 fix(ui): Avoid number to be hidden in dashboard (#2185)
closes #1563
2023-09-28 09:03:06 +02:00
Loïc Mathieu
ebd25c601e test(core): flaky tests (#2204) 2023-09-27 20:44:25 +02:00
brian.mulier
8811cdcf79 chore(ui): bump ui-libs to 0.0.26 2023-09-27 18:47:06 +02:00
brian.mulier
8414b77f65 fix(ui): conflict on apiUrl variable in ExecutionRoot for API link
closes #2200
2023-09-27 17:28:27 +02:00
Ludovic DEHON
089bf6007c feat(docker): introduce docker plugin 2023-09-27 17:15:55 +02:00
brian.mulier
209b885671 fix(ui): cluster no longer overlays over nodes in topology
closes #2202
2023-09-27 17:13:54 +02:00
Ludovic DEHON
f0ab54408c fix(core): revert new SECRET input type"
This reverts commit d817b5f0b9.
2023-09-27 14:52:46 +02:00
brian-mulier-p
5ca6f45e8e fix(cli): hack for dependency injection that failed on micronaut (#2196)
Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2023-09-27 13:13:36 +02:00
Ludovic DEHON
28e785c8d9 fix(cli): allow to start without configuration for the remote cli 2023-09-27 11:34:15 +02:00
Ludovic DEHON
7cad40f427 test(core): fix flaky test 2023-09-27 11:19:37 +02:00
brian.mulier
17359d2b1c fix(tests): add http config to tests 2023-09-27 10:38:19 +02:00
YannC
6b3cd88fa2 fix(core): allow typed inputs to support bool and undefined (#2184) (#2186)
close kestra-io/kestra#2169

Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2023-09-26 17:03:53 +02:00
brian.mulier
9b505aa611 feat(ui): reduced opacity on unused paths
closes #241
2023-09-26 17:02:52 +02:00
Ludovic DEHON
08cb9e4835 fix(ui): make log metadata more visible 2023-09-26 16:36:20 +02:00
YannC
c500667e89 fix(ui): force a date if none are set (#2192)
close #2112
2023-09-26 16:01:14 +02:00
brian.mulier
e64f716a86 fix(ui): no longer prefilling empty inputs with "null" (keep them undefined) + prefill labels
closes #2190
closes #2191
2023-09-26 16:00:59 +02:00
brian.mulier
f9f95feebc fix(ui): display logs in gantt even on collapse all settings 2023-09-26 14:29:07 +02:00
Ludovic DEHON
40173a2ddb fix(ui): lodash must be optimized 2023-09-26 14:19:55 +02:00
Ludovic DEHON
840a2e6f47 fix(core): allow typed inputs to support bool (#2184)
close kestra-io/kestra#2169
2023-09-26 12:47:35 +02:00
Ludovic DEHON
3ddf74d608 feat(ui): update ui-libs to latest 2023-09-26 12:46:04 +02:00
Ludovic DEHON
5f03a7a377 fix(cli): raise default http client timeout 2023-09-26 12:31:59 +02:00
Ludovic DEHON
49f6381ce0 feat(ui): reorder log list header and make it responsive 2023-09-26 10:49:39 +02:00
Ludovic DEHON
3f382502b4 fix(ui): display each value on the gantt
close #2134
2023-09-26 10:46:56 +02:00
Ludovic DEHON
46d6b36dfe fix(ui): disabled flowable attempt select on flowable 2023-09-26 10:46:56 +02:00
yuri
b0459d8ea8 feat(ui): propagate the environment name to the page title (#2051) 2023-09-26 10:40:15 +02:00
YannC
6a38e7b46b fix(ui): readonly deleted flow (#2152)
close #2012
close #2147
2023-09-26 09:50:17 +02:00
Loïc Mathieu
7ed2d3b1c4 chore(core): improve worker logs (#2183) 2023-09-26 09:44:28 +02:00
Loïc Mathieu
94937f14ef fix(core): missing subflow can lead to infinite loop (#2178) 2023-09-25 22:55:42 +02:00
brian-mulier-p
09f787e79b fix(ui): more contrast in logs display (#2180)
close #2167
close #2170
2023-09-25 22:21:30 +02:00
Ludovic DEHON
dd98af3ddf fix(ui): display pretty json on preview for nested object
close #2166
2023-09-25 21:14:17 +02:00
Ludovic DEHON
c79b296ef7 fix(build): retry on node download failed
with that error `ConnectionClosedException: Premature end of Content-Length delimited message body`
2023-09-25 20:51:54 +02:00
Loïc Mathieu
a0ef8e4c50 fix(core): Concat must allow to specify a file extension 2023-09-25 14:23:08 +02:00
Loïc Mathieu
7e3bf8e818 fix(core): Split must preserve the file extension 2023-09-25 14:23:08 +02:00
Loïc Mathieu
11270f722e feat(core): deprecate creating temp files without extension 2023-09-25 14:23:08 +02:00
Loïc Mathieu
e5ea2d0fd1 fix(cli): add jansi lib for coloured logs support on Windows (#2176)
close #1958
2023-09-25 13:03:16 +02:00
Loïc Mathieu
06963c2390 fix(webserver): trim the rendered webhook key
As the secret function adds a newline at the end of the rendered value.
2023-09-22 22:46:55 +02:00
yuri
456b18d24c feat(core): allow subflows to inherit parent flow's labels (#2121)
closes #2114
2023-09-22 17:47:22 +02:00
brian.mulier
444a7753a3 fix(ui): display parent task icon if child don't have one
closes #2164
2023-09-22 17:11:23 +02:00
Ludovic DEHON
3d8c291c7b feat(docker): introduce docker plugins 2023-09-22 15:23:14 +02:00
Ludovic DEHON
2a6a06b6c0 chore(deps): update all java deps 2023-09-22 15:06:37 +02:00
brian.mulier
59b85f3855 chore(deps): update ui-libs 2023-09-22 15:04:05 +02:00
YannC
6003dfbbd8 fix(): remove useless redirection (#2127)
close #2123
2023-09-22 09:24:36 +02:00
Loïc Mathieu
62a52f790d feat: add SurrealDB plugin (#2162) 2023-09-21 16:57:35 +02:00
brian.mulier
b57f6da92d feat(ui): subflow logs expand
closes #1701
closes #1869
closes #1815
closes #1702
2023-09-21 16:15:55 +02:00
Loïc Mathieu
d817b5f0b9 feat: new SECRET input type 2023-09-21 15:15:22 +02:00
Loïc Mathieu
6958a21ef4 fix(core): avoid a possible NPE for Flow task validation 2023-09-21 11:24:14 +02:00
brian-mulier-p
c794719861 fix(core): flow task wrong error log on missing flow (#2159)
closes #2158
2023-09-21 11:01:10 +02:00
Anna Geller
0b4660f3eb chore(docs): better docs template (#2139) 2023-09-20 22:02:51 +02:00
Ludovic DEHON
f7bcecb9c8 feat(core): add some variable renderer helper 2023-09-20 21:46:50 +02:00
YannC
a82ea26cfe fix(ui): fix file download URL (#2145) 2023-09-20 10:16:58 +02:00
YannC
92d15f4f12 fix(ui): fix delete flow URL (#2146) 2023-09-20 10:16:37 +02:00
YannC
5e10b9502b fix(ui): fix file preview URL (#2144) 2023-09-20 09:54:36 +02:00
brian.mulier
0a1b7725c8 fix(ui): now displaying an error when having issue to generate graph (for eg. with missing plugin)
closes #1423
2023-09-19 11:24:05 +02:00
Ludovic DEHON
1cd0617754 fix(ui): change live chat to live help 2023-09-19 11:14:33 +02:00
Ludovic DEHON
a8cb1e7417 fix(docker): invalid docker file 2023-09-18 17:07:33 +02:00
Loïc Mathieu
8733cd624c fix(core): don't retry a task if the execution is killed (#2057)
Note that this will make the task not killing but ends with the "previous" state (failed), the execution will then be marked as failed and not killed at the moment, but if #1747 is merged the execution will correctly be marked as KILLED.
Anyway, currently, without this , the exuction is also marked as FAILED but the attempts continue so this PR improve the current process by shortcirciting the attempt for killed execution.
2023-09-18 16:20:44 +02:00
Ludovic DEHON
b9b24e6922 fix(core): proper exception for invalid RunContext uri 2023-09-15 17:08:20 +02:00
Ludovic DEHON
d5f9b8dcf3 chore(deps): revert bump codecov/codecov-action from 3 to 4
This reverts commit 1b65448b4f.
2023-09-15 09:08:14 +02:00
Ludovic DEHON
0febbee4bd fix(docker): reduce docker image size 2023-09-15 09:00:14 +02:00
Loïc Mathieu
e85f6979b1 fix(core): FlowWithPollingTrigger.from should check on PollingTrigger (#2028) 2023-09-15 08:59:35 +02:00
Loïc Mathieu
52d4bf26b8 feat(core): allow to reset the outputs of a taskrun (#2018) 2023-09-15 08:59:05 +02:00
dependabot[bot]
1b65448b4f chore(deps): bump codecov/codecov-action from 3 to 4
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-15 08:57:45 +02:00
Ludovic DEHON
8c7b7bca6a chore(docker): introduce storage-s3 2023-09-15 08:55:47 +02:00
Ludovic DEHON
4237ca6b9f chore(deps): update gha 2023-09-15 08:54:18 +02:00
Ludovic DEHON
22782da2e0 chore(deps): update all js deps 2023-09-15 08:49:31 +02:00
brian-mulier-p
5669018b7d fix(core): flowable failed to display a graph (#2120)
due to jackson
2023-09-15 08:20:44 +02:00
Ludovic DEHON
5fc293e057 feat(core): add urldecode pebble function
close #2117
2023-09-14 23:28:32 +02:00
Ludovic DEHON
db995d419b fix(ui): invalid apiUrl with a trailing slash 2023-09-14 18:10:57 +02:00
brian.mulier
1b729434cd fix(ui): expanded subflows list is shared between Topology tab & EditorView's topology 2023-09-14 18:01:47 +02:00
Anna Geller
4568b098bc Link to best practices docs (#2108) 2023-09-14 17:34:33 +02:00
brian.mulier
6e8c2fc251 fix(core): prevent Jackson from using cluster-level mutating setters 2023-09-14 16:15:31 +02:00
Ludovic DEHON
f6b326caba refactor(ui): use apiUrl everywhere (#2109) 2023-09-14 15:05:52 +02:00
brian-mulier-p
4529282057 feat(ui): display subflow content in topology (#2007)
closes #774
2023-09-14 13:55:52 +02:00
brian.mulier
e861adc448 fix(ui): bulk delete was not filtering
closes #2107
2023-09-14 10:33:56 +02:00
brian.mulier
ad54f84b15 fix(core): generate attempts for subflow tasks
closes #2098
2023-09-13 20:27:50 +02:00
brian.mulier
0328e829e8 fix(core): Return task is no longer failing with empty format
closes #2105
2023-09-13 11:00:27 +02:00
Loïc Mathieu
8c47569ad7 feat(core,jdbc,repository-memory,ui,webserver): allow filtering taskrun on label 2023-09-12 16:15:13 +02:00
Loïc Mathieu
75b055199f feat(ui): add an attempt(s) column to the taskrun page 2023-09-12 16:15:13 +02:00
Loïc Mathieu
5f3045e965 feat(core): don't include the secret service base64 decode exception in the log 2023-09-12 11:14:02 +02:00
Loïc Mathieu
e9517a520f fix(core, webserver): only change the alert block for the UI
Previously, we change the alert block in the DocumentationGenerator so it was changed when generating the markdown used in the documentation site and for the documentation provided by th e PluginController.
Moving this replacement on the PluginController only do this for the UI and not the documentation site that uses NutxJS alert block.
2023-09-11 10:00:28 +02:00
Loïc Mathieu
81ead9586a fix(core, webserver): ION file preview must limit the number of lines 2023-09-11 09:59:42 +02:00
Ludovic DEHON
c880df6b09 feat(core): don't failed on startup for invalid plugin 2023-09-09 00:22:28 +02:00
Heman Sakkthivel M S
a2c81b2071 feat(ui): rename value to iteration value on output tabs (#2070)
close #2066
2023-09-09 00:11:06 +02:00
Loïc Mathieu
b2fcf42fca fix(core): labels as map failed on json endpoint (#2049)
close #2040
close #2037
2023-09-08 23:56:04 +02:00
Loïc Mathieu
89f7827ca9 fix(core): possible NPE on validation
This occurs when the validation is triggered on a non-yet completed flow, for ex when typing or hitting save too early.
2023-09-08 12:09:43 +02:00
brian.mulier
7044a4cf18 fix(core): no longer crashing app on Flow triggers without condition
closes #2060
2023-09-08 11:19:56 +02:00
Ludovic DEHON
92b1c21557 feat(core): load properly secret plugins 2023-09-07 18:34:55 +02:00
Loïc Mathieu
74b83d88fd fix(core): only run the secret test when the needed env var is set 2023-09-07 13:43:49 +02:00
Loïc Mathieu
0d32fb02e4 chore: fix JaCoCo coverage report aggregation 2023-09-06 09:51:48 +02:00
Loïc Mathieu
7a57922641 chore(cicd): aggregate JaCoCo reports (#2038) 2023-09-05 17:58:23 +02:00
dependabot[bot]
e95aa26130 chore(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 17:58:02 +02:00
Loïc Mathieu
b661351bf8 refactor(core): fix some Sonar reported bugs and smells (#2036) 2023-09-05 17:57:40 +02:00
Loïc Mathieu
3c0104abc7 feat(core): make the queue fault tolerant (#1981) 2023-09-05 15:32:10 +02:00
Loïc Mathieu
b08f7010c1 fix(core): support flow labels as map (#2009)
close #2006
2023-09-05 15:23:33 +02:00
Loïc Mathieu
7d354deb6f chore(ci): add Sonar in the main workflow 2023-09-05 14:39:34 +02:00
brian.mulier
29410df031 fix(core): deprecate listeners
closes #1409
2023-09-05 14:09:48 +02:00
brian.mulier
e02a72b0eb fix(tests): no longer starting scheduler in webserver tests
closes #2032
2023-09-05 12:08:09 +02:00
brian-mulier-p
516d5fbace fix(core): trigger ids must be unique for a flow (#2022)
closes #2021
2023-09-05 10:42:32 +02:00
brian.mulier
b5721e3139 fix(tests): greater timeout on FlowTriggerCaseTest.trigger 2023-09-05 10:29:08 +02:00
brian-mulier-p
8fba5eed01 feat(ui + core): deprecated task & properties warnings (#1994)
* feat(ui + core): display deprecation warnings in editor

closes #1713
2023-09-04 16:47:32 +02:00
Loïc Mathieu
102e84ccb2 fix(core): Schedule trigger cannot have an interval (#2008)
close #2005
2023-09-01 23:30:41 +02:00
Ludovic DEHON
c0b6132118 feat(cli): don't fetch dependencies on plugin resolve 2023-09-01 22:14:35 +02:00
Ludovic DEHON
0965126450 feat(cli): support maven repository with basic auth for plugin install command
close #521
2023-09-01 16:15:35 +02:00
Loïc Mathieu
2b61a0a887 chore: delete PersistantTriggerInterface as it is not used 2023-08-31 16:25:46 +02:00
Loïc Mathieu
d35c761827 fix(jdbc,webserver): missing flyway config on tests 2023-08-31 16:25:32 +02:00
Loïc Mathieu
04e5e68430 feat(jdbc-postgres): refactor PostgreSQL migrations 2023-08-31 10:34:41 +02:00
Loïc Mathieu
06dc3db6a4 feat(jdbc-mysql): refactor MySQL migrations 2023-08-31 10:34:41 +02:00
Loïc Mathieu
2ef84474fb feat(jdbc-h2): refactor the H2 migrations 2023-08-31 10:34:41 +02:00
Loïc Mathieu
a09b4e46a7 feat(cli-ee): allow Flyway migrations to be out of order
Also silence the logger for warnings
2023-08-31 10:34:41 +02:00
Ludovic DEHON
f30bef9a66 chore(version): update snapshot version 'v0.12.0-SNAPSHOT'. 2023-08-30 13:50:17 +02:00
Ludovic DEHON
d49f8bef73 chore(version): update to version 'v0.11.0'. 2023-08-30 13:49:50 +02:00
Ludovic DEHON
57f579f84e feat(ui): update to latest ui-libs 2023-08-30 13:00:55 +02:00
Ludovic DEHON
f81c160fe9 fix(ui): move icon to ui-libs 2023-08-30 11:49:22 +02:00
Ludovic DEHON
35ce94776a fix(ui): invalid tooltip date on state chart 2023-08-30 08:52:23 +02:00
Loïc Mathieu
181a40cde9 chore(core): remove unneeded memory runner dependency (#1979) 2023-08-30 08:35:51 +02:00
Ludovic DEHON
ff6409b057 feat(cicd): analyse with sonar cloud 2023-08-29 22:25:22 +02:00
Ludovic DEHON
cd4b0938f3 feat(ui): update to latest ui-libs 2023-08-29 19:14:23 +02:00
ben8t
03fa692ed3 feat(docker): introduce Malloy plugin (#1987) 2023-08-29 15:30:14 +02:00
brian.mulier
aa2632018a fix(ui): no form tab in executions -> topology -> logs
closes #1955
2023-08-29 13:46:56 +02:00
Ludovic DEHON
838cfa7afe fix(ui): environnement setting on ui don't work
close #1952
close #1941
2023-08-29 09:26:57 +02:00
brian.mulier
01eae69457 fix(core): Nullable tags in metrics
closes #1978
2023-08-28 21:54:44 +02:00
brian.mulier
188d67cac9 fix(ui): reorder left menu
closes #1963
2023-08-28 21:11:16 +02:00
YannC
d28b63de0f feat(core): new icons for core (#1977) 2023-08-28 18:11:37 +02:00
YannC
ae283a4e70 feat(): upgrade @kestra-io/ui-libs to 0.0.12 (#1980) 2023-08-28 18:11:37 +02:00
brian-mulier-p
ceebe426d9 feat(core): multiple conditions service (#1950)
closes #1917
2023-08-28 18:11:36 +02:00
Anna Geller
a5fdd0626a feat(ui): even better wording in the guided tour (#1964) 2023-08-28 09:01:53 +02:00
yuri
1cdfdc2953 feat(ui): add a shortcut to execute flow (#1948)
* Ctrl+E works in the context of Monaco Editor.
* The Ctrl+S, Ctrl+E, Enter sequence was achieved.
* Triggering the execution via `onClick()` feels hacky :(

close #1814
2023-08-28 08:56:56 +02:00
Ludovic DEHON
c224abd154 feat(ui): update to latest ui-libs 2023-08-27 22:31:21 +02:00
Loïc Mathieu
5b35379716 fix(ui): display error on ui for invalid flow (#1946)
relate to #1866
2023-08-25 23:46:46 +02:00
Ludovic DEHON
957bab70f7 feat(ui): editor button not transparent
close #1962
2023-08-25 19:02:35 +02:00
Anna Geller
bf6ee188ff feat(ui): enhance the guided onboarding (#1940)
closes #1936
2023-08-25 18:09:33 +02:00
YannC
b6b426f617 feat(ui): introduced new topology as libs (#1877)
close #1721
close #1670
2023-08-25 15:43:42 +02:00
Ludovic DEHON
c90051e05d fix(ui): remove file preview on execution output
close #1945
2023-08-24 19:14:34 +02:00
Ludovic DEHON
3a0360cb42 fix(ui): icons from local instance have priority over the api one
close #1935
2023-08-24 18:45:56 +02:00
Loïc Mathieu
894a312e13 fix(core): prevent invalid flow (#1944)
- generate an exception when an invalid flow is triggered
- fix(core): don't process and Executor with an invalid flow

relate to #1866
2023-08-24 18:24:32 +02:00
Ludovic DEHON
c3ca717973 feat(ui): reduce the slider on the editor
close #1647
2023-08-24 15:47:29 +02:00
brian.mulier
72d8c0ce1d fix(ui): select all works properly
closes #1928
2023-08-24 15:38:22 +02:00
Loïc Mathieu
9fd38a2b94 chore(webserver): move taskrun operations to a dedicated endpoint (#1759) 2023-08-24 15:36:45 +02:00
brian.mulier
123a977ad6 fix(ui): we can now sort by triggerId, flowId and namespace
closes #1914
2023-08-24 13:58:08 +02:00
Ludovic DEHON
04e7618fc9 feat(ui): better display of file preview
close #1919
2023-08-24 11:58:29 +02:00
Ludovic DEHON
06f23fbee3 fix(ui): display null key on inputs overview 2023-08-24 09:46:23 +02:00
Ludovic DEHON
6caed0ea85 feat(tasks): introduce new icons
close #1853
close #1859
2023-08-23 18:39:37 +02:00
brian-mulier-p
f34f7f99c3 fix(ui): source-topology view type when using "Use" button from Blueprints page (#1923)
closes #1648
2023-08-23 14:14:01 +02:00
yuri
f214f2f98b fix(core): finish as SUCCESS when no retry (#1934)
close #1929
2023-08-22 22:37:48 +02:00
Loïc Mathieu
296e924616 fix(core): add flow inputs with default values in the Schedule execution (#1915)
close #828
2023-08-22 18:29:43 +02:00
brian.mulier
b81147d3d1 fix(ui): Blueprints 404 on load error
closes #1849
2023-08-22 16:00:45 +02:00
Loïc Mathieu
d6766ce6f1 fix(cli): avoid calling the taskdefault service when reindexing flow (#1925)
It generates an exception on EE as it has dependencies not available in the CLI.
2023-08-21 17:29:40 +02:00
Ludovic DEHON
88b11ddfb3 feat(core): deprecate template
close kestra-io/kestra#1907
2023-08-21 14:34:00 +02:00
Loïc Mathieu
60cf9893e5 chore(core): add a test with special characters for the log repository 2023-08-21 12:54:17 +02:00
Loïc Mathieu
304d9211c6 feat(core): allow to skip and execution (#1678)
close #767
2023-08-18 12:00:22 +02:00
brian-mulier-p
38f6048ca5 fix(ui): url with dot failed in devserver (#1896)
closes #1895
2023-08-18 11:59:00 +02:00
brian.mulier
2f0a9a5ddc feat(ui): admin tabs as sub-menus
closes #1893
2023-08-18 11:56:59 +02:00
Loïc Mathieu
91576edad7 feat(docker): add plugin hightouch to the docker image (#1910) 2023-08-18 09:26:34 +02:00
yuri
3cb3f9d3b9 feat(core): add a configuration to display environments (#1875)
Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2023-08-18 08:39:25 +02:00
YannC
eab705b7da feat(core): internal storage file preview (#1770)
close #1767
2023-08-17 23:40:40 +02:00
brian-mulier-p
bcad75542a fix(ui): copy now also works in non-HTTPS contexts (#1901)
closes #1798
2023-08-17 23:13:19 +02:00
Ludovic DEHON
5b568ad9ba fix(core): webhook key are now required
close #1826
2023-08-17 20:38:26 +02:00
Ludovic DEHON
bb6212e901 chore(deps): fix jackson version 2023-08-17 20:33:30 +02:00
YannC
a83f99edab fix(ui): clear usage of non-existing variable 2023-08-17 20:00:54 +02:00
brian.mulier
943e03a7a5 fix(ui): bulk select header no longer overflows in width
closes #1879
2023-08-17 20:00:34 +02:00
YannC
44ca19267f fix(ui): log crash when flow is failed (#1891) 2023-08-17 19:59:52 +02:00
Loïc Mathieu
a6b28d61d6 feat(jdbc): improve JDBC PostgreSQL queues queries performance (#1883)
close #1121
2023-08-17 19:59:25 +02:00
Ludovic DEHON
23faaa8be3 test(cli): add retry on flow listeners restore 2023-08-17 18:32:57 +02:00
Ludovic DEHON
161b0b5c11 refactor(core): relocate BashService to PluginUtilsService 2023-08-17 17:41:36 +02:00
Ludovic DEHON
42b657c16c fix(core): wrong MultipleCondition documentation 2023-08-17 17:19:43 +02:00
Loïc Mathieu
142859dde9 fix(core): boolean input validation (#1905)
This has no strong consequences but allow to set validation for a string input in a boolean input
2023-08-17 16:22:55 +02:00
Ludovic DEHON
b845cb7b48 fix(core): TaskDefault can have null values 2023-08-17 15:58:47 +02:00
brian.mulier
dabb9ce7f6 fix(ui): remove IDE warning due to method having same name as component name 2023-08-17 15:35:42 +02:00
brian.mulier
7e6cf0d35d fix(ui): only fetch blueprints on first display in editor
closes #1847
2023-08-17 15:35:42 +02:00
Ludovic DEHON
65dcc488cc chore(deps): remove useless docker deps 2023-08-17 10:12:29 +02:00
Ludovic DEHON
3978e1776c fix(core): unit test can failed with ConcurrentModificationException 2023-08-17 10:12:29 +02:00
Ludovic DEHON
1112b9d1ba refactor(ui): remove old scripting tasks 2023-08-17 10:12:29 +02:00
Ludovic DEHON
95236b1430 refactor(core): remove bash task from unit test 2023-08-17 10:12:29 +02:00
Ludovic DEHON
12d04efa13 refactor(core): remove old script from plugin example 2023-08-17 10:12:29 +02:00
MartinRst
28e4025bcd Update README.md (#1886)
* Update README.md

Simplify Readme content, delete badges that repeat themself

* Update README.md

* Update README.md

---------

Co-authored-by: Anna Geller <anna.m.geller@gmail.com>
2023-08-16 17:12:34 +02:00
YannC
a5048f34e5 fix(): Set vertical alignment when split source/topo view (#1887) 2023-08-16 15:51:39 +02:00
brian.mulier
83256d7b21 fix(ui): select all buttons now shows that it selects all on the current page
closes #1884
2023-08-16 15:15:12 +02:00
brian.mulier
618bb1f47d fix(ui): unregister resize event listener on SelectTable.vue
closes #1878
2023-08-16 15:14:47 +02:00
brian.mulier
8dc185feff fix(tests): concurrent-safe lists for log checking 2023-08-16 10:58:31 +02:00
Loïc Mathieu
a6344b4d79 feat(jdbc): improve logs indexes (#1882)
Without this new index, the index on timestamp is always used.
Fixes #1810 as far as we understand the issue.
2023-08-13 22:16:00 +02:00
Ludovic DEHON
13bf280a99 chore(docs): update plugins on README 2023-08-11 22:39:05 +02:00
Ludovic DEHON
87a07ca435 refactor(ui): remove old script from unit test on ui 2023-08-11 17:40:41 +02:00
brian.mulier
05f6558574 chore(deps): fixed poppers version so element-plus & bootstrap work together 2023-08-10 19:24:26 +02:00
brian.mulier
9482598c71 fix(ui): handle blueprints' tags fetch failing with default object to handle token expiration 2023-08-10 17:10:23 +02:00
Ludovic DEHON
784afce694 chore(deps): update most js deps 2023-08-09 23:05:47 +02:00
brian-mulier-p
a037a6f807 feat(ui): date format settings (#1843)
closes #1166
2023-08-09 22:38:30 +02:00
brian-mulier-p
71ec2c8817 feat(ui): bulk select move to top of tables (#1861)
closes #1333
2023-08-09 21:05:32 +02:00
Loïc Mathieu
30ac813409 fix: filter on label on the memory flow repository 2023-08-08 13:19:24 +02:00
Loïc Mathieu
c7054a2c3e fix: incorrect query on labels for executions 2023-08-08 13:19:24 +02:00
Loïc Mathieu
c1d79259ed fix: store flow labels as an array 2023-08-08 13:19:24 +02:00
Loïc Mathieu
be58d0e342 feat(cli): reindex all flows command (#1846) 2023-08-08 11:59:29 +02:00
Loïc Mathieu
61ffdd1bf0 feat(jdbc): add an index on the execution labels 2023-08-08 11:53:39 +02:00
Ludovic DEHON
ef550e38c0 feat(docker): introduce julia plugin 2023-08-08 10:58:43 +02:00
Loïc Mathieu
f222d87f9a feat(core): make the webhook key dynamic (#1857) 2023-08-04 17:27:59 +02:00
brian-mulier-p
c5ea0bafa8 fix(ui): status filter in executions & taskruns view is properly restored (#1840)
closes #1801
2023-08-04 16:58:24 +02:00
YannC
2b4847d02d fix(ui): remove duplicate log attempt (#1855) 2023-08-04 15:13:34 +02:00
yuri
3b4e85094d fix(ui): render flow input description (#1796) 2023-08-04 14:54:50 +02:00
brian.mulier
33e05e6b2c fix(ui + core): added ports in WorkerInstance + isWorkerInstanceEnabled in config 2023-08-03 11:12:20 +02:00
brian.mulier
11c95867b1 fix(ui): load config synchronously 2023-08-03 11:12:20 +02:00
YannC
fdc568dffb fix(deps): force bouncycastle version for crypto plugin compatibility (#1844)
relate to kestra-io/plugin-crypto#30
2023-08-02 18:34:15 +02:00
Ludovic DEHON
89e3fc677e feat(webserver): exposed all usages and not only the execution one 2023-08-02 12:12:51 +02:00
Loïc Mathieu
e4678a5a9e doc(core): WorkingDirectory - add an example with a cache 2023-08-01 10:13:47 +02:00
Loïc Mathieu
968f97d692 fix(core): WorkingDirectory validation throws an exception when tasks is null or empty 2023-08-01 10:13:47 +02:00
brian.mulier
5327c7307e fix(tests): longer timeout int MultipleConditionTriggerCaseTest 2023-08-01 09:52:38 +02:00
Loïc Mathieu
9dd10175ce fix: remove deprecated 2023-08-01 09:32:08 +02:00
brian.mulier
96551f4e76 fix(doc-gen): now also displaying properties with @PluginProperty inside bases in json schema (including conditions)
closes #1704
2023-07-31 14:02:00 +02:00
brian.mulier
e66ed6c333 fix(core): can now override the way to retrieve registered plugins in JsonSchemaGenerator
used in #1807
2023-07-31 11:31:16 +02:00
brian.mulier
9ce70f7ef8 fix(ui): auto-refresh button is now animated for better feedback
closes #1802
2023-07-31 11:30:31 +02:00
brian-mulier-p
56dec7e7ca feat/unlock-triggers (#1830)
* fix(ui): triggers administration allow unlocking

closes #1827
2023-07-28 17:10:58 +02:00
Loïc Mathieu
bde5ff692e feat: allow to cache contents inside the working directory 2023-07-28 11:45:40 +02:00
brian.mulier
4e8c1aed75 fix(blueprints): now loading icons from Kestra's API as well
closes #1817
2023-07-27 16:25:48 +02:00
brian.mulier
a23bb94670 fix(core): acl control added on 'Use' buttons in BlueprintsBrowser & BlueprintDetail
closes #1816
2023-07-27 16:24:58 +02:00
yuri
f8c55c52b1 Sort Metrics by name by default (#1811) 2023-07-26 11:20:55 +02:00
Loïc Mathieu
dd68b566d0 feat(core): add a method to help getting a file extension 2023-07-25 10:32:39 +02:00
brian.mulier
426814d14b fix(core): add predestroy to prevent Scheduler from crashing the whole app when context stops 2023-07-24 17:02:56 +02:00
brian.mulier
39877a85c2 feat(ui + core): admin tab for trigger monitoring
closes #1777
2023-07-24 17:02:56 +02:00
YannC
932783c098 feat(ui): change output link for a button (#1771)
* feat(UI): Change output link for button + add space between number and 'download'

close #1769
2023-07-24 14:46:27 +02:00
Loïc Mathieu
fc5a8e9a0f feat(jdbc): add a defaultFilter to revision 2023-07-24 14:44:05 +02:00
yuri
033d3fe814 fix(ui): Render chars instead of entities (#1781)
MD inline code handles the chars.
2023-07-24 10:08:25 +02:00
Loïc Mathieu
1884ab4c57 feat(core): deprecate old script tasks and stop using them in tests (#1792)
* feat(core): deprecate old script tasks and stop using them in tests

Only their own tests still use them.
But flow tests use them A LOT in the flow YAML definitions!

* Update core/src/test/java/io/kestra/core/tasks/flows/TimeoutTest.java

Co-authored-by: brian-mulier-p <bmmulier@hotmail.fr>

---------

Co-authored-by: brian-mulier-p <bmmulier@hotmail.fr>
2023-07-21 17:03:48 +02:00
Loïc Mathieu
d1bdebab8c chore: upgrade jOOQ to 3.17.4 2023-07-21 17:03:21 +02:00
Loïc Mathieu
48edf70b38 fix(core): serialization inclusion is a single property not a list
So setting it two times will override the previous one.
2023-07-21 16:40:26 +02:00
yuri
a0bd3b7fb0 fix(ui): make the dark theme's .text-muted visible (#1779)
For instance, the input description was unreadable.

Feel free to tune the color according to the UX rules.
2023-07-21 12:17:00 +02:00
Loïc Mathieu
02db51cc59 chore: delete all instead of truncate in tests
This is 4.5x quicker for MySQL and 2x for Postgres
2023-07-21 12:13:23 +02:00
YannC
d1194e919c test(): migrate controller tests to h2 (#1741)
* test(webserver): Replace AbstractMemoryRunnerTest by JdbcH2ControllerTest to make test run with JDBC instead of memory

* fix(BlueprintControllerTest): Added suppress unchecked warning

* fix(webserver): Small fix + Review changes

* fix(): review changes - remove primary
2023-07-21 11:56:23 +02:00
Anna Geller
b89a692989 (docs) Add more Examples to WorkingDirectory and LocalFiles (#1772)
* (docs) Add more Examples to WorkingDirectory and LocalFiles

* docs typo

* fixing the flowable info
2023-07-21 11:55:05 +02:00
YannC
226e971496 feat(): Allow to change fontSize & fontFamily in editor from Settings (#1787)
* feat(): Allow to change fontSize & fontFamily in editor from Settings

* fix(): review changes
2023-07-21 10:08:03 +02:00
Loïc Mathieu
52eef24de1 feat: add Databricks plugin 2023-07-20 14:54:40 +02:00
Loïc Mathieu
11b3ae99ec chore: refactor FlowController.updateNamespace() 2023-07-19 16:12:09 +02:00
Loïc Mathieu
48ad3fecf0 chore: avoid recreating an ObjectMapper for non-strict mapper 2023-07-18 14:54:58 +02:00
YannC
45146c59dd chore(version): update snapshot version 'v0.11.0-SNAPSHOT'. 2023-07-18 11:48:01 +02:00
Loïc Mathieu
0679b84f6c fix(core): flaky labels tests 2023-07-18 11:27:55 +02:00
YannC
23215009f9 chore(version): update snapshot version 'v0.10.2-SNAPSHOT'. 2023-07-18 09:02:14 +02:00
YannC
f673a192c9 chore(version): update to version 'v0.10.1'. 2023-07-18 09:01:45 +02:00
Loïc Mathieu
d102e2265d fix(core): avoid infinite loop in the executor for Flowable tasks
Fixes #1745

In the executor, when a flowable task throw an exception when calling `resolveNexts()` this will fail the current evaluation of the executor that will be retried indefinitly.
Catching exception and returing an empty next will avoid the infinite loop and the task will fail properly.
2023-07-17 09:56:14 +02:00
Loïc Mathieu
c9c2e67ac7 fix(gradle): opens java.lang for the /threaddump endpoint
Fixes # 1755
See https://github.com/micronaut-projects/micronaut-core/issues/9573
2023-07-17 09:32:03 +02:00
yuri1969
17d728d204 Improve readability of the OpenAPI spec
* Fixed mismatched tags
* Fixed minor issues with the schema

Micronaut OpenAPI doesn't handle multipart/form-data params (`@Part`) :(
2023-07-17 09:15:02 +02:00
brian.mulier
7507ada72d fix(executable): Wrong quotes in add-opens variable for executable 2023-07-13 22:24:15 +02:00
brian.mulier
0e656921fe fix(core): JQ filters now allow object / array destructuring after doing its thing
closes #1748
2023-07-13 19:11:59 +02:00
brian.mulier
44ecc276a6 fix(ui): More concise "labels as array" handling 2023-07-13 14:56:34 +02:00
Loïc Mathieu
ae74c1b582 chore(core): revert labels as list in a Flow 2023-07-13 14:56:34 +02:00
Loïc Mathieu
007142cf76 fix(core,webserver): store labels as a list instead of a map 2023-07-13 14:56:34 +02:00
YannC
16ac515194 fix(core): Fix flow comparison method (#1740) 2023-07-12 11:48:34 +02:00
Loïc Mathieu
4262ab5894 fix(core): make the RetryTest more resilient 2023-07-11 16:13:03 +02:00
Loïc Mathieu
38beef4919 fix(core): add worker group tag to the metrics 2023-07-11 16:13:03 +02:00
Anna Geller
e7e200e384 docs fix wdir and API (#1730) 2023-07-11 09:50:03 +02:00
Loïc Mathieu
9845b83024 fix(jdbc): DateTimeFormatter can be reused in the JdbcMapper 2023-07-10 11:29:28 +02:00
Loïc Mathieu
1132b0309f chore: always pull the image as we don't use the latest tag. 2023-07-10 11:13:38 +02:00
Loïc Mathieu
9d8300153b fix(core): remove misleading default value for polling triggers 2023-07-10 10:17:48 +02:00
Ludovic DEHON
25763dba94 fix(ui): missing task run value on log list 2023-07-07 19:24:20 +02:00
Ludovic DEHON
35f70cce4e chore(version): update snapshot version 'v0.10.1-SNAPSHOT'. 2023-07-06 14:42:54 +02:00
Ludovic DEHON
bd9393759c chore(version): update to version 'v0.10.0'. 2023-07-06 14:42:42 +02:00
Ludovic DEHON
293a854a20 test(core): fix falling test 2023-07-06 14:40:19 +02:00
Anna Geller
aa2e15cfcc fix(core): LocalFiles log message (#1720) 2023-07-06 14:25:32 +02:00
Ludovic DEHON
3e1761c3fd feat(ui): change task icon 2023-07-06 14:21:45 +02:00
Ludovic DEHON
d18c20739c feat(docker): introduce new scripting plugin 2023-07-06 12:33:20 +02:00
Anna Geller
d95f12760e feat(docker): add basic auth disabled by default (#1719) 2023-07-06 11:12:14 +02:00
Ludovic DEHON
23644c457c feat(docker): use latest image 2023-07-06 09:58:56 +02:00
brian-mulier-p
9a21fd5f1e fix(ui): cannot swap tasks for dag tasks (#1718)
closes #1697
2023-07-06 09:53:32 +02:00
brian-mulier-p
9e64c837b7 fix(ui): expand / collapse all button in logs are based on if taskruns are opened or not (#1714)
closes #1694
2023-07-06 09:52:49 +02:00
Ludovic DEHON
34f631512d test(webserver): falling unit test 2023-07-05 18:45:25 +02:00
Loïc Mathieu
ef8669f911 docs(core): improve documentation of the LocalFiles task (#1716) 2023-07-05 15:55:51 +02:00
brian-mulier-p
988beefabc fix(core): secrets env var prefix changed from "SECRETS_" to "SECRET_" (#1717)
closes #1715
2023-07-05 15:55:17 +02:00
Loïc Mathieu
64c9b22489 feat(core): introduce LocalFiles task (#1621)
close #1478
2023-07-05 14:48:55 +02:00
Loïc Mathieu
821b352655 fix(webserver): allow unauthenticated access to monitoring endpoints (#1708) 2023-07-05 14:47:52 +02:00
brian-mulier-p
ed80eb5c06 fix/non-b64-secrets-prevent-crash (#1711)
* fix(core): non-base64-encoded secrets are no longer crashing the app

closes #1706
2023-07-05 12:33:30 +02:00
brian-mulier-p
faaeebb8ee fix(ui): execution topology tab should be read-only (#1712)
closes #1695
2023-07-05 12:20:07 +02:00
Loïc Mathieu
352d71870b fix(core): add missing example for th Dag task (#1710)
* fix(core): add missing example for th Dag task

* Update core/src/main/java/io/kestra/core/tasks/flows/Dag.java

Co-authored-by: Anna Geller <anna.m.geller@gmail.com>

---------

Co-authored-by: Anna Geller <anna.m.geller@gmail.com>
2023-07-05 12:13:48 +02:00
Loïc Mathieu
f58d857a8d feat(webserver): add basic authentication (#1680)
close kestra-io/kestra-ee#211
2023-07-04 22:48:42 +02:00
brian-mulier-p
6ded19ec28 fix(ui): disabled triggers tab on flow if it doesn't contain one (#1700)
closes #1699
2023-07-04 17:24:23 +02:00
brian.mulier
c48ccb3c0e fix(ui): copy flow works again
closes #1693
2023-07-04 16:33:55 +02:00
Ludovic DEHON
708997cffe test(core): fix some flaky test 2023-07-04 16:09:40 +02:00
brian-mulier-p
405a82c185 fix(ui): subflows in loglist don't display button (#1692)
closes #1691
2023-07-04 14:35:52 +02:00
YannC
d981e49e13 feat(ui): dependencies tab for namespaces (#1513) 2023-07-04 14:30:01 +02:00
YannC
1853155535 fix(ui): display flow triggers on a tab (#1551)
closes #1461

Co-authored-by: brian.mulier <bmmulier@hotmail.fr>
Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2023-07-04 13:32:20 +02:00
brian-mulier-p
c58d11a20c feat(core): secret function from environment (#1685)
closes #1679
2023-07-04 13:31:46 +02:00
brian-mulier-p
09c8261eae fix(core): non-required inputs must be null if not defined (#1674)
closes #1587
2023-07-04 11:22:53 +02:00
Loïc Mathieu
3bf038a438 fix(core): slow flow listeners startup (#1657) 2023-07-04 11:20:28 +02:00
Loïc Mathieu
eb712466d7 feat(core): trigger worker group 2023-07-04 11:18:06 +02:00
brian.mulier
941ea7e8ab fix(ui): Use button instead of copy on standalone Blueprints browser
closes #1639
2023-07-04 11:17:14 +02:00
brian.mulier
d2e37f0059 fix(webserver): validate flow splits flows only on new lines triple hyphens
closes #1634
2023-07-04 11:17:14 +02:00
Pranav Nagarajan
1983530419 chore(docs): fix plugin on README (#1690)
close #1682
2023-07-04 08:47:57 +02:00
Ludovic DEHON
8df54c40fb fix(webserver): new logo on api documentation 2023-07-03 22:30:13 +02:00
brian-mulier-p
852dff110f fix(ui): revert change orientation button on topology (#1677)
closes #1641
2023-07-03 18:04:04 +02:00
yuri
ba70244a7d fix(ui): validate the label filter input (#1672)
Usage of the filter often led to HTTP 500 - enabled basic input validation.
2023-07-03 18:01:19 +02:00
Loïc Mathieu
7eb27e02ca feat(core): add an AI plugin category (#1689) 2023-07-03 16:47:51 +02:00
Loïc Mathieu
44dd831a17 chore(docker): introduce OpenAI plugin (#1686) 2023-07-03 16:15:57 +02:00
YannC
16fe7a2f07 fix(ui): unsaved popup show even after saving (#1651)
close #1578
2023-07-03 15:47:13 +02:00
Loïc Mathieu
6ac4015e46 fix(core): small perf improvements (#1626)
* avoid calling 4x Thread.currentThread().getStackTrace()
* avoid serializing 2 times the value
* avoid loading the flow if not needed when following and execution
2023-07-03 15:35:32 +02:00
Loïc Mathieu
08a37e046a fix(core): opens java.util and java.io to workaround issues with some libraries (#1669) 2023-07-03 15:33:58 +02:00
brian-mulier-p
f8369ae540 feat(ui): link to execution api (#1625)
closes #1596
2023-07-03 15:32:21 +02:00
Loïc Mathieu
e28a0e24ca chore(build): build JavaDoc on PR (#1593)
close #1592
2023-07-03 15:22:40 +02:00
brian.mulier
6a006efb34 fix(cli): no delete by default for namespace update cli command
closes #1462
2023-07-03 15:21:11 +02:00
brian.mulier
2165f24d9a fix(core): conditions logo 2023-07-03 15:12:11 +02:00
YannC
3d83bb1b64 fix(ui): better label input (#1642)
* fix(ui): better label input
2023-07-03 13:35:26 +02:00
brian-mulier-p
97fbc93655 feat/editor-validation-feedback-rework (#1662)
* feat(ui): ValidationError rework

closes #1405
2023-06-30 20:59:49 +02:00
brian-mulier-p
9367ef374d feat(ui+webserver): Blueprint tags filtered by query on blueprints (#1667)
closes #1636
2023-06-30 15:01:37 +02:00
Loïc Mathieu
87b7912607 feat: disable seqscan on Postgres 2023-06-30 14:48:36 +02:00
YannC
467003be0f fix(ui): prevent recursive flow calls (#1646)
* fix(ui): Prevent recursive flow calls

close #1474
2023-06-30 12:36:18 +02:00
brian.mulier
aeab342363 fix(tests): fix flaky test on ExecutionControllerTest.findByFlowId 2023-06-30 09:51:58 +02:00
Loïc Mathieu
ce87fcedad fix(core): improve memory scheduler 2023-06-29 14:38:48 +02:00
YannC
3b75c10949 fix(doc): multiple condition example (#1665)
relate to kestra-io/kestra.io#332
2023-06-29 14:20:05 +02:00
YannC
28d26dbc98 fix(core): revert dailyExecutionStatistics prop name change (#1660) 2023-06-29 10:50:14 +02:00
YannC
6132c8a19a fix(ui): better type detection for documentation in editor (#1653) 2023-06-29 09:49:59 +02:00
brian.mulier
0d4ce281f8 fix(ui): boolean inputs as switch instead of checkbox
closes #1310
2023-06-28 16:22:30 +02:00
Loïc Mathieu
ba1eaa309c fix: merge WorkerTask and WorkerTaskTrigger (#1604) 2023-06-28 15:29:43 +02:00
brian.mulier
b5277ecd1d fix(core): remove JsonIgnore causing build to fail 2023-06-28 12:23:08 +02:00
Ludovic DEHON
e786f1b859 test(core): fix falling test on scheduler 2023-06-28 12:22:10 +02:00
Ludovic DEHON
2d7555d74f test(core): fix a flaky test 2023-06-28 12:22:10 +02:00
YannC
f0517e6f80 fix(test): fix hourly test (#1652) 2023-06-28 12:22:10 +02:00
brian-mulier-p
fb98004614 feat(ui): add a slack button on error message (#1649)
closes #820
2023-06-28 12:22:10 +02:00
brian.mulier
8b2f1addcc fix(webserver): validate flow splits flows only on new lines triple hyphens
closes #1634
2023-06-28 12:22:10 +02:00
Loïc Mathieu
f7d3d0bcd4 feat(core): remove the execution state from the scheduler (#1588) 2023-06-27 12:59:05 +02:00
YannC
8cd0bbbb50 fix(ui): use good url in loadgraph api call (#1635) 2023-06-27 12:36:57 +02:00
YannC
66f2aaa65c fix(ui): Update whole taskObject in TaskEditor (#1631) 2023-06-27 11:28:57 +02:00
YannC
24eee77bf5 feat(ui): create setting for logs display (#1619)
* refactor(UI): remove legacy documentation editor setting

* feat(ui): Log display setting

close #1572

* fix(test): retrying test

* fix(UI): Indent switch
2023-06-27 10:56:31 +02:00
brian.mulier
f8578d4f5d fix(core): flow-parsing after task defaults injection throws ConstraintViolations instead of IllegalArgument
closes #1616
2023-06-27 10:56:00 +02:00
YannC
8a4695664e fix(ui): topology does not load when no viewType is defined (#1623)
close #1629
2023-06-27 09:09:20 +02:00
YannC
997b02d54e fix(test): retrying test 2023-06-26 23:06:49 +02:00
YannC
73115ef017 fix(ui): swap arrow icon in loglist 2023-06-26 23:06:49 +02:00
YannC
3595089c01 fix(ui): logs in gantt display correctly (#1615)
close #1613
2023-06-26 23:06:08 +02:00
Loïc Mathieu
d54fa23dd3 feat(webserver): expose execution usage (#1605) 2023-06-26 23:04:03 +02:00
brian-mulier-p
bdd86b7f39 fix(webserver): blueprint topology for uninstalled plugins (#1627)
closes #1620
2023-06-26 23:00:10 +02:00
brian.mulier
42558771f7 fix(ui): promote form in low-code-editor
closes #1603
2023-06-26 22:59:01 +02:00
Ludovic DEHON
217b82657d fix(ui): blueprint responsive layout 2023-06-26 21:47:15 +02:00
brian.mulier
a38ab3b37d fix(ui): No more loading top bar on flow editor input
closes #1577
2023-06-26 11:44:20 +02:00
Ludovic DEHON
1e33d6dc42 fix(ui): blueprint layout adjust
close #1606
2023-06-26 09:28:24 +02:00
Ludovic DEHON
e1f6261bbc fix(ui): pagination number are not properly restore
close #1608
2023-06-24 10:03:17 +02:00
brian.mulier
77851d153d fix(ui): Blueprints restore url
relate to #1606
2023-06-24 10:02:19 +02:00
YannC
4802ca3cb1 feat(ui): add labels to new execution (#1602)
close #1562
2023-06-23 18:10:11 +02:00
brian-mulier-p
582d271c7c test(core): flaky test on logs (#1580)
closes #1579
2023-06-23 16:14:00 +02:00
brian.mulier
6034f3a503 fix(ui): now showing error message if there is a server error of any kind
closes #1438
2023-06-23 12:44:03 +02:00
YannC
54ac36c7be fix(ui): faster log display (#1560)
close #1557
2023-06-22 23:06:59 +02:00
dependabot[bot]
bbbda9937a chore(deps-dev): bump @vue/test-utils from 2.3.2 to 2.4.0 in /ui
Bumps [@vue/test-utils](https://github.com/vuejs/test-utils) from 2.3.2 to 2.4.0.
- [Release notes](https://github.com/vuejs/test-utils/releases)
- [Commits](https://github.com/vuejs/test-utils/compare/v2.3.2...v2.4.0)

---
updated-dependencies:
- dependency-name: "@vue/test-utils"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-22 23:06:16 +02:00
dependabot[bot]
c56b3869b2 chore(deps-dev): bump sass from 1.63.5 to 1.63.6 in /ui
Bumps [sass](https://github.com/sass/dart-sass) from 1.63.5 to 1.63.6.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.63.5...1.63.6)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-22 23:06:02 +02:00
YannC
553994e637 fix(ui): restart fix translation 2023-06-22 22:48:39 +02:00
Loïc Mathieu
9dee0c7d61 feat(core): add flow labels to execution labels (#1559)
close #1325
2023-06-22 22:48:02 +02:00
YannC
5bb62d9c12 refactor(core): flow usage (#1585) 2023-06-22 22:33:15 +02:00
brian-mulier-p
26c809a053 refactor(ui): blueprints split in multiple components (#1598) 2023-06-22 22:20:14 +02:00
YannC
4c9589667b fix(ui): guided tour failed after save (#1586)
close #1464
2023-06-22 22:18:35 +02:00
brian.mulier
73116288f2 fix(ui): plugins are now all visible in blueprints browser 2023-06-22 18:14:50 +02:00
brian.mulier
c10a83ba2c fix(ui): No more blueprint-title overlap in editor view
closes #1594
2023-06-22 17:49:53 +02:00
Loïc Mathieu
ce3dbc3058 fix(core): wrong JavaDoc (#1591) 2023-06-22 15:41:46 +02:00
brian-mulier-p
325485e7e6 fix(ui): native links to handle blueprint detail open in a new tab (#1575)
closes #1568
2023-06-22 15:38:23 +02:00
Loïc Mathieu
6fac45459e fix(cli): WorkerCommand NPE when no worker group 2023-06-22 14:34:11 +02:00
YannC
9b6bff1e87 fix(ui): topology display longest task duration (#1574)
close #1402
2023-06-22 11:46:17 +02:00
YannC
767e1fb420 feat(core): bulk enable flows (#1553)
close #1204
2023-06-22 09:18:49 +02:00
Loïc Mathieu
1e9645818e feat(core): allow to resume a paused execution (#1523)
It also allows to kill a paused task.

close #1037
close #1326
2023-06-22 09:04:45 +02:00
YannC
ddd2793d74 fix(ui): Flow Overview is refreshed correctly
close #1468
2023-06-22 08:43:30 +02:00
brian-mulier-p
bfeb94fc33 feat(ui): blueprint enhancement (#1543)
relate to #1511
2023-06-21 23:15:09 +02:00
brian.mulier
e2b71bda02 feat(ui): default template in flow creation + some cleanup
closes #1271
2023-06-21 22:22:32 +02:00
Ludovic DEHON
896777a05d test(core): fix failing multiple condition test 2023-06-21 22:06:57 +02:00
Ludovic DEHON
6539bad341 fix(tasks): prevent double log on failed tasks 2023-06-21 21:26:49 +02:00
Ludovic DEHON
a5259746e2 test(core): add a test for multiple condition and standard one 2023-06-21 21:26:09 +02:00
Ludovic DEHON
09d69668e8 chore(deps): update java dependencies 2023-06-21 18:04:53 +02:00
Ludovic DEHON
f510f90b17 chore(deps): update all js deps 2023-06-21 17:58:25 +02:00
Ludovic DEHON
248faeeb31 feat(tasks): add total on Counts tasks 2023-06-21 16:40:26 +02:00
Ludovic DEHON
df9ba99f82 test(core): fix a flaky test 2023-06-21 12:26:21 +02:00
Ludovic DEHON
20c05d0aff refactor(core): remove flow from WorkerTrigger 2023-06-21 12:19:42 +02:00
YannC
01ef6fedde fix(ui): reverse logs in flow page 2023-06-21 11:59:15 +02:00
Ludovic DEHON
b34e1aa5cf test(core): fix some flaky test 2023-06-20 23:07:22 +02:00
Loïc Mathieu
5ef1a921ab feat(core): run polling triggers on the worker (#1179) 2023-06-20 22:19:21 +02:00
yuri
602d207f4a feat(ui): add labels filter on flow and executions (#1527)
close #1308
2023-06-20 21:58:58 +02:00
yuri
4796227131 feat(ui): show execution labels (#1544)
* Execution labels are presented at both execution list and overview.
* Filtering 'by the label' works for both flow and execution list.
* An active 'by the label' filter can be deactivated by clicking at the label agian.
* Active filters are highlighted.

Related to #1527
2023-06-20 21:14:38 +02:00
YannC
fb39ece01d feat(ui): updated guided tour flow (#1558)
close #1399
2023-06-20 18:56:16 +02:00
Loïc Mathieu
c3abd90ee4 fix(core): Worker needs to be introspected as we retrieve it programmatively 2023-06-20 17:51:09 +02:00
brian.mulier
70cbdaa64c feat(ui): better no-user handling 2023-06-20 17:35:48 +02:00
brian-mulier-p
1834d8b5de feat(ui): add breadcrumb on blueprints page (#1548) 2023-06-20 16:09:27 +02:00
YannC
57a67d4461 Merge branch 'release' into develop 2023-06-20 15:07:03 +02:00
YannC
7a29854217 chore(version): update snapshot version 'v0.9.6-SNAPSHOT'. 2023-06-20 14:56:53 +02:00
YannC
4a7dbbb902 chore(version): update to version 'v0.9.5'. 2023-06-20 14:55:05 +02:00
YannC
cf0721a668 fix(ui): fix query issue in home component 2023-06-20 14:42:08 +02:00
brian.mulier
ae94fbd551 fix(tests): added retries to some flaky tests 2023-06-20 14:02:53 +02:00
Loïc Mathieu
53c7107fa2 fix(core): lazy load thread stack trace as it's very costly
Some profile shows up to 20% allocation and 10% cpu are spent in this method!
2023-06-20 09:50:06 +02:00
YannC
ac710cf0a7 fix(ui): Removed error & warning from LowCodeEditor component 2023-06-19 18:01:49 +02:00
YannC
247411b2c0 fix(ui): fix query issue in home component 2023-06-19 18:01:18 +02:00
YannC
3bcaab879c fix(ui): Hide chart if not executions found 2023-06-19 18:00:52 +02:00
YannC
927bbd1033 fix(ui): After flow creation, good tab is displayed 2023-06-19 18:00:52 +02:00
Loïc Mathieu
c39712c5df fix(core): remove definitions from the Task class (#1536)
Fixes #1382
2023-06-19 13:23:10 +02:00
Anna Geller
57569bfcff chore(github) : add a blueprint issue template (#1539) 2023-06-16 11:35:36 +02:00
Loïc Mathieu
b99162d0bd fix(ui): kill must be button not a status (#1531) 2023-06-15 23:18:11 +02:00
yuri
72fb84b171 chore(build): tune gradle defaults (#1537) 2023-06-15 23:11:05 +02:00
YannC
9fa8bbb589 fix(core): prevent freeze with large logs (#1433)
close #360
close #1252
2023-06-15 23:04:26 +02:00
YannC
c4955f7180 feat(core): introduce Dag task (#1463) 2023-06-15 23:02:06 +02:00
Loïc Mathieu
0906c0980e fix(core): bad align in doc metrics 2023-06-15 17:22:09 +02:00
YannC
9d6fbbe14e fix(core): yaml duplicate key error (#1514)
close #1437
2023-06-14 23:09:28 +02:00
Ludovic DEHON
6cdefb6e41 chore(test): remove gradle retry and add unit retry for flaky test
relate to #1257
2023-06-14 22:41:15 +02:00
brian-mulier-p
04b80e27be fix(ui): blueprints descriptions as markdown (#1526)
relate to #1511
2023-06-14 21:24:29 +02:00
Loïc Mathieu
e91dbe1180 fix(cli): configure Flyway to allow future migrations (#1510)
close #1505
2023-06-14 14:54:35 +02:00
Anna Geller
8b1324733c feat(ui): renaming flow gallery to blueprints (#1518) 2023-06-14 14:50:30 +02:00
brian-mulier-p
398f05caee fix(ui): reduce blueprints search api call (#1521)
closes #1520
2023-06-14 14:49:48 +02:00
Ludovic DEHON
28131aa605 chore(core): remove most of compilation warning 2023-06-14 14:48:44 +02:00
Loïc Mathieu
d105784cc7 feat(core): introduce worker group (#1456)
close #565
2023-06-14 13:03:16 +02:00
YannC
c2d2d4f105 fix(ui): topology bug fix (#1512) 2023-06-13 13:04:46 +02:00
Ludovic DEHON
961e72e578 fix(core): use api to generate blueprint graph 2023-06-12 22:56:41 +02:00
Anna Geller
10aef21637 fix(ui): corrected translations (#1506) 2023-06-12 21:12:11 +02:00
brian-mulier-p
5f22d614df fix(jdbc-mysql): execution full text search was missing a field (#1504) 2023-06-12 20:46:57 +02:00
brian-mulier-p
6f04187a9e feat(core): introduce blueprint gallery (#1475)
Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
Co-authored-by: YannC <ycoornaert@kestra.io>
2023-06-12 17:50:01 +02:00
Ravi raj
dfbc48c7b3 fix(ui): added markdown table css (#1490)
close #1477
2023-06-12 16:18:30 +02:00
YannC
69cd8550f6 refactor(ui): EditorView topology refactoring (#1488) 2023-06-12 16:18:30 +02:00
Ludovic DEHON
6bf6410d86 feat(core): add regexp on replace filter 2023-06-12 16:18:30 +02:00
Ludovic DEHON
e5f4d666de fix(core): update flow when passing flow-path on command line 2023-06-12 16:18:30 +02:00
Loïc Mathieu
3945de00b6 feat(core): introduce queue consumer group (#1421) 2023-06-12 16:18:30 +02:00
YannC
8df1c3747f feat(ui): paginate outputs (#1471)
close #329
2023-06-12 16:18:30 +02:00
Ludovic DEHON
069855dd31 feat(core): add taskrunValue props on state 2023-06-12 16:18:30 +02:00
brian-mulier-p
58ac15c867 refactor(ui): topology component naming (#1453) 2023-06-12 16:18:30 +02:00
Ludovic DEHON
985fd33bb9 fix(ui): editor combined is not horizontal on refresh 2023-06-12 16:18:30 +02:00
Ludovic DEHON
b5ce1cbdfb fix(core): keep coherent group type 2023-06-12 16:18:30 +02:00
Ludovic DEHON
318cffaab4 chore(deps): update all javascript deps 2023-06-12 16:18:30 +02:00
YannC
833593fdba fix(ui): remove usage of this in template (#1470) 2023-06-12 16:18:30 +02:00
Ludovic DEHON
4d2dab491c fix(core): fix TimeBetweenConditionTest 2023-06-12 16:18:30 +02:00
Ludovic DEHON
30914eaf07 fix(core): use correct group on execution usage metrics 2023-06-12 16:18:30 +02:00
yuri
e9c43c6875 feat(ui): keep editor view preference persisted (#1416)
close #1411
2023-06-12 16:18:30 +02:00
Loïc Mathieu
641c0c52d4 feat(core): rename Worker task to WorkingDirectory (#1401)
close #1378
2023-06-12 16:18:30 +02:00
YannC
e70704e2df feat(core): date filtering on the homepage dashboard (#1293)
close #1177
close #1393
close #1240
2023-06-12 16:18:30 +02:00
Ludovic DEHON
da57e0aa42 feat(core): add a TimeBetweenCondition condition 2023-06-12 16:18:30 +02:00
YannC
1255b47306 fix(ui): this on TreeTaskNode prevent display topologies (#1465) 2023-06-12 16:18:30 +02:00
Ludovic DEHON
3e1da9df67 refactor(core): remove duplication on the plugin doc generation 2023-06-12 16:18:30 +02:00
Ludovic DEHON
d3ee18c2b3 chore(version): update snapshot version 'v0.10.0-SNAPSHOT 2023-06-12 16:18:27 +02:00
Ludovic DEHON
23513bc6c9 fix(ui): invalid taskedit default value 2023-06-12 16:18:03 +02:00
Loïc Mathieu
b98dbfdd8b fix(core): input with duplicate name should throw a violation
Fixes #1092
2023-06-12 16:17:33 +02:00
Ludovic DEHON
664b68fa92 chore(version): update snapshot version 'v0.9.5-SNAPSHOT'. 2023-06-12 16:14:21 +02:00
Ludovic DEHON
830c7ccf97 chore(version): update to version 'v0.9.4'. 2023-06-12 16:14:10 +02:00
Ludovic DEHON
e0fa17305d chore(version): update to version 'v0.9.3'. 2023-06-12 16:13:03 +02:00
Ludovic DEHON
9a03464edc fix(ui): icon are not displayed correctly 2023-06-12 16:11:06 +02:00
Ludovic DEHON
c326b32678 chore(version): update snapshot version 'v0.9.3-SNAPSHOT'. 2023-06-05 15:29:27 +02:00
Ludovic DEHON
cd25424b09 chore(version): update to version 'v0.9.2'. 2023-06-05 15:29:07 +02:00
Ludovic DEHON
1cace9127b fix(tests): falling test depending on the backend 2023-06-05 15:27:05 +02:00
Ludovic DEHON
e76f7a8979 fix(ui): validation of trigger on lowcode failed (#1440)
close #1439

Co-authored-by: YannC <ycoornaert@kestra.io>
2023-06-05 15:27:01 +02:00
Loïc Mathieu
8bf95e7fc3 chore(test): improve test (#1430)
* lower poll time and await time
* init the flows and the schema once per test
* improve retry and restart test resilience
2023-06-05 15:25:57 +02:00
Loïc Mathieu
8d56a9609f fix(core): redundant synchronization on the FlowListeners 2023-06-05 15:25:57 +02:00
Loïc Mathieu
227a161b32 fix(core): multiple potential deadlocks and races on the AbstractScheduler 2023-06-05 15:25:57 +02:00
YannC
9b2ae9d7b2 fix(ui): Flow with dependencies can now be deleted 2023-06-05 15:25:57 +02:00
Loïc Mathieu
50d6bbcd6a fix(core): TestUtils.mockTrigger() must call runContext.forScheduler() 2023-06-05 15:25:57 +02:00
Ludovic DEHON
f11e55bcfb feat(cicd): build internal workflow 2023-06-01 15:23:52 +02:00
Ludovic DEHON
fd18bba0f7 fix(ui): don't load task type and use flow instead 2023-05-31 22:43:29 +02:00
Ludovic DEHON
c761c2f9fd chore(version): update to version 'v0.9.1'. 2023-05-30 22:14:49 +02:00
brian.mulier
02457530a9 fix(ui): no more validation error at flow creation start
closes #1406
2023-05-30 16:10:50 +02:00
Ludovic DEHON
bd18f8cd83 fix(ui): new version button color with white theme
close #1408
2023-05-30 14:28:34 +02:00
Loïc Mathieu
8df977baf8 fix(core): fail the worker if it receives directly a flowable task instead of silently doing nothing 2023-05-29 16:05:17 +02:00
Loïc Mathieu
ec733c505d fix(core): don't crash the worker if it receive a flowable task 2023-05-29 16:05:17 +02:00
Loïc Mathieu
1de91358e2 feat(core): improve the Worker usage of workerThreadReferences 2023-05-29 16:05:17 +02:00
Loïc Mathieu
0cac32c6fb chore(test): improve some test duration & pause conditions (#1422) 2023-05-29 16:02:18 +02:00
Loïc Mathieu
fde3eb721c fix(core): flowable task can fail on resolveState 2023-05-29 16:00:47 +02:00
brian.mulier
83c7bffcfe fix(ui): Failsafe for infinite loading + handling already-saved flow with validation errors
closes #1406
2023-05-29 15:51:53 +02:00
Ludovic DEHON
92c8924f9f fix(core): executionId on trigger should not be duplicate 2023-05-29 12:15:14 +02:00
brian.mulier
45e0bd414a fix(ui): Error message on draft save
closes #1341
2023-05-29 10:12:42 +02:00
Anna Geller
cbce23c7f3 chore(docs): update the readme (#1415) 2023-05-26 17:00:51 +02:00
Ludovic DEHON
82f757249a fix(core): task default can have duplicate values 2023-05-24 18:39:20 +02:00
Ludovic Dehon
63e81b58df chore(version): update snapshot version 'v0.9.1-SNAPSHOT'. 2023-05-24 08:50:53 +02:00
Ludovic Dehon
519aa8e6de chore(version): update to version 'v0.9.0'. 2023-05-24 08:48:34 +02:00
Loïc Mathieu
ac20181a46 fix(core): use the trigger id from the run context in the Schedule trigger 2023-05-23 18:38:10 +02:00
YannC
f0759df96e fix(ui): load plugin list early (#1389) 2023-05-23 15:45:00 +02:00
Loïc Mathieu
2c949e057e fix(ui): use a gist instead of the original URL for the tour data file 2023-05-23 15:26:34 +02:00
YannC
2998a15920 fix(ui): Keep highlight in menu when select a plugin
close #1301
2023-05-23 15:07:13 +02:00
brian-mulier-p
fb269a3b6b fix(ui): namespace and flow id have now newlines before dots when it lacks space
closes #1167
2023-05-23 14:47:26 +02:00
brian.mulier
59b1017479 fix(ui): File inputs displayed properly
closes #1386
2023-05-23 13:12:50 +02:00
Ludovic Dehon
62345f37c1 feat(ui): display latest version on top bar
close #1188
2023-05-23 12:59:54 +02:00
brian-mulier-p
c7e8ad91fc fix(ui): tabs are loaded after config is loaded (#1385) 2023-05-23 12:41:21 +02:00
brian-mulier-p
694af59ee5 feat(core): prefill inputs from existing execution and replay whole execution (#1272)
closes #1273
closes #1208
2023-05-22 17:06:40 +02:00
Loïc Mathieu
cf55b0799e chore(core): small perf optimization and code improvements 2023-05-22 16:35:52 +02:00
Loïc Mathieu
a15e22c38a fix(core): shortcircuit killing flowable tasks 2023-05-22 16:35:52 +02:00
YannC
a6dc76cb48 fix(ui): remove useless api call on editor (#1374)
close #1349
2023-05-22 16:35:11 +02:00
brian-mulier-p
626372b40c fix(ui): metrics tab from logs view is now working (#1367)
closes #1281
2023-05-22 14:49:59 +02:00
Ludovic Dehon
24f450a578 chore(deps): update all js package 2023-05-22 14:46:06 +02:00
YannC
ad7786586c fix(ui): no progress bar on flow valiation (#1370)
close #1301
2023-05-22 14:44:28 +02:00
YannC
a344434716 fix(ui): Limit size reduction of windows in editor
close #1369
2023-05-22 14:39:37 +02:00
YannC
e3c5da6614 fix(ui): Fix editor theme when theme is light and editor is dark
close #1348
2023-05-22 12:58:31 +02:00
Loïc Mathieu
ce2c16c574 fix(ui): JS error when exporting flows or templates from the settings
Fixes #1342
2023-05-22 12:52:14 +02:00
YannC
1cd0689a38 fix(ui): Fix 422 error in form validation
Among the app we use section for two reasons, the task/trigger/.. But also the "tasks" to fit to flow definitions when working with YAML.
2023-05-22 12:51:10 +02:00
YannC
732488160f fix(ui): Fix an issue where if input is an Integer, it can't be display nor edited from the form 2023-05-22 12:51:10 +02:00
Loïc Mathieu
5b3fffc043 fix(ui): Template CTRL-S is not working (#1364)
Fixes #1315
2023-05-22 12:49:44 +02:00
YannC
24d93dca05 fix(ui): vue-flow last version break the fit on view (#1362) 2023-05-22 11:53:21 +02:00
Loïc Mathieu
2803b7135a fix(core): remove input FILE validation
Due to the way we upload them, it's not possible to validate the FILE input as we didn't have the file name.
2023-05-22 11:01:01 +02:00
YannC
ed1dc8b2c0 fix(ui): Fix clear filter in execution outputs
close #1344
2023-05-20 23:08:23 +02:00
Ludovic DEHON
00cb4e81d5 fix(ui): error on disabled wrong type for task form 2023-05-18 23:13:04 +02:00
Ludovic DEHON
fd556fdf26 fix(ui): empty routeName on tabs don't works 2023-05-18 23:04:14 +02:00
Ludovic DEHON
8bff0beed9 chore(deps): update all deps 2023-05-18 22:46:11 +02:00
YannC
32fa5122e2 fix(ui): tooltip now correctly disappear on charts (#1336)
close #1302
2023-05-18 22:02:32 +02:00
Loïc Mathieu
b6b5b9b43f feat(core): kill created tasks earlier 2023-05-18 21:44:00 +02:00
brian.mulier
9bd52c4129 feat(ui): prevent flow save if namespace or id modified
closes #1152
2023-05-18 21:42:34 +02:00
YannC
fbc80d0740 fix(ui): Remove flow validation from graph generation 2023-05-18 21:39:38 +02:00
YannC
0367fc4359 fix(ui): Remove usage of "this" in templates 2023-05-17 17:51:35 +02:00
brian.mulier
594c1da918 fix(ui): save button is now purple on flow edit before change
closes #1300
2023-05-17 17:08:58 +02:00
Loïc Mathieu
c7955d12b5 fix(core): use a storage prefix with executionId for triggers
Fixes #1176
2023-05-17 15:00:21 +02:00
YannC
3a6c5ff558 fix(ui): doc now display correctly even with cursor at end of task. (#1322)
close #1278
2023-05-17 13:49:18 +02:00
YannC
dbd7725bea fix(ui): view format button (#1323)
close #1318
2023-05-17 12:22:17 +02:00
Loïc Mathieu
dd4be3fa8e fix(core): allow usage of Pebble raw tag in our recursive renderer (#1316)
close #1244
2023-05-16 22:32:40 +02:00
YannC
9aced7d6d6 fix(core): missing task and metric on the metric browser (#1312)
close #1297
2023-05-16 18:55:52 +02:00
Loïc Mathieu
db2e473c40 fix(core): correctly display additional properties in documentation (#1319)
close #1255
2023-05-16 18:14:44 +02:00
Loïc Mathieu
269b5df210 fix(core): allow CREATED & PAUSED to be killed (#1313)
close #1306
2023-05-16 18:12:38 +02:00
Ludovic DEHON
78cc61c507 feat(ui): allow passing custom description to dashboard 2023-05-16 18:08:42 +02:00
Ludovic DEHON
815c17365b feat(ui): handle query in tabs 2023-05-16 18:08:22 +02:00
Anna Geller
f9d3b4d99c fix(docs): add note about prod setup without root user (#1317) 2023-05-16 15:48:37 +02:00
Loïc Mathieu
acc7426395 fix(core): if tasks validation exception when the then property is null (#1314)
The validation calls `allChildTasks()` so it must works with a null then for the validation to return errors and not fail with an exception (status code 422 instead of 500).
2023-05-16 12:48:14 +02:00
brian-mulier-p
d0e9f21c0a feat(ui): Add Flow-like dashboard to namespaces (#1292) 2023-05-16 12:04:31 +02:00
yuri
e467c2b934 feat(core): add execution labels (#1190)
* Add Execution labels

* Execution now features labels as the Flow does.
* The labels are passed in the same way the Flow inputs.
* The label names are prefixed with `label-`.
* Executions can be filtered using the labels.

Room for improvement:

* Index the labels within DB.
* Rework the labels/inputs passing - use a custom binding?
* Add a label filter to the Execution UI.

close #906

Co-authored-by: Loïc Mathieu <loikeseke@gmail.com>
2023-05-16 11:43:29 +02:00
brian-mulier-p
fa52d5e5b8 fix(ui): topology orientation is now portrait by default on editor (#1298)
Co-authored-by: YannC <ycoornaert@kestra.io>
2023-05-15 21:50:34 +02:00
YannC
544d4db26d fix(ui): Fix bad redirection on homepage (#1295) 2023-05-15 21:32:00 +02:00
YannC
b83f13527b fix(ui): fix plugin definition conflict (#1296)
relate to #1294 & #1229
2023-05-15 21:31:32 +02:00
Ludovic DEHON
46e1e57d39 fix(core): multiple condition log should not be sent on the database 2023-05-15 20:16:43 +02:00
YannC
4ebc76ae60 fix(ui): Fix an issue where topo form had missing properties (#1294) 2023-05-15 16:04:56 +02:00
Loïc Mathieu
7918d19ba0 fix: improve error message for invalid task property 2023-05-15 14:45:52 +02:00
Ludovic DEHON
c593951483 fix(ui): change language don't refresh left menu
close #1282
2023-05-14 23:12:18 +02:00
Loïc Mathieu
423faa30ec fix(jdbc): properly select on namespace and sub-namespace (#1239)
close #1225
2023-05-14 22:16:23 +02:00
Loïc Mathieu
2f9163fad7 feat(core): validate DATE, DATETIME, DURATION, FILE, FLOAT & TIME inputs (#1234)
close #1186

Co-authored-by: YannC <ycoornaert@kestra.io>
2023-05-14 22:11:45 +02:00
Loïc Mathieu
38901da1e5 fix(ui): correctly render markdown alert block (#1231)
close #1220
2023-05-14 21:53:18 +02:00
YannC
94ae9559b9 fix(core): fix text error in flow metrics page (#1287) 2023-05-13 23:54:22 +02:00
YannC
c389500519 feat:(core): introduce flow tabs metrics (#1226)
close #1226
2023-05-12 23:10:55 +02:00
brian-mulier-p
73d9ec181c feat(ui): Redirect on authentication expired (#1248) 2023-05-12 11:16:08 +02:00
brian-mulier-p
56283097e6 feat(ui): Save as draft on invalid flows (#1235)
There is now 1 draft / namespace.flowId & 1 creation draft

closes #1151
2023-05-12 11:12:38 +02:00
YannC
3cf551cd0f fix(core): Title does not disappear anymore on flow creation page (#1250) 2023-05-12 09:32:08 +02:00
brian.mulier
92231cef0f fix(ui): typo on replay confirm translation 2023-05-11 16:57:09 +02:00
YannC
9926a3db3e fix(): Display select column correctly in flows and executions list (#1253) 2023-05-11 11:56:29 +02:00
YannC
748ec1149c fix(ui): better contrast in validation error tooltip (#1269)
close #1228
2023-05-11 11:40:20 +02:00
brian-mulier-p
434e2273b9 fix(ui): Gantt can failed on low duration (#1256)
closes #1118
2023-05-10 21:26:59 +02:00
YannC
35662f1731 fix(ui): theme on editor was not applied (#1268) 2023-05-10 21:23:27 +02:00
YannC
74d8e82fb7 fix(ui): prevent welcome redirection (#1265) 2023-05-10 21:17:45 +02:00
YannC
844823a5b5 fix(ui): can't open object modal on task form edit (#1266)
close #1236
2023-05-10 20:19:43 +02:00
Ludovic DEHON
419bf58ac2 Merge branch 'release' into develop 2023-05-10 17:06:47 +02:00
YannC
22d7febfcd fix(): loadFlow with revision (#1259) 2023-05-10 16:35:18 +02:00
Ludovic DEHON
69698dfa60 chore(version): update snapshot version 'v0.8.2-SNAPSHOT'. 2023-05-10 16:07:21 +02:00
Ludovic DEHON
cef20ccdbd chore(version): update to version 'v0.8.1'. 2023-05-10 16:07:09 +02:00
Ludovic DEHON
bebfd8f8b3 feat(docker): add git plugin 2023-05-10 07:39:04 +02:00
Anna Geller
279ce99719 feat(ui): update the onboarding video (#1247) 2023-05-09 14:46:14 +02:00
yuri
82d471d654 chore(docs): fix broken PurgeExecution doc format (#1241) 2023-05-05 22:04:14 +02:00
YannC
d183c941f8 Feat: added a slider between editor/(doc||topo) view to adjust windows size (#1195)
* Feat: added a slider between editor/(doc||topo) view to adjust div size

* Fix: Set width in %

* feat: editor width is now saved to local storage

---------

Co-authored-by: brian.mulier <bmmulier@hotmail.fr>
2023-05-05 14:32:03 +02:00
Loïc Mathieu
c618684e42 fix: don't display task base properties by default
This align the documentation from the UI with the one from the website

Fixes #1182
2023-05-05 11:47:44 +02:00
brian-mulier-p
43b73a9b11 fix(ui) Flow validation is now triggered on every view (#1230)
* fix: Flow being validated on every view
2023-05-05 11:42:18 +02:00
Loïc Mathieu
88f7726bdd feat(core): improve Purge task documentation 2023-05-05 11:26:26 +02:00
Loïc Mathieu
6e11a2087e feat(ui): change metrics column order to put 'tasg' last
Fixes #1221
2023-05-05 11:21:45 +02:00
brian-mulier-p
bd968c315c feat(doc) Documentation now generated with required props first & NotNull on interface methods displayed (#1211)
* feat: Doc generation now takes the NotNull field from interface methods

* feat: Required props are now displayed first in UI
2023-05-05 11:07:50 +02:00
Loïc Mathieu
44f1168564 fix(core): Flow trigger documentation 2023-05-04 16:30:46 +02:00
brian-mulier-p
64446f2279 feat(docker) introduce NATS plugin 2023-05-04 11:13:09 +02:00
dependabot[bot]
76386d51e1 Revert "chore(deps): bump org.apache.httpcomponents:httpclient"
This reverts commit f82a1e8f79.
2023-05-03 16:02:58 +02:00
dependabot[bot]
f82a1e8f79 chore(deps): bump org.apache.httpcomponents:httpclient
Bumps org.apache.httpcomponents:httpclient from 4.5.13 to 4.5.14.

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents:httpclient
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-03 15:55:57 +02:00
Ludovic DEHON
c94b744360 fix(ui): display welcome always 2023-05-03 12:16:49 +02:00
Ludovic DEHON
93af47ff0a fix(ui): invalid link on taskrun list 2023-05-03 12:04:41 +02:00
Loïc Mathieu
3abb479b74 fix(core): wrong warning block in core task documentation 2023-05-03 11:22:16 +02:00
Loïc Mathieu
bcea887909 chore: add generic bounds to avoid lint warnings 2023-05-03 11:22:16 +02:00
Ludovic DEHON
6b5e28c3c1 feat(cli): add a startup hook 2023-05-03 08:58:53 +02:00
Ludovic DEHON
955eae9340 chore(deps): update all java deps 2023-04-27 09:49:07 +02:00
YannC
c3faa6eb54 fix(ui): fix welcome redirection (#1200) 2023-04-26 15:59:03 +02:00
brian.mulier
a005826faa feat(docker) introduce couchbase plugin 2023-04-26 14:57:04 +02:00
YannC
af736afc2d Fix(ui): welcome page redirection (#1192) 2023-04-25 15:16:00 +02:00
YannC
c2a7752543 fix(ui): allow topo edition when creating (#1193) 2023-04-25 15:15:26 +02:00
Loïc Mathieu
b2765258f9 feat: validate INT input with min/max 2023-04-25 15:11:05 +02:00
Loïc Mathieu
3f0e863fc7 feat(core): input validator step 2 2023-04-25 15:11:05 +02:00
yuri1969
c62fd37ce5 feat(core): input validator step 1 2023-04-25 15:11:05 +02:00
Loïc Mathieu
be29ef5a9c feat: Java 17 2023-04-25 14:59:19 +02:00
Loïc Mathieu
8c25130934 fix(core): Serialize null as null and not "null" in the ION file 2023-04-24 12:29:32 +02:00
Ludovic DEHON
5b28dc1f29 fix(docs): make docs index link relative 2023-04-23 14:19:38 +02:00
Loïc Mathieu
7f2a3b7cd7 feat(core): add an icon for the states sub-group of plugins 2023-04-18 10:25:16 +02:00
Loïc Mathieu
bda22b9079 fix(cli): failed test PluginDocCommandTest (#1173) 2023-04-17 17:04:49 +02:00
Loïc Mathieu
27404b737c feat(core): improve SEO on plugin documentation 2023-04-17 16:16:47 +02:00
Ludovic DEHON
38dba9526b fix(docs): fix invalid links on docker memory 2023-04-13 21:06:49 +02:00
Ludovic DEHON
a79c2707b6 chore(version): update snapshot version 'v0.8.1-SNAPSHOT'. 2023-04-12 15:58:04 +02:00
Ludovic DEHON
4d23111f70 chore(version): update to version 'v0.8.0'. 2023-04-12 15:57:53 +02:00
YannC
708b41b79c fix(ui): collapsed all the flow edit on button group (#1144) 2023-04-12 14:13:47 +02:00
YannC
876ec73d68 feat(ui): documentation as a tab options (#1141)
- clear graph when leaving topology
- extract dynamic documentation as a new view in the editor
- Re-introduce topology tab; source is now the complete editor
2023-04-11 11:49:09 +02:00
Ludovic DEHON
4019be249d fix(ui): proper color on state 2023-04-11 10:35:45 +02:00
YannC
84b9a74c6e feat(ui): add validation on lowcode everywhere (#1139)
- Added task validation at the creation
- Added trigger validation
- Added validation in "New Error" section
2023-04-11 10:31:45 +02:00
yangkai
43ab765da1 fix(webserver): fix Key of null value missing in the webhook
close #1140
2023-04-08 22:45:43 +02:00
YannC
4c96adf2f5 feat(ui): lowcode improvement (#1136)
Added different QOL regarding the low code first iteration :

- When the id or namespace is empty on save, show an error
- Remove the useless Add button in the metadata editor
- Dragged node has increased zIndex, so it's always above other nodes
- Confirm task deletion
- Highlight the path when hovering over a task and when two tasks a swappable
- reduce the opacity of all nodes that can not* be swapped with the node being dragged
- Fix an issue where empty inputs are added to the flow
2023-04-06 21:32:48 +02:00
Ludovic DEHON
580d731c68 fix(ui): polish of the new ui
close #1135
close #1131
close #1137
2023-04-06 21:23:13 +02:00
YannC
bf6cac23c0 fix(ui): task creation failed on lowcode (#1134) 2023-04-06 16:35:53 +02:00
YannC
c1f985b9bc fix(ui): some contrast issues 2023-04-06 13:30:05 +02:00
Ludovic DEHON
736dbbac7b fix(ui): guided tour only on create 2023-04-06 12:23:58 +02:00
YannC
53fef1f7d1 feat(ui): first low code iteration (#1067) 2023-04-06 12:17:40 +02:00
yuri
0e644fe4b8 fix(tasks): attempt to kill the whole process tree (#1133)
Used JDK9+ tooling to create a snapshot of the whole process tree.

close #1132
2023-04-05 20:31:18 +02:00
yuri
5c49434507 chore(build): add basic .gitattributes (#1130) 2023-04-05 20:28:28 +02:00
YannC
28cbac8591 feat(ui): hide documentation if screen res is too low (#1127) 2023-04-05 13:50:15 +02:00
yuri
a9a204f36a fix(ui): adapt the inputs names within 'New execution' (#1106) 2023-04-05 12:15:53 +02:00
Loïc Mathieu
b70fa52854 fix(core): pause task with errors (#1116)
close #1103
close #1114
2023-04-05 11:29:32 +02:00
Ludovic DEHON
fa8717c108 feat(ui): introduce new logo 2023-04-05 10:55:03 +02:00
Loïc Mathieu
cadade7781 fix(jdbc): metrics index on the wrong table (#1125) 2023-04-03 11:17:46 +02:00
Ludovic DEHON
3a924e17a8 feat(ui): filter charts to remove execution with 0 values 2023-04-02 22:37:31 +02:00
Ludovic DEHON
0f8827dc1b fix(core): better validation of Parallel task 2023-03-30 20:19:56 +02:00
Loïc Mathieu
ccccb23bf9 fix(jdbc): fix migration with schema (#1115)
Migrations must not have a schema to be able to use a different schema than public.

relate to #1111
2023-03-29 10:04:55 +02:00
Loïc Mathieu
33e04f0a3f Revert "fix(jdbc): fix postgres migration with non default schema (#1111)" (#1113)
This reverts commit bbcea0a8f4.

Co-authored-by: Andrey <stdrone@ya.ru>
2023-03-28 15:28:01 +02:00
Loïc Mathieu
ef4d22d472 fix(core): improve fail task documentation 2023-03-28 13:41:13 +02:00
YannC
dd18ba28b6 fix(ui): timeout for cursor event in editor to avoid blinking (#1110) 2023-03-28 11:02:14 +02:00
Andrey
bbcea0a8f4 fix(jdbc): fix postgres migration with non default schema (#1111) 2023-03-28 10:59:29 +02:00
Yann C
4ea5ef3273 fix(core): move @Cacheable tag in PluginDocumentation 2023-03-28 09:53:49 +02:00
Loïc Mathieu
eb9ef947e1 fix(core): unable to include another file in the flow (#1105)
also add an expand command to expand a flow containing helper

close #1088
2023-03-28 09:03:32 +02:00
Loïc Mathieu
def6fd960e fix(core): don't write sub-group h2 if no name (#1109) 2023-03-27 10:51:36 +02:00
Loïc Mathieu
5bc65bb2c1 feat(core) : add an If task (#1104)
close #1098
2023-03-23 16:15:41 +01:00
YannC
dd69934f99 fix(ui): filter cursor event only in yaml lang (#1099) 2023-03-23 15:02:14 +01:00
brian-mulier-p
558c41e937 fix(ui): date parsing should not apply for number (#1071)
close #1070
2023-03-23 08:44:24 +01:00
Ludovic DEHON
900d38cd58 fix(cli): namespace update should not try to unserialize tasks
plugin can be not present on the server that emit the command
2023-03-22 18:40:27 +01:00
Ludovic DEHON
809e0ea343 fix(core): metric are not paginated and sortable (#1096) 2023-03-22 14:22:15 +01:00
Loïc Mathieu
570374eaa9 feat(core): store metrics in a dedicated repository (#1047)
close #969
2023-03-20 17:01:31 +01:00
YannC
3e08b16c82 feat(ui): editor plugin doc must be always visible and cached (#1087) 2023-03-20 16:59:24 +01:00
Loïc Mathieu
4e3008d932 feat(core): add icon for group and sub-group of plugins (#1086) 2023-03-20 16:35:51 +01:00
brian-mulier-p
b95c8ed4e5 fix(ui): suggestion modal is not triggering on macos (#1081)
close #1080
2023-03-17 22:18:13 +01:00
Loïc Mathieu
3105ec20e7 feat(core): document deprecated tasks (#1078) 2023-03-17 16:44:47 +01:00
Loïc Mathieu
84759507e9 feat(core): add missing TOOL plugin category (#1079) 2023-03-17 16:03:11 +01:00
Ludovic DEHON
8977672634 fix(webserver): missing io based execution on plugin controller 2023-03-17 14:00:51 +01:00
Loïc Mathieu
b0b821017e feat(core): allow to specify plugin sub-group category (#1064) 2023-03-17 11:34:05 +01:00
Loïc Mathieu
1b5791d1e3 fix(jdbc): add missing id column on the execution table (#1076)
close #1072
2023-03-17 11:33:29 +01:00
dependabot[bot]
3a5b08ed1c chore(deps): bump actions/setup-python from 3 to 4
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-16 22:52:20 +01:00
dependabot[bot]
ed5ac62447 chore(deps): bump docker/build-push-action from 3 to 4
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 4.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-16 21:33:38 +01:00
Ludovic DEHON
19d0bf11fe fix(core): source is not well formatted when submit with json 2023-03-16 21:32:41 +01:00
YannC
e520402523 feat(task): new log task to replace echo task (#1055)
close #1046
2023-03-16 18:01:43 +01:00
YannC
126c39d026 feat(task): introduce new log.Fetch task (#1059)
close kestra-io/plugin-notifications#55
2023-03-16 17:59:25 +01:00
Loïc Mathieu
cfd8e4879d feat(core): add a Fail task (#1061)
close #1053
2023-03-16 17:47:28 +01:00
Loïc Mathieu
d957f7f944 feat(core): document metrics 2023-03-16 17:46:08 +01:00
Loïc Mathieu
3ed471813f feat(core): allow passing the list of values for the each task in a list 2023-03-15 20:54:44 +01:00
Loïc Mathieu
889d434d9a feat(core): improve core tasks documentation 2023-03-15 20:54:44 +01:00
YannC
4bd1ba242a feat(ui): dynamic documentation in the editor (#1044) 2023-03-13 16:23:53 +01:00
Ludovic DEHON
08018dd000 chore(version): update snapshot version 'v0.8.0-SNAPSHOT'. 2023-03-13 14:56:57 +01:00
Loïc Mathieu
24bf05f0fc feat(core): remove trigger on flow update from the scheduler (#1042)
close #835
2023-03-13 14:52:08 +01:00
Ludovic DEHON
320c9253db fix(build): missing dependsOn for gradle 8 2023-03-13 11:39:40 +01:00
Ludovic DEHON
2d96fea2e9 chore(deps): update all java deps (#1058) 2023-03-12 23:13:43 +01:00
Loïc Mathieu
922e5a2551 fix(core): avoid restarting errors task (#1056)
close #1032
2023-03-10 22:19:29 +01:00
Loïc Mathieu
c78cb9381d fix(cli): remove leftovers of the OSS to EE migration (#1057) 2023-03-10 18:31:29 +01:00
YannC
27e26fbbb7 fix(ui): remove flow samples when leaving guided tour (#1050) 2023-03-10 12:56:16 +01:00
YannC
93f526c96d fix: Added hack for condition schema in Monaco Editor (#1051) 2023-03-09 15:50:38 +01:00
Ludovic DEHON
3e9486f56d fix(core): remove some compilation warning 2023-03-09 13:50:31 +01:00
Ludovic DEHON
2f675fbd4d fix(ui): invalid breadcrumb link
close #1049
2023-03-09 13:07:49 +01:00
Ludovic DEHON
ae18ca3b0f fix(core): remove useless filtering on FlowUsage 2023-03-08 14:44:47 +01:00
Ludovic DEHON
9145ed4c2e fix(core): execution originalId can be null 2023-03-08 11:32:33 +01:00
Ludovic DEHON
a9dc5b6867 fix(jdbc): purge executor state at the end 2023-03-07 23:04:11 +01:00
Ludovic DEHON
6e6c3334be feat(webserver): allow triggering execution at a specified revision 2023-03-07 13:59:02 +01:00
Ludovic DEHON
9c1c012215 docs(core): invalid task id on outputs 2023-03-07 12:36:26 +01:00
Ludovic DEHON
2f7caff3f6 feat(cli): add option to remove execution from sys restore-queue 2023-03-06 18:01:51 +01:00
Ludovic DEHON
c8d32f0f34 feat(core): handle timeout on Pause task (#1040)
close #1039
2023-03-03 18:46:09 +01:00
Ludovic DEHON
10c5d65c51 fix(cicd): publish to pip failed 2023-03-02 22:36:43 +01:00
Ludovic DEHON
abaaf03655 fix(ui): wrong short on guided tour 2023-03-02 22:28:17 +01:00
Ludovic DEHON
049855e92b feat(core): add an originalId that will be the same in case of replay 2023-03-02 22:26:35 +01:00
Ludovic DEHON
cf0e646b0c chore(version): update snapshot version 'v0.7.2-SNAPSHOT'. 2023-03-02 16:49:50 +01:00
Ludovic DEHON
f7f55efb61 chore(version): update to version 'v0.7.1'. 2023-03-02 16:49:38 +01:00
Ludovic DEHON
686be2f143 chore(deps): force apache http client 2023-03-02 16:21:31 +01:00
Ludovic DEHON
f9c89d0322 chore(version): update snapshot version 'v0.7.1-SNAPSHOT'. 2023-03-02 13:25:02 +01:00
Ludovic DEHON
fb3a957505 chore(version): update to version 'v0.7.0'. 2023-03-02 13:24:51 +01:00
Ludovic DEHON
32f97b615d feat(ui): add final video 2023-03-02 13:05:00 +01:00
Ludovic DEHON
1808cfe5ac feat(ui): add helpers card on home 2023-03-02 11:18:37 +01:00
YannC
e0dd0167c8 feat(ui): welcome button color (#1035) 2023-03-02 10:39:29 +01:00
Ludovic DEHON
c35ccaf625 feat(ui): home without execution landing 2023-03-02 09:18:07 +01:00
Ludovic DEHON
c66e2ca355 feat(ui): add link to flow examples pages 2023-03-01 21:47:35 +01:00
Ludovic DEHON
a05c03bce5 chore(ui): remove dutch translation 2023-03-01 21:43:07 +01:00
YannC
2ef140cc01 feat(ui): guided tour on instance without flows (#1028)
close #821

Co-authored-by: Loïc Mathieu <loikeseke@gmail.com>
Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2023-03-01 21:18:24 +01:00
yuri
fcd3f0ceae feat(docker): publish the monitoring endpoint (#1030)
The runtime presents both 8080/tcp and 8081/tcp. Both should be accessible.
2023-02-28 23:12:46 +01:00
Ludovic DEHON
0ef2a3f871 fix(ui): task edit must reload revision when the execution revision is not available 2023-02-28 16:44:38 +01:00
Ludovic DEHON
48b20608fe fix(ui): don't reformat the yaml on edit tasks save 2023-02-28 16:34:09 +01:00
Ludovic DEHON
398e633541 fix(tasks): fix webhook documentation 2023-02-28 14:42:07 +01:00
Ludovic DEHON
7dc6e34df7 fix(ui): editor error on FlowRun.vue
properly load json worker also
2023-02-28 13:28:32 +01:00
YannC
c2f679368f fix(ui): missing translations (#1027) 2023-02-28 10:11:35 +01:00
Ludovic DEHON
d9d592a959 fix(core): json schema was invalid for monaco on trigger 2023-02-27 23:05:34 +01:00
Ludovic DEHON
2f655886a3 fix(ui): topology edit failed on errors tasks 2023-02-27 23:00:34 +01:00
Ludovic DEHON
ced9cba030 chore(ui): remove schedule tabs 2023-02-27 22:37:15 +01:00
Ludovic DEHON
440dbf14ec chore(ui): remove dutch translation 2023-02-27 22:32:05 +01:00
YannC
bb6a425ff7 feat(core): Implement bulk delete/disable for flows & templates (#1008) 2023-02-27 22:26:37 +01:00
Ludovic DEHON
efbd0060f2 fix(core): json schema was invalid for monaco on task 2023-02-27 17:50:07 +01:00
Loïc Mathieu
98f953337f feat(docker): don't wait for Postgres to be ready before starting Kestra (#1025)
Postgres will be ready after the first health check wich is after 30s!
We can starts Kestra as soon as Postgres is started.
2023-02-27 14:28:11 +01:00
Loïc Mathieu
55693bc697 feat(docker): remove examples (#1024) 2023-02-27 14:08:13 +01:00
Loïc Mathieu
cd789d306a fix(core): json schema validation don't work with allOf (#1023)
close #1017
2023-02-27 13:41:26 +01:00
Loïc Mathieu
33f0c1213d fix(jdbc): bad MySQL filter on the search execution query (#1022) 2023-02-27 11:50:51 +01:00
Ludovic DEHON
1dfa2e77bd fix(ui): dynamic tasks icon must not failed 2023-02-26 22:42:01 +01:00
Ludovic DEHON
bfc7198882 fix(core): array must be serialized as json on pebble expression 2023-02-26 20:56:22 +01:00
Ludovic DEHON
21db60bd4e feat(ui): add a button to export all flow & templates
close #1010
2023-02-24 23:20:04 +01:00
Ludovic DEHON
53b84c67c0 fix(ui): missing bulk actions on flow executions 2023-02-24 23:04:10 +01:00
Ludovic DEHON
2be2230b8a fix(ui): task edit failed on log & gantt tab 2023-02-24 23:04:10 +01:00
Ludovic DEHON
5e6eb8ada2 fix(ui): lowcode bug for dict and complex 2023-02-24 23:04:10 +01:00
Ludovic DEHON
275714af6e feat(ui): don't save automatically on flow topology 2023-02-24 23:04:10 +01:00
Ludovic DEHON
d678210573 feat(ui): handle triggers as form 2023-02-24 23:04:10 +01:00
Yann Coornaert
d7fc07f283 feat(ui): task edit as a form 2023-02-24 23:04:10 +01:00
Loïc Mathieu
092230e325 feat(jdbc): force using the index on mysql poll queries (#1016) 2023-02-24 14:20:56 +01:00
Loïc Mathieu
0d025179e2 feat(jdbc): improve postgres performance (#1012) 2023-02-24 14:20:38 +01:00
Loïc Mathieu
1c52f2d1d1 fix(jdbc): queues.consumers is a SET not an ENUM (#1014) 2023-02-24 14:16:28 +01:00
Ludovic DEHON
01df02cfa0 feat(ui): increase button bar size 2023-02-23 08:13:16 +01:00
Ludovic DEHON
2708262558 fix(core): falling test due to schema change 2023-02-22 22:29:33 +01:00
Ludovic DEHON
f5cd17149d fix(ui): json schema was no more compatible with monaco editor 2023-02-22 19:04:46 +01:00
Ludovic DEHON
a6c00f77b6 feat(ui): display a warning when deleting flow with dependencies 2023-02-22 18:51:50 +01:00
Loïc Mathieu
4919b5a5eb feat(webserver): add missing http parameter annotations (#994)
close kestra-io/kestra.io#141
2023-02-22 16:31:15 +01:00
Ludovic DEHON
7aff8d2b69 feat(ui): allow multiline on inputs 2023-02-22 12:14:37 +01:00
Ludovic DEHON
1b00d035df feat(jdbc): introduce kestra.jdbc.queues.poll-size to speed up polling of large number of events 2023-02-22 08:44:58 +01:00
YannC
54ee02a4fd fix(ui): template creation failed to save (#1007) 2023-02-21 21:35:18 +01:00
Ludovic DEHON
3dfa53a228 fix(core): consistent by-query on all url 2023-02-21 18:45:03 +01:00
YannC
4549363a4c feat(core): added triggers in topology (#981)
close #965
2023-02-21 17:25:45 +01:00
Loïc Mathieu
af4f773e3c feat(core): import flows and templates (#1000)
Co-authored-by: Yann C <yann.coornaert62@orange.fr>
2023-02-21 17:17:32 +01:00
Tanay Pant
d0f8c86a06 fix(docs): fix some text (#1004) 2023-02-21 15:56:13 +01:00
Loïc Mathieu
a227ff3f72 feat(core): extract flows and templates (#984)
Co-authored-by: Yann C <yann.coornaert62@orange.fr>
2023-02-21 14:35:25 +01:00
YannC
3efb814051 feat(core): move flows dependencies to os (#990) 2023-02-20 18:34:38 +01:00
Loïc Mathieu
20a2896e7f chore(core): add Executor to the QueryService (#998) 2023-02-20 15:13:24 +01:00
YannC
02c1891665 chore(deps): updated plugin version in PluginInstallCommandTest (#1001) 2023-02-20 14:53:19 +01:00
Ludovic DEHON
100d200fc1 feat(core): move kafka to ee (#995)
Co-authored-by: Loïc Mathieu <loikeseke@gmail.com>
2023-02-19 21:38:01 +01:00
Loïc Mathieu
ccfa1f3843 Merge pull request #991 from kestra-io/document-script-input-files
feat(core): better document script input files from the internal storage
2023-02-16 18:18:08 +01:00
Loïc Mathieu
0a542a884f feat(core): better document script input files from the internal storage 2023-02-16 17:24:22 +01:00
Loïc Mathieu
a9bbf57422 refactor(core): allow listing trigger without multiple conditions (#992) 2023-02-16 17:17:00 +01:00
Ludovic DEHON
858333baa3 chore(deps): bump ru.vyarus.github-info from 1.4.0 to 1.5.0 2023-02-15 23:22:48 +01:00
YannC
c3d62b3353 reafactor(core): refactoring flow graph (#968) 2023-02-15 23:11:46 +01:00
Loïc Mathieu
9f672982fc feat(core): enable MAP_VALUES_AS_ADDITIONAL_PROPERTIES so we don't have to add it manually
Currently, for Map properties we use @PluginProperty.additionalProperties attribute to denote the Map value type. With this setting this will be no more needed.
2023-02-15 22:16:33 +01:00
Loïc Mathieu
0f3a95ab3e feat(core): don't register @Hidden classes on plugin 2023-02-15 22:16:33 +01:00
Loïc Mathieu
142e27d58d feat(core): add @PluginProperty to all properties of triggers
Also add a defaultValue for the Webhook key property to avoid displaying the generated one.
2023-02-15 22:16:33 +01:00
Loïc Mathieu
271775560e fix(core): don't transform @JsonTypeInfo
The transformation results in non-usable information and shows ugly in the doc and disturb validation.
2023-02-15 22:16:33 +01:00
Loïc Mathieu
d895ec39dc fix(core): better handling of invalid task type (#987) 2023-02-15 22:11:53 +01:00
Ludovic DEHON
2e0f907079 fix(ui): topology node cluster can't pan
relate https://github.com/bcakmakoglu/vue-flow/issues/677
2023-02-14 14:35:16 +01:00
Loïc Mathieu
d12ea0da4e Merge pull request #983 from kestra-io/fix-subgroup-is-group
fix: when sub-group is group
2023-02-13 15:46:28 +01:00
Loïc Mathieu
562986ad53 fix: when sub-group is group 2023-02-13 14:53:33 +01:00
Loïc Mathieu
090a0d2ed9 fix(core): doc with subgroup potentially has a '.' in its name (#982) 2023-02-13 14:37:23 +01:00
Ludovic DEHON
9636746828 chore(deps): bump com.github.ben-manes.versions from 0.44.0 to 0.45.0 2023-02-10 23:29:05 +01:00
Ludovic DEHON
b09a3ec826 fix(core): make all plugin annotations inherited 2023-02-10 22:06:15 +01:00
Ludovic DEHON
fd1b448cfa fix(ui): restore revision failed with source code 2023-02-10 21:59:50 +01:00
Ludovic DEHON
c41b5d352b fix(core): autogeneration of code source failed due to a snakeYaml bug 2023-02-10 21:52:45 +01:00
Loïc Mathieu
f511e308f7 feat(core): add missing @PluginProperty on conditions (#979) 2023-02-10 12:05:04 +01:00
Meng Zhuo
9ba0088439 feat(core): skip pip install if requirements is empty (#976) 2023-02-10 11:40:09 +01:00
Ludovic DEHON
5d6eab51a3 fix(ui): flow disabled are not transparent 2023-02-08 21:37:26 +01:00
Ludovic DEHON
dd5fce6329 refactor(repository-elasticsearch): findDistinct abstraction 2023-02-08 21:37:14 +01:00
Ludovic DEHON
3794c1ab7d fix(ui): toast are not translated 2023-02-07 23:18:55 +01:00
Ludovic DEHON
e10fd1e6d6 fix(ui): fix some style
close #907
2023-02-07 22:53:49 +01:00
Ludovic DEHON
d895e76045 fix(ui): load flow on execution page 2023-02-07 21:55:41 +01:00
Ludovic DEHON
e54c4c0dcc chore(deps): update most js deps 2023-02-07 21:55:06 +01:00
YannC
c0c7f7f2fe feat(ui): suggest latest revision when replaying (#963)
close #925
2023-02-07 21:39:54 +01:00
YannC
277cdd7c7d feat(ui): task edit must be read only for old revision (#956)
close #928

Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2023-02-07 16:22:32 +01:00
YannC
da2de56022 feat(ui): task logo in execution logs tab (#955)
close #929

Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2023-02-06 23:19:21 +01:00
YannC
69495d748a fix(ui): enter key validate inputs form and trigger the execution (#960)
close #903

Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2023-02-06 23:06:55 +01:00
Ludovic DEHON
4e9a60ba60 fix(ui): display tooltip on topology edge 2023-02-06 22:38:59 +01:00
Loïc Mathieu
d827c33c6b doc(core): add missing @PluginProperty on PollingTriggerInterface.getInteval() (#961) 2023-02-06 16:02:42 +01:00
Meng Zhuo
c3ab04e2e6 fix(core): typo isTerminated (#953) 2023-02-03 14:45:07 +01:00
Loïc Mathieu
d6d1da7594 fix(core): remove subgroup from the task URL (#954) 2023-02-03 14:39:39 +01:00
Ludovic DEHON
e48423497d fix(core): fix docker container name (#952)
Co-authored-by: Loïc Mathieu <loikeseke@gmail.com>
2023-02-03 10:41:06 +01:00
Ludovic DEHON
0726811c3c fix(core): plugin project description can be null 2023-02-02 22:53:08 +01:00
Yann C
b4fa047e77 fix(ui): task edit ide disappear
close #926
2023-02-02 22:37:00 +01:00
Yann C
3467cf8552 fix(ui): flow creation are not working 2023-02-02 22:36:11 +01:00
YannC
c2822aeea1 feat(core): add a validation command and endpoint for flow and template (#871)
Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2023-02-02 20:58:00 +01:00
Loïc Mathieu
9d1f077c42 feat(core): improve core task plugin property documentation 2023-02-02 20:17:59 +01:00
Loïc Mathieu
ba9ce99427 feat(core): add documentation guides 2023-02-02 20:17:59 +01:00
Loïc Mathieu
a349f637d2 feat(core): add long description from group markdown file 2023-02-02 20:17:59 +01:00
Loïc Mathieu
23c1d69e0d feat(core): plugin subgroup documentation 2023-02-02 20:17:59 +01:00
Loïc Mathieu
a519165d40 fix(core): handle allOf and $ref type 2023-02-02 20:17:59 +01:00
Loïc Mathieu
2e2aaa21f3 feat(core): add plugin global description via X-kestra-description manifest attribute 2023-02-02 20:17:59 +01:00
Loïc Mathieu
1d6a214f52 feat(core): inherit plugin annotations to be able to add them on interfaces 2023-02-02 20:17:59 +01:00
Yann C
0360806dbe Fix(FlowWithSource): Copy JacksonMapper to avoid overwriting property of global JacksonMapper 2023-02-02 16:11:44 +01:00
Ludovic DEHON
0eada86159 fix(ui): duration must not be displayed if no execution on topology 2023-02-02 16:09:54 +01:00
Tanay Pant
88c149da7f feat(ui): add support for german (#937) 2023-02-01 22:17:39 +01:00
yuri
e7f2ef78bf fix(ui): improve the mass actions (#934)
Co-authored-by: Yann C <yann.coornaert62@orange.fr>
2023-02-01 13:53:09 +01:00
YannC
f807df291c feat(ui): introduce autocomplete on the editor (#913)
Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2023-02-01 13:40:53 +01:00
Ludovic DEHON
eaf5a1f28e test(core): fix some flakky test 2023-01-31 11:25:02 +01:00
YannC
8340a4e5a8 feat(core): flows validation (#871)
Flow are now also saved as String to keep source code 
All properties are validated, the invalid properties will be refused 
Task default will be also injected during validation process  

close #160
close #357
close #388
close #748

Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2023-01-31 11:21:02 +01:00
Ludovic DEHON
ec20485f79 test(ui): fix falling test 2023-01-27 09:03:44 +01:00
Ludovic DEHON
9e0216676b fix(ui): topology on execution was not in realtime 2023-01-26 22:53:15 +01:00
Loïc Mathieu
5c30c0566f feat(core): add variable function currentEachOutput() (#924)
Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2023-01-26 11:40:46 +01:00
Ludovic DEHON
e8c5ff9c47 fix(ui): avoid while loop to prevent freeze for inconsitent data 2023-01-25 21:21:16 +01:00
Ludovic DEHON
1615852d49 feat(core): publish kestra python package on pypi
relate #580
2023-01-25 15:13:41 +01:00
Ludovic DEHON
39768211f6 fix(docs): github badge change url
relate to badges/shields#8671
2023-01-25 12:47:44 +01:00
Ludovic DEHON
1524dc2f07 fix(ui): hide selection on execution from home 2023-01-21 23:05:31 +01:00
YannC
6f30e6bd07 feat(core): mass kill, restart & delete on executions (#901)
close #335

Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2023-01-20 22:32:43 +01:00
Ludovic DEHON
6faac939db fix(ui): after restart, execution was not refreshed 2023-01-20 20:51:54 +01:00
Ludovic DEHON
c2252244ad fix(ui): deleted flow lead 404 on execution
close #918
2023-01-20 18:45:37 +01:00
Ludovic DEHON
a0dcb6e0f1 fix(ui): filering on flows list don't refresh the top execution graph 2023-01-20 18:39:01 +01:00
Loïc Mathieu
b1db27b9d3 feat(core): add common task for store (#916) 2023-01-20 14:13:30 +01:00
Ludovic DEHON
61e2ad97b2 feat(ui): add a settings for log level
close #837
2023-01-19 23:26:31 +01:00
YannC
0c6d46777f feat(ui): add home dashboard (#910)
Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2023-01-19 22:12:30 +01:00
Ludovic DEHON
f76c2d33b2 fix(core): handle worker thread context globally
close #819
2023-01-19 08:17:03 +01:00
Ludovic DEHON
4bc6dda45b fix(ui): link on a specific page don't load the ui
relate #868
2023-01-18 22:58:08 +01:00
yuri
a8a4f532e0 docs(core): document bash plugin outputs & metrics (#898)
Additional examples should help using Outputs & Metrics.
2023-01-16 20:25:05 +01:00
Ludovic DEHON
edc6cda7f1 chore(version): update snapshot version 'v0.6.1-SNAPSHOT'. 2023-01-16 13:16:15 +01:00
Ludovic DEHON
3b95f218e7 chore(version): update to version 'v0.6.0'. 2023-01-16 13:16:05 +01:00
Simon Picard
6845f82624 fix(docs): update frontend configuration steps in contributing (#895)
Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2023-01-14 23:26:13 +01:00
Ludovic DEHON
31826015dc fix(ui): micronaut context-path is not working since the migration to vite
close #868
2023-01-14 21:29:38 +01:00
Ludovic DEHON
e5dc41f089 fix(ui): topology was not refresh on route changed 2023-01-13 15:43:30 +01:00
Ludovic DEHON
2d069ebea2 fix(ui): watch arguments are inverted 2023-01-13 15:05:32 +01:00
Ludovic DEHON
39f584a80d fix(ui): revision on loaded on restart task 2023-01-13 14:40:51 +01:00
Loïc Mathieu
db82378ccf fix(test): setup language and country system props (#892)
So test will pass on any system with any locale.
2023-01-13 13:15:37 +01:00
yuri
a9a4ad8b81 fix(docker): use nonintrusive health checks (#889)
Both Apache Zookeeper and Kafka checks cluttered the logs.

* Zookeeper complained about the immediate connection close.
* Kafka couldn't recognize the sequence.
2023-01-12 21:47:43 +01:00
Ludovic DEHON
0517d41523 feat(docker): introduce neo4j plugin 2023-01-12 21:44:41 +01:00
Loïc Mathieu
f086776dab fix(doc): readme and contributing improvements (#888) 2023-01-12 21:37:03 +01:00
YannC
30886ada9c feat(docker): Introduce amqp plugin 2023-01-12 19:40:11 +01:00
YannC
f76b9ca68e fix(Docker): replace Redis in list 2023-01-12 18:10:46 +01:00
YannC
eb63e401c1 feat(docker): remove useless space 2023-01-12 18:06:56 +01:00
YannC
f405094eac feat(docker): Introduce Redis Plugin 2023-01-12 18:06:09 +01:00
Ludovic DEHON
505aa0374c Merge branch 'master' into develop 2023-01-11 22:53:42 +01:00
Ludovic DEHON
6fdc048d50 chore(version): update to version 'v0.5.3' 2023-01-11 22:20:11 +01:00
Ludovic DEHON
a9f2349d57 fix(core): fix falling test 2023-01-11 22:20:11 +01:00
Ludovic DEHON
58a1246085 feat(cicd): move to temurin 17 to avoid java compiler bug 2023-01-11 22:20:11 +01:00
Ludovic DEHON
b45ea0450c feat(core): record import for java 17 compatibility 2023-01-11 22:20:11 +01:00
Ludovic DEHON
f420d52be6 fix(core): protobuf package break google cloud 2023-01-11 22:20:11 +01:00
Ludovic DEHON
7d0697237c fix(core): micronaut bump protobuf package and break google cloud 2023-01-09 22:12:54 +01:00
Ludovic DEHON
43709680a4 fix(ui): topology should be horizontal by default 2023-01-09 20:18:04 +01:00
Ludovic DEHON
bf13047184 chore(deps): update java deps 2023-01-08 22:06:48 +01:00
Ludovic DEHON
b2f75d3a55 chore(deps): update js deps 2023-01-08 21:23:52 +01:00
Ludovic DEHON
b0dbe649c6 feat(ui): move topology to vue-flow 2023-01-08 21:09:11 +01:00
Ludovic DEHON
abb72aefb5 fix(core): allow fileserde to unserialize a specific class 2023-01-06 18:11:15 +01:00
Ludovic DEHON
a6a69abb31 fix(core): fix falling test 2023-01-04 22:10:25 +01:00
Ludovic DEHON
1507e7addf feat(ui): move to vite 2022-12-30 17:28:59 +01:00
Ludovic DEHON
cb0e0b10da fix(docker): npm executable is missing 2022-12-30 11:33:12 +01:00
Ludovic DEHON
7789e83993 feat(core): allow to limit cpu & memory on docker runner
close #857
2022-12-28 23:12:34 +01:00
Ludovic DEHON
33b8fbc383 feat(ui): add some error tracking 2022-12-23 23:39:50 +01:00
Ludovic DEHON
b963a82927 feat(ui): better monaco editor theme and size 2022-12-23 12:21:06 +01:00
YannC
76b50f5841 fix(ui): topology don't open task description (#853) 2022-12-23 11:01:08 +01:00
Ludovic DEHON
a9854251d6 fix(ui): missing style on plugin doc for types 2022-12-22 22:20:03 +01:00
Ludovic DEHON
4b72215733 fix(ui): invalid acl for flow source search 2022-12-22 21:57:05 +01:00
Ludovic DEHON
8a212f07de fix(core): schedule flow don't handle defaults inputs
close #828
2022-12-22 21:45:48 +01:00
Ludovic DEHON
70190d4b1a fix(repository-elasticsearch): invalid escape for special chars
close #834
2022-12-22 12:00:35 +01:00
Ludovic DEHON
1a1b32c26f fix(ui): editor source was not loading due to setup script 2022-12-22 11:30:36 +01:00
Hamza Abdelkebir
7d48b51c53 chore(docs): cors documentation on contributing (#815)
* updated contributing documentation to include CORS configuration for local dev environment
* exclude bin/ and class files from source control

Co-authored-by: hamza <hamza@codeplumbers.eu>
2022-12-21 18:30:03 +01:00
Hamza Abdelkebir
b347a30df8 fix(ui): invalid docker image pull log debug message (#825)
fixes #768

Co-authored-by: hamza <hamza@codeplumbers.eu>
2022-12-21 17:52:09 +01:00
Ludovic DEHON
2e0a8083b8 fix(ui): last issues with vue3 2022-12-21 17:47:23 +01:00
Ludovic DEHON
640b171f0b chore(ui): refactoring for vue 3 2022-12-21 17:47:23 +01:00
Ludovic DEHON
edbae21c84 feat(ui): preparation vite and use absolute import 2022-12-21 17:47:23 +01:00
Ludovic DEHON
e6173428cf feat(ui): last refactoring on element-plus 2022-12-21 17:47:23 +01:00
Ludovic DEHON
fd78a23b59 feat(ui): restore unsaved change notification 2022-12-21 17:47:23 +01:00
Ludovic DEHON
05c9947a43 feat(ui): restore unit test on vue3 2022-12-21 17:47:23 +01:00
Ludovic DEHON
6ce2c78e81 feat(ui): reintroduce all styles 2022-12-21 17:47:23 +01:00
Ludovic DEHON
31b1786060 feat(ui): update all js depends and move to bootstrap 5 for reset 2022-12-21 17:47:23 +01:00
Ludovic DEHON
14e82e5039 feat(ui): move to vue 3 with no compatibility and remove bootstrap vue in favor of element plus 2022-12-21 17:47:23 +01:00
Ludovic DEHON
560ac04f67 feat(ui): update v-select to vue3 version 2022-12-21 17:47:23 +01:00
Ludovic DEHON
411e116cc6 feat(ui): update all deps except monaco editor
remove all warning
2022-12-21 17:47:23 +01:00
Ludovic DEHON
efd5e2c436 feat(ui): initial vue3 2022-12-21 17:47:23 +01:00
Ludovic DEHON
01df117785 feat(cicd): move to temurin 17 to avoid java compiler bug 2022-12-09 22:12:05 +01:00
Ludovic DEHON
18acec9bd9 feat(core): record import for java 17 compatibility 2022-12-09 18:13:47 +01:00
Ludovic DEHON
fea0e56715 chore(deps): update all java deps 2022-12-09 17:44:25 +01:00
Ludovic DEHON
a2b6578538 feat(kafka-runner): introduce async queue and send log async (#806) 2022-11-08 23:01:47 +01:00
Ludovic DEHON
8a574b96ff chore(jdbc): refactoring (#803) 2022-11-08 23:01:20 +01:00
Ludovic DEHON
8c401efe48 fix(core): missing try closing of runContext for temp file 2022-11-08 22:57:42 +01:00
Ludovic DEHON
a2e4aa38fb fix(cicd): missing plugins on full image 2022-11-04 15:58:45 +01:00
Ludovic DEHON
c8df7ea9c8 fix(ui): relative link import 2022-11-04 11:41:07 +01:00
Ludovic DEHON
4603417ffa fix(kafka-runner): don't wait too long if flow is not defined 2022-11-04 11:29:18 +01:00
Ludovic DEHON
0f1b1934cd feat(ui): restore a revision
close #762
2022-11-03 21:23:07 +01:00
Ludovic DEHON
abd35aa96a fix(ui): multiple edit task on logs when multiple attempts
close #779
2022-11-03 16:09:05 +01:00
Ludovic DEHON
9ccce78832 chore(version): update snapshot version 'v0.5.3-SNAPSHOT'. 2022-10-28 12:42:24 +02:00
Ludovic DEHON
c4c78d8724 chore(version): update to version 'v0.5.2'. 2022-10-28 12:42:13 +02:00
Ludovic DEHON
a78309a37f fix(cicd): allow failure on release action 2022-10-28 12:20:41 +02:00
Ludovic DEHON
8adf0f1880 chore(cicd): update github actions 2022-10-26 14:38:30 +02:00
Ludovic DEHON
4996317ff4 chore(cicd): update slack channel 2022-10-25 16:10:34 +02:00
Ludovic DEHON
cccb459c66 fix(jdbc): postgres queue is not using an index 2022-10-24 22:45:44 +02:00
Ludovic DEHON
2d97382d5d fix(core): declaring a volume binding overwrites default mount
close #801
2022-10-24 18:31:50 +02:00
Ludovic DEHON
7465de233f fix(ui): state filtering was not working 2022-10-21 15:08:59 +02:00
Nicolas Steinmetz
be88d52e1b fix(doc): invalid doc on Purge (#795) 2022-10-19 14:50:01 +02:00
Ludovic DEHON
0e6de928e2 feat(deps): update all java deps 2022-10-18 22:31:56 +02:00
Ludovic DEHON
9d5c09a024 fix(ui): TreeNode can failed without any outputs 2022-10-18 10:23:29 +02:00
Ludovic DEHON
150f4ff435 fix(webserver): micronaut don't handle properly namespace on stats controller 2022-10-18 10:23:06 +02:00
Ludovic DEHON
4bebfb449f feat(docker): add fivetran plugin 2022-10-14 15:36:24 +02:00
Fabien Ryckoort
53023eeeec feat(core): wait for an execution (#788)
close #785
2022-10-14 14:42:57 +02:00
Ludovic DEHON
c787f661b2 feat(docker): add airbyte plugin 2022-10-13 22:29:03 +02:00
Ludovic DEHON
ff1e91ec22 feat(core): allow setting device reuqest on docker execution 2022-10-13 16:25:36 +02:00
Ludovic DEHON
744b86e379 fix(kafka-runner): we always need to wait for the flow for new created flow 2022-10-12 20:42:16 +02:00
Ludovic DEHON
fd8405d7e0 chore(deps): update most js deps 2022-10-12 08:58:35 +02:00
Ludovic DEHON
e2fbcb2c5e fix(ui): prevent xss from log 2022-10-11 14:58:16 +02:00
Ludovic DEHON
3aa78cc302 feat(ui): display proper json on eval expression 2022-10-11 14:36:21 +02:00
Ludovic DEHON
1fefd14128 fix(ui): echoing an empty string in Bash plugin should show on logs
close #780
2022-10-11 11:24:45 +02:00
Ludovic DEHON
48130c95d6 fix(ui): missing input uri on run forms 2022-10-05 14:16:18 +02:00
Ludovic DEHON
2ed216abd1 fix(core): backfill don't handle properly timezone 2022-10-05 07:45:23 +02:00
Ludovic DEHON
3b7e8a5da3 feat(ui): add edit on logs tabs
close #754
2022-10-04 23:27:26 +02:00
Ludovic DEHON
1dac65693e fix(deps): let micronaut handle slf4j & logback version 2022-10-04 13:49:44 +02:00
Ludovic DEHON
a17d19ad16 chore(core): remove some compilation warning 2022-10-03 21:30:40 +02:00
Ludovic DEHON
fe0f2cf41a chore(deps): update most java deps 2022-10-03 10:40:40 +02:00
Ludovic DEHON
3334905d8c feat(core): add hierarchical inputs separated by dots
close #753
2022-10-02 21:18:35 +02:00
Ludovic DEHON
9df2050f13 feat(core): add URI as input type
close #758
2022-09-30 22:58:05 +02:00
Ludovic DEHON
6649a427de feat(tasks): handle inputFiles as a json string 2022-09-30 21:38:23 +02:00
Ludovic DEHON
46bb6618e2 fix(docker): build must fail for a missing plugins 2022-09-28 22:09:51 +02:00
Ludovic DEHON
394278bd04 chore(version): update snapshot version 'v0.5.2-SNAPSHOT'. 2022-09-26 11:57:39 +02:00
Ludovic DEHON
638695eafe chore(version): update to version 'v0.5.1'. 2022-09-26 11:57:29 +02:00
Ludovic DEHON
17b88873ff feat(cli): add a default value on api commands 2022-09-26 11:53:57 +02:00
Ludovic DEHON
64d1207569 feat(tasks): add a split storage task 2022-09-23 22:59:09 +02:00
Ludovic DEHON
b2a66c4a87 feat(tasks): allow concat to have a dynamic number of files 2022-09-22 18:48:10 +02:00
Ludovic DEHON
8194a7bc6d feat(core): allow to use a custom timezone on schedule (#746) 2022-09-22 09:05:22 +02:00
Ludovic DEHON
91c3a179cf fix(jdbc): remove a plugins can lead to stop of executor
close #608
2022-09-21 14:12:34 +02:00
Ludovic DEHON
2e0e6ce446 fix(kafka-runner): remove a plugins can lead to stop of executor
related to #608
2022-09-21 14:12:34 +02:00
Ludovic DEHON
83727090e2 feat(core): add a purge task (#742)
close #737
2022-09-20 13:55:01 +02:00
Ludovic DEHON
59f990b2e1 fix(core): missing template freeze the executor
close #588
2022-09-20 13:01:41 +02:00
Ludovic DEHON
61d2088170 fix(ui): multiple select with too many values are not removable 2022-09-19 14:47:17 +02:00
Ludovic DEHON
2202dab300 fix(ui): dailyGroupByFlowStatistics is not filtered correctly
we keep all lucene query in the front office
2022-09-19 13:00:45 +02:00
Ludovic DEHON
c78f7731d0 fix(ui): wrong import with @ 2022-09-14 11:23:53 +02:00
Ludovic DEHON
ca8b96defb feat(tasks): add some example for bash tasks 2022-09-13 12:34:37 +02:00
Ludovic DEHON
2f4d59d902 feat(ui): warn user than delete a running execution will not stop the running tasks
close #726
2022-09-12 17:13:33 +02:00
Ludovic DEHON
2ac32c83a1 fix(jdbc): jdbc runner don't purge schedule trigger when you update the flow
close #731
2022-09-12 16:03:16 +02:00
YannC
a19b707e35 feat(core): add description to template (#735)
close #721

Co-authored-by: yann <yann.coornart@ext.leroymerlin.fr>
Co-authored-by: Ludovic DEHON <tchiot.ludo@gmail.com>
2022-09-09 23:03:43 +02:00
Ludovic DEHON
0aaa275b1b chore(docs): invalid examples 2022-09-08 11:34:47 +02:00
Ludovic DEHON
ddbfb1529a feat(docker): introduce DuckDb plugin 2022-09-08 00:31:54 +02:00
Ludovic DEHON
27c632d269 feat(tasks): add an option to disabled venv on Python 2022-09-02 11:39:54 +02:00
Ludovic DEHON
db9dc814df fix(jdbc): don't send execution on queue from executor
by default, the queue will index the execution on its table and will overwrite the lock from the executor that already save it.
2022-09-01 11:06:22 +02:00
Ludovic DEHON
1782eca1fc fix(core): deleting an execution will still blocked the scheduler
close #715
2022-08-31 21:52:08 +02:00
Ludovic DEHON
2671e5f885 fix(jdbc): exectorstate is clean to early that lead to duplicate execution 2022-08-31 21:35:05 +02:00
Ludovic DEHON
7a8ac61af8 fix(jdbc): missing filter on daily statistics for namespace and flow 2022-08-31 18:18:24 +02:00
Ludovic DEHON
3cbbc87115 feat(cicd): don't flag release as pre release 2022-08-30 10:32:27 +02:00
Ludovic DEHON
f1b19603ae chore(version): update snapshot version 'v0.5.1-SNAPSHOT'. 2022-08-30 09:46:50 +02:00
Ludovic DEHON
af5584b491 chore(version): update to version 'v0.5.0'. 2022-08-30 09:46:33 +02:00
Ludovic DEHON
7bdc40c116 chore(deps): update micronaut 2022-08-29 22:13:53 +02:00
Ludovic DEHON
dbfe207da0 feat(core): handle core test included from jar 2022-08-29 20:52:28 +02:00
Ludovic DEHON
078145e613 chore(deps): update some java deps 2022-08-29 20:46:23 +02:00
Ludovic DEHON
639e7e7f01 feat(cicd): build in parallel 2022-08-29 20:42:13 +02:00
Ludovic DEHON
80122f5f79 feat(tasks): add an outputDirs on Bash files
close #703
2022-08-23 23:24:22 +02:00
Ludovic DEHON
061532ec4d chore(deps): update most deps 2022-08-23 21:44:10 +02:00
Ludovic DEHON
3f661b0846 feat(docker): move base image to adoptium
close #691
2022-08-19 18:35:02 +02:00
Ludovic DEHON
d60962fef3 fix(ui): colors on disabled state on v-select 2022-08-19 18:09:40 +02:00
Ludovic DEHON
64e9001dc6 feat(core): add a pullImage for docker bash runner 2022-08-19 16:24:09 +02:00
Ludovic DEHON
8fd23edf97 feat(docker): introduce Pulsar plugin 2022-08-18 19:37:12 +02:00
Ludovic DEHON
bced8a503a feat(docker): introduce Apache pinot plugin 2022-08-17 17:18:18 +02:00
Ludovic DEHON
65c14fc71d feat(docker): introduce Rockset plugin 2022-08-17 09:07:05 +02:00
Ludovic DEHON
fb843ce9e2 feat(docker): add trino plugin 2022-08-12 18:56:37 +02:00
Ludovic DEHON
eaa07aa2f3 feat(ui): add a news feeds 2022-08-12 08:55:29 +02:00
Ludovic DEHON
73168c47a8 feat(core): add a setting model and repository 2022-08-10 23:16:53 +02:00
Ludovic DEHON
3514b9e2e1 fix(repository-elasticsearch): healthcheck failed on AWS OpenSearch
close #680
2022-08-09 18:04:20 +02:00
Ludovic DEHON
533cc92546 feat(core): pause is considered as running and prevent change status
close #684
2022-08-09 18:00:21 +02:00
Ludovic DEHON
87af8938fe feat(core): allow deletion of an execution
close #679
2022-08-09 17:53:16 +02:00
Ludovic DEHON
692bcff2e0 fix(jdbc): missing quoted on deleted queues 2022-08-05 14:43:20 +02:00
Ludovic DEHON
48b72f0625 fix(jdbc): restore metric on jdbc queries 2022-08-04 22:12:30 +02:00
Ludovic DEHON
79653c56e4 fix(core): flow can be null, and we can know if it can be purged 2022-08-04 22:06:04 +02:00
Ludovic DEHON
96ac4cf5be fix(jdbc): better handle deadlock
Avoid nested transaction will reduce the deadlock on database (queue transaction then executor transaction).
2022-08-04 22:04:19 +02:00
Ludovic DEHON
d6f826d778 fix(jdbc): deduplicate worker tasks execution 2022-08-04 14:53:17 +02:00
Ludovic DEHON
aeb04d360d feat(cicd): allow to skip test on workflow dispatch 2022-08-03 09:06:00 +02:00
Ludovic DEHON
dc40a615eb feat(core): State task isolation per namespace
close #544
2022-08-02 17:50:46 +02:00
Ludovic DEHON
41a4fdf792 fix(core): unique task id is validated on nested flowable
close #473
2022-08-02 15:40:36 +02:00
Ludovic DEHON
1ac584b03e feat(ui): add copy button to clone a flow
close #460
2022-08-02 15:17:24 +02:00
Ludovic DEHON
b42d4013ac feat(ui): add bottom-bar to execute on each flows page 2022-08-02 14:59:02 +02:00
Ludovic DEHON
f51d4d216e fix(core): autodetect unix socket path for the docker runner
close #601
2022-08-02 13:05:54 +02:00
Ludovic DEHON
5a565bf316 fix(core): restarted & retry execution don't display log in realtime
close #573
2022-08-02 12:53:07 +02:00
Ludovic DEHON
3e999cfadf feat(core): support for nickname on schedule
close #614
2022-08-01 22:46:31 +02:00
Ludovic DEHON
00078ac1d9 chore(deps): update most js deps 2022-08-01 17:49:08 +02:00
Ludovic DEHON
d7ddbb157b chore(deps): update all java deps 2022-08-01 16:39:58 +02:00
Ludovic DEHON
df2ec8ae52 feat(ui): add a eval expression on outputs 2022-08-01 15:47:05 +02:00
Meng Zhuo
5a259fd6db fix(ui): fix extra / on theme link (#661)
close #660
2022-07-26 22:44:14 +02:00
Ludovic DEHON
df6aa29fcc fix(ui): fix hotreload and warning 2022-07-08 21:57:43 +02:00
Ludovic DEHON
dfe85559ad chore(docs): fix nodejs example 2022-07-07 22:30:07 +02:00
Ludovic DEHON
bbe64f3777 feat(docker): add servicenow plugin 2022-07-07 17:42:45 +02:00
Ludovic DEHON
cdaafb37c1 chore(docs): add missing plugins on readme 2022-07-06 20:32:47 +02:00
Ludovic DEHON
9b26f40ad3 feat(docker): add powerbi plugin 2022-07-06 16:55:04 +02:00
Ludovic DEHON
26ba57e092 fix(core): each can be blocked if there is a warning state 2022-07-06 15:25:38 +02:00
Ludovic DEHON
0d3de92fc1 fix(core): plugins validation failed with micronaut update 2022-07-06 07:58:26 +02:00
Ludovic DEHON
34b34e5caa chore(deps): update most js package 2022-07-05 21:52:14 +02:00
dependabot[bot]
d760c34876 chore(deps): bump actions/setup-python from 3 to 4
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-05 07:58:31 +02:00
Ludovic DEHON
d9f02017a5 feat(ui): update to vue-cli v5 2022-07-04 22:13:59 +02:00
Ludovic DEHON
aec0bb8f2d feat(ui): add some missing input type
close #610
2022-07-04 13:41:06 +02:00
Ludovic DEHON
f305477096 feat(repository-elasticsearch): add a raw delete query 2022-07-04 11:27:16 +02:00
Ludovic DEHON
2e32fce598 fix(core): PurgeExecution tasks failed if there is no storage usage
close #518
2022-07-03 22:43:56 +02:00
Ludovic DEHON
ce8e17722b feat(core): add some missing input type
close #610
2022-07-03 22:43:56 +02:00
Ludovic DEHON
5064ebec9c fix(jdbc): fix namespace & flow filter on logs 2022-07-01 23:03:29 +02:00
Ludovic DEHON
aa6e986042 feat(docker): add tika plugin 2022-06-30 22:01:08 +02:00
Ludovic DEHON
22ace4d7e9 feat(docker): add soda plugin 2022-06-29 07:58:24 +02:00
Ludovic DEHON
c9d5f249b0 feat(core): refactor variable renderer to support List of Map 2022-06-28 18:22:12 +02:00
Ludovic DEHON
3b4b3e0300 chore(deps): update java deps 2022-06-27 12:34:47 +02:00
aliczin
8d1363a03a fix(ui): translate ui revisions diff type (#631) 2022-06-26 19:46:51 +02:00
Yuri Lima
7f2cdf50bf fix(docker): docker-compose error role "root" does not exist (#629)
close #628
2022-06-24 22:05:00 +02:00
Ludovic DEHON
5fb86dd189 fix(jdbc): fix template repository
close #630
2022-06-24 21:20:48 +02:00
Ludovic DEHON
35cfea0abc feat(webserver): log all 5xx error with accesslog 2022-06-24 10:23:18 +02:00
Ludovic DEHON
4a61af45d6 fix(kafka-runner): restart & change status of an execution don't launch depending flows
close #607
2022-06-23 17:10:46 +02:00
Ludovic DEHON
c4d6cca581 fix(ui): execute on source is not visible 2022-06-23 16:16:03 +02:00
Ludovic DEHON
a05dfa5345 chore(deps): update to micronaut 3.5.2
relate to micronaut-projects/micronaut-core#7594
2022-06-23 11:10:19 +02:00
Ludovic DEHON
e33c3b7f00 fix(jdbc): cast properly state 2022-06-22 22:50:39 +02:00
Ludovic DEHON
ae5007c293 fix(docker): wrong kestra port again on compose 2022-06-22 13:20:08 +02:00
Ludovic DEHON
d87a83c6c2 fix(repository-elasticsearch): use a mapping for labels compatible with opensearch 2022-06-22 12:05:52 +02:00
Ludovic DEHON
8a17519b5b chore(version): update snapshot version 'v0.5.0-SNAPSHOT'. 2022-06-21 09:26:52 +02:00
Ludovic DEHON
0886e50d7f chore(version): update to version 'v0.5.0-BETA'. 2022-06-21 09:26:29 +02:00
Ludovic DEHON
0852077a55 feat(docker): change docker-compose with postgres version 2022-06-20 21:18:43 +02:00
Ludovic DEHON
1fd92871ec chore(docs): change slack link 2022-06-20 09:57:58 +02:00
Ludovic DEHON
ec00bf7618 feat(core): add metrics for some configurations 2022-06-20 09:13:58 +02:00
Ludovic DEHON
4526b1378b chore(deps): update all java deps except micronaut & kafka
see https://github.com/micronaut-projects/micronaut-core/issues/7594
2022-06-19 22:49:02 +02:00
Nicolas Steinmetz
df6348ad21 chore(dev): init gitpod support 2022-06-17 21:33:32 +02:00
Nicolas Steinmetz
0a85914e3f feat(docker): replace wait-for-it by healthcheck 2022-06-17 21:33:32 +02:00
Ludovic DEHON
0bc948544e feat(core): add labels on flows 2022-06-17 18:18:22 +02:00
Ludovic DEHON
55e5768bc4 feat(cli): add a server local command to start in h2 local database 2022-06-17 10:43:52 +02:00
Ludovic DEHON
dd0127cdb2 chore(jdbc): refactor jdbc 2022-06-17 10:43:52 +02:00
Ludovic DEHON
293213459e feat(jdbc): hide taskrun menus on jdbc 2022-06-17 10:43:52 +02:00
Ludovic DEHON
8a3bae4e00 feat(jdbc): add metrics & logs to sql query 2022-06-17 10:43:52 +02:00
Ludovic DEHON
746bcbd4b4 feat(jdbc): refactor queue to use jooq 2022-06-17 10:43:52 +02:00
Ludovic DEHON
06337f5b2c feat(jdbc): introduce h2 in memory runner 2022-06-17 10:43:52 +02:00
Ludovic DEHON
698089924b feat(jdbc): cleanup queue and executor state 2022-06-17 10:43:52 +02:00
Ludovic DEHON
62fabd69eb feat(jdbc): optimize index and queue poll interval 2022-06-17 10:43:52 +02:00
Ludovic DEHON
ed7cab823f feat(jdbc): adapt scheduler for jdbc 2022-06-17 10:43:52 +02:00
Ludovic DEHON
89f6bc2074 feat(jdbc): handle deadlock retry 2022-06-17 10:43:52 +02:00
Ludovic DEHON
63aab8f3fd feat(jdbc): add support for executor delayed 2022-06-17 10:43:52 +02:00
Ludovic DEHON
98f529a611 feat(jdbc): fix taskruns search 2022-06-17 10:43:52 +02:00
Ludovic DEHON
eb8868143b feat(jdbc): adapt ui to remove lucene expression 2022-06-17 10:43:52 +02:00
Ludovic DEHON
6ea7118fdf feat(jdbc): first implementation of jdbc runner 2022-06-17 10:43:52 +02:00
Ludovic DEHON
8b3fcbd363 feat(jdbc): implementation of log repository 2022-06-17 10:43:52 +02:00
Ludovic DEHON
6daa39ae12 fix(jdbc): MultipleConditionStorage expiration is too early 2022-06-17 10:43:52 +02:00
Ludovic DEHON
d308d51016 feat(jdbc): implementation of WorkerTaskExecutionStorage 2022-06-17 10:43:52 +02:00
Ludovic DEHON
521ddde467 feat(jdbc): implementation of MultipleConditionStorage 2022-06-17 10:43:52 +02:00
Ludovic DEHON
334f8953d6 feat(jdbc): implementation of FlowListeners 2022-06-17 10:43:52 +02:00
Ludovic DEHON
94aaad9b29 feat(jdbc): implementation of log repository 2022-06-17 10:43:52 +02:00
Ludovic DEHON
7e16b718be feat(jdbc): implementation of trigger repository 2022-06-17 10:43:52 +02:00
Ludovic DEHON
454a603ff7 feat(jdbc): first implementation of mysql & postgres queue 2022-06-17 10:43:52 +02:00
tchiotludo
1875f08634 feat(jdbc): first implementation of mysql & postgres repository 2022-06-17 10:43:52 +02:00
Ludovic DEHON
3c54029195 feat(core): JqFilter with better strong typing 2022-06-15 13:34:47 +02:00
Ludovic DEHON
1b7227aa2e feat(core): add a className & Number pebble filter 2022-06-09 20:33:34 +02:00
Ludovic DEHON
69a63191a6 chore(version): update snapshot version 'v0.4.8-SNAPSHOT'. 2022-06-08 10:24:43 +02:00
Ludovic DEHON
9676675916 chore(version): update to version 'v0.4.7'. 2022-06-08 10:24:13 +02:00
Ludovic DEHON
40efdcb4e0 feat(core): support LocalDate & LocalDateTime on pebble date 2022-06-02 16:29:17 +02:00
Ludovic DEHON
18ccc98581 feat(task): allow to use system-site-packages for python venv creation
close #615
2022-05-26 22:39:18 +02:00
Ludovic DEHON
8e60a0db6c chore(docs): move community to slack 2022-05-13 23:09:07 +02:00
Ludovic DEHON
c911f7dcf7 fix(ui): search with no result on flow raise an error 2022-05-13 22:59:31 +02:00
Ludovic DEHON
ce9d32d11a fix(core): end event in sse controller is never send 2022-05-13 15:08:04 +02:00
dependabot[bot]
bd49a53e07 chore(deps): bump mockito-junit-jupiter from 4.4.0 to 4.5.1
Bumps [mockito-junit-jupiter](https://github.com/mockito/mockito) from 4.4.0 to 4.5.1.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.4.0...v4.5.1)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-12 08:06:52 +02:00
dependabot[bot]
1c768f9aaa chore(deps): bump github/codeql-action from 1 to 2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-12 08:06:28 +02:00
dependabot[bot]
1f815ef359 chore(deps): bump docker/setup-buildx-action from 1 to 2
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1 to 2.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-12 08:05:57 +02:00
dependabot[bot]
b4453cbf13 chore(deps): bump docker/build-push-action from 2 to 3
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2 to 3.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-12 08:05:39 +02:00
dependabot[bot]
a97ef6bf41 chore(deps): bump docker/setup-qemu-action from 1 to 2
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 1 to 2.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-12 08:05:20 +02:00
dependabot[bot]
2940885acf chore(deps): bump docker/login-action from 1 to 2
Bumps [docker/login-action](https://github.com/docker/login-action) from 1 to 2.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-12 08:05:06 +02:00
dependabot[bot]
90e91d5337 chore(deps): bump org.gradle.test-retry from 1.3.1 to 1.4.0
Bumps org.gradle.test-retry from 1.3.1 to 1.4.0.

---
updated-dependencies:
- dependency-name: org.gradle.test-retry
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-12 08:04:44 +02:00
Ludovic DEHON
870ae257e2 fix(docker): missing venv package for python on full image 2022-05-09 16:27:38 +02:00
Ludovic DEHON
b69705c8f8 feat(core): add a lateMaximumDelay on Schedule to skip late executions 2022-05-06 12:25:05 +02:00
Ludovic DEHON
83439ad78d chore(version): update snapshot version 'v0.4.7-SNAPSHOT'. 2022-05-05 11:43:37 +02:00
Ludovic DEHON
8cec35ff1f chore(version): update to version 'v0.4.6'. 2022-05-05 11:43:25 +02:00
Ludovic DEHON
a2a141acdc fix(ui): fix stats controller 2022-05-05 11:40:41 +02:00
Ludovic DEHON
c8ebd08c2c chore(version): update snapshot version 'v0.4.6-SNAPSHOT'. 2022-05-05 09:48:04 +02:00
Ludovic DEHON
316bf5a552 chore(version): update to version 'v0.4.5'. 2022-05-05 09:47:54 +02:00
Ludovic DEHON
6929bc850a feat(tasks): add an dockerOptions.volumes on bash tasks
close #589
2022-05-04 22:04:10 +02:00
Ludovic DEHON
c36610fa68 fix(kafka-runner): wrong logger for KafkaStreamService 2022-05-04 13:02:03 +02:00
Ludovic DEHON
ed86d0d24d fix(core): too many metrics are created with trigger_id that overflow metrics server 2022-05-04 11:32:28 +02:00
Ludovic DEHON
1bdc921562 feat(webserver): generate a proper swagger specs 2022-05-03 21:51:07 +02:00
Ludovic DEHON
fc76401d5b fix(ui): show tasks logs on topology execution can open 2 side popup
close #559
2022-04-29 22:40:21 +02:00
Ludovic DEHON
3111f38991 feat(kafka-runner): add a metric on kafka stream state 2022-04-29 16:51:03 +02:00
Ludovic DEHON
c5e81db2d1 fix(core): too many metrics are created with task_id that overflow metrics server 2022-04-29 15:06:00 +02:00
Ludovic DEHON
7fe8adb26f fix(docker): missing python-is-python3 2022-04-29 10:53:46 +02:00
Ludovic DEHON
6ddcb9a41a fix(core): don't setup globals in configuration
since we set up with {}, it can't be overridden during configuration
2022-04-28 17:02:49 +02:00
Ludovic DEHON
f1e77b6201 chore(version): update snapshot version 'v0.4.5-SNAPSHOT'. 2022-04-28 10:04:44 +02:00
Ludovic DEHON
2863d038b7 chore(version): update to version 'v0.4.4'. 2022-04-28 10:04:34 +02:00
Ludovic DEHON
7da73d9517 feat(docker): use root docker for docker-compose example
close #575
2022-04-26 22:47:52 +02:00
Ludovic DEHON
6c89adc080 feat(docker): add azure storage plugin 2022-04-25 21:15:21 +02:00
Ludovic DEHON
632150b9a2 feat(docker): add azure plugin 2022-04-25 18:39:36 +02:00
Ludovic DEHON
c0bc034c4c feat(core): use map for globals vars 2022-04-24 22:58:53 +02:00
Ludovic DEHON
ed05baae0b feat(docker): unroot docker image 2022-04-22 07:27:48 +02:00
Ludovic DEHON
ea41b44432 fix(docker): clean up tmp directory on plugin download 2022-04-21 22:24:19 +02:00
Ludovic DEHON
972181cf96 fix(docker): latest-full image don't contain plugins 2022-04-21 21:32:21 +02:00
Ludovic DEHON
b3a74d1d8b fix(ui): execute must not pop calendar input
close #367

Co-authored-by: EmmanuelDarras <edarras@kestra.io>
2022-04-19 18:50:08 +02:00
Ludovic DEHON
460dbd53c9 feat(ui): add link to flow & executions on LogsList
close #445

Co-authored-by: EmmanuelDarras <edarras@kestra.io>
2022-04-19 18:39:41 +02:00
Ludovic DEHON
cbce186bd2 feat(core): disabled flags on a flow or a trigger
close #564
2022-04-19 17:15:37 +02:00
Ludovic DEHON
880efb8ca0 feat(docker): add mqtt plugin 2022-04-19 11:41:56 +02:00
yuri
8c8a3c7181 fix(readme) Discord server link (#562)
For some reason the bottom link pointed to the NocoDB (https://www.nocodb.com/) Discord server.
2022-04-18 14:03:34 +02:00
Ludovic DEHON
5020fd20dd chore(core): fix some compilation warnings 2022-04-15 07:47:58 +02:00
Ludovic DEHON
b1b959aefc feat(docker): add cassandra plugins 2022-04-13 22:31:22 +02:00
Ludovic DEHON
96a3153a24 chore(deps): update most js deps 2022-04-12 21:37:36 +02:00
Ludovic DEHON
dd04ea3e93 chore(deps): update github action 2022-04-12 20:59:03 +02:00
Ludovic DEHON
b43480d9cb feat(docker): add dbt plugins 2022-04-12 20:13:36 +02:00
Ludovic DEHON
95c863f534 feat(core): introduce DynamicTask for dynamic task generation for a worker task 2022-04-12 17:11:56 +02:00
Ludovic DEHON
487f2a421f feat(core): add a Worker task to keep filesystem between different task 2022-04-12 17:11:56 +02:00
Ludovic DEHON
9d7286140b feat(docker): add plugin-debezium-sqlserver 2022-04-12 12:46:01 +02:00
Ludovic DEHON
715d8f5501 feat(ui): add some documentation links on side menu 2022-04-11 15:42:29 +02:00
Ludovic DEHON
b2b0bbfc52 feat(core): add a delay on Pause task in order to restart automatically after some delay (#549)
close #542
2022-04-11 13:50:06 +02:00
Ludovic DEHON
a481bdd1cb chore(version): update snapshot version 'v0.4.4-SNAPSHOT'. 2022-04-07 10:53:48 +02:00
Ludovic DEHON
5e5cb9d7e2 chore(version): update to version 'v0.4.3'. 2022-04-07 10:53:40 +02:00
Ludovic DEHON
b71923ba60 feat(docker): add spark plugin
Co-authored-by: AlexMilletBassez <49277282+AlexMilletBassez@users.noreply.github.com>
2022-04-05 15:39:20 +02:00
Ludovic DEHON
ddec82527d feat(task): allow docker configuration of network mode
Co-authored-by: tdenimal <thomas.denimal@gmail.com>
2022-04-05 15:01:12 +02:00
Ludovic DEHON
3a08b1d5f8 chore(core): don't report examples flows 2022-04-03 22:01:18 +02:00
Ludovic DEHON
8e19e344f3 fix(ui): fold multiline translations are not clear
close #531
2022-04-03 20:43:12 +02:00
Ludovic DEHON
f1aa6fa083 chore(docs): add more information on CONTRIBUTING.md
close #530
2022-04-03 20:39:21 +02:00
Ludovic DEHON
bd3db0c8a8 feat(cli): add a worker-thread options on standalone command 2022-04-02 22:21:02 +02:00
François Delbrayelle
f35e95f42c fix(docs): typo in contributing.md (#529) 2022-04-02 21:50:33 +02:00
Ludovic DEHON
e4ac681965 fix(docker): invalid docker port
close #528
2022-04-02 16:10:34 +02:00
Muhammad Vaid
fb18001fb0 chore(core): README typo (#527) 2022-03-31 23:24:12 +02:00
Ludovic DEHON
1bd6b0eb15 chore(deps): update all java deps 2022-03-31 18:42:16 +02:00
Ludovic DEHON
04219ee125 feat(docker): add snowflake plugins 2022-03-30 22:57:49 +02:00
Ludovic DEHON
2972e4319b feat(docker): add debezium plugins 2022-03-28 22:50:23 +02:00
Ludovic DEHON
a70dc149b3 fix(core): allow runContext state for trigger 2022-03-28 21:17:05 +02:00
Ludovic DEHON
0f7196417e fix(core): prevent error for simple duration format 2022-03-16 10:48:16 +01:00
Ludovic DEHON
a697274e3f feat(ui): display color on log 2022-03-14 21:43:00 +01:00
Ludovic DEHON
4b29949a2b feat(cicd): build docker & maven in parallel 2022-03-14 17:44:05 +01:00
Ludovic DEHON
bdfdfa43d3 feat(tasks): add state task to save value between executions 2022-03-13 20:52:18 +01:00
Ludovic DEHON
efebe20861 chore(version): update snapshot version 'v0.4.3-SNAPSHOT'. 2022-03-11 10:24:08 +01:00
Ludovic DEHON
ba9ac34a34 chore(version): update to version 'v0.4.2'. 2022-03-11 10:23:57 +01:00
Ludovic DEHON
51508c2db5 fix(core): max thread on worker is not respected 2022-03-11 10:22:42 +01:00
Ludovic DEHON
f31db1485a chore(docker): fix kestra port 2022-03-10 20:42:46 +01:00
Ludovic DEHON
6fcd2885c7 chore(version): update snapshot version 'v0.4.2-SNAPSHOT'. 2022-03-10 11:25:18 +01:00
Ludovic DEHON
754942bf60 chore(version): update to version 'v0.4.1'. 2022-03-10 11:25:04 +01:00
Ludovic DEHON
1fbfe73f7f fix(core): disable CollectorScheduler if not a server 2022-03-10 10:45:48 +01:00
Ludovic DEHON
e8f376fccb feat(ui): add a click on all state charts 2022-03-10 10:12:17 +01:00
Ludovic DEHON
61b9699586 fix(core): try to fix flaky test 2022-03-08 22:48:10 +01:00
Ludovic DEHON
91e2f5ac25 feat(docker): load some examples flow on docker-compose startup 2022-03-08 18:52:47 +01:00
Ludovic DEHON
054bf239c3 fix(ui): wrong link on flow list 2022-03-08 18:24:03 +01:00
Ludovic DEHON
125660ba53 fix(ui): duration for topology are not displayed 2022-03-08 18:22:52 +01:00
Ludovic DEHON
aa0fb91149 chore(deps): update deps 2022-03-02 08:06:51 +01:00
Ludovic DEHON
a01540a172 fix(core): use a cached thread pool for worker to reduce memory usage 2022-03-02 07:31:26 +01:00
Ludovic DEHON
18f297365e chore(docs): fix readme contributing link 2022-03-02 07:31:00 +01:00
Ludovic DEHON
82e64c5226 chore(cli): named shutdown thread 2022-03-01 22:29:04 +01:00
Ludovic DEHON
e164927864 fix(docker): wrong docker compose entrypoint 2022-03-01 22:15:46 +01:00
Ludovic DEHON
796bf204cf chore(docker): try a better startup process with docker-compose 2022-02-28 14:33:31 +01:00
Ludovic DEHON
7ef9173e62 fix(ui): flow > logs keep proper title 2022-02-24 11:47:24 +01:00
Ludovic DEHON
4933c2b981 feat(docker): add sqlserver plugin 2022-02-23 23:18:03 +01:00
Ludovic DEHON
7120872728 fix(kafka-runner): handle flow with multiple trigger that trigger multiple times next flow 2022-02-23 16:22:43 +01:00
Ludovic DEHON
53d2f1b395 chore(deps): update java deps 2022-02-22 22:41:38 +01:00
Ludovic DEHON
24083fbbce chore(version): update snapshot version 'v0.4.1-SNAPSHOT'. 2022-02-22 10:45:26 +01:00
Ludovic DEHON
3ed2e13ee1 chore(version): update to version 'v0.4.0'. 2022-02-22 10:45:16 +01:00
Ludovic DEHON
ee6004e39d feat(cicd): create a release on tag 2022-02-22 10:38:03 +01:00
Ludovic DEHON
d8763de611 fix(core): fix namespace collector stats 2022-02-20 21:00:18 +01:00
Ludovic DEHON
6b23cc1283 fix(kafka-runner): prevent first startup error on topic creation 2022-02-18 18:43:09 +01:00
Ludovic DEHON
3b83ef7591 chore(ui): refactor flow Edit 2022-02-18 17:12:02 +01:00
Ludovic DEHON
cd45aa0a99 chore(core): make public access on allTasksWithChilds 2022-02-18 13:37:43 +01:00
Ludovic DEHON
561ab18466 feat(ui): refactor TopologyTree to remove deps from portal-vue 2022-02-17 07:34:46 +01:00
Ludovic DEHON
f636301e13 fix(core): Schedule with scheduleCondition was never triggered after first trigger 2022-02-15 18:24:37 +01:00
Ludovic DEHON
604f98b3fa feat(docker): add arm64 support 2022-02-15 11:57:21 +01:00
Ludovic DEHON
92a856fa5b fix(kafka-runner): only keep last flow version in memory and use store to get older version 2022-02-15 10:55:37 +01:00
Ludovic DEHON
004e08aaa1 feat(core): variable with date support for predefined string and type in existingFormat 2022-02-15 08:07:03 +01:00
Ludovic DEHON
850c3307e8 fix(core): add timestamp as a valid date of variable renderer 2022-02-14 22:12:58 +01:00
Ludovic DEHON
de0a056302 fix(docker): fix usage of docker on docker-compose 2022-02-14 21:02:16 +01:00
Ludovic DEHON
4fc47d774b fix(core): collector host.uuid was filtering wrong values 2022-02-11 21:47:44 +01:00
Ludovic DEHON
77e936707f chore(tests): fix falling test 2022-02-11 13:30:50 +01:00
Ludovic DEHON
f879df4b5e fix(kafka-runner): add a Await on FlowJoinerTransformer
if the flow is already fetch, this crashed the executor since before we are sending null values
2022-02-10 16:20:32 +01:00
Ludovic DEHON
4fb6507e6b fix(core): loading template to early can lead to infinite wait startup on standalone
since the FlowRepository need KafkaTemplateExecutor and it's not started when injecting flow
2022-02-10 16:19:35 +01:00
Ludovic DEHON
adca9c77cc feat(kafka-runner): used an in memory storage for flow & template (#467)
to avoid performance issue on deserialization from rockdb
2022-02-10 10:04:28 +01:00
Ludovic DEHON
2920d54921 chore(kafka-runner): refactor the SafeKeyValueStore to handle prefixScan 2022-02-08 13:18:06 +01:00
Ludovic DEHON
a7ae312325 fix(core): don't report plugin usage if no plugins loaded 2022-02-08 13:17:11 +01:00
Ludovic DEHON
06896b8e5a fix(cli): restore-queue try to send invalid flow to queue 2022-02-08 13:16:49 +01:00
Ludovic DEHON
0b31a59102 fix(ui): ctrl+s was not working anymore 2022-02-07 17:30:22 +01:00
Ludovic DEHON
8b015878b6 chore(ui): remove deprecated sass division 2022-02-06 20:54:55 +01:00
Ludovic DEHON
e525e14d14 chore(deps): update monaco editor 2022-02-05 22:42:41 +01:00
Ludovic DEHON
a8bced96c7 feat(ui): move to sass node package 2022-02-05 22:02:21 +01:00
Ludovic DEHON
057e73a28a chore(deps): update some js package 2022-02-05 21:39:31 +01:00
Ludovic DEHON
5e1e6df56d feat(ui): update cytoscape and change dom node 2022-02-05 21:26:56 +01:00
Ludovic DEHON
39d2b32649 fix(core): flow listeners injection by blocked the startup, use a run 2022-02-04 22:44:36 +01:00
Ludovic DEHON
30ff6acb6e feat(kafka-runner): scheduler could recreate deleted trigger during race condition (#457) 2022-02-04 14:56:51 +01:00
Ludovic DEHON
cba08932c9 feat(core): add a keys peeble filters 2022-02-03 11:24:54 +01:00
Ludovic DEHON
7f36cb9924 feat(kafka-runner): add consumer on GlobalStateProcessor to be notified about every change 2022-02-03 10:52:10 +01:00
Ludovic DEHON
cc0bba2a54 fix(tasks): Python buffered log by default so we force unbuffer to have all logs
relate to #456
2022-02-02 18:04:36 +01:00
Ludovic DEHON
c2872084b1 fix(docker): fix compose dependencies version 2022-02-01 20:52:07 +01:00
Ludovic DEHON
e660ed843e feat(kafka-runner): create state dir early to avoid concurrent access 2022-01-31 18:46:29 +01:00
Ludovic DEHON
2c11418d43 chore(docker): add kafka plugins 2022-01-31 18:45:58 +01:00
Ludovic DEHON
9fc78595c8 feat(repository-elasticsearch): add metrics from elasticsearch client 2022-01-28 13:12:39 +01:00
Ludovic DEHON
95d2b2d6ad feat(kafka-runner): create multiple stream thread to separate load (#452) 2022-01-28 10:27:49 +01:00
Ludovic DEHON
8673accad6 feat(core): add a retry on storage interface 2022-01-26 21:43:38 +01:00
Ludovic DEHON
0b0e8def0f fix(core): state file must be named to be easily use on different task from the same flow 2022-01-24 11:36:36 +01:00
Ludovic DEHON
5675a3fcfc fix(core): provide default value for variable configuration
mostly for unit test
2022-01-21 21:03:14 +01:00
Ludovic DEHON
00ce27d021 feat(runner-kafka): performance optimization of KafkaFlowListeners
store is fetch by scheduler every second, reading fom rocksdb and deserialize all flows, keep a cache in memory
2022-01-21 18:54:32 +01:00
Ludovic DEHON
9bd50b964b feat(core): add a default lru cache on pebble template 2022-01-21 18:48:19 +01:00
Ludovic DEHON
79bcc338af chore(refactor): add some helpers tools 2022-01-21 09:58:36 +01:00
Ludovic DEHON
4ee56643f9 fix(ui): remove table window scrollbar 2022-01-20 22:02:03 +01:00
Ludovic DEHON
eb410908e6 fix(kafka-runner): missing server-type condition for scheduler in order to monitor their stream 2022-01-19 17:04:17 +01:00
Ludovic DEHON
4a956299b5 chore(version): update snapshot version 'v0.3.3-SNAPSHOT'. 2022-01-19 10:54:22 +01:00
Ludovic DEHON
e5aa680a02 chore(version): update to version 'v0.3.2'. 2022-01-19 10:54:13 +01:00
Ludovic DEHON
2b74649d6b feat(webserver): add a configuration to inject some meta head on application 2022-01-17 10:28:40 +01:00
Ludovic DEHON
7eb375b0f2 fix(core): disable elaticsearch warning because of incompatibility with opensearch ...
This war will be really complicated
2022-01-14 22:40:06 +01:00
Ludovic DEHON
8bacf69d33 feat(cicd): add jdbc-vectorwise plugins 2022-01-14 14:27:01 +01:00
Ludovic DEHON
e2a473e5f6 chore(deps): update all deps 2022-01-14 12:25:19 +01:00
Ludovic DEHON
fc8aff6f23 fix(ui): invalid duration on flow charts 2022-01-13 22:00:29 +01:00
Ludovic DEHON
34ca75edd7 fix(core): missing description on doc markdown header 2022-01-13 21:56:02 +01:00
Ludovic DEHON
ec738a8eed fix(tasks): warningOnStdErr on Bash task don't work if false 2022-01-12 15:01:30 +01:00
Ludovic DEHON
bf5fa41d2c chore(version): update snapshot version 'v0.3.2-SNAPSHOT'. 2022-01-11 10:42:37 +01:00
Ludovic DEHON
d59650451b chore(version): update to version 'v0.3.1'. 2022-01-11 10:42:27 +01:00
Ludovic DEHON
dcc4b093cb feat(cli): add --icons options in order to export icon of tasks 2022-01-10 13:11:30 +01:00
Ludovic DEHON
4b6d3c302f chore(github): add issue template 2022-01-08 22:27:23 +01:00
Ludovic DEHON
a0e9a6baa4 fix(kafka-runner): better exception in case produce exception 2022-01-06 12:25:21 +01:00
Ludovic DEHON
d3f30fd1e1 fix(core): validator is not applied 2022-01-06 11:56:59 +01:00
tchiotludo
81c5b7c6f0 chore(version): update snapshot version 'v0.3.1-SNAPSHOT'. 2022-01-05 10:22:10 +01:00
tchiotludo
697f2c134a chore(version): update to version 'v0.3.0'. 2022-01-05 10:21:58 +01:00
tchiotludo
1d44875e28 fix(ui): remove deprecated btoa 2022-01-03 18:20:35 +01:00
tchiotludo
68ad318fd4 fix(docker): add mongo & elastic plugins 2021-12-30 16:39:59 +01:00
tchiotludo
9ff7b0ea67 fix(runner-elasticsearch): handle default-headers configuration 2021-12-29 23:04:36 +01:00
tchiotludo
57f8f70e8d feat(ui): display metrics with tags 2021-12-26 22:40:03 +01:00
tchiotludo
1e64686b19 fix(core): duplicate metrics must be sum and avoid duplication 2021-12-23 22:09:56 +01:00
tchiotludo
e750b3d2de fix(ui): invalid duration on gantt 2021-12-23 13:50:04 +01:00
tchiotludo
14f8809ce4 fix(core): task state must use taskrun value 2021-12-22 21:52:35 +01:00
tchiotludo
1c148328b8 chore(deps): let micronaut bring jackson version with bom 2021-12-22 21:34:33 +01:00
tchiotludo
ebe186c882 chore(deps): update jackson to last version 2021-12-22 21:14:41 +01:00
tchiotludo
9c382f4186 feat(ui): add a better id cols with tooltip 2021-12-22 11:22:42 +01:00
Ludovic DEHON
2eabed6bef feat(core): change state to WARNING if any error on stdErr for all Bash task (#421)
close #405
2021-12-21 22:49:26 +01:00
tchiotludo
e4f51ea38a fix(kafka-runner): stream must stop the process when the stream state to ERROR 2021-12-20 21:31:04 +01:00
tchiotludo
5a92c15358 fix(kafka-runner): kafkastreams endpoint not working due to missing eventPublisher 2021-12-20 18:58:01 +01:00
tchiotludo
8d55d79834 fix(kafka-runner): missing runContext for execution resubmitted on worker killed 2021-12-20 18:57:18 +01:00
tchiotludo
6f1be2e77d chore(deps): update logback due to CVE-2021-42550 2021-12-20 07:35:45 +01:00
tchiotludo
d6f8f26eed chore(ui): refactor the log list 2021-12-19 22:50:37 +01:00
eric regnier
7e8b126935 feat(ui): logs add fullscreen, download & copy button (#419)
close #392
2021-12-19 22:49:09 +01:00
tchiotludo
a19df970bf chore(deps): update all java deps 2021-12-17 10:30:59 +01:00
tchiotludo
25b0e5e188 feat(runner-kafka): add a kafkastreams endpoint 2021-12-16 18:30:28 +01:00
tchiotludo
5f64db61e0 fix(kafka-runner): remove useless data from kafka queue 2021-12-16 18:30:28 +01:00
tchiotludo
08ee1ed76d feat(kafka-runner): move to kafka 3.0.0 client 2021-12-16 18:30:28 +01:00
tchiotludo
5295d18bf1 fix(kafka-runner): tune topic configuration to be resilient to replication lag 2021-12-16 18:30:28 +01:00
tchiotludo
bb17b0f9ea feat(kafka-runner): add a proper log on stream state change 2021-12-16 18:30:28 +01:00
tchiotludo
af3980a0bf fix(ui): unit test failed 2021-12-16 17:34:58 +01:00
tchiotludo
284d464965 fix(ui): sort columns are not displayed on some 2021-12-16 17:23:58 +01:00
tchiotludo
588d57062d fix(ui): prevent sorting on non sortable cols 2021-12-16 15:53:57 +01:00
tchiotludo
67360948af chore(deps): update most of js deps 2021-12-16 15:45:37 +01:00
tchiotludo
1fa2631899 feat(ui): refactor duration to be the same everywhere 2021-12-15 22:25:05 +01:00
eric regnier
c65aa746c7 feat(ui): display real time on log tab (#415)
close #399
2021-12-15 22:21:57 +01:00
tchiotludo
a9ab424843 feat(core): add an HasRetryAttemptCondition 2021-12-14 21:38:23 +01:00
tchiotludo
48586d3960 feat(core): add an warningOnRetry properties to put flow on warning if any tasks have a retry attempts 2021-12-14 18:40:18 +01:00
tchiotludo
f7127de0a1 fix(cicd): pr will failed for a missing secret
close #416
2021-12-14 16:25:34 +01:00
tchiotludo
2430b38096 fix(cicd): fix not starting kafka server 2021-12-11 21:51:53 +01:00
tchiotludo
6c90af3074 fix(ui): gantt could overflow the viewport 2021-12-10 22:39:37 +01:00
tchiotludo
369c6f79ff fix(ui): display timeout error message
close #398
2021-12-10 21:49:53 +01:00
tchiotludo
de3d4e2d7c fix(ui): avoid losing restore url on menu click 2021-12-10 21:30:14 +01:00
tchiotludo
777d3597b7 fix(ui): toast table don't follow theme 2021-12-10 18:42:34 +01:00
tchiotludo
2294dc04ae fix(ui): add a consistent sort on all table 2021-12-10 17:48:52 +01:00
tchiotludo
8db71a1df1 fix(ui): datepicker don't follow theme colors 2021-12-10 17:19:18 +01:00
tchiotludo
6aed49d428 fix(ui): keep theme color during loader screen 2021-12-10 17:13:45 +01:00
tchiotludo
86c073f112 fix(ui): filter by namespace is not working on TaskRuns 2021-12-10 14:29:36 +01:00
tchiotludo
f7f8e53fbf fix(task): don't use absolute path for node & npm 2021-12-08 15:37:31 +01:00
tchiotludo
61774d439f fix(task): use venv instead virtualenv 2021-12-08 15:37:30 +01:00
tchiotludo
ba348a6b26 feat(docker): add redshift plugin 2021-12-08 15:37:30 +01:00
tchiotludo
91c7544917 chore(version): update snapshot version 'v0.2.17-SNAPSHOT'. 2021-12-08 15:35:58 +01:00
tchiotludo
7f441291bb chore(version): update to version 'v0.2.16'. 2021-12-08 15:35:41 +01:00
tchiotludo
4764cbeacb fix(repository-elastic): fix missing deps for test 2021-12-08 15:12:49 +01:00
tchiotludo
37f957b90d chore(docker): fix docker port on docker-compose 2021-12-08 15:03:09 +01:00
tchiotludo
7c51cf3017 fix(runner-kafka): update to kafka 2.6.3 & fix early delete on trigger deduplication 2021-12-08 15:03:09 +01:00
tchiotludo
cf9ceafa2e fix(repository-elasticsearch): don't include log4j from opensearch 2021-12-08 15:03:09 +01:00
tchiotludo
579de1270e chore(version): update snapshot version 'v0.2.16-SNAPSHOT'. 2021-12-07 12:14:57 +01:00
tchiotludo
1f9f85e40b chore(version): update to version 'v0.2.15'. 2021-12-07 12:14:48 +01:00
tchiotludo
b495edbcb8 fix(core): Log splitting can lead to out of order log
for very long log line, the order is not guaranteed depending on repository type, we just add a millis to be sure log are on the right order

close #391
2021-12-03 17:44:53 +01:00
tchiotludo
959f3d433d fix(kafka-runner): add a configuration to log message globally 2021-12-03 13:03:28 +01:00
tchiotludo
a3c768ba5f fix(ui): log search should not used wildcard 2021-12-02 17:58:55 +01:00
tchiotludo
21d918273c fix(core): missing log on trigger from flow 2021-12-01 17:24:27 +01:00
tchiotludo
9914abd13c feat(repository-elastic): move to opensearch client to be compatible with both 2021-12-01 08:18:02 +01:00
tchiotludo
1738f73364 fix(docker): update docker-compose with last version
close #397
2021-12-01 08:15:23 +01:00
tchiotludo
5e94c2df44 refactor(core): refactor the plugin docs to singleton 2021-11-30 07:58:07 +01:00
tchiotludo
12f9fb68c1 fix(ui): remove CRITICAL non existing log level 2021-11-29 12:56:13 +01:00
tchiotludo
7beaf3257f fix(ui): elastic query failed with new style 2021-11-26 11:41:43 +01:00
tchiotludo
d5793e520c fix(ui): log on white theme are dark 2021-11-25 18:37:07 +01:00
tchiotludo
343c204914 chore(version): update snapshot version 'v0.2.15-SNAPSHOT'. 2021-11-25 12:04:04 +01:00
tchiotludo
dc7da41dae chore(version): update to version 'v0.2.14'. 2021-11-25 12:03:53 +01:00
tchiotludo
3d402d378a fix(core): Template can be override and must work as is 2021-11-25 11:45:13 +01:00
tchiotludo
6176c4f6aa fix(ui): editor can be width to 0px 2021-11-24 08:11:02 +01:00
tchiotludo
1f675f29bc fix(ui): fix some dark theme colors 2021-11-23 22:50:26 +01:00
tchiotludo
cd096f6bb2 feat(ui): add an option to choose editor theme 2021-11-23 22:42:31 +01:00
tchiotludo
835d596002 fix(ui): use better querystring search 2021-11-23 22:15:23 +01:00
tchiotludo
5ec16d83e1 fix(cicd): executable was missing on docker image 2021-11-19 07:57:36 +01:00
tchiotludo
5d24db7d04 fix(ui): plugin documentation fix on route change 2021-11-18 21:16:01 +01:00
tchiotludo
e60ac0209b fix(ui): add missing icons 2021-11-18 21:15:30 +01:00
tchiotludo
f7b1cf3b67 fix(ui): fix all tab links 2021-11-18 21:14:59 +01:00
tchiotludo
cf12a20447 fix(core): template must not be send on webserver
close #401
2021-11-18 20:27:48 +01:00
tchiotludo
1003843b34 feat(ui): introduce new theme 2021-11-17 18:53:39 +01:00
tchiotludo
3656c99464 feat(repository-elasticsearch): use a better indexation strategy with a fulltext mapping 2021-11-16 10:11:29 +01:00
tchiotludo
70b1b12540 chore(version): update snapshot version 'v0.2.14-SNAPSHOT'. 2021-11-16 10:11:19 +01:00
tchiotludo
9a498cbf9a chore(version): update to version 'v0.2.13'. 2021-11-16 10:11:10 +01:00
tchiotludo
c6ffb57995 fix(ui): restore default tab on gantt 2021-11-16 09:55:43 +01:00
tchiotludo
e32655e1d4 fix(ui): namespace selector is too small 2021-11-08 17:28:00 +01:00
tchiotludo
a6a17c69ac feat(core): better validation message with exception 2021-11-08 14:09:43 +01:00
tchiotludo
b5aa3b11ab feat(ui): introduce dark theme 2021-11-08 13:32:44 +01:00
tchiotludo
26c2fe4f38 fix(kafka-runner): unhandle null due to invalid serialization 2021-11-08 13:32:27 +01:00
tchiotludo
d1837d17a6 fix(core): template was not honoring taskDefaults 2021-11-04 13:56:36 +01:00
tchiotludo
615536b172 feat(core): save query string on webhook 2021-11-04 11:09:13 +01:00
tchiotludo
f0b0ad541f fix(kafka-runner): don't crash on KafkaFlowListeners for invalid state 2021-11-03 16:41:59 +01:00
tchiotludo
3cc7ef444d fix(repository-elasticsearch): display invalid source for flow & template on the ui
close #371
2021-11-02 17:55:14 +01:00
tchiotludo
e7a883ffbb fix(kafka-runner): Deserialization exception handling
close #371
2021-11-02 17:55:14 +01:00
tchiotludo
0b874bffcc chore(version): update snapshot version 'v0.2.13-SNAPSHOT'. 2021-11-02 12:11:53 +01:00
tchiotludo
dd95169443 chore(version): update to version 'v0.2.12'. 2021-11-02 12:11:41 +01:00
tchiotludo
7c6fd46723 chore(refactor): remove private from lombok @Value 2021-11-02 08:02:25 +01:00
tchiotludo
6a78edb646 fix(ui): remove triggers from run page 2021-11-01 17:23:07 +01:00
tchiotludo
c5e747a025 fix(ui): hide toast on route change 2021-10-28 22:35:28 +02:00
tchiotludo
6a3ccf0c6e fix(ui): fix tabs on firefox 2021-10-28 22:30:15 +02:00
tchiotludo
0e11d0f654 fix(repository-elasticsearch): template have a wrong id 2021-10-28 14:47:50 +02:00
tchiotludo
1f69357594 feat(core): make a temporary directory more random and allow to access path 2021-10-27 17:52:46 +02:00
tchiotludo
0ea37e9d34 fix(ui): better some style on modals right 2021-10-26 21:52:39 +02:00
tchiotludo
de6b7c345c fix(core): allow scheduler to access runContext flow variables 2021-10-25 22:19:20 +02:00
tchiotludo
5fe2af9120 fix(core): Scheduler with first run can miss executions
On 213317cb1c, we forgot to store on persistence (that was done on c8f5994d0c) at now in order to be resilient on cluster with many schedule

relate to #147
2021-10-25 17:34:08 +02:00
tchiotludo
a34ffd28d2 fix(core): remove kestra.tasks.tmp-dir.mask that is depending on os umask (and can't be applied) 2021-10-25 16:12:27 +02:00
tchiotludo
acf860354f fix(core): handle invalid output on worker tasks 2021-10-21 20:55:57 +02:00
Aurélien Waels
5456207f1d chore(doc): clarify interval and window parameter on MultipleCondition (#389) 2021-10-21 16:03:30 +02:00
tchiotludo
acf49378b0 fix(ui): prevent data table submit on enter key 2021-10-21 15:06:56 +02:00
tchiotludo
d7a63a64ad fix(core): add a configuration for path & mask on runContext tmp directory 2021-10-20 19:04:37 +02:00
tchiotludo
9d4708a594 fix(core): TaskDefaults forced must be reverse the lower win, to avoid a way to override from a child 2021-10-18 11:50:22 +02:00
tchiotludo
6b10969f09 feat(task): prevent absolute and .. path on bash tasks 2021-10-18 11:50:22 +02:00
tchiotludo
d8d46cd756 feat(core): add a configuration to add basic auth to endpoint 2021-10-18 11:50:22 +02:00
tchiotludo
1e603471d8 fix(ui): noRestore prevent loading of page 2021-10-18 11:50:22 +02:00
tchiotludo
9685d78003 feat(core): add a configuration in order to delete configuration files on server startup 2021-10-18 11:50:22 +02:00
tchiotludo
1b55709e94 fix(ui): fix some Cross-site Scripting on the ui 2021-10-18 11:50:22 +02:00
tchiotludo
0703e506ae chore(version): update snapshot version 'v0.2.12-SNAPSHOT'. 2021-10-18 11:49:56 +02:00
tchiotludo
835b630974 chore(version): update to version 'v0.2.11'. 2021-10-18 11:49:48 +02:00
tchiotludo
4e9140711c fix(ui): restore missing delete flow button 2021-10-11 14:59:50 +02:00
tchiotludo
03a31b62e9 chore(version): update snapshot version 'v0.2.11-SNAPSHOT'. 2021-10-11 12:09:16 +02:00
tchiotludo
0eb6e1d2d8 chore(version): update to version 'v0.2.10'. 2021-10-11 12:09:00 +02:00
tchiotludo
0dcfc95bec fix(core): remove System.out.println 2021-10-11 12:05:09 +02:00
tchiotludo
f8f98f8060 feat(ui): add a 404 page 2021-10-11 09:54:35 +02:00
tchiotludo
edf2410faa fix(ui): replace vue-bootstrap tabs by a custom implementation
this allow to have proper back button and have tabs responsive

fix #384
2021-10-11 09:54:35 +02:00
tchiotludo
45f48edb61 fix(core): log no task found on the execution 2021-10-11 09:54:35 +02:00
tchiotludo
99ce8eee99 feat(core): dailyStats by namespace only and remove group by flow 2021-10-11 09:54:35 +02:00
tchiotludo
177182f4e3 feat(core): add variable json function 2021-10-11 09:54:35 +02:00
tchiotludo
9887c84bed fix(core): add a more explicit error when Flow tasks failed 2021-10-11 09:54:35 +02:00
tchiotludo
d2927c8142 chore(version): update snapshot version 'v0.2.10-SNAPSHOT'. 2021-10-11 09:54:01 +02:00
tchiotludo
e9bdbe5d55 chore(version): update to version 'v0.2.9'. 2021-10-11 09:53:20 +02:00
tchiotludo
bb141194c9 fix(core): display a better message for pebble evaluation 2021-10-04 18:03:49 +02:00
tchiotludo
b9323543ad feat(ui): introduce a date picker quick options 2021-10-02 21:16:04 +02:00
tchiotludo
d3ee86b4e1 feat(kafka-runner): improve metrics with a proper client id & more metrics 2021-09-29 18:24:36 +02:00
tchiotludo
f17aa3e211 feat(docker): add plugin-compress 2021-09-29 14:07:56 +02:00
tchiotludo
6f120a000f feat(core): add a json filter 2021-09-28 13:55:07 +02:00
tchiotludo
8a2351ce01 fix(ui): missing icon for created status 2021-09-28 11:49:02 +02:00
tchiotludo
7054e19175 fix(core): missing pebble default value on some condition 2021-09-27 22:46:06 +02:00
tchiotludo
89856228aa chore(core): better taskDefault forced algo 2021-09-27 22:22:21 +02:00
Ludovic DEHON
bfec70eda3 fix(core): replace handlebars with pebble (#381)
close #275
2021-09-27 21:38:57 +02:00
tchiotludo
67d431cbef feat(core): taskDefaults can have optional properties forced in order to overwrite user properties 2021-09-27 13:55:17 +02:00
tchiotludo
440a233195 fix(core): uriToInputStream from RunContext can load only kestra url 2021-09-27 13:12:15 +02:00
tchiotludo
b3503ca4cc fix(core): don't include docker-java-transport-jersey deps
this one include jakarta.activation and break mail plugin
2021-09-27 12:45:58 +02:00
tchiotludo
673863f89f fix(core): scheduler is not injecting taskDefaults 2021-09-24 14:47:40 +02:00
tchiotludo
70b70d9114 fix(webserver): capture invalid datatime inputs on webserver 2021-09-22 19:09:07 +02:00
tchiotludo
39e1bf2d53 chore(version): update snapshot version 'v0.2.9-SNAPSHOT'. 2021-09-22 13:38:59 +02:00
tchiotludo
b653c80912 chore(version): update to version 'v0.2.8'. 2021-09-22 13:38:02 +02:00
tchiotludo
6b7403d2e3 fix(core): add a stacktrace to debug evaluate on scheduler 2021-09-20 17:31:36 +02:00
tchiotludo
392602dea1 feat(tasks): add a storage size task 2021-09-16 12:03:16 +02:00
tchiotludo
181d002ed1 feat(core): handle passing inputs on schedule execution 2021-09-14 12:13:46 +02:00
tchiotludo
d746b828c3 fix(core): delete triggers when deleting a flow 2021-09-14 12:04:37 +02:00
tchiotludo
f25481c22e fix(core): allow defaults on inputs
close #308
2021-09-14 09:14:03 +02:00
tchiotludo
d64da8e4e2 fix(core): add retry policy on docker pull
close #377
2021-09-13 22:41:38 +02:00
tchiotludo
6330cde430 fix(core): documentation don't display default value on boolean 2021-09-13 22:12:11 +02:00
tchiotludo
6206e92b4f fix(ui): prevent unsaved popup on create flow 2021-09-13 21:50:05 +02:00
tchiotludo
f60407908e feat(docker): add google-workspace plugin 2021-09-13 21:27:31 +02:00
tchiotludo
ca1db63f31 fix(core): add missing title & description on documentation 2021-09-13 18:49:33 +02:00
tchiotludo
d7564ec1b9 feat(core): add some usage statistics 2021-09-13 17:10:58 +02:00
tchiotludo
e6252ea651 feat(core): add a Pause flow task to allow manual validation during the execution 2021-09-13 15:23:32 +02:00
tchiotludo
3928feebbe fix(core): plugin generated markdown don't display required field on main properties & definitions 2021-09-08 21:11:00 +02:00
tchiotludo
f989772507 fix(core): missing jackson JsonTypeInfo annotation for ScheduleCondition 2021-09-08 12:42:08 +02:00
tchiotludo
b791a71bd3 fix(core): add missing method on PluginClassLoader for static method 2021-09-07 14:30:56 +02:00
tchiotludo
d0fa2d8f6a fix(ui): user can't see source with READ permission 2021-09-06 10:27:59 +02:00
tchiotludo
f18fb02c41 chore(refactor): remove deprecated warning 2021-09-03 13:17:16 +02:00
tchiotludo
52429b0845 feat(core): allow to manually taskRun change state 2021-09-03 11:34:01 +02:00
tchiotludo
9dce89d0ca fix(core): handle properly replay of a task from taskRunId 2021-09-03 11:18:22 +02:00
tchiotludo
e6d716e91a feat(core): allow to pass a revision when restarting an execution
also fix restart from last failed to handle all the failed tasks
2021-09-03 11:18:22 +02:00
tchiotludo
b28f3f8425 chore(version): update snapshot version 'v0.2.8-SNAPSHOT'. 2021-08-30 10:14:17 +02:00
tchiotludo
b4fd1e86ab chore(version): update to version 'v0.2.7'. 2021-08-30 10:14:09 +02:00
tchiotludo
8f47562bde feat(core): properly handle previous and next date from schedule if there is condition that limit execution 2021-08-19 16:49:50 +02:00
tchiotludo
ddebd8defc fix(cli): replace micronaut-gcp-logging with a custom simple implementation 2021-08-18 21:28:18 +02:00
tchiotludo
b0ebb1e2df fix(ui): charts label don't work 2021-08-17 16:51:18 +02:00
tchiotludo
3d1113b2a2 fix(core): missing runContext cleanup on Worker 2021-08-17 11:45:10 +02:00
tchiotludo
043d381d3b fix(webserver): handle properly timezone on StatsController 2021-08-17 11:35:27 +02:00
tchiotludo
3442d09ad5 feat(ui): move to charts.js 3 2021-08-17 10:51:03 +02:00
tchiotludo
62cfd32d17 feat(task): allow to use additionalVariables on env for Bash task 2021-08-16 17:26:35 +02:00
tchiotludo
b47d6f25ea chore(version): update snapshot version 'v0.2.7-SNAPSHOT'. 2021-08-16 11:54:56 +02:00
tchiotludo
e77a8c0970 chore(version): update to version 'v0.2.6'. 2021-08-16 11:54:46 +02:00
tchiotludo
a2d6b3a1ad chore(refactor): refactor KafkaScheduler 2021-08-13 18:01:31 +02:00
tchiotludo
e059a899a0 fix(ui): fix some responsive issue
relate to #359
2021-08-13 11:55:11 +02:00
tchiotludo
d5a8091731 fix(task): reapply inputFiles deprecated vars 2021-08-13 10:30:12 +02:00
tchiotludo
1e11a134a5 feat(ui): move trigger detail from modal to popover 2021-08-13 07:35:41 +02:00
tchiotludo
a74d92d942 fix(ui): missing 1 day on graph 2021-08-12 22:13:52 +02:00
tchiotludo
9148f3b758 feat(ui): display count on execution & taskrun graph 2021-08-12 22:01:21 +02:00
tchiotludo
ca16287daa fix(ui): revision in url are wrong 2021-08-12 21:48:25 +02:00
tchiotludo
2ebf99ce81 feat(task): introduce a docker runner for all Bash tasks 2021-08-12 21:17:17 +02:00
tchiotludo
15d1ee0fe5 refactor(task): refactor bash task and introduce a global tempDir / cleanup
close #362
2021-08-06 22:14:48 +02:00
tchiotludo
394347a042 chore(deps): update all deps 2021-08-06 18:20:18 +02:00
tchiotludo
07550381df chore(version): update snapshot version 'v0.2.6-SNAPSHOT'. 2021-08-02 11:50:41 +02:00
tchiotludo
495ef54f2c chore(version): update to version 'v0.2.5'. 2021-08-02 11:50:23 +02:00
tchiotludo
a34c2d847d fix(tasks): fix SerializationException on Bash tasks
java.util.ConcurrentModificationException can be throw as we update the inputFiles
2021-07-05 09:09:32 +02:00
tchiotludo
09a4eb428a feat(core): fix PurgeExecution prefix path 2021-07-01 17:47:31 +02:00
tchiotludo
935c032445 feat(webserver): handle properly more conversion error for invalid yaml 2021-07-01 17:20:01 +02:00
tchiotludo
101a1a9f2c feat(ui): save revision as query string 2021-06-21 10:30:04 +02:00
tchiotludo
cac09eaace fix(ui): gantt refresh with button new execution
close #346
2021-06-21 09:47:44 +02:00
tchiotludo
1376f237ca feat(ui): unsaved changed native browser confirm on reload 2021-06-21 09:01:26 +02:00
tchiotludo
1630096bdb fix(ui): fix unload popup on create 2021-06-20 22:29:49 +02:00
tchiotludo
34ea7db8e2 feat(tasks): add an execution counts task
also refactor the whole ui to use zoned date time

close #339
2021-06-18 22:26:54 +02:00
tchiotludo
b4b102d5b6 fix(ui): fix diff editor choice
close #345
2021-06-17 21:51:13 +02:00
tchiotludo
1af198299b fix(ui): use session storage for restore url 2021-06-17 20:35:23 +02:00
tchiotludo
df0a08998a fix(core): fix executor with restarted execution 2021-06-17 15:02:51 +02:00
tchiotludo
60e03052f0 chore(deps): update js deps 2021-06-17 15:01:28 +02:00
tchiotludo
78ca0747b7 chore(deps): update java deps 2021-06-17 12:46:09 +02:00
tchiotludo
b9e1b28041 fix(tasks): Bash task don't kill child process 2021-06-09 11:37:14 +02:00
tchiotludo
2b9486dab2 fix(core): template outputs can raise null pointer 2021-06-09 09:11:49 +02:00
tchiotludo
9b75b58ce3 fix(core): don't warm to early on missing execution to avoid confusion 2021-06-08 15:55:03 +02:00
tchiotludo
5f773455fa fix(kafka-runner): fix deduplication on WorkerTaskExecution if flow is wait: false 2021-06-08 14:59:05 +02:00
tchiotludo
a0fd980b85 fix(kafka-runner): try to fix executor that can't find an Executor for WorkerTaskResult 2021-06-08 10:55:11 +02:00
tchiotludo
dc8bd733cf fix(core): ConditionService can break the executor if invalid runContext variable 2021-06-07 18:42:12 +02:00
tchiotludo
0c41c61c1a fix(tasks): PurgeExecution fix 2021-06-07 16:09:56 +02:00
tchiotludo
b7d1922133 fix(core): allow recursive docs
* add a Definition on the generated JsonSchema
* also inline Duration

close #191
2021-06-07 15:21:02 +02:00
tchiotludo
3e5731a65e fix(core): change log level of Worker 2021-06-04 22:36:07 +02:00
tchiotludo
a0431590f1 fix(core): strong type on ion storage
serialization of ion storage with strong type mostly for all date & time
2021-06-04 22:01:52 +02:00
tchiotludo
2f862f44c8 fix(core): deduplicate Flow task on new Execution 2021-06-01 14:15:20 +02:00
tchiotludo
f2946f906b fix(core): fix flakky test 2021-05-31 12:15:28 +02:00
tchiotludo
2bceef5663 fix(kafka-runner): use same configuration for all kafka resources 2021-05-31 12:03:53 +02:00
tchiotludo
79806878b6 feat(core): add an attempt on taskrun when worker running is resent 2021-05-31 10:57:57 +02:00
tchiotludo
65a24f6aee feat(core): allow to get some output from the flow executed on Flow Task
close #294
2021-05-31 10:57:39 +02:00
tchiotludo
a3dabefd41 feat(core): move Flow task to executor
close #315
2021-05-31 10:57:39 +02:00
tchiotludo
d21a94ddbd fix(kafka-runner): cleanup executor topic & execution one 2021-05-31 10:55:49 +02:00
tchiotludo
2cb48bbba9 fix(kafka-runner): don't use join to avoid event deduplication
Kafka Streams join can lead to deduplication of event, so change the strategy and use a merge with a state store
2021-05-31 10:55:49 +02:00
tchiotludo
9d60939958 refactor(core): flatten the whole executor 2021-05-31 10:55:49 +02:00
tchiotludo
1868103861 fix(kafka-runner): save offset & from in header on KafkaExecutor 2021-05-31 10:55:49 +02:00
tchiotludo
22cd62ceba fix(kafka-runner): refactor the whole logic of KafkaExecutor
Before the executor can remove some tasks and some tasks state because there is multiple produce on the executor to executor topic.
We try to have only one message that can't overwrite previous one.

close #316
2021-05-31 10:55:49 +02:00
tchiotludo
31536cb702 fix(webserver): capture exception on ElasticsearchHealthIndicator 2021-05-31 10:53:53 +02:00
tchiotludo
5da91b5000 chore(version): update snapshot version 'v0.2.5-SNAPSHOT'. 2021-05-31 10:22:39 +02:00
tchiotludo
506027dc21 chore(version): update to version 'v0.2.4'. 2021-05-31 10:22:26 +02:00
tchiotludo
d110782f50 fix(core): handle not found on Storage.size 2021-05-28 14:52:24 +02:00
tchiotludo
5cc771dd5b fix(core): downgrade micronaut to 2.5.3
relate to https://github.com/micronaut-projects/micronaut-core/issues/5499
2021-05-25 13:38:03 +02:00
tchiotludo
0f136111f2 fix(core): missing default on inputs 2021-05-21 15:17:40 +02:00
tchiotludo
c7477416eb chore(deps): update all java deps 2021-05-20 10:22:07 +02:00
tchiotludo
aea3e928e7 feat(tasks): add PurgeExecution storage tasks 2021-05-18 14:52:45 +02:00
tchiotludo
d1fcfe34db chore(core): add icon on generated doc markdown 2021-05-16 22:25:08 +02:00
tchiotludo
53f8e4af2a chore(cicd): add oracle plugin on full image 2021-05-16 21:44:33 +02:00
tchiotludo
5ec551543c fix(core): handle invalid task defaults
don't break executor for invalid task defaults and just don't inject default, it will generate log on execution
2021-05-16 21:15:49 +02:00
tchiotludo
f005c74db0 fix(core): topology are not well displayed for certains relation
close #307
2021-05-14 18:00:55 +02:00
tchiotludo
df76a5484d fix(ui): save flow popup for unsaved change pops on new flow
close #331
2021-05-14 17:26:00 +02:00
tchiotludo
46c3c926e2 fix(ui): move flow description to modal in order to handle long description 2021-05-14 17:10:02 +02:00
tchiotludo
8acd507499 fix(core): handle taskDefaults also on Flowable task
close #337
2021-05-14 14:41:01 +02:00
tchiotludo
c67be115b2 chore(docker): add plugin-singer 2021-05-12 10:31:50 +02:00
tchiotludo
b3a6dbfd52 chore(deps): rollback to kafka 2.6.1
This error happen randomly, and can't explain it for now, maybe wait that the `exactly_once_beta` leave the beta
```
org.apache.kafka.streams.errors.StreamsException: Exception caught during initialization of GlobalStreamThread
	at org.apache.kafka.streams.processor.internals.GlobalStreamThread.initialize(GlobalStreamThread.java:421)
	at org.apache.kafka.streams.processor.internals.GlobalStreamThread.run(GlobalStreamThread.java:287)
Caused by: org.apache.kafka.common.errors.TimeoutException: Global task did not make progress to restore state within 300000 ms. Adjust `task.timeout.ms` if needed
```
2021-05-11 13:58:27 +02:00
tchiotludo
6512ab0534 fix(core): plugins are not loaded properly 2021-05-10 21:45:03 +02:00
tchiotludo
396160f5b4 chore(version): update snapshot version 'v0.2.4-SNAPSHOT'. 2021-05-10 13:05:55 +02:00
tchiotludo
6c6cbc977a chore(version): update to version 'v0.2.3'. 2021-05-10 13:05:41 +02:00
tchiotludo
4ba801f0cd fix(core): make StandAloneRunner using on 1 thread for most of services (except workers) 2021-05-10 13:02:33 +02:00
tchiotludo
aa86c14a42 chore(deps): update all java deps 2021-05-10 13:02:33 +02:00
tchiotludo
ecef00c7d3 fix(core): prevent crash on micrometer exception 2021-05-04 09:45:56 +02:00
tchiotludo
67ed4d7147 chore(ui): bump all deps 2021-05-04 09:45:56 +02:00
tchiotludo
77c103cffa fix(core): prevent a flow to trigger itself 2021-05-04 09:45:55 +02:00
tchiotludo
c30035a974 chore(version): update snapshot version 'v0.2.3-SNAPSHOT'. 2021-05-04 09:43:50 +02:00
2954 changed files with 295689 additions and 60253 deletions

82
.devcontainer/Dockerfile Normal file
View File

@@ -0,0 +1,82 @@
FROM ubuntu:24.04
ARG BUILDPLATFORM
ARG DEBIAN_FRONTEND=noninteractive
USER root
WORKDIR /root
RUN apt update && apt install -y \
apt-transport-https ca-certificates gnupg curl wget git zip unzip less zsh net-tools iputils-ping jq lsof
ENV HOME="/root"
# --------------------------------------
# Git
# --------------------------------------
# Need to add the devcontainer workspace folder as a safe directory to enable git
# version control system to be enabled in the containers file system.
RUN git config --global --add safe.directory "/workspaces/kestra"
# --------------------------------------
# --------------------------------------
# Oh my zsh
# --------------------------------------
RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" -- \
-t robbyrussell \
-p git -p node -p npm
ENV SHELL=/bin/zsh
# --------------------------------------
# --------------------------------------
# Java
# --------------------------------------
ARG OS_ARCHITECTURE
RUN mkdir -p /usr/java
RUN echo "Building on platform: $BUILDPLATFORM"
RUN case "$BUILDPLATFORM" in \
"linux/amd64") OS_ARCHITECTURE="linux-x64" ;; \
"linux/arm64") OS_ARCHITECTURE="linux-aarch64" ;; \
"darwin/amd64") OS_ARCHITECTURE="macos-x64" ;; \
"darwin/arm64") OS_ARCHITECTURE="macos-aarch64" ;; \
*) echo "Unsupported BUILDPLATFORM: $BUILDPLATFORM" && exit 1 ;; \
esac && \
wget "https://aka.ms/download-jdk/microsoft-jdk-21.0.6-$OS_ARCHITECTURE.tar.gz" && \
mv "microsoft-jdk-21.0.6-$OS_ARCHITECTURE.tar.gz" microsoft-jdk-21.0.6.tar.gz
RUN tar -xzvf microsoft-jdk-21.0.6.tar.gz && \
mv jdk-21.0.6+7 jdk-21 && \
mv jdk-21 /usr/java/
ENV JAVA_HOME=/usr/java/jdk-21
ENV PATH="$PATH:$JAVA_HOME/bin"
# Will load a custom configuration file for Micronaut
ENV MICRONAUT_ENVIRONMENTS=local,override
# Sets the path where you save plugins as Jar and is loaded during the startup process
ENV KESTRA_PLUGINS_PATH="/workspaces/kestra/local/plugins"
# --------------------------------------
# --------------------------------------
# Node.js
# --------------------------------------
RUN curl -fsSL https://deb.nodesource.com/setup_22.x -o nodesource_setup.sh \
&& bash nodesource_setup.sh && apt install -y nodejs
# Increases JavaScript heap memory to 4GB to prevent heap out of error during startup
ENV NODE_OPTIONS=--max-old-space-size=4096
# --------------------------------------
# --------------------------------------
# Python
# --------------------------------------
RUN apt install -y python3 pip python3-venv
# --------------------------------------
# --------------------------------------
# SSH
# --------------------------------------
RUN mkdir -p ~/.ssh
RUN touch ~/.ssh/config
RUN echo "Host github.com" >> ~/.ssh/config \
&& echo " IdentityFile ~/.ssh/id_ed25519" >> ~/.ssh/config
RUN touch ~/.ssh/id_ed25519
# --------------------------------------

149
.devcontainer/README.md Normal file
View File

@@ -0,0 +1,149 @@
# Kestra Devcontainer
This devcontainer provides a quick and easy setup for anyone using VSCode to get up and running quickly with this project to start development on either the frontend or backend. It bootstraps a docker container for you to develop inside of without the need to manually setup the environment.
---
## INSTRUCTIONS
### Setup:
Take a look at this guide to get an idea of what the setup is like as this devcontainer setup follows this approach: https://kestra.io/docs/getting-started/contributing
Once you have this repo cloned to your local system, you will need to install the VSCode extension [Remote Development](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack).
Then run the following command from the command palette:
`Dev Containers: Open Folder in Container...` and select your Kestra root folder.
This will then put you inside a docker container ready for development.
NOTE: you'll need to wait for the gradle build to finish and compile Java files but this process should happen automatically within VSCode.
In the meantime, you can move onto the next step...
---
### Development:
- Create a `.env.development.local` file in the `ui` folder and paste the following:
```bash
# This lets the frontend know what the backend URL is but you are free to change this to your actual server URL e.g. hosted version of Kestra.
VITE_APP_API_URL=http://localhost:8080
```
- Navigate into the `ui` folder and run `npm install` to install the dependencies for the frontend project.
- Now go to the `cli/src/main/resources` folder and create a `application-override.yml` file.
Now you have two choices:
`Local mode`:
Runs the Kestra server in local mode which uses a H2 database, so this is the only config you'd need:
```yaml
micronaut:
server:
cors:
enabled: true
configurations:
all:
allowedOrigins:
- http://localhost:5173
```
You can then open a new terminal and run the following command to start the backend server: `./gradlew runLocal`
`Standalone mode`:
Runs in standalone mode which uses Postgres. Make sure to have a local Postgres instance already running on localhost:
```yaml
kestra:
repository:
type: postgres
storage:
type: local
local:
base-path: "/app/storage"
queue:
type: postgres
tasks:
tmp-dir:
path: /tmp/kestra-wd/tmp
anonymous-usage-report:
enabled: false
server:
basic-auth:
enabled: false
datasources:
postgres:
# It is important to note that you must use the "host.docker.internal" host when connecting to a docker container outside of your devcontainer as attempting to use localhost will only point back to this devcontainer.
url: jdbc:postgresql://host.docker.internal:5432/kestra
driverClassName: org.postgresql.Driver
username: kestra
password: k3str4
flyway:
datasources:
postgres:
enabled: true
locations:
- classpath:migrations/postgres
# We must ignore missing migrations as we may delete the wrong ones or delete those that are not used anymore.
ignore-migration-patterns: "*:missing,*:future"
out-of-order: true
micronaut:
server:
cors:
enabled: true
configurations:
all:
allowedOrigins:
- http://localhost:5173
```
Then add the following settings to the `.vscode/launch.json` file:
```json
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Kestra Standalone",
"request": "launch",
"mainClass": "io.kestra.cli.App",
"projectName": "cli",
"args": "server standalone"
}
]
}
```
You can then use the VSCode `Run and Debug` extension to start the Kestra server.
Additionally, if you're doing frontend development, you can run `npm run dev` from the `ui` folder after having the above running (which will provide a backend) to access your application from `localhost:5173`. This has the benefit to watch your changes and hot-reload upon doing frontend changes.
#### Plugins
If you want your plugins to be loaded inside your devcontainer, point the `source` field to a folder containing jars of the plugins you want to embed in the following snippet in `devcontainer.json`:
```
"mounts": [
{
"source": "/absolute/path/to/your/local/jar/plugins/folder",
"target": "/workspaces/kestra/local/plugins",
"type": "bind"
}
],
```
---
### GIT
If you want to commit to GitHub, make sure to navigate to the `~/.ssh` folder and either create a new SSH key or override the existing `id_ed25519` file and paste an existing SSH key from your local machine into this file. You will then need to change the permissions of the file by running: `chmod 600 id_ed25519`. This will allow you to then push to GitHub.
---

View File

@@ -0,0 +1,46 @@
{
"name": "kestra",
"build": {
"context": ".",
"dockerfile": "Dockerfile"
},
"workspaceFolder": "/workspaces/kestra",
"forwardPorts": [5173, 8080],
"customizations": {
"vscode": {
"settings": {
"terminal.integrated.profiles.linux": {
"zsh": {
"path": "/bin/zsh"
}
},
"workbench.iconTheme": "vscode-icons",
"editor.tabSize": 4,
"editor.formatOnSave": true,
"files.insertFinalNewline": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"telemetry.telemetryLevel": "off",
"editor.bracketPairColorization.enabled": true,
"editor.guides.bracketPairs": "active"
},
"extensions": [
"redhat.vscode-yaml",
"dbaeumer.vscode-eslint",
"vscode-icons-team.vscode-icons",
"eamodio.gitlens",
"esbenp.prettier-vscode",
"aaron-bond.better-comments",
"codeandstuff.package-json-upgrade",
"andys8.jest-snippets",
"oderwat.indent-rainbow",
"evondev.indent-rainbow-palettes",
"formulahendry.auto-rename-tag",
"IronGeek.vscode-env",
"yoavbls.pretty-ts-errors",
"github.vscode-github-actions",
"vscjava.vscode-java-pack",
"ms-azuretools.vscode-docker"
]
}
}
}

View File

@@ -1,5 +0,0 @@
# Ignore everything
**
# Allow docker directories
!docker/

9
.gitattributes vendored Normal file
View File

@@ -0,0 +1,9 @@
# Match the .editorconfig
* text=auto eol=lf
# Scripts
*.bat text eol=crlf
*.sh text eol=lf
# Gradle wrapper
/gradlew text eol=lf

114
.github/CODE_OF_CONDUCT.md vendored Normal file
View File

@@ -0,0 +1,114 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
hello@kestra.io.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.

143
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,143 @@
## Code of Conduct
This project and everyone participating in it is governed by the
[Kestra Code of Conduct](https://github.com/kestra-io/kestra/blob/develop/.github/CODE_OF_CONDUCT.md).
By participating, you are expected to uphold this code. Please report unacceptable behavior
to <hello@kestra.io>.
## I Want To Contribute
> ### Legal Notice
> When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the project license.
### Submit issues
### Reporting bugs
Bug reports help us make Kestra better for everyone. We provide a preconfigured template for bugs to make it very clear what information we need.
Please search within our [already reported bugs](https://github.com/kestra-io/kestra/issues?q=is%3Aissue+is%3Aopen+label%3Abug) before raising a new one to make sure you're not raising a duplicate.
### Reporting security issues
Please do not create a public GitHub issue. If you've found a security issue, please email us directly at hello@kestra.io instead of raising an issue.
### Requesting new features
To request new features, please create an issue on this project.
If you would like to suggest a new feature, we ask that you please use our issue template. It contains a few essential questions that help us understand the problem you are looking to solve and how you think your recommendation will address it.
To see what has already been proposed by the community, you can look [here](https://github.com/kestra-io/kestra/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement).
Watch out for duplicates! If you are creating a new issue, please check existing open, or recently closed. Having a single voted for issue is far easier for us to prioritize.
### Your First Code Contribution
#### Requirements
The following dependencies are required to build Kestra locally:
- Java 21+
- Node 18+ and npm
- Python 3, pip and python venv
- Docker & Docker Compose
- an IDE (Intellij IDEA, Eclipse or VS Code)
Thanks to the Kestra community, if using VSCode, you can also start development on either the frontend or backend with a bootstrapped docker container without the need to manually set up the environment.
Check out the [README](../.devcontainer/README.md) for set-up instructions and the associated [Dockerfile](../.devcontainer/Dockerfile) in the respository to get started.
To start contributing:
- [Fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) the repository
- Clone the fork on your workstation:
```shell
git clone git@github.com:{YOUR_USERNAME}/kestra.git
cd kestra
```
#### Develop on the backend
The backend is made with [Micronaut](https://micronaut.io).
Open the cloned repository in your favorite IDE. In most of decent IDEs, Gradle build will be detected and all dependencies will be downloaded.
You can also build it from a terminal using `./gradlew build`, the Gradle wrapper will download the right Gradle version to use.
- You may need to enable java annotation processors since we are using them.
- On IntelliJ IDEA, click on **Run -> Edit Configurations -> + Add new Configuration** to create a run configuration to start Kestra.
- The main class is `io.kestra.cli.App` from module `kestra.cli.main`.
- Pass as program arguments the server you want to work with, for example `server local` will start the [standalone local](https://kestra.io/docs/administrator-guide/server-cli#kestra-local-development-server-with-no-dependencies). You can also use `server standalone` and use the provided `docker-compose-ci.yml` Docker compose file to start a standalone server with a real database as a backend that would need to be configured properly.
- Configure the following environment variables:
- `MICRONAUT_ENVIRONMENTS`: can be set to any string and will load a custom configuration file in `cli/src/main/resources/application-{env}.yml`.
- `KESTRA_PLUGINS_PATH`: is the path where you will save plugins as Jar and will be load on startup.
- See the screenshot below for an example: ![Intellij IDEA Configuration ](run-app.png)
- If you encounter **JavaScript memory heap out** error during startup, configure `NODE_OPTIONS` environment variable with some large value.
- Example `NODE_OPTIONS: --max-old-space-size=4096` or `NODE_OPTIONS: --max-old-space-size=8192` ![Intellij IDEA Configuration ](node_option_env_var.png)
- The server starts by default on port 8080 and is reachable on `http://localhost:8080`
If you want to launch all tests, you need Python and some packages installed on your machine, on Ubuntu you can install them with:
```shell
sudo apt install python3 pip python3-venv
python3 -m pip install virtualenv
```
#### Develop on the frontend
The frontend is made with [Vue.js](https://vuejs.org/) and located on the `/ui` folder.
- `npm install`
- create a file `ui/.env.development.local` with content `VITE_APP_API_URL=http://localhost:8080` (or your actual server url)
- `npm run dev` will start the development server with hot reload.
- The server start by default on port 5173 and is reachable on `http://localhost:5173`
- You can run `npm run build` in order to build the front-end that will be delivered from the backend (without running the `npm run dev`) above.
Now, you need to start a backend server, you could:
- start a [local server](https://kestra.io/docs/administrator-guide/server-cli#kestra-local-development-server-with-no-dependencies) without a database using this docker-compose file already configured with CORS enabled:
```yaml
services:
kestra:
image: kestra/kestra:latest
user: "root"
command: server local
environment:
KESTRA_CONFIGURATION: |
micronaut:
server:
cors:
enabled: true
configurations:
all:
allowedOrigins:
- http://localhost:5173
ports:
- "8080:8080"
```
- start the [Develop backend](#develop-backend) from your IDE, you need to configure CORS restrictions when using the local development npm server, changing the backend configuration allowing the http://localhost:5173 origin in `cli/src/main/resources/application-override.yml`
```yaml
micronaut:
server:
cors:
enabled: true
configurations:
all:
allowedOrigins:
- http://localhost:5173
```
#### Build and deploy Kestra locally
For testing purposes, you can use the `Makefile` provided at the project's root to build and deploy Kestra locally.
By default, Kestra will be installed under: `$HOME/.kestra/current`. Set the `KESTRA_HOME` environment variable to override default.
```bash
# build and install Kestra
make install
# install plugins (plugins installation is based on the `.plugins` or `.plugins.override` files located at the root of the project.
make install-plugins
# start Kestra in standalone mode with Postgres as backend
make start-standalone-postgres
```
Note: the local installation writes logs into the ` ~/.kestra/current/logs/` directory.
#### Develop plugins
A complete documentation for developing plugin can be found [here](https://kestra.io/docs/plugin-developer-guide/).
### Improving The Documentation
The main documentation is located in a separate [repository](https://github.com/kestra-io/kestra.io).
For tasks documentation, they are located directly in the Java source, using [Swagger annotations](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Annotations) (Example: [for Bash tasks](https://github.com/kestra-io/kestra/blob/develop/core/src/main/java/io/kestra/core/tasks/scripts/AbstractBash.java))

26
.github/ISSUE_TEMPLATE/bug.yml vendored Normal file
View File

@@ -0,0 +1,26 @@
name: Bug report
description: File a bug report
body:
- type: markdown
attributes:
value: |
Thanks for reporting an issue! Please provide a [Minimal Reproducible Example](https://stackoverflow.com/help/minimal-reproducible-example) and share any additional information that may help reproduce, troubleshoot, and hopefully fix the issue, including screenshots, error traceback, and your Kestra server logs. For quick questions, you can contact us directly on [Slack](https://kestra.io/slack).
- type: textarea
attributes:
label: Describe the issue
description: A concise description of the issue and how we can reproduce it.
placeholder: Describe the issue step by step
validations:
required: true
- type: textarea
attributes:
label: Environment
description: Environment information where the problem occurs.
value: |
- Kestra Version: develop
validations:
required: false
labels:
- bug
- area/backend
- area/frontend

4
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,4 @@
contact_links:
- name: Chat
url: https://kestra.io/slack
about: Chat with us on Slack.

13
.github/ISSUE_TEMPLATE/feature.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
name: Feature request
description: Create a new feature request
body:
- type: textarea
attributes:
label: Feature description
placeholder: Tell us more about your feature request
validations:
required: true
labels:
- enhancement
- area/backend
- area/frontend

29
.github/actions/plugins-list/action.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
name: 'Load Kestra Plugin List'
description: 'Composite action to load list of plugins'
inputs:
plugin-version:
description: "Kestra version"
default: 'LATEST'
required: true
plugin-file:
description: "File of the plugins"
default: './.plugins'
required: true
outputs:
plugins:
description: "List of all Kestra plugins"
value: ${{ steps.plugins.outputs.plugins }}
repositories:
description: "List of all Kestra repositories of plugins"
value: ${{ steps.plugins.outputs.repositories }}
runs:
using: composite
steps:
- name: Get Plugins List
id: plugins
shell: bash
run: |
PLUGINS=$([ -f ${{ inputs.plugin-file }} ] && cat ${{ inputs.plugin-file }} | grep "io\\.kestra\\." | sed -e '/#/s/^.//' | sed -e "s/LATEST/${{ inputs.plugin-version }}/g" | cut -d':' -f2- | xargs || echo '');
REPOSITORIES=$([ -f ${{ inputs.plugin-file }} ] && cat ${{ inputs.plugin-file }} | grep "io\\.kestra\\." | sed -e '/#/s/^.//' | cut -d':' -f1 | uniq | sort | xargs || echo '')
echo "plugins=$PLUGINS" >> $GITHUB_OUTPUT
echo "repositories=$REPOSITORIES" >> $GITHUB_OUTPUT

20
.github/actions/setup-vars/action.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
name: 'Setup vars'
description: 'Composite action to setup common vars'
outputs:
tag:
description: "Git tag"
value: ${{ steps.vars.outputs.tag }}
commit:
description: "Git commit"
value: ${{ steps.vars.outputs.commit }}
runs:
using: composite
steps:
# Setup vars
- name: Set variables
id: vars
shell: bash
run: |
TAG=${GITHUB_REF#refs/*/}
echo "tag=${TAG}" >> $GITHUB_OUTPUT
echo "commit=$(git rev-parse --short "$GITHUB_SHA")" >> $GITHUB_OUTPUT

38
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
# See GitHub's docs for more information on this file:
# https://docs.github.com/en/free-pro-team@latest/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
# Check for updates to GitHub Actions every week
interval: "weekly"
labels:
- "dependency-upgrade"
open-pull-requests-limit: 50
# Maintain dependencies for Gradle modules
- package-ecosystem: "gradle"
directory: "/"
schedule:
# Check for updates to Gradle modules every week
interval: "weekly"
labels:
- "dependency-upgrade"
open-pull-requests-limit: 50
# Maintain dependencies for NPM modules
- package-ecosystem: "npm"
directory: "/ui"
schedule:
interval: "weekly"
day: "wednesday"
time: "08:00"
timezone: "Europe/Paris"
open-pull-requests-limit: 50
labels: ["dependency-upgrade"]
ignore:
# Ignore updates of version 1.x, as we're using beta of 2.x
- dependency-name: "vue-virtual-scroller"
versions: ["1.x"]

BIN
.github/node_option_env_var.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

38
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,38 @@
<!-- Thanks for submitting a Pull Request to Kestra. To help us review your contribution, please follow the guidelines below:
- Make sure that your commits follow the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) specification e.g. `feat(ui): add a new navigation menu item` or `fix(core): fix a bug in the core model` or `docs: update the README.md`. This will help us automatically generate the changelog.
- The title should briefly summarize the proposed changes.
- Provide a short overview of the change and the value it adds.
- Share a flow example to help the reviewer understand and QA the change.
- Use "closes" to automatically close an issue. For example, `closes #1234` will close issue #1234. -->
### What changes are being made and why?
<!-- Please include a brief summary of the changes included in this PR e.g. closes #1234. -->
---
### How the changes have been QAed?
<!-- Include example code that shows how this PR has been QAed. The code should present a complete yet easily reproducible flow.
```yaml
# Your example flow code here
```
Note that this is not a replacement for unit tests but rather a way to demonstrate how the changes work in a real-life scenario, as the end-user would experience them.
Remove this section if this change applies to all flows or to the documentation only. -->
---
### Setup Instructions
<!--If there are any setup requirements like API keys or trial accounts, kindly include brief bullet-points-description outlining the setup process below.
- [External System Documentation](URL)
- Steps to set up the necessary resources
If there are no setup requirements, you can remove this section.
Thank you for your contribution. ❤️ -->

BIN
.github/run-app.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

View File

@@ -6,11 +6,11 @@
name: "CodeQL"
on:
push:
branches: [develop]
schedule:
- cron: '0 5 * * 1'
workflow_dispatch: {}
jobs:
analyze:
name: Analyze
@@ -27,7 +27,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
@@ -40,24 +40,35 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Set up JDK
- name: Set up JDK
uses: actions/setup-java@v1
uses: actions/setup-java@v4
if: ${{ matrix.language == 'java' }}
with:
java-version: 11
distribution: 'temurin'
java-version: 21
- name: Setup gradle
if: ${{ matrix.language == 'java' }}
uses: gradle/actions/setup-gradle@v4
- name: Build with Gradle
if: ${{ matrix.language == 'java' }}
run: ./gradlew testClasses -x :ui:installFrontend -x :ui:assembleFrontend
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
if: ${{ matrix.language != 'java' }}
uses: github/codeql-action/autobuild@v3
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -71,4 +82,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v3

147
.github/workflows/docker.yml vendored Normal file
View File

@@ -0,0 +1,147 @@
name: Create Docker images on Release
on:
workflow_dispatch:
inputs:
retag-latest:
description: 'Retag latest Docker images'
required: true
type: string
default: "true"
options:
- "true"
- "false"
release-tag:
description: 'Kestra Release Tag'
required: false
type: string
plugin-version:
description: 'Plugin version'
required: false
type: string
default: "LATEST"
env:
PLUGIN_VERSION: ${{ github.event.inputs.plugin-version != null && github.event.inputs.plugin-version || 'LATEST' }}
jobs:
plugins:
name: List Plugins
runs-on: ubuntu-latest
outputs:
plugins: ${{ steps.plugins.outputs.plugins }}
steps:
# Checkout
- uses: actions/checkout@v4
# Get Plugins List
- name: Get Plugins List
uses: ./.github/actions/plugins-list
id: plugins
with:
plugin-version: ${{ env.PLUGIN_VERSION }}
docker:
name: Publish Docker
needs: [ plugins ]
runs-on: ubuntu-latest
strategy:
matrix:
image:
- name: "-no-plugins"
plugins: ""
packages: jattach
python-libs: ""
- name: ""
plugins: ${{needs.plugins.outputs.plugins}}
packages: python3 python3-venv python-is-python3 python3-pip nodejs npm curl zip unzip jattach
python-libs: kestra
steps:
- uses: actions/checkout@v4
# Vars
- name: Set image name
id: vars
run: |
if [[ "${{ inputs.release-tag }}" == "" ]]; then
TAG=${GITHUB_REF#refs/*/}
echo "tag=${TAG}" >> $GITHUB_OUTPUT
else
TAG="${{ inputs.release-tag }}"
echo "tag=${TAG}" >> $GITHUB_OUTPUT
fi
if [[ "${{ env.PLUGIN_VERSION }}" == *"-SNAPSHOT" ]]; then
echo "plugins=--repositories=https://s01.oss.sonatype.org/content/repositories/snapshots ${{ matrix.image.plugins }}" >> $GITHUB_OUTPUT;
else
echo "plugins=${{ matrix.image.plugins }}" >> $GITHUB_OUTPUT
fi
# Download release
- name: Download release
uses: robinraju/release-downloader@v1.12
with:
tag: ${{steps.vars.outputs.tag}}
fileName: 'kestra-*'
out-file-path: build/executable
- name: Copy exe to image
run: |
cp build/executable/* docker/app/kestra && chmod +x docker/app/kestra
# Docker setup
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Docker - Fix Qemu
shell: bash
run: |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes -c yes
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# Docker Login
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
# Docker Build and push
- name: Push to Docker Hub
uses: docker/build-push-action@v6
with:
context: .
push: true
tags: ${{ format('kestra/kestra:{0}{1}', steps.vars.outputs.tag, matrix.image.name) }}
platforms: linux/amd64,linux/arm64
build-args: |
KESTRA_PLUGINS=${{ steps.vars.outputs.plugins }}
APT_PACKAGES=${{ matrix.image.packages }}
PYTHON_LIBRARIES=${{ matrix.image.python-libs }}
- name: Install regctl
if: github.event.inputs.retag-latest == 'true'
uses: regclient/actions/regctl-installer@main
- name: Retag to latest
if: github.event.inputs.retag-latest == 'true'
run: |
regctl image copy ${{ format('kestra/kestra:{0}{1}', steps.vars.outputs.tag, matrix.image.name) }} ${{ format('kestra/kestra:latest{0}', matrix.image.name) }}
end:
runs-on: ubuntu-latest
needs:
- docker
if: always()
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
steps:
# Slack
- name: Slack notification
uses: Gamesight/slack-workflow-status@master
if: ${{ always() && env.SLACK_WEBHOOK_URL != 0 }}
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
slack_webhook_url: ${{ secrets.SLACK_WEBHOOK_URL }}
name: GitHub Actions
icon_emoji: ':github-actions:'
channel: 'C02DQ1A7JLR' # _int_git channel

158
.github/workflows/e2e.yml vendored Normal file
View File

@@ -0,0 +1,158 @@
name: 'Reusable Workflow for Running End-to-End Tests'
on:
workflow_call:
inputs:
tags:
description: "Tags used for filtering tests to include for QA."
type: string
required: true
docker-artifact-name:
description: "The GitHub artifact containing the Kestra docker image."
type: string
required: false
docker-image-tag:
description: "The Docker image Tag for Kestra"
default: 'kestra/kestra:develop'
type: string
required: true
backend:
description: "The Kestra backend type to be used for E2E tests."
type: string
required: true
default: "postgres"
secrets:
GITHUB_AUTH_TOKEN:
description: "The GitHub Token."
required: true
GOOGLE_SERVICE_ACCOUNT:
description: "The Google Service Account."
required: false
jobs:
check:
timeout-minutes: 60
runs-on: ubuntu-latest
env:
GOOGLE_SERVICE_ACCOUNT: ${{ secrets.GOOGLE_SERVICE_ACCOUNT }}
E2E_TEST_DOCKER_DIR: ./kestra/e2e-tests/docker
KESTRA_BASE_URL: http://127.27.27.27:8080/ui/
steps:
# Checkout kestra
- name: Checkout kestra
uses: actions/checkout@v4
with:
path: kestra
# Setup build
- uses: kestra-io/actions/.github/actions/setup-build@main
id: build
with:
java-enabled: true
node-enabled: true
python-enabled: true
# Get Docker Image
- name: Download Kestra Image
if: inputs.docker-artifact-name != ''
uses: actions/download-artifact@v4
with:
name: ${{ inputs.docker-artifact-name }}
path: /tmp
- name: Load Kestra Image
if: inputs.docker-artifact-name != ''
run: |
docker load --input /tmp/${{ inputs.docker-artifact-name }}.tar
# Docker Compose
- name: Login to DockerHub
uses: docker/login-action@v3
if: inputs.docker-artifact-name == ''
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ github.token }}
# Build configuration
- name: Create additional application configuration
run: |
touch ${{ env.E2E_TEST_DOCKER_DIR }}/data/application-secrets.yml
- name: Setup additional application configuration
if: env.APPLICATION_SECRETS != null
env:
APPLICATION_SECRETS: ${{ secrets.APPLICATION_SECRETS }}
run: |
echo $APPLICATION_SECRETS | base64 -d > ${{ env.E2E_TEST_DOCKER_DIR }}/data/application-secrets.yml
# Deploy Docker Compose Stack
- name: Run Kestra (${{ inputs.backend }})
env:
KESTRA_DOCKER_IMAGE: ${{ inputs.docker-image-tag }}
run: |
cd ${{ env.E2E_TEST_DOCKER_DIR }}
echo "KESTRA_DOCKER_IMAGE=$KESTRA_DOCKER_IMAGE" >> .env
docker compose -f docker-compose-${{ inputs.backend }}.yml up -d
- name: Install Playwright Deps
run: |
cd kestra
./gradlew playwright --args="install-deps"
# Run E2E Tests
- name: Wait For Kestra UI
run: |
# Start time
START_TIME=$(date +%s)
# Timeout duration in seconds (5 minutes)
TIMEOUT_DURATION=$((5 * 60))
while [ $(curl -s -L -o /dev/null -w %{http_code} $KESTRA_BASE_URL) != 200 ]; do
echo -e $(date) "\tKestra server HTTP state: " $(curl -k -L -s -o /dev/null -w %{http_code} $KESTRA_BASE_URL) " (waiting for 200)";
# Check the elapsed time
CURRENT_TIME=$(date +%s)
ELAPSED_TIME=$((CURRENT_TIME - START_TIME))
# Break the loop if the elapsed time exceeds the timeout duration
if [ $ELAPSED_TIME -ge $TIMEOUT_DURATION ]; then
echo "Timeout reached: Exiting after 5 minutes."
exit 1;
fi
sleep 2;
done;
echo "Kestra is running: $KESTRA_BASE_URL 🚀";
continue-on-error: true
- name: Run E2E Tests (${{ inputs.tags }})
if: inputs.tags != ''
run: |
cd kestra
./gradlew e2eTestsCheck -P tags=${{ inputs.tags }}
- name: Run E2E Tests
if: inputs.tags == ''
run: |
cd kestra
./gradlew e2eTestsCheck
# Allure check
- name: Auth to Google Cloud
id: auth
if: ${{ !cancelled() && env.GOOGLE_SERVICE_ACCOUNT != 0 }}
uses: 'google-github-actions/auth@v2'
with:
credentials_json: '${{ secrets.GOOGLE_SERVICE_ACCOUNT }}'
- uses: rlespinasse/github-slug-action@v5
- name: Publish allure report
uses: andrcuns/allure-publish-action@v2.9.0
if: ${{ !cancelled() && env.GOOGLE_SERVICE_ACCOUNT != 0 }}
env:
GITHUB_AUTH_TOKEN: ${{ secrets.GITHUB_AUTH_TOKEN }}
JAVA_HOME: /usr/lib/jvm/default-jvm/
with:
storageType: gcs
resultsGlob: build/allure-results
bucket: internal-kestra-host
baseUrl: "https://internal.dev.kestra.io"
prefix: ${{ format('{0}/{1}/{2}', github.repository, env.GITHUB_HEAD_REF_SLUG != '' && env.GITHUB_HEAD_REF_SLUG || github.ref_name, 'allure/playwright') }}
copyLatest: true
ignoreMissingResults: true

View File

@@ -0,0 +1,67 @@
name: Auto-Translate UI keys and create PR
on:
schedule:
- cron: "0 9-21 * * *" # Every hour from 9 AM to 9 PM
workflow_dispatch:
inputs:
retranslate_modified_keys:
description: "Whether to re-translate modified keys even if they already have translations."
type: choice
options:
- "false"
- "true"
default: "false"
required: false
jobs:
translations:
name: Translations
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
name: Checkout
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install Python dependencies
run: pip install gitpython openai
- name: Generate translations
run: python ui/src/translations/generate_translations.py ${{ github.event.inputs.retranslate_modified_keys }}
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: "20.x"
- name: Check keys matching
run: node ui/src/translations/check.js
- name: Set up Git
run: |
git config --global user.name "GitHub Action"
git config --global user.email "actions@github.com"
- name: Commit and create PR
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
BRANCH_NAME="chore/update-translations-$(date +%s)"
git checkout -b $BRANCH_NAME
git add ui/src/translations/*.json
if git diff --cached --quiet; then
echo "No changes to commit. Exiting with success."
exit 0
fi
git commit -m "chore(core): localize to languages other than english" -m "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."
git push -u origin $BRANCH_NAME || (git push origin --delete $BRANCH_NAME && git push -u origin $BRANCH_NAME)
gh pr create --title "Translations from en.json" --body "This PR was created automatically by a GitHub Action." --base develop --head $BRANCH_NAME --assignee anna-geller --reviewer anna-geller

View File

@@ -0,0 +1,82 @@
name: Run Gradle Release for Kestra Plugins
on:
workflow_dispatch:
inputs:
releaseVersion:
description: 'The release version (e.g., 0.21.0-rc1)'
required: true
type: string
nextVersion:
description: 'The next version (e.g., 0.22.0-SNAPSHOT)'
required: true
type: string
dryRun:
description: 'Use DRY_RUN mode'
required: false
default: 'false'
jobs:
release:
name: Release plugins
runs-on: ubuntu-latest
steps:
# Checkout
- uses: actions/checkout@v4
with:
fetch-depth: 0
# Checkout GitHub Actions
- uses: actions/checkout@v4
with:
repository: kestra-io/actions
path: actions
ref: main
# Setup build
- uses: ./actions/.github/actions/setup-build
id: build
with:
java-enabled: true
node-enabled: true
python-enabled: true
caches-enabled: true
# Get Plugins List
- name: Get Plugins List
uses: ./.github/actions/plugins-list
id: plugins-list
with:
plugin-version: 'LATEST'
- name: 'Configure Git'
run: |
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
# Execute
- name: Run Gradle Release
if: ${{ github.event.inputs.dryRun == 'false' }}
env:
GITHUB_PAT: ${{ secrets.GH_PERSONAL_TOKEN }}
run: |
chmod +x ./dev-tools/release-plugins.sh;
./dev-tools/release-plugins.sh \
--release-version=${{github.event.inputs.releaseVersion}} \
--next-version=${{github.event.inputs.nextVersion}} \
--yes \
${{ steps.plugins-list.outputs.repositories }}
- name: Run Gradle Release (DRY_RUN)
if: ${{ github.event.inputs.dryRun == 'true' }}
env:
GITHUB_PAT: ${{ secrets.GH_PERSONAL_TOKEN }}
run: |
chmod +x ./dev-tools/release-plugins.sh;
./dev-tools/release-plugins.sh \
--release-version=${{github.event.inputs.releaseVersion}} \
--next-version=${{github.event.inputs.nextVersion}} \
--dry-run \
--yes \
${{ steps.plugins-list.outputs.repositories }}

89
.github/workflows/gradle-release.yml vendored Normal file
View File

@@ -0,0 +1,89 @@
name: Run Gradle Release
run-name: "Releasing Kestra ${{ github.event.inputs.releaseVersion }} 🚀"
on:
workflow_dispatch:
inputs:
releaseVersion:
description: 'The release version (e.g., 0.21.0-rc1)'
required: true
type: string
nextVersion:
description: 'The next version (e.g., 0.22.0-SNAPSHOT)'
required: true
type: string
env:
RELEASE_VERSION: "${{ github.event.inputs.releaseVersion }}"
NEXT_VERSION: "${{ github.event.inputs.nextVersion }}"
jobs:
release:
name: Release Kestra
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/develop'
steps:
# Checks
- name: Check Inputs
run: |
if ! [[ "$RELEASE_VERSION" =~ ^[0-9]+(\.[0-9]+)\.0-rc[01](-SNAPSHOT)?$ ]]; then
echo "Invalid release version. Must match regex: ^[0-9]+(\.[0-9]+)\.0-rc[01](-SNAPSHOT)?$"
exit 1
fi
if ! [[ "$NEXT_VERSION" =~ ^[0-9]+(\.[0-9]+)\.0-SNAPSHOT$ ]]; then
echo "Invalid next version. Must match regex: ^[0-9]+(\.[0-9]+)\.0-SNAPSHOT$"
exit 1;
fi
# Checkout
- uses: actions/checkout@v4
with:
fetch-depth: 0
# Checkout GitHub Actions
- uses: actions/checkout@v4
with:
repository: kestra-io/actions
path: actions
ref: main
# Setup build
- uses: ./actions/.github/actions/setup-build
id: build
with:
java-enabled: true
node-enabled: true
python-enabled: true
caches-enabled: true
- name: Configure Git
run: |
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
# Execute
- name: Run Gradle Release
env:
GITHUB_PAT: ${{ secrets.GH_PERSONAL_TOKEN }}
run: |
# Extract the major and minor versions
BASE_VERSION=$(echo "$RELEASE_VERSION" | sed -E 's/^([0-9]+\.[0-9]+)\..*/\1/')
PUSH_RELEASE_BRANCH="releases/v${BASE_VERSION}.x"
# Create and push release branch
git checkout -b "$PUSH_RELEASE_BRANCH";
git push -u origin "$PUSH_RELEASE_BRANCH";
# Run gradle release
git checkout develop;
if [[ "$RELEASE_VERSION" == *"-SNAPSHOT" ]]; then
# -SNAPSHOT qualifier maybe used to test release-candidates
./gradlew release -Prelease.useAutomaticVersion=true \
-Prelease.releaseVersion="${RELEASE_VERSION}" \
-Prelease.newVersion="${NEXT_VERSION}" \
-Prelease.pushReleaseVersionBranch="${PUSH_RELEASE_BRANCH}" \
-Prelease.failOnSnapshotDependencies=false
else
./gradlew release -Prelease.useAutomaticVersion=true \
-Prelease.releaseVersion="${RELEASE_VERSION}" \
-Prelease.newVersion="${NEXT_VERSION}" \
-Prelease.pushReleaseVersionBranch="${PUSH_RELEASE_BRANCH}"
fi

View File

@@ -1,240 +1,74 @@
name: Main
name: Main Workflow
on:
workflow_dispatch:
inputs:
plugin-version:
description: "Kestra version"
default: 'LATEST'
required: true
type: string
push:
branches:
- master
- main
- releases/*
- develop
- release
tags:
- v*
pull_request:
branches:
- master
- develop
- release
repository_dispatch:
types: [rebuild]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-main
cancel-in-progress: true
jobs:
check:
name: Check
tests:
name: Execute tests
uses: ./.github/workflows/workflow-test.yml
with:
report-status: false
release:
name: Release
needs: [tests]
if: "!startsWith(github.ref, 'refs/heads/releases')"
uses: ./.github/workflows/workflow-release.yml
with:
plugin-version: ${{ github.event.inputs.plugin-version != null && github.event.inputs.plugin-version || 'LATEST' }}
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_GPG_KEYID: ${{ secrets.SONATYPE_GPG_KEYID }}
SONATYPE_GPG_PASSWORD: ${{ secrets.SONATYPE_GPG_PASSWORD }}
SONATYPE_GPG_FILE: ${{ secrets.SONATYPE_GPG_FILE }}
end:
runs-on: ubuntu-latest
timeout-minutes: 25
strategy:
matrix:
java: ['11']
needs:
- release
if: always()
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
# Update
- name: Github - Update internal
uses: benc-uk/workflow-dispatch@v1
if: github.ref == 'refs/heads/develop' && needs.docker.result == 'success'
with:
python-version: '3.x'
architecture: 'x64'
- uses: actions/setup-node@v1
with:
node-version: '12'
check-latest: true
# Services
- name: Build the docker-compose stack
run: docker-compose -f docker-compose-ci.yml up -d
# Caches
- name: Gradle cache
uses: actions/cache@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle*.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Npm cache
uses: actions/cache@v1
with:
path: ~/.npm
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Node cache
uses: actions/cache@v1
with:
path: node
key: ${{ runner.os }}-node-${{ hashFiles('ui/*.gradle') }}
restore-keys: |
${{ runner.os }}-node-
# JDK
- name: Set up JDK
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
# Gradle check
- name: Build with Gradle
env:
GOOGLE_SERVICE_ACCOUNT: ${{ secrets.GOOGLE_SERVICE_ACCOUNT }}
run: |
python3 -m pip install virtualenv
echo $GOOGLE_SERVICE_ACCOUNT | base64 -d > ~/.gcp-service-account.json
export GOOGLE_APPLICATION_CREDENTIALS=$HOME/.gcp-service-account.json
./gradlew classes testClasses --parallel --no-daemon
./gradlew check jacoco --no-daemon
# --parallel
# Codecov
- uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
# directory: ./build/reports/jacoco/jacoco/html/index.html
# Shadow Jar
- name: Build jars
if: success() && matrix.java == '11'
run: ./gradlew executableJar --no-daemon
# Publish
- name: Publish package to Sonatype
if: github.ref == 'refs/heads/develop'
env:
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USER }}
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_GPG_KEYID: ${{ secrets.SONATYPE_GPG_KEYID }}
SONATYPE_GPG_PASSWORD: ${{ secrets.SONATYPE_GPG_PASSWORD }}
SONATYPE_GPG_FILE: ${{ secrets.SONATYPE_GPG_FILE }}
run: |
echo "signing.keyId=${SONATYPE_GPG_KEYID}" > ~/.gradle/gradle.properties
echo "signing.password=${SONATYPE_GPG_PASSWORD}" >> ~/.gradle/gradle.properties
echo "signing.secretKeyRingFile=${HOME}/.gradle/secring.gpg" >> ~/.gradle/gradle.properties
echo ${SONATYPE_GPG_FILE} | base64 -d > ~/.gradle/secring.gpg
./gradlew publishToSonatype --parallel --no-daemon
# Release
- name: Release package to Maven Central
if: startsWith(github.ref, 'refs/tags/v')
env:
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USER }}
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_GPG_KEYID: ${{ secrets.SONATYPE_GPG_KEYID }}
SONATYPE_GPG_PASSWORD: ${{ secrets.SONATYPE_GPG_PASSWORD }}
SONATYPE_GPG_FILE: ${{ secrets.SONATYPE_GPG_FILE }}
run: |
echo "signing.keyId=${SONATYPE_GPG_KEYID}" > ~/.gradle/gradle.properties
echo "signing.password=${SONATYPE_GPG_PASSWORD}" >> ~/.gradle/gradle.properties
echo "signing.secretKeyRingFile=${HOME}/.gradle/secring.gpg" >> ~/.gradle/gradle.properties
echo ${SONATYPE_GPG_FILE} | base64 -d > ~/.gradle/secring.gpg
./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository --no-daemon
# Upload artifacts
- name: Upload jar
uses: actions/upload-artifact@v1
if: success() && matrix.java == '11'
with:
name: jar
path: build/libs/
- name: Upload Executable
uses: actions/upload-artifact@v1
if: success() && matrix.java == '11'
with:
name: exe
path: build/executable/
workflow: oss-build.yml
repo: kestra-io/infra
ref: master
token: ${{ secrets.GH_PERSONAL_TOKEN }}
# Slack
- name: Slack notification
uses: 8398a7/action-slack@v3
if: always()
- name: Slack - Notification
uses: Gamesight/slack-workflow-status@master
if: ${{ always() && env.SLACK_WEBHOOK_URL != 0 }}
with:
status: ${{ job.status }}
job_name: Check
fields: repo,message,author,action,ref,job,took
username: Github Actions
icon_emoji: ':octocat:'
channel: '#kestra'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
MATRIX_CONTEXT: ${{ toJson(matrix) }}
docker:
name: Publish docker
runs-on: ubuntu-latest
needs: check
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/release' || startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/checkout@v2
# Artifact
- name: Download executable
uses: actions/download-artifact@v1
with:
name: exe
- name: Copy exe to image
run: |
cp exe/* docker/app/kestra && chmod +x docker/app/kestra
# Vars
- name: Set image name
id: vars
run: |
TAG=${GITHUB_REF#refs/*/}
if [[ $TAG = "master" ]]
then
echo ::set-output name=tag::latest
echo ::set-output name=plugins::
else
echo ::set-output name=tag::${TAG}
echo ::set-output name=plugins::--repositories=https://s01.oss.sonatype.org/content/repositories/snapshots
fi
# Docker
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Push to Docker Hub
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: ${{ format('kestra/kestra:{0}', steps.vars.outputs.tag) }}
- name: Push to Docker Hub Full
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: ${{ format('kestra/kestra:{0}-full', steps.vars.outputs.tag) }}
build-args: |
KESTRA_PLUGINS=${{ steps.vars.outputs.plugins }} io.kestra.storage:storage-gcs:LATEST io.kestra.storage:storage-minio:LATEST io.kestra.plugin:plugin-aws:LATEST io.kestra.plugin:plugin-fs:LATEST io.kestra.plugin:plugin-gcp:LATEST io.kestra.plugin:plugin-kubernetes:LATEST io.kestra.plugin:plugin-serdes:LATEST io.kestra.plugin:plugin-notifications:LATEST io.kestra.plugin:plugin-crypto:LATEST io.kestra.plugin:plugin-jdbc-mysql:LATEST io.kestra.plugin:plugin-jdbc-postgres:LATEST io.kestra.plugin:plugin-jdbc-vertica:LATEST io.kestra.plugin:plugin-jdbc-clickhouse:LATEST io.kestra.plugin:plugin-script-groovy:LATEST io.kestra.plugin:plugin-script-jython:LATEST io.kestra.plugin:plugin-script-nashorn:LATEST
APT_PACKAGES=python3-pip python3-wheel python3-setuptools python3-virtualenv nodejs
# Slack
- name: Slack notification
uses: 8398a7/action-slack@v3
if: always()
with:
status: ${{ job.status }}
job_name: Publish docker
fields: repo,commit,action,ref,job,took
username: Github Actions
icon_emoji: ':octocat:'
channel: '#kestra'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
repo_token: ${{ secrets.GITHUB_TOKEN }}
slack_webhook_url: ${{ secrets.SLACK_WEBHOOK_URL }}
name: GitHub Actions
icon_emoji: ":github-actions:"
channel: "C02DQ1A7JLR" # _int_git channel

74
.github/workflows/pull-request.yml vendored Normal file
View File

@@ -0,0 +1,74 @@
name: Pull Request Workflow
on:
pull_request:
branches:
- develop
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}-pr
cancel-in-progress: true
jobs:
# ********************************************************************************************************************
# File changes detection
# ********************************************************************************************************************
file-changes:
if: ${{ github.event.pull_request.draft == false }}
name: File changes detection
runs-on: ubuntu-latest
timeout-minutes: 60
outputs:
ui: ${{ steps.changes.outputs.ui }}
translations: ${{ steps.changes.outputs.translations }}
backend: ${{ steps.changes.outputs.backend }}
steps:
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
ui:
- 'ui/**'
backend:
- '!{ui,.github}/**'
token: ${{ secrets.GITHUB_TOKEN }}
# ********************************************************************************************************************
# Tests
# ********************************************************************************************************************
frontend:
name: Frontend - Tests
needs: [file-changes]
if: "needs.file-changes.outputs.ui == 'true'"
uses: ./.github/workflows/workflow-frontend-test.yml
secrets:
GITHUB_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
backend:
name: Backend - Tests
needs: file-changes
if: "needs.file-changes.outputs.backend == 'true'"
uses: ./.github/workflows/workflow-backend-test.yml
secrets:
GITHUB_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
GOOGLE_SERVICE_ACCOUNT: ${{ secrets.GOOGLE_SERVICE_ACCOUNT }}
end:
name: End
runs-on: ubuntu-latest
if: always()
needs: [frontend, backend]
steps:
# Slack
- name: Slack notification
uses: Gamesight/slack-workflow-status@master
if: ${{ always() && env.SLACK_WEBHOOK_URL != 0 }}
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
slack_webhook_url: ${{ secrets.SLACK_WEBHOOK_URL }}
name: GitHub Actions
icon_emoji: ":github-actions:"
channel: "C02DQ1A7JLR"

View File

@@ -0,0 +1,60 @@
name: Set Version and Tag Plugins
on:
workflow_dispatch:
inputs:
releaseVersion:
description: 'The release version (e.g., 0.21.0)'
required: true
type: string
dryRun:
description: 'Use DRY_RUN mode'
required: false
default: 'false'
jobs:
tag:
name: Release plugins
runs-on: ubuntu-latest
steps:
# Checkout
- uses: actions/checkout@v4
with:
fetch-depth: 0
# Get Plugins List
- name: Get Plugins List
uses: ./.github/actions/plugins-list
id: plugins-list
with:
plugin-version: 'LATEST'
- name: 'Configure Git'
run: |
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
# Execute
- name: Set Version and Tag Plugins
if: ${{ github.event.inputs.dryRun == 'false' }}
env:
GITHUB_PAT: ${{ secrets.GH_PERSONAL_TOKEN }}
run: |
chmod +x ./dev-tools/setversion-tag-plugins.sh;
./dev-tools/setversion-tag-plugins.sh \
--release-version=${{github.event.inputs.releaseVersion}} \
--yes \
${{ steps.plugins-list.outputs.repositories }}
- name: Set Version and Tag Plugins (DRY_RUN)
if: ${{ github.event.inputs.dryRun == 'true' }}
env:
GITHUB_PAT: ${{ secrets.GH_PERSONAL_TOKEN }}
run: |
chmod +x ./dev-tools/setversion-tag-plugins.sh;
./dev-tools/setversion-tag-plugins.sh \
--release-version=${{github.event.inputs.releaseVersion}} \
--dry-run \
--yes \
${{ steps.plugins-list.outputs.repositories }}

57
.github/workflows/setversion-tag.yml vendored Normal file
View File

@@ -0,0 +1,57 @@
name: Set Version and Tag
run-name: "Set version and Tag Kestra to ${{ github.event.inputs.releaseVersion }} 🚀"
on:
workflow_dispatch:
inputs:
releaseVersion:
description: 'The release version (e.g., 0.21.1)'
required: true
type: string
env:
RELEASE_VERSION: "${{ github.event.inputs.releaseVersion }}"
jobs:
release:
name: Release Kestra
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/heads/releases/v')
steps:
# Checks
- name: Check Inputs
run: |
if ! [[ "$RELEASE_VERSION" =~ ^[0-9]+(\.[0-9]+)(\.[0-9]+)(-rc[0-9])?(-SNAPSHOT)?$ ]]; then
echo "Invalid release version. Must match regex: ^[0-9]+(\.[0-9]+)(\.[0-9]+)-(rc[0-9])?(-SNAPSHOT)?$"
exit 1
fi
# Extract the major and minor versions
BASE_VERSION=$(echo "$RELEASE_VERSION" | sed -E 's/^([0-9]+\.[0-9]+)\..*/\1/')
RELEASE_BRANCH="refs/heads/releases/v${BASE_VERSION}.x"
CURRENT_BRANCH="$GITHUB_REF"
if ! [[ "$CURRENT_BRANCH" == "$RELEASE_BRANCH" ]]; then
echo "Invalid release branch. Expected $RELEASE_BRANCH, was $CURRENT_BRANCH"
exit 1
fi
# Checkout
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure Git
run: |
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
# Execute
- name: Run Gradle Release
env:
GITHUB_PAT: ${{ secrets.GH_PERSONAL_TOKEN }}
run: |
# Update version
sed -i "s/^version=.*/version=$RELEASE_VERSION/" ./gradle.properties
git add ./gradle.properties
git commit -m"chore(version): update to version '$RELEASE_VERSION'"
git push
git tag -a "v$RELEASE_VERSION" -m"v$RELEASE_VERSION"
git push origin "v$RELEASE_VERSION"

View File

@@ -0,0 +1,121 @@
name: Vulnerabilities Checks
on:
schedule:
- cron: "0 0 * * *" # Every day
workflow_dispatch: {}
env:
JAVA_VERSION: '21'
jobs:
dependency-check:
name: Dependency Check
runs-on: ubuntu-latest
steps:
# Checkout
- uses: actions/checkout@v4
with:
fetch-depth: 0
# Checkout GitHub Actions
- uses: actions/checkout@v4
with:
repository: kestra-io/actions
path: actions
ref: main
# Setup build
- uses: ./actions/.github/actions/setup-build
id: build
with:
java-enabled: true
node-enabled: true
caches-enabled: true
# Npm
- name: Npm - Install
shell: bash
working-directory: ui
run: npm ci
# Run OWASP dependency check plugin
- name: Gradle Dependency Check
env:
NVD_API_KEY: ${{ secrets.NIST_APIKEY }}
run: |
./gradlew dependencyCheckAggregate
# Upload dependency check report
- name: Upload dependency check report
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: dependency-check-report
path: build/reports/dependency-check-report.html
develop-image-check:
name: Image Check (develop)
runs-on: ubuntu-latest
steps:
# Checkout
- uses: actions/checkout@v4
with:
fetch-depth: 0
# Checkout GitHub Actions
- uses: actions/checkout@v4
with:
repository: kestra-io/actions
path: actions
ref: main
# Setup build
- uses: ./actions/.github/actions/setup-build
id: build
with:
java-enabled: false
node-enabled: false
caches-enabled: true
# Run Trivy image scan for Docker vulnerabilities, see https://github.com/aquasecurity/trivy-action
- name: Docker Vulnerabilities Check
uses: aquasecurity/trivy-action@0.30.0
with:
image-ref: kestra/kestra:develop
format: table
skip-dirs: /app/plugins
scanners: vuln
latest-image-check:
name: Image Check (latest)
runs-on: ubuntu-latest
steps:
# Checkout
- uses: actions/checkout@v4
with:
fetch-depth: 0
# Checkout GitHub Actions
- uses: actions/checkout@v4
with:
repository: kestra-io/actions
path: actions
ref: main
# Setup build
- uses: ./actions/.github/actions/setup-build
id: build
with:
java-enabled: false
node-enabled: false
caches-enabled: true
# Run Trivy image scan for Docker vulnerabilities, see https://github.com/aquasecurity/trivy-action
- name: Docker Vulnerabilities Check
uses: aquasecurity/trivy-action@0.30.0
with:
image-ref: kestra/kestra:latest
format: table
skip-dirs: /app/plugins
scanners: vuln

View File

@@ -0,0 +1,140 @@
name: Backend - Tests
on:
workflow_call:
secrets:
GITHUB_AUTH_TOKEN:
description: "The GitHub Token."
required: true
CODECOV_TOKEN:
description: 'Codecov Token'
required: true
SONAR_TOKEN:
description: 'Sonar Token'
required: true
GOOGLE_SERVICE_ACCOUNT:
description: 'Google Service Account'
required: true
permissions:
contents: write
checks: write
actions: read
jobs:
test:
name: Backend - Tests
runs-on: ubuntu-latest
env:
GOOGLE_SERVICE_ACCOUNT: ${{ secrets.GOOGLE_SERVICE_ACCOUNT }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
steps:
- uses: actions/checkout@v4
name: Checkout - Current ref
# Setup build
- uses: kestra-io/actions/.github/actions/setup-build@main
name: Setup - Build
id: build
with:
java-enabled: true
node-enabled: true
python-enabled: true
# Services
- name: Setup - Start docker compose
shell: bash
run: docker compose -f docker-compose-ci.yml up -d
# Gradle check
- name: Gradle - Build
if: ${{ github.event.inputs.skip-test == 'false' || github.event.inputs.skip-test == '' }}
env:
GOOGLE_SERVICE_ACCOUNT: ${{ secrets.GOOGLE_SERVICE_ACCOUNT }}
shell: bash
run: |
echo $GOOGLE_SERVICE_ACCOUNT | base64 -d > ~/.gcp-service-account.json
export GOOGLE_APPLICATION_CREDENTIALS=$HOME/.gcp-service-account.json
./gradlew check javadoc --parallel
# report test
- name: Test - Publish Test Results
uses: dorny/test-reporter@v2
if: always()
with:
name: Java Tests Report
reporter: java-junit
path: '**/build/test-results/test/TEST-*.xml'
list-suites: 'failed'
list-tests: 'failed'
fail-on-error: 'false'
token: ${{ secrets.GITHUB_AUTH_TOKEN }}
# Sonar
- name: Test - Analyze with Sonar
if: env.SONAR_TOKEN != ''
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_AUTH_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
shell: bash
run: ./gradlew sonar --info
# GCP
- name: GCP - Auth with unit test account
id: auth
if: always() && env.GOOGLE_SERVICE_ACCOUNT != ''
continue-on-error: true
uses: "google-github-actions/auth@v2"
with:
credentials_json: "${{ secrets.GOOGLE_SERVICE_ACCOUNT }}"
- name: GCP - Setup Cloud SDK
if: env.GOOGLE_SERVICE_ACCOUNT != ''
uses: "google-github-actions/setup-gcloud@v2"
# Allure check
- uses: rlespinasse/github-slug-action@v5
name: Allure - Generate slug variables
- name: Allure - Publish report
uses: andrcuns/allure-publish-action@v2.9.0
if: always() && env.GOOGLE_SERVICE_ACCOUNT != ''
continue-on-error: true
env:
GITHUB_AUTH_TOKEN: ${{ secrets.GITHUB_AUTH_TOKEN }}
JAVA_HOME: /usr/lib/jvm/default-jvm/
with:
storageType: gcs
resultsGlob: "**/build/allure-results"
bucket: internal-kestra-host
baseUrl: "https://internal.dev.kestra.io"
prefix: ${{ format('{0}/{1}', github.repository, 'allure/java') }}
copyLatest: true
ignoreMissingResults: true
# Jacoco
- name: Jacoco - Copy reports
if: env.GOOGLE_SERVICE_ACCOUNT != ''
continue-on-error: true
shell: bash
run: |
mv build/reports/jacoco/testCodeCoverageReport build/reports/jacoco/test/
mv build/reports/jacoco/test/testCodeCoverageReport.xml build/reports/jacoco/test/jacocoTestReport.xml
gsutil -m rsync -d -r build/reports/jacoco/test/ gs://internal-kestra-host/${{ format('{0}/{1}', github.repository, 'jacoco') }}
# Codecov
- name: Codecov - Upload coverage reports
uses: codecov/codecov-action@v5
if: ${{ !cancelled() }}
continue-on-error: true
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: backend
- name: Codecov - Upload test results
uses: codecov/test-results-action@v1
if: ${{ !cancelled() }}
continue-on-error: true
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: backend

View File

@@ -0,0 +1,152 @@
name: Build Artifacts
on:
workflow_call:
inputs:
plugin-version:
description: "Kestra version"
default: 'LATEST'
required: true
type: string
outputs:
docker-tag:
value: ${{ jobs.build.outputs.docker-tag }}
description: "The Docker image Tag for Kestra"
docker-artifact-name:
value: ${{ jobs.build.outputs.docker-artifact-name }}
description: "The GitHub artifact containing the Kestra docker image name."
plugins:
value: ${{ jobs.build.outputs.plugins }}
description: "The Kestra plugins list used for the build."
jobs:
build:
name: Build - Artifacts
runs-on: ubuntu-latest
outputs:
docker-tag: ${{ steps.vars.outputs.tag }}
docker-artifact-name: ${{ steps.vars.outputs.artifact }}
plugins: ${{ steps.plugins.outputs.plugins }}
env:
PLUGIN_VERSION: ${{ github.event.inputs.plugin-version != null && github.event.inputs.plugin-version || 'LATEST' }}
steps:
- name: Checkout - Current ref
uses: actions/checkout@v4
with:
fetch-depth: 0
# Npm
- name: Setup - Npm install
shell: bash
working-directory: ui
run: npm ci
# Setup build
- uses: kestra-io/actions/.github/actions/setup-build@main
name: Setup - Build
id: build
with:
java-enabled: true
node-enabled: true
# Get Plugins List
- name: Plugins - Get List
uses: ./.github/actions/plugins-list
if: "!startsWith(github.ref, 'refs/tags/v')"
id: plugins-list
with:
plugin-version: ${{ env.PLUGIN_VERSION }}
# Set Plugins List
- name: Plugins - Set List
id: plugins
if: "!startsWith(github.ref, 'refs/tags/v')"
shell: bash
run: |
PLUGINS="${{ steps.plugins-list.outputs.plugins }}"
TAG=${GITHUB_REF#refs/*/}
if [[ $TAG = "master" || $TAG == v* ]]; then
echo "plugins=$PLUGINS" >> $GITHUB_OUTPUT
else
echo "plugins=--repositories=https://s01.oss.sonatype.org/content/repositories/snapshots $PLUGINS" >> $GITHUB_OUTPUT
fi
# Build
- name: Gradle - Build
shell: bash
run: |
./gradlew executableJar
- name: Artifacts - Copy exe to image
shell: bash
run: |
cp build/executable/* docker/app/kestra && chmod +x docker/app/kestra
# Docker Tag
- name: Setup - Docker vars
id: vars
shell: bash
run: |
TAG=${GITHUB_REF#refs/*/}
if [[ $TAG = "master" ]]
then
TAG="latest";
elif [[ $TAG = "develop" ]]
then
TAG="develop";
elif [[ $TAG = v* ]]
then
TAG="${TAG}";
else
TAG="build-${{ github.run_id }}";
fi
echo "tag=${TAG}" >> $GITHUB_OUTPUT
echo "artifact=docker-kestra-${TAG}" >> $GITHUB_OUTPUT
# Docker setup
- name: Docker - Setup QEMU
uses: docker/setup-qemu-action@v3
- name: Docker - Fix Qemu
shell: bash
run: |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes -c yes
- name: Docker - Setup Buildx
uses: docker/setup-buildx-action@v3
# Docker Build
- name: Docker - Build & export image
uses: docker/build-push-action@v6
if: "!startsWith(github.ref, 'refs/tags/v')"
with:
context: .
push: false
file: Dockerfile
tags: |
kestra/kestra:${{ steps.vars.outputs.tag }}
build-args: |
KESTRA_PLUGINS=${{ steps.plugins.outputs.plugins }}
APT_PACKAGES=${{ env.DOCKER_APT_PACKAGES }}
PYTHON_LIBRARIES=${{ env.DOCKER_PYTHON_LIBRARIES }}
outputs: type=docker,dest=/tmp/${{ steps.vars.outputs.artifact }}.tar
# Upload artifacts
- name: Artifacts - Upload JAR
uses: actions/upload-artifact@v4
with:
name: jar
path: build/libs/
- name: Artifacts - Upload Executable
uses: actions/upload-artifact@v4
with:
name: exe
path: build/executable/
- name: Artifacts - Upload Docker
uses: actions/upload-artifact@v4
if: "!startsWith(github.ref, 'refs/tags/v')"
with:
name: ${{ steps.vars.outputs.artifact }}
path: /tmp/${{ steps.vars.outputs.artifact }}.tar

View File

@@ -0,0 +1,68 @@
name: Frontend - Tests
on:
workflow_call:
secrets:
GITHUB_AUTH_TOKEN:
description: "The GitHub Token."
required: true
CODECOV_TOKEN:
description: 'Codecov Token'
required: true
env:
# to save corepack from itself
COREPACK_INTEGRITY_KEYS: 0
jobs:
test:
name: Frontend - Tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Npm - install
shell: bash
working-directory: ui
run: npm ci
- name: Npm - lint
uses: reviewdog/action-eslint@v1
with:
github_token: ${{ secrets.GITHUB_AUTH_TOKEN }}
reporter: github-pr-review
workdir: ui
- name: Npm - Run build
shell: bash
working-directory: ui
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run: npm run build
- name: Storybook - Install Playwright
shell: bash
working-directory: ui
run: npx playwright install --with-deps
- name: Run front-end unit tests
shell: bash
working-directory: ui
run: npm run test:cicd
- name: Codecov - Upload coverage reports
uses: codecov/codecov-action@v5
if: ${{ !cancelled() && github.event.pull_request.head.repo.full_name == github.repository }}
continue-on-error: true
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: frontend
- name: Codecov - Upload test results
uses: codecov/test-results-action@v1
if: ${{ !cancelled() }}
continue-on-error: true
with:
token: ${{ secrets.CODECOV_TOKEN && github.event.pull_request.head.repo.full_name == github.repository }}
flags: frontend

View File

@@ -0,0 +1,54 @@
name: Github - Release
on:
workflow_call:
secrets:
GH_PERSONAL_TOKEN:
description: "The Github personal token."
required: true
jobs:
publish:
name: Github - Release
runs-on: ubuntu-latest
steps:
# Download Exec
- name: Artifacts - Download executable
uses: actions/download-artifact@v4
if: startsWith(github.ref, 'refs/tags/v')
with:
name: exe
path: build/executable
# Checkout GitHub Actions
- name: Checkout - Actions
uses: actions/checkout@v4
with:
repository: kestra-io/actions
sparse-checkout-cone-mode: true
path: actions
sparse-checkout: |
.github/actions
# GitHub Release
- name: Create GitHub release
uses: ./actions/.github/actions/github-release
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SLACK_RELEASES_WEBHOOK_URL: ${{ secrets.SLACK_RELEASES_WEBHOOK_URL }}
# Trigger gha workflow to bump helm chart version
- name: GitHub - Trigger the Helm chart version bump
uses: peter-evans/repository-dispatch@v3
if: steps.create_github_release.conclusion == 'success'
with:
token: ${{ secrets.GH_PERSONAL_TOKEN }}
repository: kestra-io/helm-charts
event-type: update-helm-chart-version
client-payload: |-
{
"new_version": "${{ github.ref_name }}",
"github_repository": "${{ github.repository }}",
"github_actor": "${{ github.actor }}"
}

View File

@@ -0,0 +1,146 @@
name: Publish - Docker
on:
workflow_dispatch:
inputs:
plugin-version:
description: "Kestra version"
default: 'LATEST'
required: false
type: string
force-download-artifact:
description: 'Force download artifact'
required: false
type: string
default: "true"
workflow_call:
inputs:
plugin-version:
description: "Kestra version"
default: 'LATEST'
required: false
type: string
force-download-artifact:
description: 'Force download artifact'
required: false
type: string
default: "true"
secrets:
DOCKERHUB_USERNAME:
description: "The Dockerhub username."
required: true
DOCKERHUB_PASSWORD:
description: "The Dockerhub password."
required: true
jobs:
# ********************************************************************************************************************
# Build
# ********************************************************************************************************************
build-artifacts:
name: Build Artifacts
if: ${{ github.event.inputs.force-download-artifact == 'true' }}
uses: ./.github/workflows/workflow-build-artifacts.yml
with:
plugin-version: ${{ github.event.inputs.plugin-version != null && github.event.inputs.plugin-version || 'LATEST' }}
# ********************************************************************************************************************
# Docker
# ********************************************************************************************************************
publish:
name: Publish - Docker
runs-on: ubuntu-latest
needs: build-artifacts
if: |
always() &&
(needs.build-artifacts.result == 'success' ||
github.event.inputs.force-download-artifact != 'true')
env:
PLUGIN_VERSION: ${{ github.event.inputs.plugin-version != null && github.event.inputs.plugin-version || 'LATEST' }}
strategy:
matrix:
image:
- tag: -no-plugins
packages: jattach
plugins: false
python-libraries: ""
- tag: ""
plugins: true
packages: python3 python3-venv python-is-python3 python3-pip nodejs npm curl zip unzip jattach
python-libraries: kestra
steps:
- name: Checkout - Current ref
uses: actions/checkout@v4
# Docker setup
- name: Docker - Setup QEMU
uses: docker/setup-qemu-action@v3
- name: Docker - Fix Qemu
shell: bash
run: |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes -c yes
- name: Docker - Setup Docker Buildx
uses: docker/setup-buildx-action@v3
# Docker Login
- name: Docker - Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
# # Get Plugins List
- name: Plugins - Get List
uses: ./.github/actions/plugins-list
id: plugins-list
if: ${{ matrix.image.plugins}}
with:
plugin-version: ${{ env.PLUGIN_VERSION }}
# Vars
- name: Docker - Set variables
shell: bash
id: vars
run: |
TAG=${GITHUB_REF#refs/*/}
PLUGINS="${{ matrix.image.plugins == true && steps.plugins-list.outputs.plugins || '' }}"
if [[ $TAG == v* ]]; then
TAG="${TAG}";
echo "plugins=${{ matrix.image.plugins }}" >> $GITHUB_OUTPUT
elif [[ $TAG = "develop" ]]; then
TAG="develop";
echo "plugins=--repositories=https://s01.oss.sonatype.org/content/repositories/snapshots $PLUGINS" >> $GITHUB_OUTPUT
else
TAG="build-${{ github.run_id }}";
echo "plugins=--repositories=https://s01.oss.sonatype.org/content/repositories/snapshots $PLUGINS" >> $GITHUB_OUTPUT
fi
echo "tag=${TAG}${{ matrix.image.tag }}" >> $GITHUB_OUTPUT
# Build Docker Image
- name: Artifacts - Download executable
uses: actions/download-artifact@v4
with:
name: exe
path: build/executable
- name: Docker - Copy exe to image
shell: bash
run: |
cp build/executable/* docker/app/kestra && chmod +x docker/app/kestra
# Docker Build and push
- name: Docker - Build image
uses: docker/build-push-action@v6
with:
context: .
push: true
tags: kestra/kestra:${{ steps.vars.outputs.tag }}
platforms: linux/amd64,linux/arm64
build-args: |
KESTRA_PLUGINS=${{ steps.vars.outputs.plugins }}
APT_PACKAGES=${{ matrix.image.packages }}
PYTHON_LIBRARIES=${{ matrix.image.python-libraries }}

View File

@@ -0,0 +1,57 @@
name: Publish - Maven
on:
workflow_call:
secrets:
SONATYPE_USER:
description: "The Sonatype username."
required: true
SONATYPE_PASSWORD:
description: "The Sonatype password."
required: true
SONATYPE_GPG_KEYID:
description: "The Sonatype GPG key id."
required: true
SONATYPE_GPG_PASSWORD:
description: "The Sonatype GPG password."
required: true
SONATYPE_GPG_FILE:
description: "The Sonatype GPG file."
required: true
jobs:
publish:
name: Publish - Maven
runs-on: ubuntu-latest
steps:
- name: Checkout - Current ref
uses: actions/checkout@v4
# Setup build
- name: Setup - Build
uses: kestra-io/actions/.github/actions/setup-build@main
id: build
with:
java-enabled: true
node-enabled: true
# Publish
- name: Publish - Release package to Maven Central
shell: bash
env:
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USER }}
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_GPG_KEYID: ${{ secrets.SONATYPE_GPG_KEYID }}
SONATYPE_GPG_PASSWORD: ${{ secrets.SONATYPE_GPG_PASSWORD }}
SONATYPE_GPG_FILE: ${{ secrets.SONATYPE_GPG_FILE}}
run: |
mkdir -p ~/.gradle/
echo "signing.keyId=${SONATYPE_GPG_KEYID}" > ~/.gradle/gradle.properties
echo "signing.password=${SONATYPE_GPG_PASSWORD}" >> ~/.gradle/gradle.properties
echo "signing.secretKeyRingFile=${HOME}/.gradle/secring.gpg" >> ~/.gradle/gradle.properties
echo ${SONATYPE_GPG_FILE} | base64 -d > ~/.gradle/secring.gpg
./gradlew publishToSonatype ${{ startsWith(github.ref, 'refs/tags/v') && 'closeAndReleaseSonatypeStagingRepository' || '' }}
# Gradle dependency
- name: Java - Gradle dependency graph
uses: gradle/actions/dependency-submission@v4

80
.github/workflows/workflow-release.yml vendored Normal file
View File

@@ -0,0 +1,80 @@
name: Release
on:
workflow_dispatch:
inputs:
plugin-version:
description: "Kestra version"
default: 'LATEST'
required: false
type: string
publish-docker:
description: "Publish Docker image"
default: 'false'
required: false
type: string
workflow_call:
inputs:
plugin-version:
description: "Kestra version"
default: 'LATEST'
required: false
type: string
secrets:
DOCKERHUB_USERNAME:
description: "The Dockerhub username."
required: true
DOCKERHUB_PASSWORD:
description: "The Dockerhub password."
required: true
SONATYPE_USER:
description: "The Sonatype username."
required: true
SONATYPE_PASSWORD:
description: "The Sonatype password."
required: true
SONATYPE_GPG_KEYID:
description: "The Sonatype GPG key id."
required: true
SONATYPE_GPG_PASSWORD:
description: "The Sonatype GPG password."
required: true
SONATYPE_GPG_FILE:
description: "The Sonatype GPG file."
required: true
jobs:
build-artifacts:
name: Build - Artifacts
uses: ./.github/workflows/workflow-build-artifacts.yml
with:
plugin-version: ${{ github.event.inputs.plugin-version != null && github.event.inputs.plugin-version || 'LATEST' }}
Docker:
name: Publish Docker
needs: build-artifacts
uses: ./.github/workflows/workflow-publish-docker.yml
if: startsWith(github.ref, 'refs/heads/develop') || github.event.inputs.publish-docker == 'true'
with:
force-download-artifact: 'false'
plugin-version: ${{ github.event.inputs.plugin-version != null && github.event.inputs.plugin-version || 'LATEST' }}
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
Maven:
name: Publish Maven
uses: ./.github/workflows/workflow-publish-maven.yml
secrets:
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_GPG_KEYID: ${{ secrets.SONATYPE_GPG_KEYID }}
SONATYPE_GPG_PASSWORD: ${{ secrets.SONATYPE_GPG_PASSWORD }}
SONATYPE_GPG_FILE: ${{ secrets.SONATYPE_GPG_FILE }}
Github:
name: Github Release
needs: build-artifacts
if: startsWith(github.ref, 'refs/tags/v')
uses: ./.github/workflows/workflow-github-release.yml
secrets:
GH_PERSONAL_TOKEN: ${{ secrets.GH_PERSONAL_TOKEN }}

97
.github/workflows/workflow-test.yml vendored Normal file
View File

@@ -0,0 +1,97 @@
name: Tests
on:
schedule:
- cron: '0 4 * * 1,2,3,4,5'
workflow_call:
inputs:
report-status:
description: "Report status of the jobs in outputs"
type: string
required: false
default: false
outputs:
frontend_status:
description: "Status of the frontend job"
value: ${{ jobs.set-frontend-status.outputs.frontend_status }}
backend_status:
description: "Status of the backend job"
value: ${{ jobs.set-backend-status.outputs.backend_status }}
jobs:
file-changes:
name: File changes detection
runs-on: ubuntu-latest
timeout-minutes: 60
outputs:
ui: ${{ steps.changes.outputs.ui }}
backend: ${{ steps.changes.outputs.backend }}
steps:
- uses: actions/checkout@v4
if: "!startsWith(github.ref, 'refs/tags/v')"
- uses: dorny/paths-filter@v3
if: "!startsWith(github.ref, 'refs/tags/v')"
id: changes
with:
filters: |
ui:
- 'ui/**'
backend:
- '!{ui,.github}/**'
token: ${{ secrets.GITHUB_TOKEN }}
frontend:
name: Frontend - Tests
needs: file-changes
if: "needs.file-changes.outputs.ui == 'true' || startsWith(github.ref, 'refs/tags/v')"
uses: ./.github/workflows/workflow-frontend-test.yml
secrets:
GITHUB_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
backend:
name: Backend - Tests
needs: file-changes
if: "needs.file-changes.outputs.backend == 'true' || startsWith(github.ref, 'refs/tags/v')"
uses: ./.github/workflows/workflow-backend-test.yml
secrets:
GITHUB_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
GOOGLE_SERVICE_ACCOUNT: ${{ secrets.GOOGLE_SERVICE_ACCOUNT }}
# Output every job status
# To be used in other workflows
report-status:
name: Report Status
runs-on: ubuntu-latest
needs: [ frontend, backend ]
if: always() && (inputs.report-status == 'true')
outputs:
frontend_status: ${{ steps.set-frontend-status.outputs.frontend_status }}
backend_status: ${{ steps.set-backend-status.outputs.backend_status }}
steps:
- id: set-frontend-status
name: Set frontend job status
run: echo "::set-output name=frontend_status::${{ needs.frontend.result }}"
- id: set-backend-status
name: Set backend job status
run: echo "::set-output name=backend_status::${{ needs.backend.result }}"
notify:
name: Notify - Slack
runs-on: ubuntu-latest
needs: [ frontend, backend ]
if: github.event_name == 'schedule'
steps:
- name: Notify failed CI
id: send-ci-failed
if: |
always() && (needs.frontend.result != 'success' ||
needs.backend.result != 'success')
uses: kestra-io/actions/.github/actions/send-ci-failed@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

22
.gitignore vendored
View File

@@ -7,6 +7,7 @@ target/
out/
.idea
.vscode
prettierrc.js
*.iml
*.ipr
*.iws
@@ -14,11 +15,12 @@ out/
.settings
.classpath
.attach*
**/*.class
**/bin/*
### Configurations
docker-compose.override.yml
cli/src/main/resources/application-override.yml
*/src/test/resources/application-test.yml
cli/src/main/resources/application-*.yml
/local
### Javascript
@@ -32,6 +34,10 @@ ui/.env.*.local
webserver/src/main/resources/ui
yarn.lock
ui/coverage
ui/stats.html
ui/.frontend-gradle-plugin
ui/utils/CHANGELOG.md
ui/test-report.junit.xml
### Docker
/.env
@@ -42,4 +48,14 @@ docker/app/confs/*.yml
docker/app/secrets/*.yml
### Build
core/src/main/resources/gradle.properties
core/src/main/resources/gradle.properties
.plugins.override
# H2 Database
/data
# Allure Reports
**/allure-results/*
*storybook.log
storybook-static

9
.gitpod.yml Normal file
View File

@@ -0,0 +1,9 @@
tasks:
- init: ./gradlew build --priority=normal
vscode:
extensions:
- vscjava.vscode-java-pack
- ms-azuretools.vscode-docker

107
.plugins Normal file
View File

@@ -0,0 +1,107 @@
#
# List of plugins to install locally with: $ make install-plugins
# Format: <RepositoryName>:<GroupId>:<ArtifactId>:<Version>
#
# Uncomment the lines corresponding to the plugins to be installed:
#plugin-airbyte:io.kestra.plugin:plugin-airbyte:LATEST
#plugin-airflow:io.kestra.plugin:plugin-airflow:LATEST
#plugin-amqp:io.kestra.plugin:plugin-amqp:LATEST
#plugin-ansible:io.kestra.plugin:plugin-ansible:LATEST
#plugin-aws:io.kestra.plugin:plugin-aws:LATEST
#plugin-azure:io.kestra.plugin:plugin-azure:LATEST
#plugin-cassandra:io.kestra.plugin:plugin-cassandra:LATEST
#plugin-cloudquery:io.kestra.plugin:plugin-cloudquery:LATEST
#plugin-compress:io.kestra.plugin:plugin-compress:LATEST
#plugin-couchbase:io.kestra.plugin:plugin-couchbase:LATEST
#plugin-crypto:io.kestra.plugin:plugin-crypto:LATEST
#plugin-databricks:io.kestra.plugin:plugin-databricks:LATEST
#plugin-datahub:io.kestra.plugin:plugin-datahub:LATEST
#plugin-dataform:io.kestra.plugin:plugin-dataform:LATEST
#plugin-dbt:io.kestra.plugin:plugin-dbt:LATEST
#plugin-debezium:io.kestra.plugin:plugin-debezium-db2:LATEST
#plugin-debezium:io.kestra.plugin:plugin-debezium-mongodb:LATEST
#plugin-debezium:io.kestra.plugin:plugin-debezium-mysql:LATEST
#plugin-debezium:io.kestra.plugin:plugin-debezium-oracle:LATEST
#plugin-debezium:io.kestra.plugin:plugin-debezium-postgres:LATEST
#plugin-debezium:io.kestra.plugin:plugin-debezium-sqlserver:LATEST
#plugin-docker:io.kestra.plugin:plugin-docker:LATEST
#plugin-elasticsearch:io.kestra.plugin:plugin-elasticsearch:LATEST
#plugin-fivetran:io.kestra.plugin:plugin-fivetran:LATEST
#plugin-fs:io.kestra.plugin:plugin-fs:LATEST
#plugin-gcp:io.kestra.plugin:plugin-gcp:LATEST
#plugin-git:io.kestra.plugin:plugin-git:LATEST
#plugin-github:io.kestra.plugin:plugin-github:LATEST
#plugin-googleworkspace:io.kestra.plugin:plugin-googleworkspace:LATEST
#plugin-graalvm:io.kestra.plugin:plugin-graalvm:LATEST
#plugin-hightouch:io.kestra.plugin:plugin-hightouch:LATEST
#plugin-hubspot:io.kestra.plugin:plugin-hubspot:LATEST
#plugin-huggingface:io.kestra.plugin:plugin-huggingface:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-as400:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-clickhouse:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-db2:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-duckdb:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-druid:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-mariadb:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-mysql:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-oracle:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-pinot:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-postgres:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-redshift:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-snowflake:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-sqlserver:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-trino:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-vectorwise:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-vertica:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-dremio:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-arrow-flight:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-sqlite:LATEST
#plugin-jdbc:io.kestra.plugin:plugin-jdbc-sybase:LATEST
#plugin-jira:io.kestra.plugin:plugin-jira:LATEST
#plugin-kafka:io.kestra.plugin:plugin-kafka:LATEST
#plugin-kubernetes:io.kestra.plugin:plugin-kubernetes:LATEST
#plugin-ldap:io.kestra.plugin:plugin-ldap:LATEST
#plugin-linear:io.kestra.plugin:plugin-linear:LATEST
#plugin-malloy:io.kestra.plugin:plugin-malloy:LATEST
#plugin-meilisearch:io.kestra.plugin:plugin-meilisearch:LATEST
#plugin-minio:io.kestra.plugin:plugin-minio:LATEST
#plugin-modal:io.kestra.plugin:plugin-modal:LATEST
#plugin-mongodb:io.kestra.plugin:plugin-mongodb:LATEST
#plugin-mqtt:io.kestra.plugin:plugin-mqtt:LATEST
#plugin-nats:io.kestra.plugin:plugin-nats:LATEST
#plugin-neo4j:io.kestra.plugin:plugin-neo4j:LATEST
#plugin-notifications:io.kestra.plugin:plugin-notifications:LATEST
#plugin-openai:io.kestra.plugin:plugin-openai:LATEST
#plugin-opensearch:io.kestra.plugin:plugin-opensearch:LATEST
#plugin-powerbi:io.kestra.plugin:plugin-powerbi:LATEST
#plugin-pulsar:io.kestra.plugin:plugin-pulsar:LATEST
#plugin-redis:io.kestra.plugin:plugin-redis:LATEST
#plugin-scripts:io.kestra.plugin:plugin-script-groovy:LATEST
#plugin-scripts:io.kestra.plugin:plugin-script-jbang:LATEST
#plugin-scripts:io.kestra.plugin:plugin-script-julia:LATEST
#plugin-scripts:io.kestra.plugin:plugin-script-jython:LATEST
#plugin-scripts:io.kestra.plugin:plugin-script-nashorn:LATEST
#plugin-scripts:io.kestra.plugin:plugin-script-node:LATEST
#plugin-scripts:io.kestra.plugin:plugin-script-powershell:LATEST
#plugin-scripts:io.kestra.plugin:plugin-script-python:LATEST
#plugin-scripts:io.kestra.plugin:plugin-script-r:LATEST
#plugin-scripts:io.kestra.plugin:plugin-script-ruby:LATEST
#plugin-scripts:io.kestra.plugin:plugin-script-shell:LATEST
#plugin-serdes:io.kestra.plugin:plugin-serdes:LATEST
#plugin-servicenow:io.kestra.plugin:plugin-servicenow:LATEST
#plugin-singer:io.kestra.plugin:plugin-singer:LATEST
#plugin-soda:io.kestra.plugin:plugin-soda:LATEST
#plugin-solace:io.kestra.plugin:plugin-solace:LATEST
#plugin-spark:io.kestra.plugin:plugin-spark:LATEST
#plugin-sqlmesh:io.kestra.plugin:plugin-sqlmesh:LATEST
#plugin-surrealdb:io.kestra.plugin:plugin-surrealdb:LATEST
#plugin-terraform:io.kestra.plugin:plugin-terraform:LATEST
#plugin-transform:io.kestra.plugin:plugin-transform-grok:LATEST
#plugin-transform:io.kestra.plugin:plugin-transform-json:LATEST
#plugin-tika:io.kestra.plugin:plugin-tika:LATEST
#plugin-weaviate:io.kestra.plugin:plugin-weaviate:LATEST
#plugin-zendesk:io.kestra.plugin:plugin-zendesk:LATEST
#plugin-typesense:io.kestra.plugin:plugin-typesense:LATEST
#storage-azure:io.kestra.storage:storage-azure:LATEST
#storage-gcs:io.kestra.storage:storage-gcs:LATEST
#storage-minio:io.kestra.storage:storage-minio:LATEST
#storage-s3:io.kestra.storage:storage-s3:LATEST

1
.prettierignore Normal file
View File

@@ -0,0 +1 @@
**/*.*

View File

@@ -1,13 +1,26 @@
FROM openjdk:11-jre-slim
FROM eclipse-temurin:21-jre-jammy
ARG KESTRA_PLUGINS=""
ARG APT_PACKAGES=""
ARG PYTHON_LIBRARIES=""
WORKDIR /app
COPY docker /
RUN if [ -n "${APT_PACKAGES}" ]; then apt-get update -y; apt-get install -y --no-install-recommends ${APT_PACKAGES}; apt-get clean && rm -rf /var/lib/apt/lists/* /var/tmp/*; fi && \
if [ -n "${KESTRA_PLUGINS}" ]; then /app/kestra plugins install ${KESTRA_PLUGINS}; fi
RUN groupadd kestra && \
useradd -m -g kestra kestra
COPY --chown=kestra:kestra docker /
RUN apt-get update -y && \
apt-get upgrade -y && \
if [ -n "${APT_PACKAGES}" ]; then apt-get install -y --no-install-recommends ${APT_PACKAGES}; fi && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/* && \
if [ -n "${KESTRA_PLUGINS}" ]; then /app/kestra plugins install ${KESTRA_PLUGINS} && rm -rf /tmp/*; fi && \
if [ -n "${PYTHON_LIBRARIES}" ]; then pip install ${PYTHON_LIBRARIES}; fi && \
chown -R kestra:kestra /app
USER kestra
ENTRYPOINT ["docker-entrypoint.sh"]

263
Makefile Normal file
View File

@@ -0,0 +1,263 @@
#
# Makefile used to build and deploy Kestra locally.
# By default Kestra will be installed under: $HOME/.kestra/current. Set $KESTRA_HOME to override default.
#
# Usage:
# make install
# make install-plugins
# make start-standalone-postgres
#
# NOTE: This file is intended for development purposes only.
SHELL := /bin/bash
KESTRA_BASEDIR := $(shell echo $${KESTRA_HOME:-$$HOME/.kestra/current})
KESTRA_WORKER_THREAD := $(shell echo $${KESTRA_WORKER_THREAD:-4})
VERSION := $(shell ./gradlew properties -q | awk '/^version:/ {print $$2}')
GIT_COMMIT := $(shell git rev-parse --short HEAD)
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
DATE := $(shell date --rfc-3339=seconds)
PLUGIN_GIT_DIR ?= $(pwd)/..
PLUGIN_JARS_DIR ?= $(pwd)/locals/plugins
DOCKER_IMAGE = kestra/kestra
DOCKER_PATH = ./
.SILENT:
.PHONY: clean build build-exec test install
all: clean build-exec install
version:
echo "${VERSION}"
clean:
./gradlew clean
build: clean
./gradlew build
buildSkipTests: clean
./gradlew build -x test -x integrationTest -x testCodeCoverageReport --refresh-dependencies
test: clean
./gradlew test
build-exec:
./gradlew -q executableJar --no-daemon --priority=normal
install: build-exec
echo "Installing Kestra: ${KESTRA_BASEDIR}"
mkdir -p ${KESTRA_BASEDIR}/bin ${KESTRA_BASEDIR}/plugins ${KESTRA_BASEDIR}/flows ${KESTRA_BASEDIR}/logs
cp build/executable/* ${KESTRA_BASEDIR}/bin/kestra && chmod +x ${KESTRA_BASEDIR}/bin
VERSION_INSTALLED=$$(${KESTRA_BASEDIR}/bin/kestra --version); \
echo "Kestra installed successfully (version=$$VERSION_INSTALLED) 🚀"
# Install plugins for Kestra from (.plugins file).
install-plugins:
if [[ ! -f ".plugins" && ! -f ".plugins.override" ]]; then \
echo "[ERROR] file '$$(pwd)/.plugins' and '$$(pwd)/.plugins.override' not found."; \
exit 1; \
fi; \
PLUGIN_LIST="./.plugins"; \
if [[ -f ".plugins.override" ]]; then \
PLUGIN_LIST="./.plugins.override"; \
fi; \
while IFS= read -r plugin; do \
[[ $$plugin =~ ^#.* ]] && continue; \
PLUGINS_PATH="${KESTRA_INSTALL_DIR}/plugins"; \
CURRENT_PLUGIN=$${plugin/LATEST/"${VERSION}"}; \
CURRENT_PLUGIN=$$(echo $$CURRENT_PLUGIN | cut -d':' -f2-); \
PLUGIN_FILE="$$PLUGINS_PATH/$$(echo $$CURRENT_PLUGIN | awk -F':' '{print $$2"-"$$3}').jar"; \
echo "Installing Kestra plugin $$CURRENT_PLUGIN > ${KESTRA_INSTALL_DIR}/plugins"; \
if [ -f "$$PLUGIN_FILE" ]; then \
echo "Plugin already installed in > $$PLUGIN_FILE"; \
else \
${KESTRA_BASEDIR}/bin/kestra plugins install $$CURRENT_PLUGIN \
--plugins ${KESTRA_BASEDIR}/plugins \
--repositories=https://s01.oss.sonatype.org/content/repositories/snapshots || exit 1; \
fi \
done < $$PLUGIN_LIST
# Build docker image from Kestra source.
build-docker: build-exec
cp build/executable/* docker/app/kestra && chmod +x docker/app/kestra
echo "${DOCKER_IMAGE}:${VERSION}"
docker build \
--compress \
--rm \
-f ./Dockerfile \
--build-arg="APT_PACKAGES=python3 python3-venv python-is-python3 python3-pip nodejs npm curl zip unzip jattach" \
--build-arg="PYTHON_LIBRARIES=kestra" \
-t ${DOCKER_IMAGE}:${VERSION} ${DOCKER_PATH} || exit 1 ;
# Verify whether Kestra is running
health:
PID=$$(ps aux | grep java | grep 'kestra' | grep -v 'grep' | awk '{print $$2}'); \
if [ ! -z "$$PID" ]; then \
echo -e "\n⏳ Waiting for Kestra server..."; \
KESTRA_URL=http://localhost:8080; \
while [ $$(curl -s -L -o /dev/null -w %{http_code} $$KESTRA_URL) != 200 ]; do \
echo -e $$(date) "\tKestra server HTTP state: " $$(curl -k -L -s -o /dev/null -w %{http_code} $$KESTRA_URL) " (waiting for 200)"; \
sleep 2; \
done; \
echo "Kestra is running (pid=$$PID): $$KESTRA_URL 🚀"; \
fi
# Kill Kestra running process
kill:
PID=$$(ps aux | grep java | grep 'kestra' | grep -v 'grep' | awk '{print $$2}'); \
if [ ! -z "$$PID" ]; then \
echo "Killing Kestra process (pid=$$PID)."; \
kill $$PID; \
else \
echo "No Kestra process to kill."; \
fi
docker compose -f ./docker-compose-ci.yml down;
# Default configuration for using Kestra with Postgres as backend.
define KESTRA_POSTGRES_CONFIGURATION =
micronaut:
server:
port: 8080
datasources:
postgres:
url: jdbc:postgresql://localhost:5432/kestra_unit
driverClassName: org.postgresql.Driver
username: kestra
password: k3str4
kestra:
server:
basic-auth:
enabled: false
encryption:
secret-key: 3ywuDa/Ec61VHkOX3RlI9gYq7CaD0mv0Pf3DHtAXA6U=
repository:
type: postgres
storage:
type: local
local:
base-path: "/tmp/kestra/storage"
queue:
type: postgres
endef
export KESTRA_POSTGRES_CONFIGURATION
# Build and deploy Kestra in standalone mode (using Postgres backend)
--private-start-standalone-postgres:
docker compose -f ./docker-compose-ci.yml up postgres -d;
echo "Waiting for postgres to be running"
until [ "`docker inspect -f {{.State.Running}} kestra-postgres-1`"=="true" ]; do \
sleep 1; \
done; \
rm -rf ${KESTRA_BASEDIR}/bin/confs/ && \
mkdir -p ${KESTRA_BASEDIR}/bin/confs/ ${KESTRA_BASEDIR}/logs/ && \
touch ${KESTRA_BASEDIR}/bin/confs/application.yml
echo "Starting Kestra Standalone server"
KESTRA_CONFIGURATION=$$KESTRA_POSTGRES_CONFIGURATION ${KESTRA_BASEDIR}/bin/kestra \
server standalone \
--worker-thread ${KESTRA_WORKER_THREAD} \
--plugins "${KESTRA_BASEDIR}/plugins" \
--flow-path "${KESTRA_BASEDIR}/flows" 2>${KESTRA_BASEDIR}/logs/err.log 1>${KESTRA_BASEDIR}/logs/out.log &
start-standalone-postgres: kill --private-start-standalone-postgres health
# Build and deploy Kestra in standalone mode (using In-Memory backend)
--private-start-standalone-local:
rm -f "${KESTRA_BASEDIR}/logs/*.log"; \
${KESTRA_BASEDIR}/bin/kestra \
server local \
--worker-thread ${KESTRA_WORKER_THREAD} \
--plugins "${KESTRA_BASEDIR}/plugins" \
--flow-path "${KESTRA_BASEDIR}/flows" 2>${KESTRA_BASEDIR}/logs/err.log 1>${KESTRA_BASEDIR}/logs/out.log &
start-standalone-local: kill --private-start-standalone-local health
#checkout all plugins
clone-plugins:
@echo "Using PLUGIN_GIT_DIR: $(PLUGIN_GIT_DIR)"
@mkdir -p "$(PLUGIN_GIT_DIR)"
@echo "Fetching repository list from GitHub..."
@REPOS=$$(gh repo list kestra-io -L 1000 --json name | jq -r .[].name | sort | grep "^plugin-"); \
for repo in $$REPOS; do \
if [[ $$repo == plugin-* ]]; then \
if [ -d "$(PLUGIN_GIT_DIR)/$$repo" ]; then \
echo "Skipping: $$repo (Already cloned)"; \
else \
echo "Cloning: $$repo using SSH..."; \
git clone "git@github.com:kestra-io/$$repo.git" "$(PLUGIN_GIT_DIR)/$$repo"; \
fi; \
fi; \
done
@echo "Done!"
# Pull every plugins in main or master branch
pull-plugins:
@echo "🔍 Pulling repositories in '$(PLUGIN_GIT_DIR)'..."
@for repo in "$(PLUGIN_GIT_DIR)"/*; do \
if [ -d "$$repo/.git" ]; then \
branch=$$(git -C "$$repo" rev-parse --abbrev-ref HEAD); \
if [[ "$$branch" == "master" || "$$branch" == "main" ]]; then \
echo "🔄 Pulling: $$(basename "$$repo") (branch: $$branch)"; \
git -C "$$repo" pull; \
else \
echo "❌ Skipping: $$(basename "$$repo") (Not on master or main branch, currently on $$branch)"; \
fi; \
fi; \
done
@echo "✅ Done pulling!"
# Update all plugins jar
build-plugins:
@echo "🔍 Scanning repositories in '$(PLUGIN_GIT_DIR)'..."
@MASTER_REPOS=(); \
for repo in "$(PLUGIN_GIT_DIR)"/*; do \
if [ -d "$$repo/.git" ]; then \
branch=$$(git -C "$$repo" rev-parse --abbrev-ref HEAD); \
if [[ "$$branch" == "master" || "$$branch" == "main" ]]; then \
MASTER_REPOS+=("$$repo"); \
else \
echo "❌ Skipping: $$(basename "$$repo") (Not on master or main branch)"; \
fi; \
fi; \
done; \
\
# === STEP 2: Update Repos on Master or Main Branch === \
echo "⬇️ Updating repositories on master or main branch..."; \
for repo in "$${MASTER_REPOS[@]}"; do \
echo "🔄 Updating: $$(basename "$$repo")"; \
git -C "$$repo" pull --rebase; \
done; \
\
# === STEP 3: Build with Gradle === \
echo "⚙️ Building repositories with Gradle..."; \
for repo in "$${MASTER_REPOS[@]}"; do \
echo "🔨 Building: $$(basename "$$repo")"; \
gradle clean build -x test shadowJar -p "$$repo"; \
done; \
\
# === STEP 4: Copy Latest JARs (Ignoring javadoc & sources) === \
echo "📦 Organizing built JARs..."; \
mkdir -p "$(PLUGIN_JARS_DIR)"; \
for repo in "$${MASTER_REPOS[@]}"; do \
REPO_NAME=$$(basename "$$repo"); \
\
JARS=($$(find "$$repo" -type f -name "plugin-*.jar" ! -name "*-javadoc.jar" ! -name "*-sources.jar")); \
if [ $${#JARS[@]} -eq 0 ]; then \
echo "⚠️ Warning: No valid plugin JARs found for $$REPO_NAME"; \
continue; \
fi; \
\
for jar in "$${JARS[@]}"; do \
JAR_NAME=$$(basename "$$jar"); \
BASE_NAME=$$(echo "$$JAR_NAME" | sed -E 's/(-[0-9]+.*)?\.jar$$//'); \
rm -f "$(PLUGIN_JARS_DIR)/$$BASE_NAME"-[0-9]*.jar; \
cp "$$jar" "$(PLUGIN_JARS_DIR)/"; \
echo "✅ Copied JAR: $$JAR_NAME"; \
done; \
done; \
\
echo "🎉 Done! All master and main branch repos updated, built, and organized."

236
README.md
View File

@@ -1,24 +1,230 @@
<p align="center">
<a href="https://www.kestra.io">
<img src="https://kestra.io/banner.png" alt="Kestra workflow orchestrator" />
</a>
</p>
# Kestra
![Last Version](https://img.shields.io/github/tag-pre/kestra-io/kestra.svg)
![License](https://img.shields.io/github/license/kestra-io/kestra)
![Docker Pull](https://img.shields.io/docker/pulls/kestra/kestra.svg)
![Github Downloads](https://img.shields.io/github/downloads/kestra-io/kestra/total)
![Github Star](https://img.shields.io/github/stars/kestra-io/kestra.svg)
[![codecov](https://codecov.io/gh/kestra-io/kestra/branch/develop/graph/badge.svg?token=It6L7BTaWK)](https://codecov.io/gh/kestra-io/kestra)
![Github Actions](https://github.com/kestra-io/kestra/workflows/Main/badge.svg?branch=master)
<h1 align="center" style="border-bottom: none">
Event-Driven Declarative Orchestration Platform
</h1>
<div align="center">
<a href="https://github.com/kestra-io/kestra/releases"><img src="https://img.shields.io/github/tag-pre/kestra-io/kestra.svg?color=blueviolet" alt="Last Version" /></a>
<a href="https://github.com/kestra-io/kestra/blob/develop/LICENSE"><img src="https://img.shields.io/github/license/kestra-io/kestra?color=blueviolet" alt="License" /></a>
<a href="https://github.com/kestra-io/kestra/stargazers"><img src="https://img.shields.io/github/stars/kestra-io/kestra?color=blueviolet&logo=github" alt="Github star" /></a> <br>
<a href="https://kestra.io"><img src="https://img.shields.io/badge/Website-kestra.io-192A4E?color=blueviolet" alt="Kestra infinitely scalable orchestration and scheduling platform"></a>
<a href="https://kestra.io/slack"><img src="https://img.shields.io/badge/Slack-Join%20Community-blueviolet?logo=slack" alt="Slack"></a>
</div>
<br />
<p align="center">
<a href="https://x.com/kestra_io"><img height="25" src="https://kestra.io/twitter.svg" alt="X(formerly Twitter)" /></a> &nbsp;
<a href="https://www.linkedin.com/company/kestra/"><img height="25" src="https://kestra.io/linkedin.svg" alt="linkedin" /></a> &nbsp;
<a href="https://www.youtube.com/@kestra-io"><img height="25" src="https://kestra.io/youtube.svg" alt="youtube" /></a> &nbsp;
</p>
<p align="center">
<a href="https://trendshift.io/repositories/2714" target="_blank">
<img src="https://trendshift.io/api/badge/repositories/2714" alt="kestra-io%2Fkestra | Trendshift" width="250" height="55"/>
</a>
<a href="https://www.producthunt.com/posts/kestra?embed=true&utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-kestra" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=612077&theme=light&period=daily&t=1740737506162" alt="Kestra - All&#0045;in&#0045;one&#0032;automation&#0032;&#0038;&#0032;orchestration&#0032;platform | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
</p>
<p align="center">
<a href="https://go.kestra.io/video/product-overview" target="_blank">
<img src="https://kestra.io/startvideo.png" alt="Get started in 4 minutes with Kestra" width="640px" />
</a>
</p>
<p align="center" style="color:grey;"><i>Click on the image to learn how to get started with Kestra in 4 minutes.</i></p>
## 🌟 What is Kestra?
Kestra is an open-source, event-driven orchestration platform that makes both **scheduled** and **event-driven** workflows easy. By bringing **Infrastructure as Code** best practices to data, process, and microservice orchestration, you can build reliable [workflows](https://kestra.io/docs/getting-started) directly from the UI in just a few lines of YAML.
**Key Features:**
- **Everything as Code and from the UI:** keep **workflows as code** with a **Git Version Control** integration, even when building them from the UI.
- **Event-Driven & Scheduled Workflows:** automate both **scheduled** and **real-time** event-driven workflows via a simple `trigger` definition.
- **Declarative YAML Interface:** define workflows using a simple configuration in the **built-in code editor**.
- **Rich Plugin Ecosystem:** hundreds of plugins built in to extract data from any database, cloud storage, or API, and **run scripts in any language**.
- **Intuitive UI & Code Editor:** build and visualize workflows directly from the UI with syntax highlighting, auto-completion and real-time syntax validation.
- **Scalable:** designed to handle millions of workflows, with high availability and fault tolerance.
- **Version Control Friendly:** write your workflows from the built-in code Editor and push them to your preferred Git branch directly from Kestra, enabling best practices with CI/CD pipelines and version control systems.
- **Structure & Resilience**: tame chaos and bring resilience to your workflows with **namespaces**, **labels**, **subflows**, **retries**, **timeout**, **error handling**, **inputs**, **outputs** that generate artifacts in the UI, **variables**, **conditional branching**, **advanced scheduling**, **event triggers**, **backfills**, **dynamic tasks**, **sequential and parallel tasks**, and skip tasks or triggers when needed by setting the flag `disabled` to `true`.
🧑‍💻 The YAML definition gets automatically adjusted any time you make changes to a workflow from the UI or via an API call. Therefore, the orchestration logic is **always managed declaratively in code**, even if you modify your workflows in other ways (UI, CI/CD, Terraform, API calls).
<p align="center">
<img width="460" src="https://kestra.io/logo.svg" alt="Kestra workflow orchestrator" />
<img src="https://kestra.io/adding-tasks.gif" alt="Adding new tasks in the UI">
</p>
> The modern, scalable orchestrator & scheduler open source platform.
---
![Kestra orchestrator](https://kestra.io/ui.gif)
## 🚀 Quick Start
## Documentation
* The official Kestra documentation can be found under: [kestra.io](https://kestra.io)
### Try the Live Demo
Try Kestra with our [**Live Demo**](https://demo.kestra.io/ui/login?auto). No installation required!
### Get Started Locally in 5 Minutes
#### Launch Kestra in Docker
Make sure that Docker is running. Then, start Kestra in a single command:
```bash
docker run --pull=always --rm -it -p 8080:8080 --user=root \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /tmp:/tmp kestra/kestra:latest server local
```
If you're on Windows and use PowerShell:
```powershell
docker run --pull=always --rm -it -p 8080:8080 --user=root `
-v "/var/run/docker.sock:/var/run/docker.sock" `
-v "C:/Temp:/tmp" kestra/kestra:latest server local
```
If you're on Windows and use Command Prompt (CMD):
```cmd
docker run --pull=always --rm -it -p 8080:8080 --user=root ^
-v "/var/run/docker.sock:/var/run/docker.sock" ^
-v "C:/Temp:/tmp" kestra/kestra:latest server local
```
If you're on Windows and use WSL (Linux-based environment in Windows):
```bash
docker run --pull=always --rm -it -p 8080:8080 --user=root \
-v "/var/run/docker.sock:/var/run/docker.sock" \
-v "C:/Temp:/tmp" kestra/kestra:latest server local
```
Check our [Installation Guide](https://kestra.io/docs/installation) for other deployment options (Docker Compose, Podman, Kubernetes, AWS, GCP, Azure, and more).
Access the Kestra UI at [http://localhost:8080](http://localhost:8080) and start building your first flow!
#### Your First Hello World Flow
Create a new flow with the following content:
```yaml
id: hello_world
namespace: dev
tasks:
- id: say_hello
type: io.kestra.plugin.core.log.Log
message: "Hello, World!"
```
Run the flow and see the output in the UI!
---
## 🧩 Plugin Ecosystem
Kestra's functionality is extended through a rich [ecosystem of plugins](https://kestra.io/plugins) that empower you to run tasks anywhere and code in any language, including Python, Node.js, R, Go, Shell, and more. Here's how Kestra plugins enhance your workflows:
- **Run Anywhere:**
- **Local or Remote Execution:** Execute tasks on your local machine, remote servers via SSH, or scale out to serverless containers using [Task Runners](https://kestra.io/docs/task-runners).
- **Docker and Kubernetes Support:** Seamlessly run Docker containers within your workflows or launch Kubernetes jobs to handle compute-intensive workloads.
- **Code in Any Language:**
- **Scripting Support:** Write scripts in your preferred programming language. Kestra supports Python, Node.js, R, Go, Shell, and others, allowing you to integrate existing codebases and deployment patterns.
- **Flexible Automation:** Execute shell commands, run SQL queries against various databases, and make HTTP requests to interact with APIs.
- **Event-Driven and Real-Time Processing:**
- **Real-Time Triggers:** React to events from external systems in real-time, such as file arrivals, new messages in message buses (Kafka, Redis, Pulsar, AMQP, MQTT, NATS, AWS SQS, Google Pub/Sub, Azure Event Hubs), and more.
- **Custom Events:** Define custom events to trigger flows based on specific conditions or external signals, enabling highly responsive workflows.
- **Cloud Integrations:**
- **AWS, Google Cloud, Azure:** Integrate with a variety of cloud services to interact with storage solutions, messaging systems, compute resources, and more.
- **Big Data Processing:** Run big data processing tasks using tools like Apache Spark or interact with analytics platforms like Google BigQuery.
- **Monitoring and Notifications:**
- **Stay Informed:** Send messages to Slack channels, email notifications, or trigger alerts in PagerDuty to keep your team updated on workflow statuses.
Kestra's plugin ecosystem is continually expanding, allowing you to tailor the platform to your specific needs. Whether you're orchestrating complex data pipelines, automating scripts across multiple environments, or integrating with cloud services, there's likely a plugin to assist. And if not, you can always [build your own plugins](https://kestra.io/docs/plugin-developer-guide/) to extend Kestra's capabilities.
🧑‍💻 **Note:** This is just a glimpse of what Kestra plugins can do. Explore the full list on our [Plugins Page](https://kestra.io/plugins).
---
## 📚 Key Concepts
- **Flows:** the core unit in Kestra, representing a workflow composed of tasks.
- **Tasks:** individual units of work, such as running a script, moving data, or calling an API.
- **Namespaces:** logical grouping of flows for organization and isolation.
- **Triggers:** schedule or events that initiate the execution of flows.
- **Inputs & Variables:** parameters and dynamic data passed into flows and tasks.
---
## 🎨 Build Workflows Visually
Kestra provides an intuitive UI that allows you to interactively build and visualize your workflows:
- **Drag-and-Drop Interface:** add and rearrange tasks from the Topology Editor.
- **Real-Time Validation:** instant feedback on your workflow's syntax and structure to catch errors early.
- **Auto-Completion:** smart suggestions as you type to write flow code quickly and without syntax errors.
- **Live Topology View:** see your workflow as a Directed Acyclic Graph (DAG) that updates in real-time.
---
## 🔧 Extensible and Developer-Friendly
### Plugin Development
Create custom plugins to extend Kestra's capabilities. Check out our [Plugin Developer Guide](https://kestra.io/docs/plugin-developer-guide/) to get started.
### Infrastructure as Code
- **Version Control:** store your flows in Git repositories.
- **CI/CD Integration:** automate deployment of flows using CI/CD pipelines.
- **Terraform Provider:** manage Kestra resources with the [official Terraform provider](https://kestra.io/docs/terraform/).
---
## 🌐 Join the Community
Stay connected and get support:
- **Slack:** Join our [Slack community](https://kestra.io/slack) to ask questions and share ideas.
- **LinkedIn:** Follow us on [LinkedIn](https://www.linkedin.com/company/kestra/) — next to Slack and GitHub, this is our main channel to share updates and product announcements.
- **YouTube:** Subscribe to our [YouTube channel](https://www.youtube.com/@kestra-io) for educational video content. We publish new videos every week!
- **X:** Follow us on [X](https://x.com/kestra_io) if you're still active there.
---
## 🤝 Contributing
We welcome contributions of all kinds!
- **Report Issues:** Found a bug or have a feature request? Open an [issue on GitHub](https://github.com/kestra-io/kestra/issues).
- **Contribute Code:** Check out our [Contributor Guide](https://kestra.io/docs/getting-started/contributing) for initial guidelines, and explore our [good first issues](https://go.kestra.io/contributing) for beginner-friendly tasks to tackle first.
- **Develop Plugins:** Build and share plugins using our [Plugin Developer Guide](https://kestra.io/docs/plugin-developer-guide/).
- **Contribute to our Docs:** Contribute edits or updates to keep our [documentation](https://github.com/kestra-io/docs) top-notch.
---
## 📄 License
Kestra is licensed under the Apache 2.0 License © [Kestra Technologies](https://kestra.io).
---
## ⭐️ Stay Updated
Give our repository a star to stay informed about the latest features and updates!
[![Star the Repo](https://kestra.io/star.gif)](https://github.com/kestra-io/kestra)
---
Thank you for considering Kestra for your workflow orchestration needs. We can't wait to see what you'll build!
## License
Apache 2.0 © [Nigh Tech](https://nigh.tech)

33
SECURITY.md Normal file
View File

@@ -0,0 +1,33 @@
# Security Policy
## Supported Versions
We provide security updates for the following versions of Kestra:
- The `latest` release
- Up to two previous minor versions released as a backport upon customer request.
If you are using an unsupported version, we recommend upgrading to the `latest` version to receive security fixes.
## Reporting a Vulnerability
If you discover a security vulnerability in Kestra, please report it to us privately to ensure a responsible disclosure process. You can contact our security team at:
**security@kestra.io**
### Guidelines for Reporting
- Provide a detailed description of the issue, including steps to reproduce it if possible.
- Do not disclose the vulnerability publicly until we have confirmed and patched the issue.
- If you believe the issue has critical severity, please indicate so in your report to help us prioritize.
## Our Commitment
- We will acknowledge your report within **2 business days**.
- We will work to verify and address the issue as quickly as possible.
- Once the issue is resolved, we will notify you of the fix.
## Acknowledgments
We are happy to credit those who report vulnerabilities responsibly in our release notes, unless you prefer to remain anonymous. If you would like to be acknowledged, please include this in your report.
Thank you for helping to make Kestra more secure!

View File

@@ -1,28 +1,45 @@
import net.e175.klaus.zip.ZipPrefixer
import org.owasp.dependencycheck.gradle.extension.AnalyzerExtension
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "net.e175.klaus:zip-prefixer:0.3.1"
}
}
plugins {
// micronaut
id "java"
id 'java-library'
id "idea"
id "com.github.johnrengelman.shadow" version "6.1.0"
id "com.gradleup.shadow" version "8.3.6"
id "application"
// test
id 'com.adarshr.test-logger' version '2.1.1'
id 'org.gradle.test-retry' version '1.2.0'
id "com.adarshr.test-logger" version "4.0.0"
id "org.sonarqube" version "6.1.0.5360"
id 'jacoco-report-aggregation'
// helper
id "com.github.ben-manes.versions" version "0.36.0"
id "com.github.ben-manes.versions" version "0.52.0"
// front
id 'org.siouan.frontend-jdk11' version '5.0.0' apply false
id 'com.github.node-gradle.node' version '7.1.0'
// release
id "io.github.gradle-nexus.publish-plugin" version "1.0.0"
id 'net.researchgate.release' version '2.8.1'
id "com.gorylenko.gradle-git-properties" version "2.2.4"
id "io.github.gradle-nexus.publish-plugin" version "2.0.0"
id 'net.researchgate.release' version '3.1.0'
id "com.gorylenko.gradle-git-properties" version "2.5.0"
id 'signing'
id 'ru.vyarus.pom' version '2.1.0' apply false
id 'ru.vyarus.github-info' version '1.2.0' apply false
id 'ru.vyarus.pom' version '3.0.0' apply false
id 'ru.vyarus.github-info' version '2.0.0' apply false
// OWASP dependency check
id "org.owasp.dependencycheck" version "12.1.1" apply false
}
idea {
@@ -35,8 +52,17 @@ idea {
/**********************************************************************************************************************\
* Main
**********************************************************************************************************************/
mainClassName = "io.kestra.cli.App"
sourceCompatibility = 11
final mainClassName = "io.kestra.cli.App"
final targetJavaVersion = JavaVersion.VERSION_21
application {
mainClass = mainClassName
}
java {
sourceCompatibility = targetJavaVersion
targetCompatibility = targetJavaVersion
}
dependencies {
implementation project(":cli")
@@ -47,76 +73,91 @@ dependencies {
* Dependencies
**********************************************************************************************************************/
allprojects {
group "io.kestra"
if (it.name != 'platform') {
group = "io.kestra"
sourceCompatibility = 11
repositories {
mavenCentral()
maven { url "https://jcenter.bintray.com" }
}
// micronaut
apply plugin: "java"
apply plugin: "java-library"
apply plugin: "idea"
apply plugin: "jacoco"
configurations {
developmentOnly // for dependencies that are needed for development only
}
//
configurations.all {
resolutionStrategy {
force("org.apache.kafka:kafka-clients:" + kafkaVersion)
force("org.apache.kafka:kafka-streams:" + kafkaVersion)
java {
sourceCompatibility = targetJavaVersion
targetCompatibility = targetJavaVersion
}
}
// dependencies
dependencies {
// lombok
annotationProcessor "org.projectlombok:lombok:" + lombokVersion
compileOnly 'org.projectlombok:lombok:' + lombokVersion
repositories {
mavenCentral()
}
// micronaut
annotationProcessor platform("io.micronaut:micronaut-bom:$micronautVersion")
annotationProcessor "io.micronaut:micronaut-inject-java"
annotationProcessor "io.micronaut:micronaut-validation"
implementation platform("io.micronaut:micronaut-bom:$micronautVersion")
implementation "io.micronaut:micronaut-inject"
implementation "io.micronaut:micronaut-validation"
implementation "io.micronaut:micronaut-runtime"
implementation "javax.annotation:javax.annotation-api"
implementation "io.micronaut.data:micronaut-data-model"
implementation "io.micronaut:micronaut-management"
implementation "io.micrometer:micrometer-core:1.6.4"
implementation "io.micronaut.micrometer:micronaut-micrometer-registry-prometheus"
api "io.micronaut:micronaut-http-client"
apply plugin: "java"
apply plugin: "java-library"
apply plugin: "idea"
apply plugin: "jacoco"
// logs
runtime "ch.qos.logback:logback-classic:1.2.3"
runtime group: 'org.apache.logging.log4j', name: 'log4j-to-slf4j', version: '2.14.0'
runtime group: 'org.slf4j', name: 'jul-to-slf4j', version: '1.7.30'
runtime group: 'io.micronaut.gcp', name: 'micronaut-gcp-logging', version: '3.4.0'
configurations {
developmentOnly // for dependencies that are needed for development only
micronaut
}
// jackson
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.12.1'
implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.12.1'
implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-parameter-names', version: '2.12.1'
implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-guava', version: '2.12.1'
// dependencies
dependencies {
// Platform
annotationProcessor enforcedPlatform(project(":platform"))
implementation enforcedPlatform(project(":platform"))
api enforcedPlatform(project(":platform"))
micronaut enforcedPlatform(project(":platform"))
// kestra
implementation group: 'com.devskiller.friendly-id', name: 'friendly-id', version: '1.1.0'
implementation 'com.github.jknack:handlebars:4.2.0'
implementation group: 'net.thisptr', name: 'jackson-jq', version: '1.0.0-preview.20201123'
// lombok
annotationProcessor "org.projectlombok:lombok"
compileOnly 'org.projectlombok:lombok'
// exposed utils
api group: 'com.google.guava', name: 'guava', version: '30.1-jre'
api group: 'commons-io', name: 'commons-io', version: '2.8.0'
api group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0'
api "io.swagger.core.v3:swagger-annotations"
// micronaut
annotationProcessor "io.micronaut:micronaut-inject-java"
annotationProcessor "io.micronaut.validation:micronaut-validation-processor"
micronaut "io.micronaut:micronaut-inject"
micronaut "io.micronaut.validation:micronaut-validation"
micronaut "io.micronaut.beanvalidation:micronaut-hibernate-validator"
micronaut "io.micronaut:micronaut-runtime"
micronaut "io.micronaut:micronaut-retry"
micronaut "io.micronaut:micronaut-jackson-databind"
micronaut "io.micronaut.data:micronaut-data-model"
micronaut "io.micronaut:micronaut-management"
micronaut "io.micrometer:micrometer-core"
micronaut "io.micronaut.micrometer:micronaut-micrometer-registry-prometheus"
micronaut "io.micronaut:micronaut-http-client"
micronaut "io.micronaut.reactor:micronaut-reactor-http-client"
micronaut "io.micronaut.tracing:micronaut-tracing-opentelemetry-http"
// logs
implementation "org.slf4j:slf4j-api"
implementation "ch.qos.logback:logback-classic"
implementation "org.codehaus.janino:janino"
implementation group: 'org.apache.logging.log4j', name: 'log4j-to-slf4j'
implementation group: 'org.slf4j', name: 'jul-to-slf4j'
implementation group: 'org.slf4j', name: 'jcl-over-slf4j'
implementation group: 'org.fusesource.jansi', name: 'jansi'
// OTEL
implementation "io.opentelemetry:opentelemetry-exporter-otlp"
// jackson
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core'
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind'
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-annotations'
implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml'
implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-parameter-names'
implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-guava'
implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310'
// kestra
implementation group: 'com.devskiller.friendly-id', name: 'friendly-id'
implementation (group: 'net.thisptr', name: 'jackson-jq') {
exclude group: 'com.fasterxml.jackson.core'
}
// exposed utils
api group: 'com.google.guava', name: 'guava'
api group: 'commons-io', name: 'commons-io'
api group: 'org.apache.commons', name: 'commons-lang3'
api "io.swagger.core.v3:swagger-annotations"
}
}
}
@@ -124,59 +165,206 @@ allprojects {
* Test
**********************************************************************************************************************/
subprojects {
apply plugin: "com.adarshr.test-logger"
apply plugin: "org.gradle.test-retry"
if (it.name != 'platform') {
apply plugin: "com.adarshr.test-logger"
dependencies {
// lombok
testAnnotationProcessor "org.projectlombok:lombok:" + lombokVersion
testCompileOnly 'org.projectlombok:lombok:' + lombokVersion
java {
sourceCompatibility = targetJavaVersion
targetCompatibility = targetJavaVersion
}
// micronaut
testAnnotationProcessor platform("io.micronaut:micronaut-bom:$micronautVersion")
testAnnotationProcessor "io.micronaut:micronaut-inject-java"
testImplementation platform("io.micronaut:micronaut-bom:$micronautVersion")
dependencies {
// Platform
testAnnotationProcessor enforcedPlatform(project(":platform"))
testImplementation enforcedPlatform(project(":platform"))
testImplementation "org.junit.jupiter:junit-jupiter-api"
testImplementation "io.micronaut.test:micronaut-test-junit5"
testImplementation "org.junit.jupiter:junit-jupiter-engine"
testImplementation "org.junit.jupiter:junit-jupiter-params"
// lombok
testAnnotationProcessor "org.projectlombok:lombok:"
testCompileOnly 'org.projectlombok:lombok'
// hamcrest
testImplementation 'org.hamcrest:hamcrest:2.2'
testImplementation 'org.hamcrest:hamcrest-library:2.2'
testImplementation group: 'org.exparity', name: 'hamcrest-date', version: '2.0.7'
// micronaut
testAnnotationProcessor "io.micronaut:micronaut-inject-java"
testAnnotationProcessor "io.micronaut.validation:micronaut-validation-processor"
testImplementation "io.micronaut.test:micronaut-test-junit5"
testImplementation "org.junit.jupiter:junit-jupiter-engine"
testImplementation "org.junit.jupiter:junit-jupiter-params"
testImplementation "org.junit-pioneer:junit-pioneer"
testImplementation 'org.mockito:mockito-junit-jupiter'
// hamcrest
testImplementation 'org.hamcrest:hamcrest'
testImplementation 'org.hamcrest:hamcrest-library'
testImplementation 'org.exparity:hamcrest-date'
//assertj
testImplementation 'org.assertj:assertj-core'
}
test {
useJUnitPlatform()
// set Xmx for test workers
maxHeapSize = '4g'
// configure en_US default locale for tests
systemProperty 'user.language', 'en'
systemProperty 'user.country', 'US'
environment 'SECRET_MY_SECRET', "{\"secretKey\":\"secretValue\"}".bytes.encodeBase64().toString()
environment 'SECRET_NEW_LINE', "cGFzc3dvcmR2ZXJ5dmVyeXZleXJsb25ncGFzc3dvcmR2ZXJ5dmVyeXZleXJsb25ncGFzc3dvcmR2\nZXJ5dmVyeXZleXJsb25ncGFzc3dvcmR2ZXJ5dmVyeXZleXJsb25ncGFzc3dvcmR2ZXJ5dmVyeXZl\neXJsb25n"
environment 'SECRET_WEBHOOK_KEY', "secretKey".bytes.encodeBase64().toString()
environment 'SECRET_NON_B64_SECRET', "some secret value"
environment 'SECRET_PASSWORD', "cGFzc3dvcmQ="
environment 'ENV_TEST1', "true"
environment 'ENV_TEST2', "Pass by env"
}
testlogger {
theme 'mocha-parallel'
showExceptions true
showFullStackTraces true
showCauses true
slowThreshold 2000
showStandardStreams true
showPassedStandardStreams false
showSkippedStandardStreams true
}
}
}
test {
useJUnitPlatform()
/**********************************************************************************************************************\
* End-to-End Tests
**********************************************************************************************************************/
def e2eTestsCheck = tasks.register('e2eTestsCheck') {
group = 'verification'
description = "Runs the 'check' task for all e2e-tests modules"
doFirst {
project.ext.set("e2e-tests", true)
}
}
maxHeapSize = "2048m"
retry {
maxRetries = 5
maxFailures = 15
subprojects {
// Add e2e-tests modules check tasks to e2eTestsCheck
if (project.name.startsWith("e2e-tests")) {
test {
onlyIf {
project.hasProperty("e2e-tests")
}
}
}
testlogger {
theme 'mocha-parallel'
showExceptions true
showFullStackTraces true
showCauses true
slowThreshold 2000
showStandardStreams true
showPassedStandardStreams false
showSkippedStandardStreams true
afterEvaluate {
// Add e2e-tests modules check tasks to e2eTestsCheck
if (project.name.startsWith("e2e-tests")) {
e2eTestsCheck.configure {
finalizedBy(check)
}
}
}
}
/**********************************************************************************************************************\
* Allure Reports
**********************************************************************************************************************/
subprojects {
if (it.name != 'platform') {
dependencies {
testImplementation platform("io.qameta.allure:allure-bom")
testImplementation "io.qameta.allure:allure-junit5"
}
configurations {
agent {
canBeResolved = true
canBeConsumed = true
}
}
dependencies {
agent "org.aspectj:aspectjweaver:1.9.24"
}
test {
jvmArgs = ["-javaagent:${configurations.agent.singleFile}"]
}
}
}
/**********************************************************************************************************************\
* Jacoco
**********************************************************************************************************************/
subprojects {
if (it.name != 'platform') {
apply plugin: 'jacoco'
test {
finalizedBy jacocoTestReport
}
jacocoTestReport {
dependsOn test
}
}
}
tasks.named('check') {
dependsOn tasks.named('testCodeCoverageReport', JacocoReport)
}
tasks.named('testCodeCoverageReport') {
dependsOn ':core:copyGradleProperties'
dependsOn ':ui:assembleFrontend'
}
/**********************************************************************************************************************\
* Sonar
**********************************************************************************************************************/
subprojects {
sonar {
properties {
property "sonar.coverage.jacoco.xmlReportPaths", "$projectDir.parentFile.path/build/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml"
}
}
}
sonar {
properties {
property "sonar.projectKey", "kestra-io_kestra"
property "sonar.organization", "kestra-io"
property "sonar.host.url", "https://sonarcloud.io"
}
}
/**********************************************************************************************************************\
* OWASP Dependency check
**********************************************************************************************************************/
apply plugin: 'org.owasp.dependencycheck'
dependencyCheck {
// fail only on HIGH and CRITICAL vulnerabilities, we may want to lower to 5 (mid-medium) later
failBuildOnCVSS = 7
// disable the .NET assembly analyzer as otherwise it wants to analyze EXE file
analyzers(new Action<AnalyzerExtension>() {
@Override
void execute(AnalyzerExtension analyzerExtension) {
analyzerExtension.assemblyEnabled = false
}
})
// configure a suppression file
suppressionFile = "$projectDir/owasp-dependency-suppressions.xml"
nvd.apiKey = System.getenv("NVD_API_KEY")
}
/**********************************************************************************************************************\
* Micronaut
**********************************************************************************************************************/
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
tasks.withType(JavaCompile).configureEach {
options.encoding = "UTF-8"
options.compilerArgs.add("-parameters")
options.compilerArgs.add("-Xlint:all")
@@ -185,7 +373,7 @@ allprojects {
}
}
tasks.withType(JavaCompile) {
tasks.withType(JavaCompile).configureEach {
options.encoding = "UTF-8"
options.compilerArgs.add("-parameters")
}
@@ -205,106 +393,83 @@ run.jvmArgs(
**********************************************************************************************************************/
jar {
manifest {
attributes (
attributes(
"Main-Class": mainClassName,
"X-Kestra-Title": project.name,
"X-Kestra-Group": project.group,
"X-Kestra-Version": project.version
"X-Kestra-Name": project.name,
"X-Kestra-Title": project.name,
"X-Kestra-Group": project.group,
"X-Kestra-Version": project.version
)
}
}
shadowJar {
dependsOn = ['ui:assembleFrontend']
archiveClassifier.set(null)
mergeServiceFiles()
zip64 true
}
distZip.dependsOn shadowJar
distTar.dependsOn shadowJar
startScripts.dependsOn shadowJar
startShadowScripts.dependsOn jar
shadowJar.dependsOn 'ui:assembleFrontend'
/**********************************************************************************************************************\
* Executable Jar
**********************************************************************************************************************/
def executableDir = file("${buildDir}/executable")
def executable = file("${buildDir}/executable/${project.name}-${project.version}")
def executableDir = layout.buildDirectory.dir("executable")
def executable = layout.buildDirectory.file("executable/${project.name}-${project.version}").get().asFile
task writeExecutableJar() {
tasks.register('writeExecutableJar') {
group "build"
description "Write an executable jar from shadow jar"
dependsOn = [shadowJar]
final shadowJarFile = tasks.shadowJar.outputs.files.singleFile
inputs.file shadowJarFile
outputs.file executable
outputs.cacheIf { true }
doFirst {
executableDir.mkdirs()
executableDir.get().asFile.mkdirs()
}
doLast {
executable.write("")
executable.append("\n: <<END_OF_KESTRA_SELFRUN\r\n")
executable.append(file("gradle/jar/selfrun.bat").readBytes())
executable.append("\r\nEND_OF_KESTRA_SELFRUN\r\n\n")
executable.append(file("gradle/jar/selfrun.sh").readBytes())
executable.append(file("${buildDir}/libs/${project.name}-${project.version}.jar").readBytes())
executable.setBytes(shadowJarFile.readBytes())
ByteArrayOutputStream executableBytes = new ByteArrayOutputStream()
executableBytes.write("\n: <<END_OF_KESTRA_SELFRUN\r\n".getBytes())
executableBytes.write(file("gradle/jar/selfrun.bat").readBytes())
executableBytes.write("\r\n".getBytes())
executableBytes.write("END_OF_KESTRA_SELFRUN\r\n\n".getBytes())
executableBytes.write(file("gradle/jar/selfrun.sh").readBytes())
ZipPrefixer.applyPrefixBytesToZip(executable.toPath(), executableBytes.toByteArray())
executable.setExecutable(true)
}
}
task executableJar(type: Zip) {
tasks.register('executableJar', Zip) {
group "build"
description "Zip the executable jar"
dependsOn = [writeExecutableJar]
archiveFileName = "${project.name}-${project.version}.zip"
destinationDirectory = file("${buildDir}/archives")
destinationDirectory = layout.buildDirectory.dir('archives')
from executableDir
archiveClassifier.set(null)
}
/**********************************************************************************************************************\
* Jacoco
**********************************************************************************************************************/
subprojects {
test {
finalizedBy jacocoTestReport
}
jacoco {
toolVersion = "0.8.4"
}
jacocoTestReport {
getAdditionalSourceDirs().setFrom(files(sourceSets.main.allSource.srcDirs))
getSourceDirectories().setFrom(files(sourceSets.main.allSource.srcDirs))
getClassDirectories().setFrom(files(sourceSets.main.output))
}
}
task jacoco(type: JacocoReport) {
dependsOn = subprojects.test
def javaProject = subprojects.findAll { it.name != 'ui' };
getAdditionalSourceDirs().setFrom(files(javaProject.sourceSets.main.allSource.srcDirs))
getSourceDirectories().setFrom(files(javaProject.sourceSets.main.allSource.srcDirs))
getClassDirectories().setFrom(files(javaProject.sourceSets.main.output))
getExecutionData().setFrom(files(javaProject.jacocoTestReport.executionData))
reports {
html.enabled = true
xml.enabled = true
csv.enabled = true
}
}
/**********************************************************************************************************************\
* Standalone
**********************************************************************************************************************/
task runStandalone(type: JavaExec) {
tasks.register('runLocal', JavaExec) {
group = "application"
description = "Run Kestra as server local"
classpath = project(":cli").sourceSets.main.runtimeClasspath
main = mainClassName
args 'server', 'standalone'
mainClass = mainClassName
environment 'MICRONAUT_ENVIRONMENTS', 'override'
args 'server', 'local', '--plugins', 'local/plugins'
}
/**********************************************************************************************************************\
@@ -331,19 +496,34 @@ subprojects {
options {
locale = 'en_US'
encoding = 'UTF-8'
addStringOption("Xdoclint:none", "-quiet")
}
}
task sourcesJar(type: Jar) {
tasks.register('sourcesJar', Jar) {
dependsOn = [':core:copyGradleProperties']
dependsOn = [':ui:assembleFrontend']
archiveClassifier.set('sources')
from sourceSets.main.allSource
}
sourcesJar.dependsOn ':core:copyGradleProperties'
sourcesJar.dependsOn ':ui:assembleFrontend'
task javadocJar(type: Jar) {
tasks.register('javadocJar', Jar) {
archiveClassifier.set('javadoc')
from javadoc
}
tasks.register('testsJar', Jar) {
group = 'build'
description = 'Build the tests jar'
archiveClassifier.set('tests')
if (sourceSets.matching { it.name == 'test'}) {
from sourceSets.named('test').get().output
}
}
github {
user 'kestra-io'
license 'Apache'
@@ -351,13 +531,13 @@ subprojects {
site 'https://kestra.io'
}
pom {
description 'The modern, scalable orchestrator & scheduler open source platform'
maven.pom {
description = 'The modern, scalable orchestrator & scheduler open source platform'
developers {
developer {
id "tchiotludo"
name "Ludovic Dehon"
id = "tchiotludo"
name = "Ludovic Dehon"
}
}
}
@@ -373,6 +553,9 @@ subprojects {
artifact shadowJar
artifact executableJar
} else if (project.name.contains('platform')){
groupId project.group
artifactId project.name
} else {
from components.java
@@ -381,14 +564,22 @@ subprojects {
artifact sourcesJar
artifact javadocJar
artifact testsJar
}
}
}
}
signing {
// only sign JARs that we publish to Sonatype
required { gradle.taskGraph.hasTask("publishSonatypePublicationPublicationToSonatypeRepository") }
sign publishing.publications.sonatypePublication
}
tasks.withType(GenerateModuleMetadata).configureEach {
// Suppression this validation error as we want to enforce the Kestra platform
suppressedValidationErrors.add('enforced-platform')
}
}
@@ -401,10 +592,17 @@ release {
tagCommitMessage = 'tag version'
newVersionCommitMessage = 'update snapshot version'
tagTemplate = 'v${version}'
pushReleaseVersionBranch = 'master'
buildTasks = ['classes']
git {
requireBranch = 'release'
requireBranch.set('develop')
}
// Dynamically set properties with default values
failOnSnapshotDependencies = providers.gradleProperty("release.failOnSnapshotDependencies")
.map(val -> Boolean.parseBoolean(val))
.getOrElse(true)
pushReleaseVersionBranch = providers.gradleProperty("release.pushReleaseVersionBranch")
.getOrElse(null)
}

View File

@@ -1,3 +1,6 @@
configurations {
implementation.extendsFrom(micronaut)
}
dependencies {
// micronaut
implementation "info.picocli:picocli"
@@ -5,31 +8,33 @@ dependencies {
implementation "io.micronaut:micronaut-management"
implementation "io.micronaut:micronaut-http-server-netty"
// plugins
implementation 'org.eclipse.aether:aether-api:1.1.0'
implementation 'org.eclipse.aether:aether-spi:1.1.0'
implementation 'org.eclipse.aether:aether-util:1.1.0'
implementation 'org.eclipse.aether:aether-impl:1.1.0'
implementation 'org.eclipse.aether:aether-connector-basic:1.1.0'
implementation 'org.eclipse.aether:aether-transport-file:1.1.0'
implementation 'org.eclipse.aether:aether-transport-http:1.1.0'
implementation('org.apache.maven:maven-aether-provider:3.3.9') {
// sisu dependency injector is not used
exclude group: 'org.eclipse.sisu'
}
// logs
implementation 'ch.qos.logback.contrib:logback-json-classic'
implementation 'ch.qos.logback.contrib:logback-jackson'
// OTLP metrics
implementation "io.micronaut.micrometer:micronaut-micrometer-registry-otlp"
// aether still use javax.inject
compileOnly 'javax.inject:javax.inject:1'
// modules
implementation project(":core")
implementation project(":script")
implementation project(":repository-memory")
implementation project(":repository-elasticsearch")
implementation project(":runner-memory")
implementation project(":runner-kafka")
implementation project(":indexer-kafka-elasticsearch")
implementation project(":jdbc")
implementation project(":jdbc-h2")
implementation project(":jdbc-mysql")
implementation project(":jdbc-postgres")
implementation project(":storage-local")
implementation project(":webserver")
//test
testImplementation "org.wiremock:wiremock-jetty12"
}

View File

@@ -1,31 +1,68 @@
package io.kestra.cli;
import io.micronaut.core.annotation.Nullable;
import io.micronaut.http.HttpHeaders;
import io.micronaut.http.HttpRequest;
import io.micronaut.http.MediaType;
import io.micronaut.http.MutableHttpRequest;
import io.micronaut.http.body.ContextlessMessageBodyHandlerRegistry;
import io.micronaut.http.body.MessageBodyHandlerRegistry;
import io.micronaut.http.client.DefaultHttpClientConfiguration;
import io.micronaut.http.client.HttpClientConfiguration;
import io.micronaut.http.client.netty.DefaultHttpClient;
import io.micronaut.http.netty.body.NettyJsonHandler;
import io.micronaut.json.JsonMapper;
import jakarta.inject.Inject;
import jakarta.inject.Named;
import lombok.Builder;
import lombok.Value;
import lombok.extern.jackson.Jacksonized;
import picocli.CommandLine;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
public abstract class AbstractApiCommand extends AbstractCommand {
@CommandLine.Option(names = {"--server"}, description = "Also write core tasks plugins")
@CommandLine.Option(names = {"--server"}, description = "Kestra server url", defaultValue = "http://localhost:8080")
protected URL server;
@CommandLine.Option(names = {"--headers"}, description = "Also write core tasks plugins")
@CommandLine.Option(names = {"--headers"}, paramLabel = "<name=value>", description = "Headers to add to the request")
protected Map<CharSequence, CharSequence> headers;
@CommandLine.Option(names = {"--user"}, description = "<user:password> Server user and password")
@CommandLine.Option(names = {"--user"}, paramLabel = "<user:password>", description = "Server user and password")
protected String user;
public AbstractApiCommand(boolean withServer) {
super(withServer);
@CommandLine.Option(names = {"--tenant"}, description = "Tenant identifier (EE only, when multi-tenancy is enabled)")
protected String tenantId;
@CommandLine.Option(names = {"--api-token"}, description = "API Token (EE only).")
protected String apiToken;
@Inject
@Named("remote-api")
@Nullable
private HttpClientConfiguration httpClientConfiguration;
/**
* {@inheritDoc}
*/
protected boolean loadExternalPlugins() {
return false;
}
protected DefaultHttpClient client() {
return new DefaultHttpClient(server);
protected DefaultHttpClient client() throws URISyntaxException {
DefaultHttpClient defaultHttpClient = DefaultHttpClient.builder()
.uri(server.toURI())
.configuration(httpClientConfiguration != null ? httpClientConfiguration : new DefaultHttpClientConfiguration())
.build();
MessageBodyHandlerRegistry defaultHandlerRegistry = defaultHttpClient.getHandlerRegistry();
if (defaultHandlerRegistry instanceof ContextlessMessageBodyHandlerRegistry modifiableRegistry) {
modifiableRegistry.add(MediaType.TEXT_JSON_TYPE, new NettyJsonHandler<>(JsonMapper.createDefault()));
}
return defaultHttpClient;
}
protected <T> HttpRequest<T> requestOptions(MutableHttpRequest<T> request) {
@@ -35,12 +72,32 @@ public abstract class AbstractApiCommand extends AbstractCommand {
if (this.user != null) {
List<String> split = Arrays.asList(this.user.split(":"));
String user = split.get(0);
String user = split.getFirst();
String password = String.join(":", split.subList(1, split.size()));
request.basicAuth(user, password);
}
if (this.apiToken != null) {
request.header(HttpHeaders.AUTHORIZATION, "Bearer " + apiToken);
}
return request;
}
protected String apiUri(String path) {
if (path == null || !path.startsWith("/")) {
throw new IllegalArgumentException("'path' must be non-null and start with '/'");
}
return tenantId == null ? "/api/v1" + path : "/api/v1/" + tenantId + path;
}
@Builder
@Value
@Jacksonized
public static class UpdateResult {
String id;
String namespace;
}
}

View File

@@ -2,16 +2,19 @@ package io.kestra.cli;
import ch.qos.logback.classic.LoggerContext;
import com.google.common.collect.ImmutableMap;
import io.kestra.cli.commands.servers.ServerCommandInterface;
import io.kestra.cli.services.StartupHookInterface;
import io.kestra.core.plugins.PluginManager;
import io.kestra.core.plugins.PluginRegistry;
import io.kestra.webserver.services.FlowAutoLoaderService;
import io.micronaut.context.ApplicationContext;
import io.micronaut.context.env.yaml.YamlPropertySourceLoader;
import io.micronaut.core.annotation.Introspected;
import io.micronaut.http.uri.UriBuilder;
import io.micronaut.management.endpoint.EndpointDefaultConfiguration;
import io.micronaut.runtime.server.EmbeddedServer;
import jakarta.inject.Provider;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.client.utils.URIBuilder;
import io.kestra.core.contexts.KestraClassLoader;
import io.kestra.core.plugins.PluginRegistry;
import io.kestra.core.plugins.PluginScanner;
import io.kestra.core.plugins.RegisteredPlugin;
import io.kestra.core.utils.Rethrow;
import picocli.CommandLine;
@@ -22,38 +25,56 @@ import java.net.URISyntaxException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.text.MessageFormat;
import java.util.List;
import java.time.temporal.ChronoUnit;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.Callable;
import javax.inject.Inject;
import jakarta.inject.Inject;
import picocli.CommandLine.Command;
import picocli.CommandLine.Option;
@CommandLine.Command(
mixinStandardHelpOptions = true
@Command(
versionProvider = VersionProvider.class,
mixinStandardHelpOptions = true,
showDefaultValues = true
)
@Slf4j
@Introspected
abstract public class AbstractCommand implements Callable<Integer> {
private final boolean withServer;
@Inject
private ApplicationContext applicationContext;
@Inject
private EndpointDefaultConfiguration endpointConfiguration;
@CommandLine.Option(names = {"-v", "--verbose"}, description = "Change log level. Multiple -v options increase the verbosity.")
@Inject
private StartupHookInterface startupHook;
@Inject
private io.kestra.core.utils.VersionProvider versionProvider;
@Inject
protected Provider<PluginRegistry> pluginRegistryProvider;
@Inject
protected Provider<PluginManager> pluginManagerProvider;
private PluginRegistry pluginRegistry;
@Option(names = {"-v", "--verbose"}, description = "Change log level. Multiple -v options increase the verbosity.", showDefaultValue = CommandLine.Help.Visibility.NEVER)
private boolean[] verbose = new boolean[0];
@CommandLine.Option(names = {"-l", "--log-level"}, description = "Change log level (values: ${COMPLETION-CANDIDATES}; default: ${DEFAULT-VALUE})")
@Option(names = {"-l", "--log-level"}, description = "Change log level (values: ${COMPLETION-CANDIDATES})")
private LogLevel logLevel = LogLevel.INFO;
@CommandLine.Option(names = {"--internal-log"}, description = "Change also log level for internal log, default: ${DEFAULT-VALUE})")
@Option(names = {"--internal-log"}, description = "Change also log level for internal log")
private boolean internalLog = false;
@CommandLine.Option(names = {"-c", "--config"}, description = "Path to a configuration file, default: ${DEFAULT-VALUE})")
@Option(names = {"-c", "--config"}, description = "Path to a configuration file")
private Path config = Paths.get(System.getProperty("user.home"), ".kestra/config.yml");
@CommandLine.Option(names = {"-p", "--plugins"}, description = "Path to plugins directory , default: ${DEFAULT-VALUE})")
protected Path pluginsPath = System.getenv("KESTRA_PLUGINS_PATH") != null ? Paths.get(System.getenv("KESTRA_PLUGINS_PATH")) : null;
@Option(names = {"-p", "--plugins"}, description = "Path to plugins directory")
protected Path pluginsPath = Optional.ofNullable(System.getenv("KESTRA_PLUGINS_PATH")).map(Paths::get).orElse(null);
public enum LogLevel {
TRACE,
@@ -63,20 +84,51 @@ abstract public class AbstractCommand implements Callable<Integer> {
ERROR
}
public AbstractCommand(boolean withServer) {
this.withServer = withServer;
}
@Override
public Integer call() throws Exception {
Thread.currentThread().setName(this.getClass().getDeclaredAnnotation(CommandLine.Command.class).name());
Thread.currentThread().setName(this.getClass().getDeclaredAnnotation(Command.class).name());
startLogger();
sendServerLog();
startWebserver();
if (this.startupHook != null) {
this.startupHook.start(this);
}
if (this.pluginsPath != null && loadExternalPlugins()) {
pluginRegistry = pluginRegistryProvider.get();
pluginRegistry.registerIfAbsent(pluginsPath);
// PluginManager mus only be initialized if a registry is also instantiated
if (isPluginManagerEnabled()) {
PluginManager manager = pluginManagerProvider.get();
manager.start();
}
}
startWebserver();
return 0;
}
/**
* Specifies whether external plugins must be loaded.
* This method can be overridden by concrete commands.
*
* @return {@code true} if external plugins must be loaded.
*/
protected boolean loadExternalPlugins() {
return true;
}
/**
* Specifies whether the {@link PluginManager} service must be initialized.
* <p>
* This method can be overridden by concrete commands.
*
* @return {@code true} if the {@link PluginManager} service must be initialized.
*/
protected boolean isPluginManagerEnabled() {
return true;
}
private static String message(String message, Object... format) {
return CommandLine.Help.Ansi.AUTO.string(
format.length == 0 ? message : MessageFormat.format(message, format)
@@ -98,8 +150,25 @@ abstract public class AbstractCommand implements Callable<Integer> {
this.logLevel = LogLevel.TRACE;
}
if (this.withServer) {
log.info("Starting Kestra with environments {}", applicationContext.getEnvironment().getActiveNames());
if (this instanceof ServerCommandInterface) {
String buildInfo = "";
if (versionProvider.getRevision() != null) {
buildInfo += " [revision " + versionProvider.getRevision();
if (versionProvider.getDate() != null) {
buildInfo += " / " + versionProvider.getDate().toLocalDateTime().truncatedTo(ChronoUnit.MINUTES);
}
buildInfo += "]";
}
log.info(
"Starting Kestra {} with environments {}{}",
versionProvider.getVersion(),
applicationContext.getEnvironment().getActiveNames(),
buildInfo
);
}
((LoggerContext) org.slf4j.LoggerFactory.getILoggerFactory())
@@ -109,9 +178,8 @@ abstract public class AbstractCommand implements Callable<Integer> {
(
this.internalLog && (
logger.getName().startsWith("io.kestra") &&
!logger.getName().startsWith("io.kestra.runner.kafka.services"))
!logger.getName().startsWith("io.kestra.ee.runner.kafka.services"))
)
|| logger.getName().startsWith("flow")
)
.forEach(
logger -> logger.setLevel(ch.qos.logback.classic.Level.valueOf(this.logLevel.name()))
@@ -119,16 +187,13 @@ abstract public class AbstractCommand implements Callable<Integer> {
}
private void sendServerLog() {
if (log.isTraceEnabled() && KestraClassLoader.instance().getPluginRegistry() != null) {
KestraClassLoader.instance()
.getPluginRegistry()
.getPlugins()
.forEach(c -> log.trace(c.toString()));
if (log.isTraceEnabled() && pluginRegistry != null) {
pluginRegistry.plugins().forEach(c -> log.trace(c.toString()));
}
}
private void startWebserver() {
if (!this.withServer) {
if (!(this instanceof ServerCommandInterface)) {
return;
}
@@ -140,9 +205,9 @@ abstract public class AbstractCommand implements Callable<Integer> {
if (this.endpointConfiguration.getPort().isPresent()) {
URI endpoint = null;
try {
endpoint = new URIBuilder(server.getURL().toURI())
.setPort(this.endpointConfiguration.getPort().get())
.setPath("/health")
endpoint = UriBuilder.of(server.getURL().toURI())
.port(this.endpointConfiguration.getPort().get())
.path("/health")
.build();
} catch (URISyntaxException e) {
e.printStackTrace();
@@ -151,19 +216,33 @@ abstract public class AbstractCommand implements Callable<Integer> {
} else {
log.info("Server Running: {}", server.getURL());
}
if (isFlowAutoLoadEnabled()) {
applicationContext
.findBean(FlowAutoLoaderService.class)
.ifPresent(FlowAutoLoaderService::load);
}
});
}
protected void shutdownHook(Rethrow.RunnableChecked<Exception> run) {
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
log.warn("Receiving shutdown ! Try to graceful exit");
public boolean isFlowAutoLoadEnabled() {
return false;
}
try {
run.run();
} catch (Exception e) {
log.error("Failed to close gracefully!", e);
}
}));
protected void shutdownHook(boolean logShutdown, Rethrow.RunnableChecked<Exception> run) {
Runtime.getRuntime().addShutdownHook(new Thread(
() -> {
if (logShutdown) {
log.warn("Receiving shutdown ! Try to graceful exit");
}
try {
run.run();
} catch (Exception e) {
log.error("Failed to close gracefully!", e);
}
},
"command-shutdown"
));
}
@SuppressWarnings({"unused"})
@@ -180,19 +259,4 @@ abstract public class AbstractCommand implements Callable<Integer> {
return ImmutableMap.of();
}
@SuppressWarnings("unused")
public PluginRegistry initPluginRegistry() {
if (this.pluginsPath == null || !this.pluginsPath.toFile().exists()) {
return null;
}
PluginScanner pluginScanner = new PluginScanner(KestraClassLoader.instance());
List<RegisteredPlugin> scan = pluginScanner.scan(this.pluginsPath);
PluginRegistry pluginRegistry = new PluginRegistry(scan);
KestraClassLoader.instance().setPluginRegistry(pluginRegistry);
return pluginRegistry;
}
}

View File

@@ -0,0 +1,141 @@
package io.kestra.cli;
import io.kestra.core.models.validations.ModelValidator;
import io.kestra.core.models.validations.ValidateConstraintViolation;
import io.kestra.core.serializers.YamlParser;
import io.micronaut.core.type.Argument;
import io.micronaut.http.HttpRequest;
import io.micronaut.http.MediaType;
import io.micronaut.http.MutableHttpRequest;
import io.micronaut.http.client.exceptions.HttpClientResponseException;
import io.micronaut.http.client.netty.DefaultHttpClient;
import picocli.CommandLine;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Function;
import java.util.stream.Collectors;
import jakarta.validation.ConstraintViolationException;
import static io.kestra.core.utils.Rethrow.throwConsumer;
import static io.kestra.core.utils.Rethrow.throwFunction;
public abstract class AbstractValidateCommand extends AbstractApiCommand {
@CommandLine.Option(names = {"--local"}, description = "If validation should be done locally or using a remote server", defaultValue = "false")
protected boolean local;
@CommandLine.Parameters(index = "0", description = "the directory containing files to check")
protected Path directory;
/** {@inheritDoc} **/
@Override
protected boolean loadExternalPlugins() {
return local;
}
public static void handleException(ConstraintViolationException e, String resource) {
stdErr("\t@|fg(red) Unable to parse {0} due to the following error(s):|@", resource);
e.getConstraintViolations()
.forEach(constraintViolation -> {
stdErr(
"\t- @|bold,yellow {0} : {1} |@",
constraintViolation.getMessage().replace("\n"," - "),
constraintViolation.getPropertyPath()
);
});
}
public static void handleHttpException(HttpClientResponseException e, String resource) {
stdErr("\t@|fg(red) Unable to parse {0}s due to the following error:|@", resource);
stdErr(
"\t- @|bold,yellow {0}|@",
e.getMessage()
);
}
public static void handleValidateConstraintViolation(ValidateConstraintViolation validateConstraintViolation, String resource){
stdErr("\t@|fg(red) Unable to parse {0}s due to the following error:|@", resource);
stdErr(
"\t- @|bold,yellow {0}|@",
validateConstraintViolation.getConstraints()
);
}
public static String buildYamlBody(Path directory) throws IOException {
try(var files = Files.walk(directory)) {
return files.filter(Files::isRegularFile)
.filter(YamlParser::isValidExtension)
.map(throwFunction(path -> Files.readString(path, Charset.defaultCharset())))
.collect(Collectors.joining("\n---\n"));
}
}
// bug in micronaut, we can't inject ModelValidator, so we inject from implementation
public Integer call(
Class<?> cls,
ModelValidator modelValidator,
Function<Object, String> identity,
Function<Object, List<String>> warningsFunction,
Function<Object, List<String>> infosFunction
) throws Exception {
super.call();
AtomicInteger returnCode = new AtomicInteger(0);
String clsName = cls.getSimpleName().toLowerCase();
if(this.local) {
try(var files = Files.walk(directory)) {
files.filter(Files::isRegularFile)
.filter(YamlParser::isValidExtension)
.forEach(path -> {
try {
Object parse = YamlParser.parse(path.toFile(), cls);
modelValidator.validate(parse);
stdOut("@|green \u2713|@ - " + identity.apply(parse));
List<String> warnings = warningsFunction.apply(parse);
warnings.forEach(warning -> stdOut("@|bold,yellow \u26A0|@ - " + warning));
List<String> infos = infosFunction.apply(parse);
infos.forEach(info -> stdOut("@|bold,blue \u2139|@ - " + info));
} catch (ConstraintViolationException e) {
stdErr("@|red \u2718|@ - " + path);
AbstractValidateCommand.handleException(e, clsName);
returnCode.set(1);
}
});
}
} else {
String body = AbstractValidateCommand.buildYamlBody(directory);
try(DefaultHttpClient client = client()) {
MutableHttpRequest<String> request = HttpRequest
.POST(apiUri("/flows/validate"), body).contentType(MediaType.APPLICATION_YAML);
List<ValidateConstraintViolation> validations = client.toBlocking().retrieve(
this.requestOptions(request),
Argument.listOf(ValidateConstraintViolation.class)
);
validations
.forEach(throwConsumer(validation -> {
if (validation.getConstraints() == null) {
stdOut("@|green \u2713|@ - " + validation.getIdentity());
} else {
stdErr("@|red \u2718|@ - " + validation.getIdentity(directory));
AbstractValidateCommand.handleValidateConstraintViolation(validation, clsName);
returnCode.set(1);
}
}));
} catch (HttpClientResponseException e){
AbstractValidateCommand.handleHttpException(e, clsName);
return 1;
}
}
return returnCode.get();
}
}

View File

@@ -1,22 +1,27 @@
package io.kestra.cli;
import io.micronaut.configuration.picocli.MicronautFactory;
import io.micronaut.configuration.picocli.PicocliRunner;
import io.micronaut.context.ApplicationContext;
import io.micronaut.context.env.Environment;
import io.kestra.cli.commands.configs.sys.ConfigCommand;
import io.kestra.cli.commands.flows.FlowCommand;
import io.kestra.cli.commands.namespaces.NamespaceCommand;
import io.kestra.cli.commands.plugins.PluginCommand;
import io.kestra.cli.commands.servers.ServerCommand;
import io.kestra.cli.commands.sys.SysCommand;
import io.kestra.core.contexts.KestraApplicationContextBuilder;
import io.kestra.core.contexts.KestraClassLoader;
import io.kestra.cli.commands.templates.TemplateCommand;
import io.micronaut.configuration.picocli.MicronautFactory;
import io.micronaut.configuration.picocli.PicocliRunner;
import io.micronaut.context.ApplicationContext;
import io.micronaut.context.ApplicationContextBuilder;
import io.micronaut.context.env.Environment;
import io.micronaut.core.annotation.Introspected;
import org.slf4j.bridge.SLF4JBridgeHandler;
import picocli.CommandLine;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.Callable;
@@ -33,10 +38,13 @@ import java.util.concurrent.Callable;
PluginCommand.class,
ServerCommand.class,
FlowCommand.class,
TemplateCommand.class,
SysCommand.class,
ConfigCommand.class,
NamespaceCommand.class,
}
)
@Introspected
public class App implements Callable<Integer> {
public static void main(String[] args) {
execute(App.class, args);
@@ -52,9 +60,6 @@ public class App implements Callable<Integer> {
SLF4JBridgeHandler.removeHandlersForRootLogger();
SLF4JBridgeHandler.install();
// Register a ClassLoader with isolation for plugins
Thread.currentThread().setContextClassLoader(KestraClassLoader.create(Thread.currentThread().getContextClassLoader()));
// Init ApplicationContext
ApplicationContext applicationContext = App.applicationContext(cls, args);
@@ -74,34 +79,53 @@ public class App implements Callable<Integer> {
* @param args args passed to java app
* @return the application context created
*/
protected static ApplicationContext applicationContext(Class<?> mainClass, String[] args) {
KestraApplicationContextBuilder builder = new KestraApplicationContextBuilder()
protected static ApplicationContext applicationContext(Class<?> mainClass,
String[] args) {
ApplicationContextBuilder builder = ApplicationContext
.builder()
.mainClass(mainClass)
.environments(Environment.CLI)
.classLoader(KestraClassLoader.instance());
.environments(Environment.CLI);
CommandLine cmd = new CommandLine(mainClass, CommandLine.defaultFactory());
continueOnParsingErrors(cmd);
CommandLine.ParseResult parseResult = cmd.parseArgs(args);
List<CommandLine> parsedCommands = parseResult.asCommandLineList();
CommandLine commandLine = parsedCommands.get(parsedCommands.size() - 1);
CommandLine commandLine = parsedCommands.getLast();
Class<?> cls = commandLine.getCommandSpec().userObject().getClass();
if (AbstractCommand.class.isAssignableFrom(cls)) {
// if class have propertiesFromConfig, add configuration files
builder.properties(getPropertiesFromMethod(cls, "propertiesFromConfig", commandLine.getCommandSpec().userObject()));
Map<String, Object> properties = new HashMap<>();
// if class have propertiesOverrides, add force properties for this class
builder.properties(getPropertiesFromMethod(cls, "propertiesOverrides", null));
Map<String, Object> propertiesOverrides = getPropertiesFromMethod(cls, "propertiesOverrides", null);
if (propertiesOverrides != null && isPracticalCommand(commandLine)) {
properties.putAll(propertiesOverrides);
}
// add plugins registry if plugin path defined
builder.pluginRegistry(getPropertiesFromMethod(cls, "initPluginRegistry", commandLine.getCommandSpec().userObject()));
// custom server configuration
commandLine
.getParseResult()
.matchedArgs()
.stream()
.filter(argSpec -> ((Field) argSpec.userObject()).getName().equals("serverPort"))
.findFirst()
.ifPresent(argSpec -> properties.put("micronaut.server.port", argSpec.getValue()));
builder.properties(properties);
}
return builder.build();
}
private static void continueOnParsingErrors(CommandLine cmd) {
cmd.getCommandSpec().parser().collectErrors(true);
}
@SuppressWarnings("unchecked")
private static <T> T getPropertiesFromMethod(Class<?> cls, String methodName, Object instance) {
try {
@@ -118,4 +142,12 @@ public class App implements Callable<Integer> {
return null;
}
/**
* @param commandLine parsed command
* @return false if the command is a help or version request, true otherwise
*/
private static boolean isPracticalCommand(CommandLine commandLine) {
return !(commandLine.isUsageHelpRequested() || commandLine.isVersionHelpRequested());
}
}

View File

@@ -0,0 +1,55 @@
package io.kestra.cli;
import io.micronaut.context.annotation.Context;
import io.micronaut.context.annotation.Requires;
import io.micronaut.context.env.Environment;
import jakarta.annotation.PostConstruct;
import jakarta.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import java.io.Serial;
import java.util.List;
import java.util.Map;
@Slf4j
@Context
@Requires(property = "kestra.server-type")
public class ServerCommandValidator {
private static final Map<String, String> VALIDATED_PROPERTIES = Map.of(
"kestra.queue.type", "https://kestra.io/docs/configuration-guide/setup#queue-configuration",
"kestra.repository.type", "https://kestra.io/docs/configuration-guide/setup#repository-configuration",
"kestra.storage.type", "https://kestra.io/docs/configuration-guide/setup#internal-storage-configuration"
);
private final Environment environment;
@Inject
public ServerCommandValidator(final Environment environment) {
this.environment = environment;
}
@PostConstruct
void validate() {
final List<Map.Entry<String, String>> missingProperties = VALIDATED_PROPERTIES.entrySet().stream()
.filter((property) -> !environment.containsProperty(property.getKey()))
.toList();
missingProperties.forEach(property -> log.error("""
Server configuration requires the '{}' property to be defined.
For more details, please follow the official setup guide at: {}""", property.getKey(), property.getValue())
);
if (!missingProperties.isEmpty()) {
throw new ServerCommandException("Incomplete server configuration - missing required properties");
}
}
public static class ServerCommandException extends RuntimeException {
@Serial
private static final long serialVersionUID = 1L;
public ServerCommandException(String errorMessage) {
super(errorMessage);
}
}
}

View File

@@ -4,8 +4,8 @@ import io.micronaut.context.event.StartupEvent;
import io.micronaut.runtime.event.annotation.EventListener;
import picocli.CommandLine;
import javax.inject.Inject;
import javax.inject.Singleton;
import jakarta.inject.Inject;
import jakarta.inject.Singleton;
class VersionProvider implements CommandLine.IVersionProvider {
private static io.kestra.core.utils.VersionProvider versionProvider;

View File

@@ -0,0 +1,18 @@
package io.kestra.cli.commands;
import io.kestra.cli.AbstractApiCommand;
import picocli.CommandLine;
import java.nio.file.Path;
public abstract class AbstractServiceNamespaceUpdateCommand extends AbstractApiCommand {
@CommandLine.Parameters(index = "0", description = "The namespace to update")
public String namespace;
@CommandLine.Parameters(index = "1", description = "The directory containing flow files for current namespace")
public Path directory;
@CommandLine.Option(names = {"--delete"}, negatable = true, description = "Whether missing should be deleted")
public boolean delete = false;
}

View File

@@ -8,7 +8,7 @@ import picocli.CommandLine;
@CommandLine.Command(
name = "configs",
description = "handle configs",
description = "Manage configuration",
mixinStandardHelpOptions = true,
subcommands = {
ConfigPropertiesCommand.class,
@@ -16,10 +16,6 @@ import picocli.CommandLine;
)
@Slf4j
public class ConfigCommand extends AbstractCommand {
public ConfigCommand() {
super(false);
}
@Override
public Integer call() throws Exception {
super.call();

View File

@@ -1,33 +1,22 @@
package io.kestra.cli.commands.configs.sys;
import io.micronaut.context.ApplicationContext;
import io.micronaut.context.env.Environment;
import io.micronaut.context.env.PropertySource;
import io.micronaut.core.order.Ordered;
import io.micronaut.management.endpoint.env.EnvironmentEndpoint;
import lombok.extern.slf4j.Slf4j;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.serializers.JacksonMapper;
import io.micronaut.context.ApplicationContext;
import io.micronaut.management.endpoint.env.EnvironmentEndpoint;
import jakarta.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
import javax.inject.Inject;
@CommandLine.Command(
name = "properties",
description = {"Display actual configurations properties."}
description = {"Display current configuration properties."}
)
@Slf4j
public class ConfigPropertiesCommand extends AbstractCommand {
@Inject
private ApplicationContext applicationContext;
public ConfigPropertiesCommand() {
super(false);
}
@Override
public Integer call() throws Exception {
super.call();

View File

@@ -10,21 +10,20 @@ import picocli.CommandLine;
@CommandLine.Command(
name = "flow",
description = "handle flows",
description = "Manage flows",
mixinStandardHelpOptions = true,
subcommands = {
ValidateCommand.class,
FlowValidateCommand.class,
FlowTestCommand.class,
FlowNamespaceCommand.class,
FlowDotCommand.class
FlowDotCommand.class,
FlowExportCommand.class,
FlowUpdateCommand.class,
FlowUpdatesCommand.class
}
)
@Slf4j
public class FlowCommand extends AbstractCommand {
public FlowCommand() {
super(false);
}
@SneakyThrows
@Override
public Integer call() throws Exception {

View File

@@ -0,0 +1,59 @@
package io.kestra.cli.commands.flows;
import io.kestra.cli.AbstractApiCommand;
import io.kestra.cli.AbstractValidateCommand;
import io.micronaut.http.HttpRequest;
import io.micronaut.http.MediaType;
import io.micronaut.http.MutableHttpRequest;
import io.micronaut.http.client.exceptions.HttpClientResponseException;
import io.micronaut.http.client.netty.DefaultHttpClient;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
import java.nio.file.Files;
import java.nio.file.Path;
@CommandLine.Command(
name = "create",
description = "Create a single flow",
mixinStandardHelpOptions = true
)
@Slf4j
public class FlowCreateCommand extends AbstractApiCommand {
@CommandLine.Parameters(index = "0", description = "The file containing the flow")
public Path flowFile;
@SuppressWarnings("deprecation")
@Override
public Integer call() throws Exception {
super.call();
checkFile();
String body = Files.readString(flowFile);
try(DefaultHttpClient client = client()) {
MutableHttpRequest<String> request = HttpRequest
.POST(apiUri("/flows"), body).contentType(MediaType.APPLICATION_YAML);
client.toBlocking().retrieve(
this.requestOptions(request),
String.class
);
stdOut("Flow successfully created !");
} catch (HttpClientResponseException e){
AbstractValidateCommand.handleHttpException(e, "flow");
return 1;
}
return 0;
}
protected void checkFile() {
if (!Files.isRegularFile(flowFile)) {
throw new IllegalArgumentException("The file '" + flowFile.toFile().getAbsolutePath() + "' is not a file");
}
}
}

View File

@@ -0,0 +1,47 @@
package io.kestra.cli.commands.flows;
import io.kestra.cli.AbstractApiCommand;
import io.kestra.cli.AbstractValidateCommand;
import io.micronaut.http.HttpRequest;
import io.micronaut.http.MutableHttpRequest;
import io.micronaut.http.client.exceptions.HttpClientResponseException;
import io.micronaut.http.client.netty.DefaultHttpClient;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
@CommandLine.Command(
name = "delete",
description = "Delete a single flow",
mixinStandardHelpOptions = true
)
@Slf4j
public class FlowDeleteCommand extends AbstractApiCommand {
@CommandLine.Parameters(index = "0", description = "The namespace of the flow")
public String namespace;
@CommandLine.Parameters(index = "1", description = "The ID of the flow")
public String id;
@SuppressWarnings("deprecation")
@Override
public Integer call() throws Exception {
super.call();
try(DefaultHttpClient client = client()) {
MutableHttpRequest<String> request = HttpRequest
.DELETE(apiUri("/flows/" + namespace + "/" + id ));
client.toBlocking().exchange(
this.requestOptions(request)
);
stdOut("Flow successfully deleted !");
} catch (HttpClientResponseException e){
AbstractValidateCommand.handleHttpException(e, "flow");
return 1;
}
return 0;
}
}

View File

@@ -1,58 +1,37 @@
package io.kestra.cli.commands.flows;
import io.micronaut.context.ApplicationContext;
import io.micronaut.context.annotation.Prototype;
import lombok.extern.slf4j.Slf4j;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.models.flows.Flow;
import io.kestra.core.models.hierarchies.FlowGraph;
import io.kestra.core.models.hierarchies.GraphCluster;
import io.kestra.core.serializers.YamlFlowParser;
import io.kestra.core.serializers.YamlParser;
import io.kestra.core.services.Graph2DotService;
import io.kestra.core.services.GraphService;
import io.kestra.core.utils.GraphUtils;
import io.micronaut.context.ApplicationContext;
import jakarta.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
import java.nio.file.Path;
import java.security.SecureRandom;
import javax.inject.Inject;
@CommandLine.Command(
name = "dot",
description = "generate a dot graph from a file"
description = "Generate a DOT graph from a file"
)
@Slf4j
@Prototype
public class FlowDotCommand extends AbstractCommand {
@CommandLine.Parameters(index = "0", description = "the flow file to display")
private Path file;
@CommandLine.Spec
CommandLine.Model.CommandSpec spec;
@Inject
private ApplicationContext applicationContext;
private static final SecureRandom random = new SecureRandom();
public FlowDotCommand() {
super(false);
}
@CommandLine.Parameters(index = "0", description = "The flow file to display")
private Path file;
@Override
public Integer call() throws Exception {
super.call();
YamlFlowParser parser = applicationContext.getBean(YamlFlowParser.class);
Flow flow = parser.parse(file.toFile());
GraphCluster graph = new GraphCluster();
Flow flow = YamlParser.parse(file.toFile(), Flow.class);
GraphService.sequential(
graph,
flow.getTasks(),
flow.getErrors(),
null,
null
);
GraphCluster graph = GraphUtils.of(flow, null);
stdOut(Graph2DotService.dot(graph.getGraph()));

View File

@@ -0,0 +1,36 @@
package io.kestra.cli.commands.flows;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.models.flows.Flow;
import io.kestra.core.models.validations.ModelValidator;
import io.kestra.core.serializers.YamlParser;
import jakarta.inject.Inject;
import picocli.CommandLine;
import java.nio.file.Files;
import java.nio.file.Path;
@CommandLine.Command(
name = "expand",
description = "Deprecated - expand a flow"
)
@Deprecated
public class FlowExpandCommand extends AbstractCommand {
@CommandLine.Parameters(index = "0", description = "The flow file to expand")
private Path file;
@Inject
private ModelValidator modelValidator;
@Override
public Integer call() throws Exception {
super.call();
stdErr("Warning, this functionality is deprecated and will be removed at some point.");
String content = IncludeHelperExpander.expand(Files.readString(file), file.getParent());
Flow flow = YamlParser.parse(content, Flow.class);
modelValidator.validate(flow);
stdOut(content);
return 0;
}
}

View File

@@ -0,0 +1,61 @@
package io.kestra.cli.commands.flows;
import io.kestra.cli.AbstractApiCommand;
import io.kestra.cli.AbstractValidateCommand;
import io.micronaut.context.ApplicationContext;
import io.micronaut.http.HttpRequest;
import io.micronaut.http.HttpResponse;
import io.micronaut.http.MediaType;
import io.micronaut.http.MutableHttpRequest;
import io.micronaut.http.client.exceptions.HttpClientResponseException;
import io.micronaut.http.client.netty.DefaultHttpClient;
import jakarta.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
import java.nio.file.Files;
import java.nio.file.Path;
@CommandLine.Command(
name = "export",
description = "Export flows to a ZIP file",
mixinStandardHelpOptions = true
)
@Slf4j
public class FlowExportCommand extends AbstractApiCommand {
private static final String DEFAULT_FILE_NAME = "flows.zip";
// @FIXME: Keep it for bug in micronaut that need to have inject on top level command to inject on abstract classe
@Inject
private ApplicationContext applicationContext;
@CommandLine.Option(names = {"--namespace"}, description = "The namespace of flows to export")
public String namespace;
@CommandLine.Parameters(index = "0", description = "The directory to export the ZIP file to")
public Path directory;
@Override
public Integer call() throws Exception {
super.call();
try(DefaultHttpClient client = client()) {
MutableHttpRequest<Object> request = HttpRequest
.GET(apiUri("/flows/export/by-query") + (namespace != null ? "?namespace=" + namespace : ""))
.accept(MediaType.APPLICATION_OCTET_STREAM);
HttpResponse<byte[]> response = client.toBlocking().exchange(this.requestOptions(request), byte[].class);
Path zipFile = Path.of(directory.toString(), DEFAULT_FILE_NAME);
zipFile.toFile().createNewFile();
Files.write(zipFile, response.body());
stdOut("Exporting flow(s) for namespace '" + namespace + "' successfully done !");
} catch (HttpClientResponseException e) {
AbstractValidateCommand.handleHttpException(e, "flow");
return 1;
}
return 0;
}
}

View File

@@ -1,17 +1,18 @@
package io.kestra.cli.commands.flows;
import com.google.common.collect.ImmutableMap;
import io.micronaut.context.ApplicationContext;
import io.micronaut.context.annotation.Prototype;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.exceptions.MissingRequiredInput;
import io.kestra.core.models.flows.Flow;
import io.kestra.core.repositories.FlowRepositoryInterface;
import io.kestra.core.repositories.LocalFlowRepositoryLoader;
import io.kestra.core.runners.FlowInputOutput;
import io.kestra.core.runners.RunnerUtils;
import io.kestra.runner.memory.MemoryRunner;
import io.kestra.core.runners.StandAloneRunner;
import io.micronaut.context.ApplicationContext;
import jakarta.inject.Inject;
import jakarta.validation.ConstraintViolationException;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import picocli.CommandLine;
import java.io.IOException;
@@ -23,21 +24,22 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeoutException;
import javax.inject.Inject;
@CommandLine.Command(
name = "test",
description = "test a flow"
description = "Test a flow"
)
@Slf4j
@Prototype
public class FlowTestCommand extends AbstractCommand {
@CommandLine.Parameters(index = "0", description = "the flow file to test")
@Inject
private ApplicationContext applicationContext;
@CommandLine.Parameters(index = "0", description = "The flow file to test")
private Path file;
@CommandLine.Parameters(
index = "1..*",
description = "the inputs to pass as key pair value separated by space, " +
description = "The inputs to pass as key pair value separated by space, " +
"for input type file, you need to pass an absolute path."
)
private List<String> inputs = new ArrayList<>();
@@ -45,15 +47,8 @@ public class FlowTestCommand extends AbstractCommand {
@CommandLine.Spec
CommandLine.Model.CommandSpec spec;
@Inject
private ApplicationContext applicationContext;
private static final SecureRandom random = new SecureRandom();
public FlowTestCommand() {
super(false);
}
@SuppressWarnings("unused")
public static Map<String, Object> propertiesOverrides() {
return ImmutableMap.of(
@@ -76,12 +71,13 @@ public class FlowTestCommand extends AbstractCommand {
public Integer call() throws Exception {
super.call();
MemoryRunner runner = applicationContext.getBean(MemoryRunner.class);
StandAloneRunner runner = applicationContext.getBean(StandAloneRunner.class);
LocalFlowRepositoryLoader repositoryLoader = applicationContext.getBean(LocalFlowRepositoryLoader.class);
FlowRepositoryInterface flowRepository = applicationContext.getBean(FlowRepositoryInterface.class);
FlowInputOutput flowInputOutput = applicationContext.getBean(FlowInputOutput.class);
RunnerUtils runnerUtils = applicationContext.getBean(RunnerUtils.class);
Map<String, String> inputs = new HashMap<>();
Map<String, Object> inputs = new HashMap<>();
for (int i = 0; i < this.inputs.size(); i=i+2) {
if (this.inputs.size() <= i + 1) {
@@ -95,19 +91,19 @@ public class FlowTestCommand extends AbstractCommand {
runner.run();
repositoryLoader.load(file.toFile());
List<Flow> all = flowRepository.findAll();
List<Flow> all = flowRepository.findAllForAllTenants();
if (all.size() != 1) {
throw new IllegalArgumentException("Too many flow found, need 1, found " + all.size());
}
runnerUtils.runOne(
all.get(0),
(flow, execution) -> runnerUtils.typedInputs(flow, execution, inputs),
all.getFirst(),
(flow, execution) -> flowInputOutput.readExecutionInputs(flow, execution, inputs),
Duration.ofHours(1)
);
runner.close();
} catch (MissingRequiredInput e) {
} catch (ConstraintViolationException e) {
throw new CommandLine.ParameterException(this.spec.commandLine(), e.getMessage());
} catch (IOException | TimeoutException e) {
throw new IllegalStateException(e);

View File

@@ -0,0 +1,64 @@
package io.kestra.cli.commands.flows;
import io.kestra.cli.AbstractApiCommand;
import io.kestra.cli.AbstractValidateCommand;
import io.micronaut.http.HttpRequest;
import io.micronaut.http.MediaType;
import io.micronaut.http.MutableHttpRequest;
import io.micronaut.http.client.exceptions.HttpClientResponseException;
import io.micronaut.http.client.netty.DefaultHttpClient;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
import java.nio.file.Files;
import java.nio.file.Path;
@CommandLine.Command(
name = "update",
description = "Update a single flow",
mixinStandardHelpOptions = true
)
@Slf4j
public class FlowUpdateCommand extends AbstractApiCommand {
@CommandLine.Parameters(index = "0", description = "The file containing the flow")
public Path flowFile;
@CommandLine.Parameters(index = "1", description = "The namespace of the flow")
public String namespace;
@CommandLine.Parameters(index = "2", description = "The ID of the flow")
public String id;
@SuppressWarnings("deprecation")
@Override
public Integer call() throws Exception {
super.call();
checkFile();
String body = Files.readString(flowFile);
try(DefaultHttpClient client = client()) {
MutableHttpRequest<String> request = HttpRequest
.PUT(apiUri("/flows/" + namespace + "/" + id ), body).contentType(MediaType.APPLICATION_YAML);
client.toBlocking().retrieve(
this.requestOptions(request),
String.class
);
stdOut("Flow successfully updated !");
} catch (HttpClientResponseException e){
AbstractValidateCommand.handleHttpException(e, "flow");
return 1;
}
return 0;
}
protected void checkFile() {
if (!Files.isRegularFile(flowFile)) {
throw new IllegalArgumentException("The file '" + flowFile.toFile().getAbsolutePath() + "' is not a file");
}
}
}

View File

@@ -0,0 +1,95 @@
package io.kestra.cli.commands.flows;
import io.kestra.cli.AbstractApiCommand;
import io.kestra.cli.AbstractValidateCommand;
import io.kestra.core.serializers.YamlParser;
import io.micronaut.core.type.Argument;
import io.micronaut.http.HttpRequest;
import io.micronaut.http.MediaType;
import io.micronaut.http.MutableHttpRequest;
import io.micronaut.http.client.exceptions.HttpClientResponseException;
import io.micronaut.http.client.netty.DefaultHttpClient;
import jakarta.validation.ConstraintViolationException;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
@CommandLine.Command(
name = "updates",
description = "Create or update flows from a folder, and optionally delete the ones not present",
mixinStandardHelpOptions = true
)
@Slf4j
public class FlowUpdatesCommand extends AbstractApiCommand {
@CommandLine.Parameters(index = "0", description = "The directory containing files")
public Path directory;
@CommandLine.Option(names = {"--delete"}, negatable = true, description = "Whether missing should be deleted")
public boolean delete = false;
@CommandLine.Option(names = {"--namespace"}, description = "The parent namespace of the flows, if not set, every namespace are allowed.")
public String namespace;
@SuppressWarnings("deprecation")
@Override
public Integer call() throws Exception {
super.call();
try (var files = Files.walk(directory)) {
List<String> flows = files
.filter(Files::isRegularFile)
.filter(YamlParser::isValidExtension)
.map(path -> {
try {
return IncludeHelperExpander.expand(Files.readString(path, Charset.defaultCharset()), path.getParent());
} catch (IOException e) {
throw new RuntimeException(e);
}
})
.toList();
String body = "";
if (flows.isEmpty()) {
stdOut("No flow found on '{}'", directory.toFile().getAbsolutePath());
} else {
body = String.join("\n---\n", flows);
}
try(DefaultHttpClient client = client()) {
String namespaceQuery = "";
if (namespace != null) {
namespaceQuery = "&namespace=" + namespace;
}
MutableHttpRequest<String> request = HttpRequest
.POST(apiUri("/flows/bulk") + "?allowNamespaceChild=true&delete=" + delete + namespaceQuery, body).contentType(MediaType.APPLICATION_YAML);
List<UpdateResult> updated = client.toBlocking().retrieve(
this.requestOptions(request),
Argument.listOf(UpdateResult.class)
);
stdOut(updated.size() + " flow(s) successfully updated !");
updated.forEach(flow -> stdOut("- " + flow.getNamespace() + "." + flow.getId()));
} catch (HttpClientResponseException e){
AbstractValidateCommand.handleHttpException(e, "flow");
return 1;
}
} catch (ConstraintViolationException e) {
AbstractValidateCommand.handleException(e, "flow");
return 1;
}
return 0;
}
@Override
protected boolean loadExternalPlugins() {
return false;
}
}

View File

@@ -0,0 +1,47 @@
package io.kestra.cli.commands.flows;
import io.kestra.cli.AbstractValidateCommand;
import io.kestra.core.models.flows.FlowWithSource;
import io.kestra.core.models.validations.ModelValidator;
import io.kestra.core.services.FlowService;
import jakarta.inject.Inject;
import picocli.CommandLine;
import java.util.ArrayList;
import java.util.List;
@CommandLine.Command(
name = "validate",
description = "Validate a flow"
)
public class FlowValidateCommand extends AbstractValidateCommand {
@Inject
private ModelValidator modelValidator;
@Inject
private FlowService flowService;
@Override
public Integer call() throws Exception {
return this.call(
FlowWithSource.class,
modelValidator,
(Object object) -> {
FlowWithSource flow = (FlowWithSource) object;
return flow.getNamespace() + " / " + flow.getId();
},
(Object object) -> {
FlowWithSource flow = (FlowWithSource) object;
List<String> warnings = new ArrayList<>();
warnings.addAll(flowService.deprecationPaths(flow).stream().map(deprecation -> deprecation + " is deprecated").toList());
warnings.addAll(flowService.warnings(flow, this.tenantId));
return warnings;
},
(Object object) -> {
FlowWithSource flow = (FlowWithSource) object;
return flowService.relocations(flow.sourceOrGenerateIfNull()).stream().map(relocation -> relocation.from() + " is replaced by " + relocation.to()).toList();
}
);
}
}

View File

@@ -0,0 +1,40 @@
package io.kestra.cli.commands.flows;
import com.google.common.io.Files;
import lombok.SneakyThrows;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Path;
import java.util.List;
import java.util.stream.Collectors;
@Deprecated
public abstract class IncludeHelperExpander {
public static String expand(String value, Path directory) throws IOException {
return value.lines()
.map(line -> line.contains("[[>") && line.contains("]]") ? expandLine(line, directory) : line)
.collect(Collectors.joining("\n"));
}
@SneakyThrows
private static String expandLine(String line, Path directory) {
String prefix = line.substring(0, line.indexOf("[[>"));
String suffix = line.substring(line.indexOf("]]") + 2, line.length());
String file = line.substring(line.indexOf("[[>") + 3 , line.indexOf("]]")).strip();
Path includePath = directory.resolve(file);
List<String> include = Files.readLines(includePath.toFile(), Charset.defaultCharset());
// handle single line directly with the suffix (should be between quotes or double-quotes
if(include.size() == 1) {
String singleInclude = include.getFirst();
return prefix + singleInclude + suffix;
}
// multi-line will be expanded with the prefix but no suffix
return include.stream()
.map(includeLine -> prefix + includeLine)
.collect(Collectors.joining("\n"));
}
}

View File

@@ -1,59 +0,0 @@
package io.kestra.cli.commands.flows;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.models.flows.Flow;
import io.kestra.core.serializers.JacksonMapper;
import io.kestra.core.serializers.YamlFlowParser;
import picocli.CommandLine;
import java.nio.file.Path;
import javax.inject.Inject;
import javax.validation.ConstraintViolationException;
@CommandLine.Command(
name = "validate",
description = "validate a flow"
)
public class ValidateCommand extends AbstractCommand {
private static final ObjectMapper mapper = JacksonMapper.ofYaml();
@Inject
private YamlFlowParser yamlFlowParser;
@CommandLine.Parameters(index = "0", description = "the flow file to test")
private Path file;
public ValidateCommand() {
super(false);
}
@Override
public Integer call() throws Exception {
super.call();
try {
Flow parse = yamlFlowParser.parse(file.toFile());
stdOut(mapper.writeValueAsString(parse));
} catch (ConstraintViolationException e) {
ValidateCommand.handleException(e);
return 1;
}
return 0;
}
public static void handleException(ConstraintViolationException e) {
stdErr("@|fg(red) Unable to parse flow due to the following error(s):|@");
e.getConstraintViolations()
.forEach(constraintViolation -> {
stdErr(
"- {0} at @|underline,blue {1}|@ with value @|bold,yellow {2}|@ ",
constraintViolation.getMessage(),
constraintViolation.getPropertyPath(),
constraintViolation.getInvalidValue()
);
});
}
}

View File

@@ -1,12 +1,15 @@
package io.kestra.cli.commands.flows.namespaces;
import io.kestra.cli.App;
import io.micronaut.configuration.picocli.PicocliRunner;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import io.kestra.cli.AbstractCommand;
import picocli.CommandLine;
@CommandLine.Command(
name = "namespace",
description = "handle namespace flows",
description = "Manage namespace flows",
mixinStandardHelpOptions = true,
subcommands = {
FlowNamespaceUpdateCommand.class,
@@ -14,7 +17,13 @@ import picocli.CommandLine;
)
@Slf4j
public class FlowNamespaceCommand extends AbstractCommand {
public FlowNamespaceCommand() {
super(false);
@SneakyThrows
@Override
public Integer call() throws Exception {
super.call();
PicocliRunner.call(App.class, "flow", "namespace", "--help");
return 0;
}
}

View File

@@ -1,76 +1,79 @@
package io.kestra.cli.commands.flows.namespaces;
import io.kestra.cli.AbstractValidateCommand;
import io.kestra.cli.commands.AbstractServiceNamespaceUpdateCommand;
import io.kestra.cli.commands.flows.IncludeHelperExpander;
import io.kestra.core.serializers.YamlParser;
import io.micronaut.core.type.Argument;
import io.micronaut.http.HttpRequest;
import io.micronaut.http.MediaType;
import io.micronaut.http.MutableHttpRequest;
import io.micronaut.http.client.exceptions.HttpClientResponseException;
import io.micronaut.http.client.netty.DefaultHttpClient;
import jakarta.validation.ConstraintViolationException;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FilenameUtils;
import io.kestra.cli.AbstractApiCommand;
import io.kestra.cli.commands.flows.ValidateCommand;
import io.kestra.core.models.flows.Flow;
import io.kestra.core.serializers.YamlFlowParser;
import picocli.CommandLine;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
import java.util.stream.Collectors;
import javax.inject.Inject;
import javax.validation.ConstraintViolationException;
import static io.kestra.core.utils.Rethrow.throwFunction;
@CommandLine.Command(
name = "update",
description = "handle namespace flows",
description = "Update flows in namespace",
mixinStandardHelpOptions = true
)
@Slf4j
public class FlowNamespaceUpdateCommand extends AbstractApiCommand {
@Inject
private YamlFlowParser yamlFlowParser;
public class FlowNamespaceUpdateCommand extends AbstractServiceNamespaceUpdateCommand {
@CommandLine.Parameters(index = "0", description = "the namespace of flow to update")
private String namespace;
@CommandLine.Parameters(index = "1", description = "the directory containing flows to from current namespace")
private Path directory;
public FlowNamespaceUpdateCommand() {
super(false);
}
@CommandLine.Option(names = {"--override-namespaces"}, negatable = true, description = "Replace namespace of all flows by the one provided")
public boolean override = false;
@SuppressWarnings("deprecation")
@Override
public Integer call() throws Exception {
super.call();
try {
List<Flow> flows = Files.walk(directory)
try (var files = Files.walk(directory)) {
List<String> flows = files
.filter(Files::isRegularFile)
.filter(YamlFlowParser::isValidExtension)
.map(path -> yamlFlowParser.parse(path.toFile()))
.collect(Collectors.toList());
.filter(YamlParser::isValidExtension)
.map(path -> {
try {
return IncludeHelperExpander.expand(Files.readString(path, Charset.defaultCharset()), path.getParent());
} catch (IOException e) {
throw new RuntimeException(e);
}
})
.toList();
if (flows.size() == 0) {
stdErr("No flow found on '{}'", directory.toFile().getAbsolutePath());
return 1;
String body = "";
if (flows.isEmpty()) {
stdOut("No flow found on '{}'", directory.toFile().getAbsolutePath());
} else {
body = String.join("\n---\n", flows);
}
if (override) {
body = body.replaceAll("(?m)^namespace:.+", "namespace: " + namespace);
}
try(DefaultHttpClient client = client()) {
MutableHttpRequest<List<Flow>> request = HttpRequest
.POST("/api/v1/flows/" + namespace, flows);
MutableHttpRequest<String> request = HttpRequest
.POST(apiUri("/flows/") + namespace + "?delete=" + delete, body).contentType(MediaType.APPLICATION_YAML);
List<Flow> updated = client.toBlocking().retrieve(
List<UpdateResult> updated = client.toBlocking().retrieve(
this.requestOptions(request),
Argument.listOf(Flow.class)
Argument.listOf(UpdateResult.class)
);
stdOut(updated.size() + " flow(s) for namespace '" + namespace + "' successfully updated !");
updated.forEach(flow -> stdOut("- " + flow.getNamespace() + "." + flow.getId()));
} catch (HttpClientResponseException e){
AbstractValidateCommand.handleHttpException(e, "flow");
return 1;
}
} catch (ConstraintViolationException e) {
ValidateCommand.handleException(e);
AbstractValidateCommand.handleException(e, "flow");
return 1;
}

View File

@@ -0,0 +1,32 @@
package io.kestra.cli.commands.namespaces;
import io.kestra.cli.AbstractCommand;
import io.kestra.cli.App;
import io.kestra.cli.commands.namespaces.files.NamespaceFilesCommand;
import io.kestra.cli.commands.namespaces.kv.KvCommand;
import io.micronaut.configuration.picocli.PicocliRunner;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
@CommandLine.Command(
name = "namespace",
description = "Manage namespaces",
mixinStandardHelpOptions = true,
subcommands = {
NamespaceFilesCommand.class,
KvCommand.class
}
)
@Slf4j
public class NamespaceCommand extends AbstractCommand {
@SneakyThrows
@Override
public Integer call() throws Exception {
super.call();
PicocliRunner.call(App.class, "namespace", "--help");
return 0;
}
}

View File

@@ -0,0 +1,29 @@
package io.kestra.cli.commands.namespaces.files;
import io.kestra.cli.AbstractCommand;
import io.kestra.cli.App;
import io.micronaut.configuration.picocli.PicocliRunner;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
@CommandLine.Command(
name = "files",
description = "Manage namespace files",
mixinStandardHelpOptions = true,
subcommands = {
NamespaceFilesUpdateCommand.class,
}
)
@Slf4j
public class NamespaceFilesCommand extends AbstractCommand {
@SneakyThrows
@Override
public Integer call() throws Exception {
super.call();
PicocliRunner.call(App.class, "namespace", "files", "--help");
return 0;
}
}

View File

@@ -0,0 +1,79 @@
package io.kestra.cli.commands.namespaces.files;
import io.kestra.cli.AbstractApiCommand;
import io.kestra.cli.AbstractValidateCommand;
import io.kestra.core.utils.KestraIgnore;
import io.micronaut.http.HttpRequest;
import io.micronaut.http.MediaType;
import io.micronaut.http.client.exceptions.HttpClientResponseException;
import io.micronaut.http.client.multipart.MultipartBody;
import io.micronaut.http.client.netty.DefaultHttpClient;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
@CommandLine.Command(
name = "update",
description = "Update namespace files",
mixinStandardHelpOptions = true
)
@Slf4j
public class NamespaceFilesUpdateCommand extends AbstractApiCommand {
@CommandLine.Parameters(index = "0", description = "The namespace to update")
public String namespace;
@CommandLine.Parameters(index = "1", description = "The local directory containing files for current namespace")
public Path from;
@CommandLine.Parameters(index = "2", description = "The remote namespace path to upload files to", defaultValue = "/")
public String to;
@CommandLine.Option(names = {"--delete"}, negatable = true, description = "Whether missing should be deleted")
public boolean delete = false;
private static final String KESTRA_IGNORE_FILE = ".kestraignore";
@Override
public Integer call() throws Exception {
super.call();
to = to.startsWith("/") ? to : "/" + to;
to = to.endsWith("/") ? to : to + "/";
try (var files = Files.walk(from); DefaultHttpClient client = client()) {
if (delete) {
client.toBlocking().exchange(this.requestOptions(HttpRequest.DELETE(apiUri("/namespaces/") + namespace + "/files?path=" + to, null)));
}
KestraIgnore kestraIgnore = new KestraIgnore(from);
List<Path> paths = files
.filter(Files::isRegularFile)
.filter(path -> !kestraIgnore.isIgnoredFile(path.toString(), true))
.toList();
paths.forEach(path -> {
MultipartBody body = MultipartBody.builder()
.addPart("fileContent", path.toFile())
.build();
String relativizedPath = from.relativize(path).toString();
String destination = to + relativizedPath;
client.toBlocking().exchange(
this.requestOptions(
HttpRequest.POST(
apiUri("/namespaces/") + namespace + "/files?path=" + destination,
body
).contentType(MediaType.MULTIPART_FORM_DATA)
)
);
stdOut("Successfully uploaded {0} to {1}", path.toString(), destination);
});
} catch (HttpClientResponseException e) {
AbstractValidateCommand.handleHttpException(e, "namespace");
return 1;
}
return 0;
}
}

View File

@@ -0,0 +1,29 @@
package io.kestra.cli.commands.namespaces.kv;
import io.kestra.cli.AbstractCommand;
import io.kestra.cli.App;
import io.micronaut.configuration.picocli.PicocliRunner;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
@CommandLine.Command(
name = "kv",
description = "Manage KV Store",
mixinStandardHelpOptions = true,
subcommands = {
KvUpdateCommand.class,
}
)
@Slf4j
public class KvCommand extends AbstractCommand {
@SneakyThrows
@Override
public Integer call() throws Exception {
super.call();
PicocliRunner.call(App.class, "namespace", "kv", "--help");
return 0;
}
}

View File

@@ -0,0 +1,90 @@
package io.kestra.cli.commands.namespaces.kv;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.kestra.cli.AbstractApiCommand;
import io.kestra.core.serializers.JacksonMapper;
import io.micronaut.http.HttpRequest;
import io.micronaut.http.MediaType;
import io.micronaut.http.MutableHttpRequest;
import io.micronaut.http.client.netty.DefaultHttpClient;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
import picocli.CommandLine.Option;
import java.nio.file.Files;
import java.nio.file.Path;
import java.time.Duration;
@CommandLine.Command(
name = "update",
description = "Update value for a KV Store key",
mixinStandardHelpOptions = true
)
@Slf4j
public class KvUpdateCommand extends AbstractApiCommand {
@CommandLine.Parameters(index = "0", description = "The namespace to update")
public String namespace;
@CommandLine.Parameters(index = "1", description = "The key to update")
public String key;
@CommandLine.Parameters(index = "2", description = "The value to assign to the key. If the value is an object, it must be in JSON format. If the value must be read from file, use -f parameter.")
public String value;
@Option(names = {"-e", "--expiration"}, description = "The duration after which the key should expire.")
public String expiration;
@Option(names = {"-t", "--type"}, description = "The type of the value. Optional and useful to override the deduced type (eg. numbers, booleans or JSON as full string). Valid values: ${COMPLETION-CANDIDATES}.")
public Type type;
@Option(names = {"-f", "--file-value"}, description = "The file from which to read the value to set. If this is provided, it will take precedence over any specified value.")
public Path fileValue;
@Override
public Integer call() throws Exception {
super.call();
if (fileValue != null) {
value = Files.readString(Path.of(fileValue.toString().trim()));
}
if (isLiteral(value) || type == Type.STRING) {
value = wrapAsJsonLiteral(value);
}
Duration ttl = expiration == null ? null : Duration.parse(expiration);
MutableHttpRequest<String> request = HttpRequest
.PUT(apiUri("/namespaces/") + namespace + "/kv/" + key, value)
.contentType(MediaType.APPLICATION_JSON_TYPE);
if (ttl != null) {
request.header("ttl", ttl.toString());
}
try (DefaultHttpClient client = client()) {
client.toBlocking().exchange(this.requestOptions(request));
}
return 0;
}
private static boolean isLiteral(final String input) {
// use ION mapper to properly handle timestamp
ObjectMapper mapper = JacksonMapper.ofIon();
try {
mapper.readTree(input);
return false;
} catch (JsonProcessingException e) {
return true;
}
}
public static String wrapAsJsonLiteral(final String input) {
return "\"" + input.replace("\"", "\\\"") + "\"";
}
enum Type {
STRING, NUMBER, BOOLEAN, DATETIME, DATE, DURATION, JSON;
}
}

View File

@@ -1,35 +1,37 @@
package io.kestra.cli.commands.plugins;
import io.micronaut.configuration.picocli.PicocliRunner;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import io.kestra.cli.AbstractCommand;
import io.kestra.cli.App;
import picocli.CommandLine;
import io.micronaut.configuration.picocli.PicocliRunner;
import lombok.SneakyThrows;
import picocli.CommandLine.Command;
@CommandLine.Command(
@Command(
name = "plugins",
description = "handle plugins",
description = "Manage plugins",
mixinStandardHelpOptions = true,
subcommands = {
PluginInstallCommand.class,
PluginUninstallCommand.class,
PluginListCommand.class,
PluginDocCommand.class
PluginDocCommand.class,
PluginSearchCommand.class
}
)
@Slf4j
public class PluginCommand extends AbstractCommand {
public PluginCommand() {
super(false);
}
@SneakyThrows
@Override
public Integer call() throws Exception {
super.call();
PicocliRunner.call(App.class, "plugins", "--help");
PicocliRunner.call(App.class, "plugins", "--help");
return 0;
}
@Override
protected boolean loadExternalPlugins() {
return false;
}
}

View File

@@ -1,72 +1,112 @@
package io.kestra.cli.commands.plugins;
import com.google.common.base.Charsets;
import com.google.common.io.Files;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.docs.DocumentationGenerator;
import io.kestra.core.plugins.PluginScanner;
import io.kestra.core.plugins.PluginRegistry;
import io.kestra.core.plugins.RegisteredPlugin;
import io.kestra.core.serializers.JacksonMapper;
import io.micronaut.context.ApplicationContext;
import jakarta.inject.Inject;
import picocli.CommandLine;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Base64;
import java.util.List;
@CommandLine.Command(
name = "doc",
description = "write documentation for all plugins currently installed"
description = "Generate documentation for all plugins currently installed"
)
public class PluginDocCommand extends AbstractCommand {
@CommandLine.Parameters(index = "0", description = "Path to write documentations files")
private Path output = Paths.get(System.getProperty("user.dir"), "docs");
@Inject
private ApplicationContext applicationContext;
public PluginDocCommand() {
super(false);
}
@CommandLine.Parameters(index = "0", description = "Path to write documentation files")
private Path output = Paths.get(System.getProperty("user.dir"), "docs");
@CommandLine.Option(names = {"--core"}, description = "Also write core tasks docs files")
private boolean core = false;
@CommandLine.Option(names = {"--icons"}, description = "Also write icon for each task")
private boolean icons = false;
@CommandLine.Option(names = {"--schema"}, description = "Also write JSON Schema for each task")
private boolean schema = false;
@Override
public Integer call() throws Exception {
super.call();
DocumentationGenerator documentationGenerator = applicationContext.getBean(DocumentationGenerator.class);
PluginScanner pluginScanner = new PluginScanner(PluginDocCommand.class.getClassLoader());
List<RegisteredPlugin> scan = new ArrayList<>(pluginScanner.scan(this.pluginsPath));
PluginRegistry registry = pluginRegistryProvider.get();
List<RegisteredPlugin> plugins = core ? registry.plugins() : registry.externalPlugins();
boolean hasFailures = false;
if (core) {
PluginScanner corePluginScanner = new PluginScanner(PluginDocCommand.class.getClassLoader());
scan.add(corePluginScanner.scan());
for (RegisteredPlugin registeredPlugin : plugins) {
try {
documentationGenerator
.generate(registeredPlugin)
.forEach(s -> {
File file = Paths.get(output.toAbsolutePath().toString(), s.getPath()).toFile();
if (!file.getParentFile().exists()) {
//noinspection ResultOfMethodCallIgnored
file.getParentFile().mkdirs();
}
try {
Files
.asCharSink(
file,
StandardCharsets.UTF_8
).write(s.getBody());
stdOut("Generate doc in: {0}", file);
if (s.getIcon() != null && this.icons) {
File iconFile = new File(
file.getParent(),
file.getName().substring(0, file.getName().lastIndexOf(".")) + ".svg"
);
Files
.asByteSink(iconFile)
.write(Base64.getDecoder().decode(s.getIcon().getBytes(StandardCharsets.UTF_8)));
stdOut("Generate icon in: {0}", iconFile);
}
if (this.schema && s.getSchema() != null) {
File jsonSchemaFile = new File(
file.getParent(),
file.getName().substring(0, file.getName().lastIndexOf(".")) + ".json"
);
Files
.asByteSink(jsonSchemaFile)
.write(JacksonMapper.ofJson().writeValueAsBytes(s.getSchema()));
stdOut("Generate json schema in: {0}", jsonSchemaFile);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
);
} catch (Error e) {
stdErr("Failure to generate documentation for plugin {0}: {1}", registeredPlugin.name(), e);
hasFailures = true;
}
}
for (RegisteredPlugin registeredPlugin : scan) {
DocumentationGenerator
.generate(registeredPlugin)
.forEach(s -> {
File file = Paths.get(output.toAbsolutePath().toString(), s.getPath()).toFile();
return hasFailures ? 1 : 0;
}
if (!file.getParentFile().exists()) {
//noinspection ResultOfMethodCallIgnored
file.getParentFile().mkdirs();
}
try {
com.google.common.io.Files
.asCharSink(
file,
Charsets.UTF_8
).write(s.getBody());
stdOut("Generate doc in: {0}", file);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
);
}
return 0;
/** {@inheritDoc} **/
@Override
protected boolean isPluginManagerEnabled() {
return false;
}
}

View File

@@ -1,77 +1,127 @@
package io.kestra.cli.commands.plugins;
import org.apache.commons.io.FilenameUtils;
import io.kestra.core.contexts.MavenPluginRepositoryConfig;
import io.kestra.core.plugins.LocalPluginManager;
import io.kestra.core.plugins.MavenPluginDownloader;
import io.kestra.core.plugins.PluginArtifact;
import io.kestra.core.plugins.PluginCatalogService;
import io.kestra.core.plugins.PluginManager;
import io.micronaut.http.client.HttpClient;
import io.micronaut.http.client.annotation.Client;
import io.micronaut.http.uri.UriBuilder;
import io.kestra.cli.AbstractCommand;
import io.kestra.cli.plugins.PluginDownloader;
import io.kestra.cli.plugins.RepositoryConfig;
import io.kestra.core.utils.IdUtils;
import jakarta.inject.Provider;
import picocli.CommandLine;
import java.net.URI;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.inject.Inject;
import java.util.Objects;
@CommandLine.Command(
import jakarta.inject.Inject;
import picocli.CommandLine.Command;
import picocli.CommandLine.Parameters;
import picocli.CommandLine.Option;
import picocli.CommandLine.Spec;
@Command(
name = "install",
description = "install a plugin"
description = "Install plugins"
)
public class PluginInstallCommand extends AbstractCommand {
@CommandLine.Parameters(index = "0..*", description = "the plugins to install")
@Option(names = {"--locally"}, description = "Specifies if plugins must be installed locally. If set to false the installation depends on your Kestra configuration.")
boolean locally = true;
@Option(names = {"--all"}, description = "Install all available plugins")
boolean all = false;
@Parameters(index = "0..*", description = "Plugins to install. Represented as Maven artifact coordinates (i.e., <groupId>:<artifactId>:(<version>|LATEST)")
List<String> dependencies = new ArrayList<>();
@CommandLine.Option(names = {"--repositories"}, description = "url to additional maven repositories")
@Option(names = {"--repositories"}, description = "URL to additional Maven repositories")
private URI[] repositories;
@CommandLine.Spec
@Spec
CommandLine.Model.CommandSpec spec;
@Inject
PluginDownloader pluginDownloader;
Provider<MavenPluginDownloader> mavenPluginRepositoryProvider;
public PluginInstallCommand() {
super(false);
}
@Inject
@Client("api") HttpClient httpClient;
@Override
public Integer call() throws Exception {
super.call();
if (this.pluginsPath == null) {
if (this.locally && this.pluginsPath == null) {
throw new CommandLine.ParameterException(this.spec.commandLine(), "Missing required options '--plugins' " +
"or environment variable 'KESTRA_PLUGINS_PATH"
);
}
if (!pluginsPath.toFile().exists()) {
if (!pluginsPath.toFile().mkdir()) {
throw new RuntimeException("Cannot create directory: " + pluginsPath.toFile().getAbsolutePath());
}
}
List<MavenPluginRepositoryConfig> repositoryConfigs = List.of();
if (repositories != null) {
Arrays.stream(repositories)
.forEach(s -> pluginDownloader.addRepository(new RepositoryConfig(IdUtils.create(), "default", s.toString())));
repositoryConfigs = Arrays.stream(repositories)
.map(uri -> {
MavenPluginRepositoryConfig.MavenPluginRepositoryConfigBuilder builder = MavenPluginRepositoryConfig
.builder()
.id(IdUtils.create());
String userInfo = uri.getUserInfo();
if (userInfo != null) {
String[] userInfoParts = userInfo.split(":");
builder = builder.basicAuth(new MavenPluginRepositoryConfig.BasicAuth(
userInfoParts[0],
userInfoParts[1]
));
}
builder.url(UriBuilder.of(uri).userInfo(null).build().toString());
return builder.build();
}).toList();
}
List<URL> resolveUrl = pluginDownloader.resolve(dependencies);
stdOut("Resolved Plugin(s) with {0}", resolveUrl);
if (all) {
PluginCatalogService service = new PluginCatalogService(httpClient, false, true);
dependencies = service.get().stream().map(Objects::toString).toList();
}
for (URL url: resolveUrl) {
Files.copy(
Paths.get(url.toURI()),
Paths.get(pluginsPath.toString(), FilenameUtils.getName(url.toString())),
StandardCopyOption.REPLACE_EXISTING
if (dependencies.isEmpty()) {
stdErr("Error: No plugin to install.");
return CommandLine.ExitCode.OK;
}
final List<PluginArtifact> pluginArtifacts;
try {
pluginArtifacts = dependencies.stream().map(PluginArtifact::fromCoordinates).toList();
} catch (IllegalArgumentException e) {
stdErr(e.getMessage());
return CommandLine.ExitCode.USAGE;
}
try (final PluginManager pluginManager = getPluginManager()) {
List<PluginArtifact> installed = pluginManager.install(
pluginArtifacts,
repositoryConfigs,
false,
pluginsPath
);
List<URI> uris = installed.stream().map(PluginArtifact::uri).toList();
stdOut("Successfully installed plugins {0} into {1}", dependencies, uris);
return CommandLine.ExitCode.OK;
}
}
stdOut("Successfully installed plugins {0} into {1}", dependencies, pluginsPath);
private PluginManager getPluginManager() {
return locally ? new LocalPluginManager(mavenPluginRepositoryProvider.get()) : this.pluginManagerProvider.get();
}
return 0;
@Override
protected boolean loadExternalPlugins() {
return false;
}
}

View File

@@ -1,28 +1,31 @@
package io.kestra.cli.commands.plugins;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.contexts.KestraClassLoader;
import io.kestra.core.plugins.PluginScanner;
import io.kestra.core.plugins.PluginRegistry;
import io.kestra.core.plugins.RegisteredPlugin;
import jakarta.inject.Inject;
import jakarta.inject.Provider;
import picocli.CommandLine;
import picocli.CommandLine.Command;
import picocli.CommandLine.Option;
import picocli.CommandLine.Spec;
import java.util.List;
@CommandLine.Command(
@Command(
name = "list",
description = "list all plugins already installed"
description = "List all plugins already installed"
)
public class PluginListCommand extends AbstractCommand {
@CommandLine.Spec
@Spec
CommandLine.Model.CommandSpec spec;
public PluginListCommand() {
super(false);
}
@CommandLine.Option(names = {"--core"}, description = "Also write core tasks plugins")
@Option(names = {"--core"}, description = "Also write core tasks plugins")
private boolean core = false;
@Inject
private PluginRegistry registry;
@Override
public Integer call() throws Exception {
super.call();
@@ -33,15 +36,9 @@ public class PluginListCommand extends AbstractCommand {
);
}
PluginScanner pluginScanner = new PluginScanner(KestraClassLoader.instance());
List<RegisteredPlugin> scan = pluginScanner.scan(this.pluginsPath);
List<RegisteredPlugin> plugins = core ? registry.plugins() : registry.externalPlugins();
if (core) {
PluginScanner corePluginScanner = new PluginScanner(PluginDocCommand.class.getClassLoader());
scan.add(corePluginScanner.scan());
}
scan.forEach(registeredPlugin -> stdOut(registeredPlugin.toString()));
plugins.forEach(registeredPlugin -> stdOut(registeredPlugin.toString()));
return 0;
}

View File

@@ -0,0 +1,149 @@
package io.kestra.cli.commands.plugins;
import io.kestra.cli.AbstractCommand;
import io.micronaut.core.type.Argument;
import io.micronaut.http.HttpRequest;
import io.micronaut.http.client.HttpClient;
import io.micronaut.http.client.annotation.Client;
import jakarta.inject.Inject;
import picocli.CommandLine.Command;
import picocli.CommandLine.Parameters;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.ArrayList;
import java.util.List;
@Command(
name = "search",
description = "Search for available Kestra plugins"
)
public class PluginSearchCommand extends AbstractCommand {
@Inject
@Client("api")
private HttpClient httpClient;
private static final ObjectMapper MAPPER = new ObjectMapper();
private static final char SPACE = ' ';
@Parameters(index = "0", description = "Search term (optional)", defaultValue = "")
private String searchTerm;
@Override
public Integer call() throws Exception {
super.call();
try {
JsonNode root = fetchPlugins();
List<PluginInfo> plugins = findPlugins(root);
printResults(plugins);
return 0;
} catch (Exception e) {
stdOut("Error processing plugins: {0}", e.getMessage());
return 1;
}
}
private JsonNode fetchPlugins() throws Exception {
String response = httpClient.toBlocking()
.retrieve(
HttpRequest.GET("/v1/plugins")
.header("Accept", "application/json")
);
return MAPPER.readTree(response);
}
private List<PluginInfo> findPlugins(JsonNode root) {
String searchTermLower = searchTerm.toLowerCase();
List<PluginInfo> plugins = new ArrayList<>();
for (JsonNode plugin : root) {
if (matchesSearch(plugin, searchTermLower)) {
plugins.add(new PluginInfo(
plugin.path("name").asText(),
plugin.path("title").asText(),
plugin.path("group").asText(),
plugin.path("version").asText("")
));
}
}
plugins.sort((p1, p2) -> p1.name.compareToIgnoreCase(p2.name));
return plugins;
}
private boolean matchesSearch(JsonNode plugin, String term) {
if (term.isEmpty()) {
return true;
}
return plugin.path("name").asText().toLowerCase().contains(term) ||
plugin.path("title").asText().toLowerCase().contains(term) ||
plugin.path("group").asText().toLowerCase().contains(term);
}
private void printResults(List<PluginInfo> plugins) {
if (plugins.isEmpty()) {
stdOut("No plugins found{0}",
searchTerm.isEmpty() ? "" : " matching '" + searchTerm + "'");
return;
}
stdOut("\nFound {0} plugins{1}",
plugins.size(),
searchTerm.isEmpty() ? "" : " matching '" + searchTerm + "'"
);
printPluginsTable(plugins);
}
private void printPluginsTable(List<PluginInfo> plugins) {
int maxName = 4, maxTitle = 5, maxGroup = 5;
for (PluginInfo plugin : plugins) {
maxName = Math.max(maxName, plugin.name.length());
maxTitle = Math.max(maxTitle, plugin.title.length());
maxGroup = Math.max(maxGroup, plugin.group.length());
}
StringBuilder namePad = new StringBuilder(maxName);
StringBuilder titlePad = new StringBuilder(maxTitle);
StringBuilder groupPad = new StringBuilder(maxGroup);
stdOut("");
printRow(namePad, titlePad, groupPad, "NAME", "TITLE", "GROUP", "VERSION",
maxName, maxTitle, maxGroup);
for (PluginInfo plugin : plugins) {
printRow(namePad, titlePad, groupPad, plugin.name, plugin.title, plugin.group, plugin.version,
maxName, maxTitle, maxGroup);
}
stdOut("");
}
private void printRow(StringBuilder namePad, StringBuilder titlePad, StringBuilder groupPad,
String name, String title, String group, String version,
int maxName, int maxTitle, int maxGroup) {
stdOut("{0} {1} {2} {3}",
pad(namePad, name, maxName),
pad(titlePad, title, maxTitle),
pad(groupPad, group, maxGroup),
version
);
}
private String pad(StringBuilder sb, String str, int length) {
sb.setLength(0);
sb.append(str);
while (sb.length() < length) {
sb.append(SPACE);
}
return sb.toString();
}
private record PluginInfo(String name, String title, String group, String version) {}
@Override
protected boolean loadExternalPlugins() {
return false;
}
}

View File

@@ -0,0 +1,69 @@
package io.kestra.cli.commands.plugins;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.plugins.LocalPluginManager;
import io.kestra.core.plugins.MavenPluginDownloader;
import io.kestra.core.plugins.PluginArtifact;
import io.kestra.core.plugins.PluginManager;
import jakarta.inject.Inject;
import jakarta.inject.Provider;
import picocli.CommandLine;
import picocli.CommandLine.Parameters;
import picocli.CommandLine.Spec;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
@CommandLine.Command(
name = "uninstall",
description = "Uninstall plugins"
)
public class PluginUninstallCommand extends AbstractCommand {
@Parameters(index = "0..*", description = "The plugins to uninstall. Represented as Maven artifact coordinates (i.e., <groupId>:<artifactId>:(<version>|LATEST)")
List<String> dependencies = new ArrayList<>();
@Spec
CommandLine.Model.CommandSpec spec;
@Inject
Provider<MavenPluginDownloader> mavenPluginRepositoryProvider;
@Override
public Integer call() throws Exception {
super.call();
List<PluginArtifact> pluginArtifacts;
try {
pluginArtifacts = dependencies.stream().map(PluginArtifact::fromCoordinates).toList();
} catch (IllegalArgumentException e) {
stdErr(e.getMessage());
return CommandLine.ExitCode.USAGE;
}
final PluginManager pluginManager;
// If a PLUGIN_PATH is provided, then use the LocalPluginManager
if (pluginsPath != null) {
pluginManager = new LocalPluginManager(mavenPluginRepositoryProvider.get());
} else {
// Otherwise, we delegate to the configured plugin-manager.
pluginManager = this.pluginManagerProvider.get();
}
List<PluginArtifact> uninstalled = pluginManager.uninstall(
pluginArtifacts,
false,
pluginsPath
);
List<URI> uris = uninstalled.stream().map(PluginArtifact::uri).toList();
stdOut("Successfully uninstalled plugins {0} from {1}", dependencies, uris);
return CommandLine.ExitCode.OK;
}
@Override
protected boolean loadExternalPlugins() {
return false;
}
}

View File

@@ -0,0 +1,21 @@
package io.kestra.cli.commands.servers;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.contexts.KestraContext;
import jakarta.annotation.PostConstruct;
import picocli.CommandLine;
abstract public class AbstractServerCommand extends AbstractCommand implements ServerCommandInterface {
@CommandLine.Option(names = {"--port"}, description = "The port to bind")
Integer serverPort;
@Override
public Integer call() throws Exception {
this.shutdownHook(true, () -> KestraContext.getContext().shutdown());
return super.call();
}
protected static int defaultWorkerThread() {
return Runtime.getRuntime().availableProcessors() * 4;
}
}

View File

@@ -1,29 +1,50 @@
package io.kestra.cli.commands.servers;
import com.google.common.collect.ImmutableMap;
import io.micronaut.context.ApplicationContext;
import lombok.extern.slf4j.Slf4j;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.models.ServerType;
import io.kestra.core.runners.AbstractExecutor;
import io.kestra.core.runners.ExecutorInterface;
import io.kestra.core.services.SkipExecutionService;
import io.kestra.core.services.StartExecutorService;
import io.kestra.core.utils.Await;
import io.micronaut.context.ApplicationContext;
import jakarta.inject.Inject;
import picocli.CommandLine;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
@CommandLine.Command(
name = "executor",
description = "start an executor"
description = "Start the Kestra executor"
)
@Slf4j
public class ExecutorCommand extends AbstractCommand {
public class ExecutorCommand extends AbstractServerCommand {
@Inject
private ApplicationContext applicationContext;
public ExecutorCommand() {
super(true);
}
@Inject
private SkipExecutionService skipExecutionService;
@Inject
private StartExecutorService startExecutorService;
@CommandLine.Option(names = {"--skip-executions"}, split=",", description = "The list of execution identifiers to skip, separated by a coma; for troubleshooting purpose only")
private List<String> skipExecutions = Collections.emptyList();
@CommandLine.Option(names = {"--skip-flows"}, split=",", description = "The list of flow identifiers (tenant|namespace|flowId) to skip, separated by a coma; for troubleshooting purpose only")
private List<String> skipFlows = Collections.emptyList();
@CommandLine.Option(names = {"--skip-namespaces"}, split=",", description = "The list of namespace identifiers (tenant|namespace) to skip, separated by a coma; for troubleshooting purpose only")
private List<String> skipNamespaces = Collections.emptyList();
@CommandLine.Option(names = {"--skip-tenants"}, split=",", description = "The list of tenants to skip, separated by a coma; for troubleshooting purpose only")
private List<String> skipTenants = Collections.emptyList();
@CommandLine.Option(names = {"--start-executors"}, split=",", description = "The list of Kafka Stream executors to start, separated by a command. Use it only with the Kafka queue, for debugging purpose.")
private List<String> startExecutors = Collections.emptyList();
@CommandLine.Option(names = {"--not-start-executors"}, split=",", description = "The list of Kafka Stream executors to not start, separated by a command. Use it only with the Kafka queue, for debugging purpose.")
private List<String> notStartExecutors = Collections.emptyList();
@SuppressWarnings("unused")
public static Map<String, Object> propertiesOverrides() {
@@ -34,14 +55,17 @@ public class ExecutorCommand extends AbstractCommand {
@Override
public Integer call() throws Exception {
this.skipExecutionService.setSkipExecutions(skipExecutions);
this.skipExecutionService.setSkipFlows(skipFlows);
this.skipExecutionService.setSkipNamespaces(skipNamespaces);
this.skipExecutionService.setSkipTenants(skipTenants);
this.startExecutorService.applyOptions(startExecutors, notStartExecutors);
super.call();
AbstractExecutor abstractExecutor = applicationContext.getBean(AbstractExecutor.class);
abstractExecutor.run();
log.info("Executor started");
this.shutdownHook(abstractExecutor::close);
ExecutorInterface executorService = applicationContext.getBean(ExecutorInterface.class);
executorService.run();
Await.until(() -> !this.applicationContext.isRunning());

View File

@@ -1,31 +1,23 @@
package io.kestra.cli.commands.servers;
import com.google.common.collect.ImmutableMap;
import io.micronaut.context.ApplicationContext;
import lombok.extern.slf4j.Slf4j;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.models.ServerType;
import io.kestra.core.runners.Indexer;
import io.kestra.core.runners.IndexerInterface;
import io.kestra.core.utils.Await;
import io.micronaut.context.ApplicationContext;
import jakarta.inject.Inject;
import picocli.CommandLine;
import java.util.Map;
import javax.inject.Inject;
@CommandLine.Command(
name = "indexer",
description = "start an indexer"
description = "Start the Kestra indexer"
)
@Slf4j
public class IndexerCommand extends AbstractCommand {
public class IndexerCommand extends AbstractServerCommand {
@Inject
private ApplicationContext applicationContext;
public IndexerCommand() {
super(true);
}
@SuppressWarnings("unused")
public static Map<String, Object> propertiesOverrides() {
return ImmutableMap.of(
@@ -40,10 +32,6 @@ public class IndexerCommand extends AbstractCommand {
IndexerInterface indexer = applicationContext.getBean(IndexerInterface.class);
indexer.run();
log.info("Indexer started");
this.shutdownHook(indexer::close);
Await.until(() -> !this.applicationContext.isRunning());
return 0;

View File

@@ -0,0 +1,43 @@
package io.kestra.cli.commands.servers;
import com.google.common.collect.ImmutableMap;
import io.kestra.core.models.ServerType;
import io.micronaut.context.ApplicationContext;
import jakarta.inject.Inject;
import picocli.CommandLine;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Map;
@CommandLine.Command(
name = "local",
description = "Start the local development server"
)
public class LocalCommand extends StandAloneCommand {
// @FIXME: Keep it for bug in micronaut that need to have inject on top level command to inject on abstract classe
@Inject
private ApplicationContext applicationContext;
@SuppressWarnings("unused")
public static Map<String, Object> propertiesOverrides() {
Path data = Paths.get("").toAbsolutePath().resolve("data");
//noinspection ResultOfMethodCallIgnored
data.toFile().mkdirs();
return ImmutableMap.of(
"kestra.server-type", ServerType.STANDALONE,
"kestra.repository.type", "h2",
"kestra.queue.type", "h2",
"kestra.storage.type", "local",
"kestra.storage.local.base-path", data.toString(),
"datasources.h2.url", "jdbc:h2:file:" + data.resolve("database") + ";TIME ZONE=UTC;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=30000",
"datasources.h2.username", "sa",
"datasources.h2.password", "",
"datasources.h2.driverClassName", "org.h2.Driver",
"endpoints.all.port", "${random.port}"
);
}
}

View File

@@ -1,30 +1,25 @@
package io.kestra.cli.commands.servers;
import com.google.common.collect.ImmutableMap;
import io.micronaut.context.ApplicationContext;
import lombok.extern.slf4j.Slf4j;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.models.ServerType;
import io.kestra.core.schedulers.AbstractScheduler;
import io.kestra.core.utils.Await;
import io.micronaut.context.ApplicationContext;
import jakarta.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
import java.util.Map;
import javax.inject.Inject;
@CommandLine.Command(
name = "scheduler",
description = "start an scheduler"
description = "Start the Kestra scheduler"
)
@Slf4j
public class SchedulerCommand extends AbstractCommand {
public class SchedulerCommand extends AbstractServerCommand {
@Inject
private ApplicationContext applicationContext;
public SchedulerCommand() {
super(true);
}
@SuppressWarnings("unused")
public static Map<String, Object> propertiesOverrides() {
return ImmutableMap.of(
@@ -39,10 +34,6 @@ public class SchedulerCommand extends AbstractCommand {
AbstractScheduler scheduler = applicationContext.getBean(AbstractScheduler.class);
scheduler.run();
log.info("Scheduler started");
this.shutdownHook(scheduler::close);
Await.until(() -> !this.applicationContext.isRunning());
return 0;

View File

@@ -9,7 +9,7 @@ import picocli.CommandLine;
@CommandLine.Command(
name = "server",
description = "handle servers",
description = "Manage servers",
mixinStandardHelpOptions = true,
subcommands = {
ExecutorCommand.class,
@@ -18,14 +18,11 @@ import picocli.CommandLine;
StandAloneCommand.class,
WebServerCommand.class,
WorkerCommand.class,
LocalCommand.class,
}
)
@Slf4j
public class ServerCommand extends AbstractCommand {
public ServerCommand() {
super(false);
}
@SneakyThrows
@Override
public Integer call() throws Exception {

View File

@@ -0,0 +1,4 @@
package io.kestra.cli.commands.servers;
public interface ServerCommandInterface {
}

View File

@@ -1,40 +1,79 @@
package io.kestra.cli.commands.servers;
import com.google.common.collect.ImmutableMap;
import io.micronaut.context.ApplicationContext;
import lombok.extern.slf4j.Slf4j;
import io.kestra.cli.AbstractCommand;
import io.kestra.cli.services.FileChangedEventListener;
import io.kestra.core.contexts.KestraContext;
import io.kestra.core.models.ServerType;
import io.kestra.core.repositories.LocalFlowRepositoryLoader;
import io.kestra.core.runners.AbstractExecutor;
import io.kestra.core.runners.StandAloneRunner;
import io.kestra.core.services.SkipExecutionService;
import io.kestra.core.services.StartExecutorService;
import io.kestra.core.utils.Await;
import io.kestra.runner.kafka.KafkaExecutor;
import io.micronaut.context.ApplicationContext;
import jakarta.annotation.Nullable;
import jakarta.inject.Inject;
import picocli.CommandLine;
import java.io.File;
import java.io.IOException;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.inject.Inject;
@CommandLine.Command(
name = "standalone",
description = "start a standalone server"
description = "Start the standalone all-in-one server"
)
@Slf4j
public class StandAloneCommand extends AbstractCommand {
public class StandAloneCommand extends AbstractServerCommand {
@CommandLine.Spec
CommandLine.Model.CommandSpec spec;
@Inject
private ApplicationContext applicationContext;
@Inject
private SkipExecutionService skipExecutionService;
@Inject
private StartExecutorService startExecutorService;
@Inject
@Nullable
private FileChangedEventListener fileWatcher;
@CommandLine.Option(names = {"-f", "--flow-path"}, description = "the flow path containing flow to inject at startup (when running with a memory flow repository)")
private File flowPath;
public StandAloneCommand() {
super(true);
@CommandLine.Option(names = {"--worker-thread"}, description = "the number of worker threads, defaults to four times the number of available processors. Set it to 0 to avoid starting a worker.")
private int workerThread = defaultWorkerThread();
@CommandLine.Option(names = {"--skip-executions"}, split=",", description = "a list of execution identifiers to skip, separated by a coma; for troubleshooting purpose only")
private List<String> skipExecutions = Collections.emptyList();
@CommandLine.Option(names = {"--skip-flows"}, split=",", description = "a list of flow identifiers (namespace.flowId) to skip, separated by a coma; for troubleshooting purpose only")
private List<String> skipFlows = Collections.emptyList();
@CommandLine.Option(names = {"--skip-namespaces"}, split=",", description = "a list of namespace identifiers (tenant|namespace) to skip, separated by a coma; for troubleshooting purpose only")
private List<String> skipNamespaces = Collections.emptyList();
@CommandLine.Option(names = {"--skip-tenants"}, split=",", description = "a list of tenants to skip, separated by a coma; for troubleshooting purpose only")
private List<String> skipTenants = Collections.emptyList();
@CommandLine.Option(names = {"--no-tutorials"}, description = "Flag to disable auto-loading of tutorial flows.")
boolean tutorialsDisabled = false;
@CommandLine.Option(names = {"--start-executors"}, split=",", description = "a list of Kafka Stream executors to start, separated by a command. Use it only with the Kafka queue, for debugging purpose.")
private List<String> startExecutors = Collections.emptyList();
@CommandLine.Option(names = {"--not-start-executors"}, split=",", description = "a list of Kafka Stream executors to not start, separated by a command. Use it only with the Kafka queue, for debugging purpose.")
private List<String> notStartExecutors = Collections.emptyList();
@CommandLine.Option(names = {"--no-indexer"}, description = "Flag to disable starting an embedded indexer.")
boolean indexerDisabled = false;
@Override
public boolean isFlowAutoLoadEnabled() {
return !tutorialsDisabled;
}
@SuppressWarnings("unused")
@@ -46,6 +85,14 @@ public class StandAloneCommand extends AbstractCommand {
@Override
public Integer call() throws Exception {
this.skipExecutionService.setSkipExecutions(skipExecutions);
this.skipExecutionService.setSkipFlows(skipFlows);
this.skipExecutionService.setSkipNamespaces(skipNamespaces);
this.skipExecutionService.setSkipTenants(skipTenants);
this.startExecutorService.applyOptions(startExecutors, notStartExecutors);
KestraContext.getContext().injectWorkerConfigs(workerThread, null);
super.call();
if (flowPath != null) {
@@ -58,9 +105,22 @@ public class StandAloneCommand extends AbstractCommand {
}
StandAloneRunner standAloneRunner = applicationContext.getBean(StandAloneRunner.class);
if (this.workerThread == 0) {
standAloneRunner.setWorkerEnabled(false);
} else {
standAloneRunner.setWorkerThread(this.workerThread);
}
if (this.indexerDisabled) {
standAloneRunner.setIndexerEnabled(false);
}
standAloneRunner.run();
this.shutdownHook(standAloneRunner::close);
if (fileWatcher != null) {
fileWatcher.startListeningFromConfig();
}
Await.until(() -> !this.applicationContext.isRunning());

View File

@@ -1,27 +1,42 @@
package io.kestra.cli.commands.servers;
import com.google.common.collect.ImmutableMap;
import io.micronaut.context.ApplicationContext;
import lombok.extern.slf4j.Slf4j;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.models.ServerType;
import io.kestra.core.runners.IndexerInterface;
import io.kestra.core.utils.Await;
import io.kestra.core.utils.ExecutorsUtils;
import io.micronaut.context.ApplicationContext;
import jakarta.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
import picocli.CommandLine.Option;
import java.util.Map;
import javax.inject.Inject;
import java.util.concurrent.ExecutorService;
@CommandLine.Command(
name = "webserver",
description = "start the webserver"
description = "Start the Kestra webserver"
)
@Slf4j
public class WebServerCommand extends AbstractCommand {
public class WebServerCommand extends AbstractServerCommand {
private ExecutorService poolExecutor;
@Inject
private ApplicationContext applicationContext;
public WebServerCommand() {
super(true);
@Inject
private ExecutorsUtils executorsUtils;
@Option(names = {"--no-tutorials"}, description = "Flag to disable auto-loading of tutorial flows.")
boolean tutorialsDisabled = false;
@Option(names = {"--no-indexer"}, description = "Flag to disable starting an embedded indexer.")
boolean indexerDisabled = false;
@Override
public boolean isFlowAutoLoadEnabled() {
return !tutorialsDisabled;
}
@SuppressWarnings("unused")
@@ -35,14 +50,16 @@ public class WebServerCommand extends AbstractCommand {
public Integer call() throws Exception {
super.call();
// start the indexer
if (!indexerDisabled) {
log.info("Starting an embedded indexer, this can be disabled by using `--no-indexer`.");
poolExecutor = executorsUtils.cachedThreadPool("webserver-indexer");
poolExecutor.execute(applicationContext.getBean(IndexerInterface.class));
shutdownHook(false, () -> poolExecutor.shutdown());
}
log.info("Webserver started");
this.shutdownHook(() -> {
this.applicationContext.close();
});
Await.until(() -> !this.applicationContext.isRunning());
return 0;
}
}

View File

@@ -1,32 +1,32 @@
package io.kestra.cli.commands.servers;
import com.google.common.collect.ImmutableMap;
import io.micronaut.context.ApplicationContext;
import lombok.extern.slf4j.Slf4j;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.contexts.KestraContext;
import io.kestra.core.models.ServerType;
import io.kestra.core.runners.Worker;
import io.kestra.core.utils.Await;
import io.micronaut.context.ApplicationContext;
import jakarta.inject.Inject;
import picocli.CommandLine;
import picocli.CommandLine.Option;
import java.util.Map;
import javax.inject.Inject;
import java.util.UUID;
@CommandLine.Command(
name = "worker",
description = "start a worker"
description = "Start the Kestra worker"
)
@Slf4j
public class WorkerCommand extends AbstractCommand {
public class WorkerCommand extends AbstractServerCommand {
@Inject
private ApplicationContext applicationContext;
@CommandLine.Option(names = {"-t", "--thread"}, description = "the number of concurrent threads to launch")
private int thread = Runtime.getRuntime().availableProcessors();
@Option(names = {"-t", "--thread"}, description = "The max number of worker threads, defaults to four times the number of available processors")
private int thread = defaultWorkerThread();
public WorkerCommand() {
super(true);
}
@Option(names = {"-g", "--worker-group"}, description = "The worker group key, must match the regex [a-zA-Z0-9_-]+ (EE only)")
private String workerGroupKey = null;
@SuppressWarnings("unused")
public static Map<String, Object> propertiesOverrides() {
@@ -37,19 +37,28 @@ public class WorkerCommand extends AbstractCommand {
@Override
public Integer call() throws Exception {
KestraContext.getContext().injectWorkerConfigs(thread, workerGroupKey);
super.call();
Worker worker = new Worker(applicationContext, this.thread);
if (this.workerGroupKey != null && !this.workerGroupKey.matches("[a-zA-Z0-9_-]+")) {
throw new IllegalArgumentException("The --worker-group option must match the [a-zA-Z0-9_-]+ pattern");
}
// FIXME: For backward-compatibility with Kestra 0.15.x and earliest we still used UUID for Worker ID instead of IdUtils
String workerID = UUID.randomUUID().toString();
Worker worker = applicationContext.createBean(Worker.class, workerID, this.thread, this.workerGroupKey);
applicationContext.registerSingleton(worker);
worker.run();
log.info("Workers started with {} thread(s)", this.thread);
this.shutdownHook(worker::close);
Await.until(() -> !this.applicationContext.isRunning());
return 0;
}
public String workerGroupKey() {
return workerGroupKey;
}
}

View File

@@ -1,52 +0,0 @@
package io.kestra.cli.commands.sys;
import io.micronaut.context.ApplicationContext;
import lombok.extern.slf4j.Slf4j;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.services.FlowListenersInterface;
import io.kestra.core.utils.Await;
import picocli.CommandLine;
import java.time.Duration;
import java.time.ZonedDateTime;
import java.util.concurrent.atomic.AtomicReference;
import javax.inject.Inject;
@CommandLine.Command(
name = "restore-flow-listeners",
description = {"restore state-store for FlowListeners",
"Mostly usefull in case of restore of flow queue, the state store need to be init to avoid sending old revisions."
}
)
@Slf4j
public class FlowListenersRestoreCommand extends AbstractCommand {
@Inject
private ApplicationContext applicationContext;
@CommandLine.Option(names = {"--timeout"}, description = "Timeout before quit, considering we complete the restore")
private Duration timeout = Duration.ofSeconds(15);
public FlowListenersRestoreCommand() {
super(false);
}
@Override
public Integer call() throws Exception {
super.call();
FlowListenersInterface flowListeners = applicationContext.getBean(FlowListenersInterface.class);
AtomicReference<ZonedDateTime> lastTime = new AtomicReference<>(ZonedDateTime.now());
flowListeners.listen(flows -> {
stdOut("Received {0} flows", flows.size());
lastTime.set(ZonedDateTime.now());
});
// we can't know when it's over to wait no more flow received
Await.until(() -> lastTime.get().compareTo(ZonedDateTime.now().minus(this.timeout)) < 0);
return 0;
}
}

View File

@@ -0,0 +1,49 @@
package io.kestra.cli.commands.sys;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.models.flows.Flow;
import io.kestra.core.models.flows.GenericFlow;
import io.kestra.core.repositories.FlowRepositoryInterface;
import io.micronaut.context.ApplicationContext;
import jakarta.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
import java.util.List;
import java.util.Objects;
@CommandLine.Command(
name = "reindex",
description = "Reindex all records of a type: read them from the database then update them",
mixinStandardHelpOptions = true
)
@Slf4j
public class ReindexCommand extends AbstractCommand {
@Inject
private ApplicationContext applicationContext;
@CommandLine.Option(names = {"-t", "--type"}, description = "The type of the records to reindex, only 'flow' is supported for now.")
private String type;
@Override
public Integer call() throws Exception {
super.call();
if ("flow".equals(type)) {
FlowRepositoryInterface flowRepository = applicationContext.getBean(FlowRepositoryInterface.class);
List<Flow> allFlow = flowRepository.findAllForAllTenants();
allFlow.stream()
.map(flow -> flowRepository.findByIdWithSource(flow.getTenantId(), flow.getNamespace(), flow.getId()).orElse(null))
.filter(Objects::nonNull)
.forEach(flow -> flowRepository.update(GenericFlow.of(flow), flow));
stdOut("Successfully reindex " + allFlow.size() + " flow(s).");
}
else {
throw new IllegalArgumentException("Reindexing type '" + type + "' is not supported");
}
return 0;
}
}

View File

@@ -1,109 +0,0 @@
package io.kestra.cli.commands.sys;
import io.micronaut.context.ApplicationContext;
import io.micronaut.inject.qualifiers.Qualifiers;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.models.flows.Flow;
import io.kestra.core.models.templates.Template;
import io.kestra.core.models.triggers.Trigger;
import io.kestra.core.queues.QueueFactoryInterface;
import io.kestra.core.queues.QueueInterface;
import io.kestra.core.repositories.FlowRepositoryInterface;
import io.kestra.core.repositories.TemplateRepositoryInterface;
import io.kestra.core.repositories.TriggerRepositoryInterface;
import io.kestra.runner.kafka.services.KafkaAdminService;
import picocli.CommandLine;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import javax.inject.Inject;
@CommandLine.Command(
name = "restore-queue",
description = {"send all data from a repository to kafka.",
"Mostly usefull to send all flows, templates & triggers from repository to kafka in case of restore."
}
)
@Slf4j
public class RestoreQueueCommand extends AbstractCommand {
@Inject
private ApplicationContext applicationContext;
@CommandLine.Option(names = {"--no-recreate"}, description = "Don't drop the topic and recreate it")
private boolean noRecreate = false;
@CommandLine.Option(names = {"--no-flows"}, description = "Don't send flow")
private boolean noFlows = false;
@CommandLine.Option(names = {"--no-templates"}, description = "Don't send flow")
private boolean noTemplates = false;
@CommandLine.Option(names = {"--no-triggers"}, description = "Don't send flow")
private boolean noTriggers = false;
public RestoreQueueCommand() {
super(false);
}
@Override
public Integer call() throws Exception {
super.call();
// flows
if (!noFlows) {
FlowRepositoryInterface flowRepository = applicationContext.getBean(FlowRepositoryInterface.class);
List<Flow> flows = flowRepository
.findAll()
.stream()
.flatMap(flow -> flowRepository.findRevisions(flow.getNamespace(), flow.getId()).stream())
.collect(Collectors.toList());
this.send(flows, QueueFactoryInterface.FLOW_NAMED, Flow.class);
}
// templates
if (!this.noTemplates) {
TemplateRepositoryInterface templateRepository = applicationContext.getBean(TemplateRepositoryInterface.class);
List<Template> templates = new ArrayList<>(templateRepository.findAll());
this.send(templates, QueueFactoryInterface.TEMPLATE_NAMED, Template.class);
}
// trigger
if (!this.noTriggers) {
TriggerRepositoryInterface triggerRepository = applicationContext.getBean(TriggerRepositoryInterface.class);
List<Trigger> triggers = new ArrayList<>(triggerRepository.findAll());
this.send(triggers, QueueFactoryInterface.TRIGGER_NAMED, Trigger.class);
}
return 0;
}
@SneakyThrows
@SuppressWarnings("unchecked")
private <T> void send(List<T> list, String queueName, Class<?> cls) {
Optional<String> queueType = applicationContext.getProperty("kestra.queue.type", String.class);
if (queueType.isPresent() && queueType.get().equals("kafka")) {
KafkaAdminService kafkaAdminService = applicationContext.getBean(KafkaAdminService.class);
if (!noRecreate) {
kafkaAdminService.delete(cls);
}
// need some wait to be sure the topic are deleted before recreated with right configuration
Thread.sleep(2000);
kafkaAdminService.createIfNotExist(cls);
}
QueueInterface<T> queue = (QueueInterface<T>) applicationContext.getBean(
QueueInterface.class,
Qualifiers.byName(queueName)
);
list.forEach(queue::emit);
stdOut("Successfully send {0} flows to {1}", list.size(), queueName);
}
}

View File

@@ -0,0 +1,66 @@
package io.kestra.cli.commands.sys;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.models.executions.Execution;
import io.kestra.core.models.flows.State;
import io.kestra.core.queues.QueueFactoryInterface;
import io.kestra.core.queues.QueueInterface;
import io.kestra.core.runners.ExecutionQueued;
import io.kestra.jdbc.runner.AbstractJdbcExecutionQueuedStorage;
import io.micronaut.context.ApplicationContext;
import jakarta.inject.Inject;
import jakarta.inject.Named;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
import java.util.Optional;
import static io.kestra.core.utils.Rethrow.throwConsumer;
@CommandLine.Command(
name = "submit-queued-execution",
description = {"Submit all queued execution to the executor",
"All queued execution will be submitted to the executor. Warning, if there is still running executions and concurrency limit configured, the executions may be queued again."
}
)
@Slf4j
public class SubmitQueuedCommand extends AbstractCommand {
@Inject
private ApplicationContext applicationContext;
@Inject
@Named(QueueFactoryInterface.EXECUTION_NAMED)
private QueueInterface<Execution> executionQueue;
@Override
public Integer call() throws Exception {
super.call();
Optional<String> queueType = applicationContext.getProperty("kestra.queue.type", String.class);
if (queueType.isEmpty()) {
stdOut("Unable to submit queued executions, the 'kestra.queue.type' configuration is not set");
return 0;
}
int cpt = 0;
if (queueType.get().equals("kafka")) {
stdOut("Unable to submit queued executions, the 'kestra.queue.type' configuration is set to 'kafka', use the corresponding sys-ee command");
return 1;
}
else if (queueType.get().equals("postgres") || queueType.get().equals("mysql") || queueType.get().equals("h2")) {
var executionQueuedStorage = applicationContext.getBean(AbstractJdbcExecutionQueuedStorage.class);
for (ExecutionQueued queued : executionQueuedStorage.getAllForAllTenants()) {
executionQueuedStorage.pop(queued.getTenantId(), queued.getNamespace(), queued.getFlowId(), throwConsumer(execution -> executionQueue.emit(execution.withState(State.Type.CREATED))));
cpt++;
}
}
else {
stdOut("Unable to submit queued executions, the 'kestra.queue.type' is set to an unknown type '{0}'", queueType.get());
return 1;
}
stdOut("Successfully submitted {0} queued executions", cpt);
return 0;
}
}

View File

@@ -1,5 +1,7 @@
package io.kestra.cli.commands.sys;
import io.kestra.cli.commands.sys.database.DatabaseCommand;
import io.kestra.cli.commands.sys.statestore.StateStoreCommand;
import io.micronaut.configuration.picocli.PicocliRunner;
import lombok.extern.slf4j.Slf4j;
import io.kestra.cli.AbstractCommand;
@@ -8,19 +10,17 @@ import picocli.CommandLine;
@CommandLine.Command(
name = "sys",
description = "handle systems maintenance",
description = "Manage system maintenance mode",
mixinStandardHelpOptions = true,
subcommands = {
RestoreQueueCommand.class,
FlowListenersRestoreCommand.class
ReindexCommand.class,
DatabaseCommand.class,
SubmitQueuedCommand.class,
StateStoreCommand.class
}
)
@Slf4j
public class SysCommand extends AbstractCommand {
public SysCommand() {
super(false);
}
@Override
public Integer call() throws Exception {
super.call();

View File

@@ -0,0 +1,27 @@
package io.kestra.cli.commands.sys.database;
import io.kestra.cli.AbstractCommand;
import io.kestra.cli.App;
import io.micronaut.configuration.picocli.PicocliRunner;
import lombok.SneakyThrows;
import picocli.CommandLine;
@CommandLine.Command(
name = "database",
description = "Manage Kestra database",
mixinStandardHelpOptions = true,
subcommands = {
DatabaseMigrateCommand.class,
}
)
public class DatabaseCommand extends AbstractCommand {
@SneakyThrows
@Override
public Integer call() throws Exception {
super.call();
PicocliRunner.call(App.class, "sys", "database", "--help");
return 0;
}
}

View File

@@ -0,0 +1,32 @@
package io.kestra.cli.commands.sys.database;
import io.kestra.cli.AbstractCommand;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
import java.util.Map;
@CommandLine.Command(
name = "migrate",
description = "Force database schema migration.\nKestra uses Flyway to manage database schema evolution, this command will run Flyway then exit.",
mixinStandardHelpOptions = true
)
@Slf4j
public class DatabaseMigrateCommand extends AbstractCommand {
@Override
public Integer call() throws Exception {
// Flyway will run automatically
super.call();
stdOut("Successfully run the database schema migration.");
return 0;
}
public static Map<String, Object> propertiesOverrides() {
// Forcing the props to enabled Flyway: it allows to disable Flyway globally and still using this command.
return Map.of(
"flyway.datasources.postgres.enabled", "true",
"flyway.datasources.mysql.enabled", "true",
"flyway.datasources.h2.enabled", "true"
);
}
}

View File

@@ -0,0 +1,27 @@
package io.kestra.cli.commands.sys.statestore;
import io.kestra.cli.AbstractCommand;
import io.kestra.cli.App;
import io.micronaut.configuration.picocli.PicocliRunner;
import lombok.SneakyThrows;
import picocli.CommandLine;
@CommandLine.Command(
name = "state-store",
description = "Manage Kestra State Store",
mixinStandardHelpOptions = true,
subcommands = {
StateStoreMigrateCommand.class,
}
)
public class StateStoreCommand extends AbstractCommand {
@SneakyThrows
@Override
public Integer call() throws Exception {
super.call();
PicocliRunner.call(App.class, "sys", "state-store", "--help");
return 0;
}
}

View File

@@ -0,0 +1,81 @@
package io.kestra.cli.commands.sys.statestore;
import io.kestra.cli.AbstractCommand;
import io.kestra.core.models.flows.Flow;
import io.kestra.core.repositories.FlowRepositoryInterface;
import io.kestra.core.runners.RunContext;
import io.kestra.core.runners.RunContextFactory;
import io.kestra.core.storages.StateStore;
import io.kestra.core.storages.StorageInterface;
import io.kestra.core.utils.Slugify;
import io.micronaut.context.ApplicationContext;
import jakarta.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
@CommandLine.Command(
name = "migrate",
description = "Migrate old state store files to use the new KV Store implementation.",
mixinStandardHelpOptions = true
)
@Slf4j
public class StateStoreMigrateCommand extends AbstractCommand {
@Inject
private ApplicationContext applicationContext;
@Override
public Integer call() throws Exception {
super.call();
FlowRepositoryInterface flowRepository = this.applicationContext.getBean(FlowRepositoryInterface.class);
StorageInterface storageInterface = this.applicationContext.getBean(StorageInterface.class);
RunContextFactory runContextFactory = this.applicationContext.getBean(RunContextFactory.class);
flowRepository.findAllForAllTenants().stream().map(flow -> Map.entry(flow, List.of(
URI.create("/" + flow.getNamespace().replace(".", "/") + "/" + Slugify.of(flow.getId()) + "/states"),
URI.create("/" + flow.getNamespace().replace(".", "/") + "/states")
))).map(potentialStateStoreUrisForAFlow -> Map.entry(potentialStateStoreUrisForAFlow.getKey(), potentialStateStoreUrisForAFlow.getValue().stream().flatMap(uri -> {
try {
return storageInterface.allByPrefix(potentialStateStoreUrisForAFlow.getKey().getTenantId(), potentialStateStoreUrisForAFlow.getKey().getNamespace(), uri, false).stream();
} catch (IOException e) {
return Stream.empty();
}
}).toList())).forEach(stateStoreFileUrisForAFlow -> stateStoreFileUrisForAFlow.getValue().forEach(stateStoreFileUri -> {
Flow flow = stateStoreFileUrisForAFlow.getKey();
String[] flowQualifierWithStateQualifiers = stateStoreFileUri.getPath().split("/states/");
String[] statesUriPart = flowQualifierWithStateQualifiers[1].split("/");
String stateName = statesUriPart[0];
String taskRunValue = statesUriPart.length > 2 ? statesUriPart[1] : null;
String stateSubName = statesUriPart[statesUriPart.length - 1];
boolean flowScoped = flowQualifierWithStateQualifiers[0].endsWith("/" + flow.getId());
StateStore stateStore = new StateStore(runContext(runContextFactory, flow), false);
try (InputStream is = storageInterface.get(flow.getTenantId(), flow.getNamespace(), stateStoreFileUri)) {
stateStore.putState(flowScoped, stateName, stateSubName, taskRunValue, is.readAllBytes());
storageInterface.delete(flow.getTenantId(), flow.getNamespace(), stateStoreFileUri);
} catch (IOException e) {
throw new RuntimeException(e);
}
}));
stdOut("Successfully ran the state-store migration.");
return 0;
}
private RunContext runContext(RunContextFactory runContextFactory, Flow flow) {
Map<String, String> flowVariables = new HashMap<>();
flowVariables.put("tenantId", flow.getTenantId());
flowVariables.put("id", flow.getId());
flowVariables.put("namespace", flow.getNamespace());
return runContextFactory.of(flow, Map.of("flow", flowVariables));
}
}

View File

@@ -0,0 +1,34 @@
package io.kestra.cli.commands.templates;
import io.kestra.cli.AbstractCommand;
import io.kestra.cli.App;
import io.kestra.cli.commands.templates.namespaces.TemplateNamespaceCommand;
import io.kestra.core.models.templates.TemplateEnabled;
import io.micronaut.configuration.picocli.PicocliRunner;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
@CommandLine.Command(
name = "template",
description = "Manage templates",
mixinStandardHelpOptions = true,
subcommands = {
TemplateNamespaceCommand.class,
TemplateValidateCommand.class,
TemplateExportCommand.class,
}
)
@Slf4j
@TemplateEnabled
public class TemplateCommand extends AbstractCommand {
@SneakyThrows
@Override
public Integer call() throws Exception {
super.call();
PicocliRunner.call(App.class, "template", "--help");
return 0;
}
}

View File

@@ -0,0 +1,62 @@
package io.kestra.cli.commands.templates;
import io.kestra.cli.AbstractApiCommand;
import io.kestra.cli.AbstractValidateCommand;
import io.kestra.core.models.templates.TemplateEnabled;
import io.micronaut.context.ApplicationContext;
import io.micronaut.http.HttpRequest;
import io.micronaut.http.HttpResponse;
import io.micronaut.http.MediaType;
import io.micronaut.http.MutableHttpRequest;
import io.micronaut.http.client.exceptions.HttpClientResponseException;
import io.micronaut.http.client.netty.DefaultHttpClient;
import jakarta.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import picocli.CommandLine;
import java.nio.file.Files;
import java.nio.file.Path;
@CommandLine.Command(
name = "export",
description = "Export templates to a ZIP file",
mixinStandardHelpOptions = true
)
@Slf4j
@TemplateEnabled
public class TemplateExportCommand extends AbstractApiCommand {
private static final String DEFAULT_FILE_NAME = "templates.zip";
// @FIXME: Keep it for bug in micronaut that need to have inject on top level command to inject on abstract classe
@Inject
private ApplicationContext applicationContext;
@CommandLine.Option(names = {"--namespace"}, description = "The namespace of templates to export")
public String namespace;
@CommandLine.Parameters(index = "0", description = "The directory to export the file to")
public Path directory;
@Override
public Integer call() throws Exception {
super.call();
try(DefaultHttpClient client = client()) {
MutableHttpRequest<Object> request = HttpRequest
.GET(apiUri("/templates/export/by-query") + (namespace != null ? "?namespace=" + namespace : ""))
.accept(MediaType.APPLICATION_OCTET_STREAM);
HttpResponse<byte[]> response = client.toBlocking().exchange(this.requestOptions(request), byte[].class);
Path zipFile = Path.of(directory.toString(), DEFAULT_FILE_NAME);
zipFile.toFile().createNewFile();
Files.write(zipFile, response.body());
stdOut("Exporting template(s) for namespace '" + namespace + "' successfully done !");
} catch (HttpClientResponseException e) {
AbstractValidateCommand.handleHttpException(e, "template");
return 1;
}
return 0;
}
}

Some files were not shown because too many files have changed in this diff Show More