Commit Graph

119 Commits

Author SHA1 Message Date
Ruben Fiszel e08b9fbcf1 nit test fix 2024-06-18 09:28:03 +02:00
HugoCasa 93f58056a0 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 c43d04b95d 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 60b036c1ae 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 1f64715043 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 5569a34b30 labels nits 2024-04-24 11:56:14 +02:00
Ruben Fiszel c5de8365ec feat: support multiple labels for jobs (wm_label -> wm_labels) 2024-04-24 11:32:25 +02:00
Ruben Fiszel ed6fcc761c fix: fix label from completed_job 2024-04-24 09:52:26 +02:00
HugoCasa 9e36ae066c 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 e66d4b6708 continue on error option for steps 2024-04-02 10:32:47 +02:00
HugoCasa 0e0d964fc8 feat: add visible to runner only default value (#3472) 2024-03-26 19:07:21 +01:00
Ruben Fiszel 7714221f3e feat: large log disk and distributed storage compaction 2024-03-23 10:55:29 +01:00
Ruben Fiszel 2e57fc35c1 fix tests 2024-03-17 12:15:43 +01:00
Ruben Fiszel 478298d8dc fix tests 2024-03-17 12:11:13 +01:00
Ruben Fiszel 72bf49b757 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 a3a874d56d fix warnings 2024-03-08 23:20:54 +01:00
Ruben Fiszel db8d2e7e5d increase backed timeout 2024-03-06 17:05:15 +01:00
Ruben Fiszel 8f5467208f fix tests 2024-02-08 17:10:38 +01:00
Guillaume Bouvignies a190f9b91c 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 b7d4971531 fix: lock file in metadata is now a string (#3027) 2024-01-17 20:06:33 +01:00
Ruben Fiszel a24645ee00 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 2edba18038 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 f4ea893ad0 fix: reduce stack size needed for workflow transitions 2024-01-08 00:47:59 +01:00
Ruben Fiszel b290cbb758 feat: add summary to schedules 2023-12-26 14:15:46 +01:00
Guillaume Bouvignies 2870d4882d 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 d84c359384 chore: Remove slow pull warning in worker agent mode (#2866) 2023-12-15 19:16:41 +01:00
Guillaume Bouvignies 346d9affa5 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 a38614d367 fix: Fix test_complex_flow_restart (#2813) 2023-12-08 19:15:08 +01:00
Guillaume Bouvignies 925632ffd7 feat: CLI now accepts message arg for sync push (#2784) 2023-12-05 19:01:09 +01:00
Ruben Fiszel f31cdc46ff feat: save inline scripts of apps to workspace + search by path 2023-12-03 15:13:57 +01:00
Ruben Fiszel c9c88dd3d5 feat: agent mode v0 2023-11-20 00:32:17 +01:00
Guillaume Bouvignies 5866ca71f5 fix: main broken tests (#2652) 2023-11-19 22:41:07 +01:00
Ruben Fiszel 518a8396b3 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 aeacaa2b01 fix: improve dedicated workers 2023-11-06 11:21:36 +01:00
Guillaume Bouvignies d3698fc07b 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 7c1edcd22a avoid embeddings db in tests 2023-11-01 00:55:26 +01:00
Guillaume Bouvignies 7b7cf8b050 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 9328ab24ac 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 29ea5f0f7e 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 9f6f7150cd 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 7441e407d4 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 bd69bafe59 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 09e29d6b3c 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 2ee57f3f84 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 81ebf2627a fix tests 2023-09-22 18:24:00 +02:00
Ruben Fiszel 00ffa69ead feat: add running filter 2023-09-22 18:15:34 +02:00
HugoCasa 35166883e8 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 83f43b6600 bump tests 2023-09-15 09:43:33 +02:00
Ruben Fiszel e0ff5484e1 fix tests 2023-09-15 09:30:33 +02:00
Ruben Fiszel b8d901c4d4 fix tests 2023-09-15 01:41:35 +02:00