Commit Graph

119 Commits

Author SHA1 Message Date
Ruben Fiszel ddec620324 nit test fix 2024-06-18 09:28:03 +02:00
HugoCasa 21b9accca1 feat: replace ephemeral tokens by jwt (#3908)
* feat: replace ephemeral tokens by jwt

* fix: migration + sqlx

* fix: tests, agent, ee ref

* fix: sqlx

* fix: tests

* fix: jwt prefix change + fix tests

* fix: nit

* fix: handle agent mode
2024-06-14 13:07:35 +02:00
Ruben Fiszel 7a1808e951 feat: reduce memory usage (#3768)
* all

* all

* optimize deserialize

* all

* all

* fix issue

* fix compile

* fix compile

* fix compile

* fix compile

* fix compile

* fix compile

* fix compile

* fix compile

* fix compile

* fix compile
2024-05-19 21:58:38 +02:00
wendrul d3942097df Add concurrency limits observability (#3586)
* Add concurrency_key table and field to payload

Add a new table custom_concurrency_key for storing concurrency keys on a
per job basis. Add the field to the job payload to populate the table on
creation of a new job.

* Rename to custom_concurrency_key

Be more explicit about the nature of the option variable by calling it
a more appropriate name.

* Delete concurrency_keys on delete_expire_items

* Propagate db errors up

* Add ref to EE changes

* update sqlx

* Add concurrency_key to tests

* Revert renaming of FlowValue field

FlowValue field concurrency_key must be named concurrency_key for
serialization purposes.

* Remove debug print statement

* Get concurrency_key from Job

Whether it is a Completed job or a queued one, add a ways to get the
associated concurrency key

* Add endpoint to get concurrency_key

* Add endpoint and button to get job concurrency_key

Add a line with a link on the FlowMetadata that goes to the
concurrency_groups page. add endpoint to get the concurrency_key of a
job

* Merge concurrency_key tables into one

migration + change all related querrys

* Add concurrency plot to the runs page

* Prepare sqlx

* Add concurrency Key filter on UI

* Prepare sqlx

* Prepare sqlx

* Fix filter and order query

The limit makes more sense if we cut the older rows, so order by
started_at

* Factor interpolation to reuse on concurrency key

Factor the arg interpolation logic into a function and finish the
processing of concurrency key before insertion

* Remove old concurrency key processing logic

* Second transaction with userdb

To send all concurrency intervals but revealing only uuids of accessible
jobs, make a second transaction with the userdb.

* Remove old second endpoint

the intervals endpoint now also gets the concurrencyt key information
for all jobs

* Show external jobs

* Put filters into a dropdown

Create a ToggleButtonMore and put elements into a dropdown

* Add toggle between two graphs

* Add filter functionality to concurrency graph

* Improve concurrency graph front

* Fix concurrency groups page

* Prepare sqlx

* Add ref to ee

* Change migration to create new table instead

Instead of renaming the custom_concurrency_key_ended atble, we create a
new table and we will delete custom_concurrency_key_ended in the future
when it is no longer linked to any jobs

* Do small UI improvements

* Fix range fusion by not filtering past jobs

Instead of filtering jobs in the backend on a startedAfter value, limit
the query to 1000 and query all possible towards the past to get a good
context for the graph in most sane situations

* Improve frontend UI
2024-05-15 20:15:14 +02:00
Ruben Fiszel 11b3ea3ac8 feat: local typescript codebase as bundle (#3694)
* codebases

* codebases

* foo

* foo

* foo

* foo

* fix(frontend): Disable the insert button when required fields are empty strings (#3659)

* fix(frontend): use normal password mask for the sensitive fields of the resource editor

* handle super admins in password arg input

* chore(main): release 1.323.2 (#3660)

* chore(main): release 1.323.2

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>

* foo

* all

* s3_helpers move

* progress

* all

* progress

* progress

* progress

* progress

* codebase final

* update without ee

* sqlx

* all

* all

* all

* all

* all

* all

* all

* all

* all

* all

* all

* all

* all

* all

* all

* update

* all

* all

* all

---------

Co-authored-by: Faton Ramadani <faton.ramadani14@gmail.com>
Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
2024-05-09 18:35:50 +02:00
Ruben Fiszel e8e6a6c281 labels nits 2024-04-24 11:56:14 +02:00
Ruben Fiszel 0be55ae98c feat: support multiple labels for jobs (wm_label -> wm_labels) 2024-04-24 11:32:25 +02:00
Ruben Fiszel 534f877a7a fix: fix label from completed_job 2024-04-24 09:52:26 +02:00
HugoCasa 8ae16d90ed feat: hide scripts with on function main from operators + badge/filter for devs (#3584)
* feat: save in DB whether script has not main function

* fix: if cannot parse script args, clear schema

* feat: no main function badge and filter

* fix: sqlx

* fix: no main
2024-04-22 15:59:13 +02:00
Ruben Fiszel cc5d1b405e continue on error option for steps 2024-04-02 10:32:47 +02:00
HugoCasa 14a86bf59c feat: add visible to runner only default value (#3472) 2024-03-26 19:07:21 +01:00
Ruben Fiszel 75e9e67d7a feat: large log disk and distributed storage compaction 2024-03-23 10:55:29 +01:00
Ruben Fiszel abaeafa3e1 fix tests 2024-03-17 12:15:43 +01:00
Ruben Fiszel 0c642dbf63 fix tests 2024-03-17 12:11:13 +01:00
Ruben Fiszel 97d4f1cc26 feat: better locking (#3412)
* earlyBackendStop

* fix(frontend): Flow step input description (#3409)

* fix(frontend): Add missing descrpition in a flow step input

* fix(frontend): Add missing descrpition in a flow step input

* fix(frontend): Fix color picker layout (#3411)

* feat: add bit support in pg (#3407)

* fix sqlx

* fix: remove dependency on semver intersect for bun

* sqlx fix

* improve early kill behavior

---------

Co-authored-by: Faton Ramadani <faton.ramadani14@gmail.com>
Co-authored-by: HugoCasa <hugo@casademont.ch>
2024-03-14 13:57:54 +01:00
Ruben Fiszel 9e0ba03e6d fix warnings 2024-03-08 23:20:54 +01:00
Ruben Fiszel a2d0a96423 increase backed timeout 2024-03-06 17:05:15 +01:00
Ruben Fiszel f38a6d64c4 fix tests 2024-02-08 17:10:38 +01:00
Guillaume Bouvignies f189224b8d feat: Custom concurrency key for scripts (#3046)
* feat: Custom concurrency key for scripts

* Add FE page for concurrency groups

* sqlx prepare

* rebase migration

* interpolate args value

* emptyString -> undefined
2024-01-23 12:46:19 +01:00
Guillaume Bouvignies 8752dcbb19 fix: lock file in metadata is now a string (#3027) 2024-01-17 20:06:33 +01:00
Ruben Fiszel 640ebcb146 feat: OIDC support (#3017)
* oidc

* update

* feat: add support for multiselect in python

* d

* d

* progress

* all

* all

* all
2024-01-16 23:32:26 +01:00
Guillaume Bouvignies 99484bdc20 feat: Tag override for scheduled scripts (#2998)
* feat: Tag override for scheduled scripts

* Refactor WorkerTagPicker to component

* Fix test
2024-01-13 00:06:54 +01:00
Ruben Fiszel 4384617f1e fix: reduce stack size needed for workflow transitions 2024-01-08 00:47:59 +01:00
Ruben Fiszel 606b03d761 feat: add summary to schedules 2023-12-26 14:15:46 +01:00
Guillaume Bouvignies 5f60d46836 feat: Retry for scheduled scripts (#2893)
* feat: Retry for scheduled scripts

* rename scheduldedscriptwithretry to singlescriptflow

* Schedule options under tabs
2023-12-22 14:59:46 +01:00
Guillaume Bouvignies 0cc19b9f8c chore: Remove slow pull warning in worker agent mode (#2866) 2023-12-15 19:16:41 +01:00
Guillaume Bouvignies b65657d0f8 feat: Add possibility to delete flow step results when the flow is complete (#2806)
* feat: Add possibility to delete flow step results when the flow is complete

* Add third layer of tabs and gate feature to EE
2023-12-08 21:30:44 +01:00
Guillaume Bouvignies b0894492f1 fix: Fix test_complex_flow_restart (#2813) 2023-12-08 19:15:08 +01:00
Guillaume Bouvignies d9458e96eb feat: CLI now accepts message arg for sync push (#2784) 2023-12-05 19:01:09 +01:00
Ruben Fiszel f50cef0367 feat: save inline scripts of apps to workspace + search by path 2023-12-03 15:13:57 +01:00
Ruben Fiszel 47ad8d6013 feat: agent mode v0 2023-11-20 00:32:17 +01:00
Guillaume Bouvignies c90f7f167e fix: main broken tests (#2652) 2023-11-19 22:41:07 +01:00
Ruben Fiszel b13cc58315 feat: dedicated workers for flows (#2637)
* dw for flows

* dw for flows

* all

* sqlx

* sqlx

* dedicated workers

* more comments
2023-11-17 10:00:04 +01:00
Ruben Fiszel 141f45bf95 fix: improve dedicated workers 2023-11-06 11:21:36 +01:00
Guillaume Bouvignies 668c9da646 feat: Schedule error handler improvements (#2555)
* Fix schedule path for scheduled scripts

* feat: Add possibility to mute workspace error handler on schedules and define an error/recovery handler as default

* Permission error handlers to the error handler group for consistency, and small refactoring

* Fix recovery handler

* Add parent job to recovery handler for consistency

* Fix tests

* Locking feature to EE in FE
2023-11-04 00:52:37 +01:00
Ruben Fiszel 0c086620a2 avoid embeddings db in tests 2023-11-01 00:55:26 +01:00
Guillaume Bouvignies c31299bed8 feat: Ability to restart flow on loop/branchall iteration (#2526)
* feat: Ability to restart flow on loop/branchall iteration

* Add popover to frontend

* refresh restart button onSelectedJobStepChange

* Display branch names for branchall

* Fix flow preview

* Fix compile break

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2023-10-31 15:27:54 +01:00
Guillaume Bouvignies 729bf59558 chore: Add restarted flow test in worker.rs (#2524)
* chore: Add restarted flow test in worker.rs

* small refactor to rust code

* Fix unused imports
2023-10-31 09:14:14 +01:00
Guillaume Bouvignies 76a736aee6 feat: Restartable flows (#2514)
* feat: Restartable flows for simple sequential flows

* check if status of previous module to initialize last_result

* compute result of forloop flows when needed

* Add possibility to restart a flow preview

* Re-compute leaf jobs when needed

* FE polishing

* Add tooltip on button and fix module not found error in preview

* Handle ListJob when computing leaf job from db

* Fix unused imports

* ./build_openapi.sh

* sqlx prepare
2023-10-30 12:51:56 +01:00
Guillaume Bouvignies 51f2198c34 feat: Priority worker tags (#2504)
* feat: Priority worker tags

* Fix deprecation warning

* fix tests by initializing the WorkerConfig properly
2023-10-24 17:59:31 +02:00
Guillaume Bouvignies 927cbbe230 fix: concurrency limit EE feature warning (#2505)
* fix: concurrency limit EE feature warning

* fix deprecated usage

* skip serializing empty optional
2023-10-24 17:59:16 +02:00
Guillaume Bouvignies 3f4af48b0b feat: Priority queue (#2476)
* BE v1 for priority queue

* Add FE prototype

* sqlx prepare

* Disply priority badge in job detail view

* sqlx prepare post merge

* Add priority number input field next to toggle

* increase dnd timeout for app events

* Update db migration

* Fix FE import

* Add badge to script/flow details page and fix EE-only mention in tooltip

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2023-10-23 14:22:59 +02:00
Guillaume Bouvignies 2dc75f0f65 feat: Mute workspace error handler for flows and scripts (#2458)
* feat: Mute workspace error handler for flows and scripts

* implement BE muting

* Add tooltip to bell icon

* change field name to ws_error_handler_muted

* revert new field for queue table

* Error when error handler not set

* extract svelte component and use flow table column

* Fix flow error handler result arg
2023-10-17 22:07:13 +02:00
Ruben Fiszel 9314d38bf1 feat: refactor entirely json processing in favor or rawjson to handle larger payloads (#2446)
* raw json

* raw json

* raw json

* raw json

* the big rawjson rewrite

* resolve merge conflicts

* all

* progress

* progress

* all compile

* remove mut

* remove mut

* remove mut

* arc queuedjob

* finish

* finish

* finish

* fixes

* progress

* fix result

* small fixes

* small fixes

* fix tests

* fix tests

* fix tests

* optimize eval timeout

* optimize eval timeout

* optimize eval timeout

* handle big args and result in get jobs

* improve args

* fix

* fix

* fix tests

* fix tests

* done

* add bigquery to native picker

* add bigquery

---------

Co-authored-by: gbouv <guillaume@windmill.dev>
2023-10-16 10:46:55 +02:00
Ruben Fiszel 8da819edbf fix tests 2023-09-22 18:24:00 +02:00
Ruben Fiszel ea364ad960 feat: add running filter 2023-09-22 18:15:34 +02:00
HugoCasa e5ce85b9af feat: bun absolute/relative imports + tests (#2286)
* feat: bun relative imports + tests

* fix: add missing .sqlx
2023-09-15 13:19:38 +02:00
Ruben Fiszel 7c19788d12 bump tests 2023-09-15 09:43:33 +02:00
Ruben Fiszel 03f75bc873 fix tests 2023-09-15 09:30:33 +02:00
Ruben Fiszel e57445f7f5 fix tests 2023-09-15 01:41:35 +02:00