Infinitely scalable, event-driven, language-agnostic orchestration and scheduling platform to manage millions of workflows declaratively in code.
APACHE-2.0 License
Bot releases are visible (Hide)
vite
plugin to handle filename injection for testing purposes (#4205) #4205 (Miloš Paunović)pdf
files (#4157) #4157 (yuri)cURL
command to the execute dialog (#4308) #4308 (yuri)index.html
file using vite
plugin system (#4334) #4334 (Miloš Paunović)json
type inputs when prefilling executions (#4333) #4333 (Miloš Paunović)id
attribute to dependencies tab (#4411) #4411 (Miloš Paunović)data-test-id
property to execute button on dialog (#4189) #4189 (Miloš Paunović)data-test-id
property to executions (#4203) #4203 (Miloš Paunović)vue-flow
related dependencies (#4335) #4335 (Miloš Paunović)Most of our users leverage a Kestra version with all plugins included. We've changed our Docker image tags to ensure that the default Docker image includes all plugins. To use a lightweight version of Kestra without plugins, you will now have to explicitly use the suffix *-no-plugins
.
Before upgrading to Kestra 0.18.0, make sure to adjust the image in your deployment as follows:
kestra/kestra:latest
to always use the latest stable version incl. all pluginskestra/kestra:latest-no-plugins
to always use the latest stable version of Kestra without plugins (e.g. only your custom plugins).If your deployment strategy is to pin the version, make sure to change the image to:
kestra/kestra:v0.18.0
if you want to have all plugins included in the imagekestra/kestra:v0.18.0-no-plugins
if you prefer to use only your custom plugins.If you are using the develop
images that include the most recently developed (but not yet released) features and bug fixes, make sure to change the image to:
kestra/kestra:develop
if you want to have all plugins included in the imagekestra/kestra:develop-no-plugins
if you prefer to use only your custom plugins.TL;DR of what you need to do on your end:
- If you use the
develop-full
orlatest-full
image with all plugins, cut the-full
suffix from your Docker image tag, and you're good to go!- If you use the
develop
orlatest
image without plugins, add-no-plugins
suffix to the image tag.
We believe that this change will simplify your deployments. If you have any questions or need help with this change, please reach out via Slack.
kestra-ee
binary has been renamed to kestra
If you are using the kestra-ee
CLI, note that it has been renamed to kestra
. This change is intended to avoid confusion between the open-source and Enterprise Edition binaries.
runner
property is deprecated in favor of the taskRunner
Starting with Kestra 0.18.0, the taskRunner
property has precedence over the runner
property. In Kestra 0.18.0, task runners are out of Beta, and runner
is now deprecated. You can still use the deprecated runner
property when explicitly specified, but remember that Docker-type taskRunner
is now the default way of running script tasks in Kestra. We recommend switching any existing pluginDefaults
using runner
to taskRuner
.
We've made several improvements to JSON and ION handling. To avoid confusion between the json
filter and json()
function, we've renamed:
json
filter to toJson
— it converts an object or data structure into a JSON string e.g. {{ [1, 2, 3] | toJson }}
json()
function to fromJson
— it converts a JSON string into a data structure or object so that you can access further attributes using a dot notation e.g. {{ fromJson(kv('YOUR_JSON_KEY')).some_attribute }}
This renaming has been done with an alias to the old name:
json
filter has been renamed to toJson
— using the old filter will emit a warning in the server logsjson()
function has been renamed to fromJson
— using the old function will emit a warning in the server logsWe've changed the mechanism of the Purge tasks to make it more performant and reliable:
io.kestra.plugin.core.storage.Purge
has been renamed to io.kestra.plugin.core.execution.PurgeExecutions
to reflect that it only purges data related to executions (e.g. not including trigger logs, to purge those you should use the PurgeLogs
task) — we've added an alias so that using the old task type will still work but it will emit a warning. We recommend using the new task type.io.kestra.plugin.core.storage.PurgeExecution
has been renamed to io.kestra.plugin.core.storage.PurgeCurrentExecutionFiles
to reflect that it can purge all execution-related data incl. inputs to an Execution and Execution outputs — we've added an alias so that using the old task type will still work but it will emit a warning. Also here, we recommend adjusting your flow code to match the new task type.Starting with the 0.18.0 release, the recommended way to clean internal storage files, executions and logs is using a combination of io.kestra.plugin.core.execution.PurgeExecutions
but without logs and the newly added io.kestra.plugin.core.log.PurgeLogs
task that removes all logs (both Execution logs and Trigger logs) in a performant batch operation. Combining those two together will give you the same functionality as the old io.kestra.plugin.core.storage.Purge
task but in a more performant and reliable way (roughly 10x faster as compared to the old task).
id: purge
namespace: company.team
description: |
This flow will remove all executions and logs older than one month.
We recommend running this flow daily to avoid running out of disk space.
tasks:
- id: purge_executions
type: io.kestra.plugin.core.execution.PurgeExecutions
endDate: "{{ now() | dateAdd(-1, 'MONTHS') }}"
purgeLog: false
- id: purge_logs
type: io.kestra.plugin.core.log.PurgeLogs
endDate: "{{ now() | dateAdd(-1, 'MONTHS') }}"
triggers:
- id: daily
type: io.kestra.plugin.core.trigger.Schedule
cron: "@daily"
Starting with the 0.18.0 release, we've introduced a new KVSTORE
permission that allows users to access the new KV Store functionality. This permission needs to be added manually to all Roles that need access to the KV Store.
If you have any Users and Groups that want to leverage the new KV Store functionality, make sure to update their RBAC to include the new KVSTORE
permission.
plugin_defaults
instead of task_defaults
The 0.18.0 version of the Terraform Provider now uses the property plugin_defaults
instead of task_defaults
in the kestra_namespace
resource. Simply replace task_defaults
with plugin_defaults
in your Terraform configuration before you upgrade your Kestra Terraform provider.
Published by github-actions[bot] 3 months ago
Published by github-actions[bot] 3 months ago
Published by github-actions[bot] 3 months ago
Published by github-actions[bot] 3 months ago
Published by github-actions[bot] 3 months ago
Published by github-actions[bot] 3 months ago
json
type inputs when prefilling executions (#4333) (Loïc Mathieu)Published by github-actions[bot] 3 months ago
Published by github-actions[bot] 3 months ago
Published by github-actions[bot] 4 months ago
Published by github-actions[bot] 4 months ago
Published by github-actions[bot] 4 months ago
Published by github-actions[bot] 4 months ago
Published by github-actions[bot] 4 months ago
Published by github-actions[bot] 4 months ago
Published by github-actions[bot] 4 months ago
Published by github-actions[bot] 4 months ago
Published by github-actions[bot] 4 months ago
Published by github-actions[bot] 4 months ago
Published by github-actions[bot] 4 months ago
\
for /
in LocalStorage (YannC)yaml
files if they are flows (#4017) (Miloš Paunović)