Commit Graph

755 Commits

Author SHA1 Message Date
Ruben Fiszel
7cdb58439f fix tests 2024-06-18 22:57:51 +02:00
Ruben Fiszel
60c63d7550 update datafusion 2024-06-18 22:13:02 +02:00
Ruben Fiszel
710a0933bd update datafusion 2024-06-18 20:51:59 +02:00
Ruben Fiszel
f2f3333e2d fix: add more debug logs around http client errors 2024-06-18 08:54:55 +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
f740614c0b feat: accelerate bun through caches (#3909)
* all

* all

* all

* all

* all

* simplify extract
2024-06-13 19:09:16 +02:00
Faton Ramadani
402e7eaa9c feat(frontend): Generated UI editor + Schema Form complete refactor (#3835)
* feat(frontend): wip

* feat(frontend): wip

* feat(frontend): wip

* feat(frontend): wip

* feat(frontend): wip

* feat(frontend): add type editor

* feat(frontend): wip

* feat(frontend): wip

* feat(frontend): wip

* feat(frontend): wip

* feat(frontend): dnd

* feat(frontend): add missing error

* feat(frontend): fix build

* feat(frontend): fix build

* feat(frontend): clean up

* feat(frontend): fix layout

* feat(frontend): fix dark mode

* feat(frontend): Fix Dnd + resource s3 and objects

* feat(frontend): handle inner objets

* feat(frontend): wip

* feat(frontend): wip

* feat(frontend): wip

* fix(frontend): UI nits

* fix(frontend): fix type selection

* fix(frontend): Correctly handle subproperties

* fix(frontend): fix autosize + height

* fix(frontend): replace everywhere

* fix(frontend): fix dnd

* fix(frontend): fix list refresh + height issues

* fix(frontend): fix order

* fix(frontend): restore default behavior

* fix(frontend): Move the rename input

* fix(frontend): Fix rename wrt order array

* fix(frontend): Fix hub

* fix(frontend): Fix renam

* fix(frontend): Fix UI Nits + fix SchemaForm order

* fix(frontend): Handle nested order

* fix(frontend): Fix saving properties

* fix(frontend): Improve approval form

* feat(frontend): done

* feat(frontend): merge main

* feat(frontend): done

* feat(frontend): wip

* feat(frontend): SchemaFormDND

* feat(frontend): SchemaFormDND wip

* feat(frontend): improve displayWebhookWarning

* feat(frontend): DND done

* feat(frontend): DND done

* feat(frontend): improve name

* feat(frontend): improve dnd

* feat(frontend): done

* first batch

* new try

* nits

* all

* drag handle in more places

* push everything

* migrate all

* all

* fix

* fix

* fix henri bug

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-06-12 18:37:18 +02:00
wendrul
3a9a0660a6 feat: cancel jobs based on filters (#3874)
* WIP

* Add endpoint to cancel jobs

* Fix endpoints and add modal to cancel jobs

* Add useful tooltips and warnings

* Fix openapi.yml

* Prepare sqlx

* Prepare sqlx

* Select jobs to cancel

* Prepare sqlx

* Remove unused variable

* Make small fixes

- gap between buttons
- dropdown in one button with chevron instead of two buttons
- filters shown on the cancel filtered modal
2024-06-11 17:12:30 +02:00
Ruben Fiszel
5cb2c9d1f7 feat(cli): add wmill flow generate-locks 2024-06-10 11:44:53 +02:00
Ruben Fiszel
4c20d88fee remove all warnings 2024-06-08 18:06:04 +02:00
Ruben Fiszel
c8915063c4 feat: track dependency map for bun + inline script of flows 2024-06-08 16:43:48 +02:00
wendrul
8dd422d986 feat: towards cloud events webhook compliance (#3883)
* Cloud events webhook compliance

* Only on OPTIONS
2024-06-07 14:24:04 +02:00
Ruben Fiszel
d392de3a70 fix: retrigger bun dependencies jobs for importers when using common deps 2024-06-07 13:34:07 +02:00
HugoCasa
06ee9b5aae feat: customer portal link (#3868)
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2024-06-04 23:55:54 +02:00
wendrul
b9a23ead62 fix: Filter on path not working (#3863) 2024-06-03 17:31:55 +02:00
Ruben Fiszel
6113035b28 fix rawresult 2024-06-03 16:10:26 +02:00
wendrul
62f889c9da feat: warn when jobs spent a long time waiting in queue (#3856)
* Store jobs that waited for too long

* Add warnings as badges for long waited jobs

* Separate into self_wait_time and aggregate

Change the UI accordingly

* Prepare sqlx

* Update backend/windmill-queue/src/jobs.rs

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Fix incorrect query

* Prepare sqlx

* Move insert to pull + UI fixes

Insert as soon as the job is pulled and therefore started.
Add a badge on the lfow timeline to show the self wait time

* Move to after the pull in the worker

Move the logic to after the pull in the worker in the case its not a
noop

* Remove weird line

* Remove unnecessary async

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2024-06-03 16:05:15 +02:00
Ruben Fiszel
8a1db3550a fix rawresult 2024-06-03 15:46:19 +02:00
Ruben Fiszel
e666f837cd fix: further restrict job api to logged in workspace users or anonymous jobs only" (#3860) 2024-06-03 15:13:15 +02:00
Ruben Fiszel
0e7a25c0bd feat: support multiple object storage + parquet_csv + polars -> datafusion" (#3853)
* multiple storage

* all

* rm symlinks

* all

* all
2024-05-31 11:59:51 +02:00
Ruben Fiszel
951c68a9e9 fix: allow_user_resoruces default deserialization 2024-05-29 17:10:20 +02:00
HugoCasa
ce5c52198a feat: display last key renewal attempt (#3839)
* feat: display last key renewal attempt

* feat: improve UI + add renew button + dev instance

* fix: nits

* chore: update ee ref

* fix: nit

* fix: tests
2024-05-29 16:28:00 +02:00
HugoCasa
bba0091bff fix: worker metrics (#3837)
* fix: worker metrics

* chore: sqlx

* chore: update ee ref

* fix: remove jemalloc stats unwrap
2024-05-29 01:12:00 +02:00
HugoCasa
5de79aace3 feat: worker vcpus/memory limits + mem usage (#3828) 2024-05-27 18:43:02 +02:00
wendrul
da8bed9355 Improve filter on queue (#3829) 2024-05-27 18:21:53 +02:00
wendrul
5506df0cc6 fix: filtering not always working with concurrency keys (#3823)
* fix missing filtering on ommision of obscured jobs

Also allow cron and scheduled jobs for the filtering security

* Revert incorrect change

* Revert frontend change
2024-05-27 15:58:07 +02:00
Ruben Fiszel
f725e5b361 feat: public apps can require login (#3825) 2024-05-27 13:03:41 +02:00
Ruben Fiszel
3db4e3bab1 feat: allow user resources in apps with a toggle (#3821)
* all

* all

* all

* all

* all

* all

* all

* all

* all

* all

* nits

* nits
2024-05-27 07:51:49 +02:00
Ruben Fiszel
6a332bc30f fix: make all error strings more verbose 2024-05-25 22:15:15 +02:00
Ruben Fiszel
699a43e665 fix: improve concurrency re-scheduling at scale 2024-05-25 17:20:11 +02:00
Ruben Fiszel
e207c1d77d fix: improve concurrency re-scheduling at scale 2024-05-25 15:56:56 +02:00
HugoCasa
126459f972 feat: improve permissioned audit logs (#3799)
* fix: increase token label size in db

* Revert "Revert "feat:  improve premissioned audit logs (#3793)" (#3798)"

This reverts commit afae33f5f8.

* feat: add username to email function

* fix: nit

* fix: add docstring to global func
2024-05-23 17:23:50 +02:00
Ruben Fiszel
afae33f5f8 Revert "feat: improve premissioned audit logs (#3793)" (#3798)
This reverts commit 35f8eecf2d.
2024-05-23 11:12:51 +02:00
HugoCasa
35f8eecf2d feat: improve premissioned audit logs (#3793)
* feat:  improve premissioned audit logs

* chore: update ee ref

* fix: build

* fix: sqlx
2024-05-23 08:55:48 +02:00
Ruben Fiszel
7af0036b7f add concurrency_key to exported workspace scripts 2024-05-22 23:12:13 +02:00
HugoCasa
50acb84aff feat: improve user audit logs and stats (#3786)
* fix: improve user audit logs and stats

* chore: sqlx

* fix: no features build

* fix: sqlx

* fix: no features build

* chore: update ee ref
2024-05-22 16:51:04 +02:00
Ruben Fiszel
29bf7d3bd0 fix: add allow http toggle to object store settings 2024-05-22 00:36:04 +02:00
wendrul
d663cd2543 Win 130 concurrency observability fixes (#3782)
* Resize badge and add filter by key button

* Make status filters icononly with tooltip

* nit: replace current job None with empty

* tooltip should be on the same row with flex

* Expand selected on ToggleButtonMore

* Make a common definition of UnifiedJob fields
2024-05-21 19:28:05 +02:00
wendrul
ce29e43c91 Fix list jobs and intervals mismatch (#3767)
* fix: mismatch when filtering on concurrency key

Fix a mismatch between to endpoints when filtering by concurrency key

* Add ObscuredJob type on openapi spec

* Correct unit for graph

* Finish frontend changes

* Add field indicating if obscured jobs were omitted

* impl from for ListQueueQuery and factor logic

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2024-05-21 12:21:25 +02:00
Ruben Fiszel
35e735d787 further memory reduction 2024-05-20 11:38:11 +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
HugoCasa
f7f7a6d85f feat: add php (#3725)
* feat: add php

* fix: nsjail + frontend build
2024-05-15 08:12:11 +02:00
Ruben Fiszel
bc5c3652aa fix: improve display result output limit 2024-05-15 05:59:31 +02:00
wendrul
6d66c10002 Use userDB instead of DB (#3723) 2024-05-14 22:14:12 +02:00
Ruben Fiszel
c425ec2f45 feat: improve log storage + expand all logs in a flow 2024-05-14 22:11:52 +02:00
Ruben Fiszel
aae70ac6cb feat: logs can be downloaded directly from server/frontend if using shared volume 2024-05-12 04:16:04 +02:00
HugoCasa
cb4b2f60ff feat: worker metrics (#3697)
* feat: worker metrics

* fix: limit worker metrics to superadmin

* fix: limit worker metrics to superadmin + feat: queue metrics charts

* fix: improve graphs
2024-05-10 20:50:09 +02:00
HugoCasa
056baa7a7d fix(backend): return flow result if flow fails or stops before early return (#3704)
* fix: return error if flow fails before early return

* fix: also handle early stop

* fix: improve code
2024-05-10 20:23:16 +02:00
Ruben Fiszel
055c15e855 fix: fix build 2024-05-10 01:24:46 +02:00