Commit Graph

231 Commits

Author SHA1 Message Date
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
c96697928f fix: fix dependency tracking for single scripts 2024-06-11 21:32:10 +02:00
wendrul
7474145f0e 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
5ae8592792 feat: track dependency map for bun + inline script of flows 2024-06-08 16:43:48 +02:00
Ruben Fiszel
3e969b291f fix sqlx 2024-06-05 13:32:23 +02:00
wendrul
203264b871 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
181cb7dec9 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
9308e2a63c fix compile issue 2024-05-31 12:30:58 +02:00
HugoCasa
dc2d7e1c8f 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
5d2b244869 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
621464b550 feat: worker vcpus/memory limits + mem usage (#3828) 2024-05-27 18:43:02 +02:00
Ruben Fiszel
b58c6257a6 set last_ping to null when requeuing because of concurrency limits 2024-05-27 15:53:32 +02:00
Ruben Fiszel
b13f42ab4e fix sqlx 2024-05-27 13:08:47 +02:00
Ruben Fiszel
f2d9c3c777 fix: improve concurrency re-scheduling at scale 2024-05-25 17:20:11 +02:00
Ruben Fiszel
e187fa6263 fix: improve concurrency re-scheduling at scale 2024-05-25 15:56:56 +02:00
HugoCasa
831cf89b63 feat: automatic key renewal (#3815)
* feat: automatic ee key renewal

* chore: sqlx

* chore: update ee repo ref

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2024-05-24 19:49:45 +02:00
Ruben Fiszel
62e88169ea feat: store failed_retries per module state and display failed retries in flow status viewer 2024-05-23 19:26:20 +02:00
HugoCasa
62f318077c 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 43a24d997e.

* feat: add username to email function

* fix: nit

* fix: add docstring to global func
2024-05-23 17:23:50 +02:00
Ruben Fiszel
43a24d997e Revert "feat: improve premissioned audit logs (#3793)" (#3798)
This reverts commit 21a077ecfa.
2024-05-23 11:12:51 +02:00
HugoCasa
21a077ecfa 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
HugoCasa
2f370de628 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
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
HugoCasa
6e805d8252 feat: add php (#3725)
* feat: add php

* fix: nsjail + frontend build
2024-05-15 08:12:11 +02:00
HugoCasa
696a5612f8 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
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
HugoCasa
d1f58f1037 fix: load large args of previous runs dynamically (#3688)
* fix: load large args of previous runs dynamically

* fix: lower limit size
2024-05-08 14:35:37 +02:00
HugoCasa
1d3e82607a fix: solve invite add conflict + deprecate invites (#3594)
* fix: solver invite add conflict + deprecate invites

* fix: sqlx build

* fix: npm run check

* patch: deprecate invite from cloud as well

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2024-04-24 11:50:56 +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
fcff457462 feat: add label and schedule filters to runs page 2024-04-23 22:48:21 +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
48ba709627 fix: improve re-scheduled for estimation in concurrency limits 2024-04-21 12:41:30 +02:00
Ruben Fiszel
2eea00a2cd fix: improve cancel_all to never deadlock 2024-04-17 22:04:35 +02:00
Ruben Fiszel
0b1acc3557 improve queue clearing for schedules 2024-04-17 14:05:22 +02:00
HugoCasa
fdaa49a7e9 fix(backend): prevent push fail of schedule error handling from reverting job completion (#3568)
* fix: prevent push fail of schedule error handling from reverting job completion

* fix: sqlx
2024-04-17 12:35:31 +02:00
Ruben Fiszel
615e95f335 improve disabled dropdown style 2024-04-16 20:53:58 +02:00
Ruben Fiszel
3f643baf1b improve disabled dropdown style 2024-04-16 20:51:19 +02:00
Ruben Fiszel
39f393d72d sqlx 2024-04-16 11:15:24 +02:00
Ruben Fiszel
5f8dd0e3d1 sqlx 2024-04-16 11:04:54 +02:00
Ruben Fiszel
a55aad3003 feat: flow concurrency limits support custom concurrency key 2024-04-09 22:03:39 +02:00
Ruben Fiszel
a4442d4d3d fix: improve performance of for-loops with parralelism 2024-04-09 19:47:50 +02:00
Ruben Fiszel
8bd37bbcbb update sqlx 2024-04-09 12:46:00 +02:00
Ruben Fiszel
74631922f2 more error messages 2024-04-09 10:27:14 +02:00
Ruben Fiszel
8dd117528c fix: improve deadlocks for parallel branches with parallelism constraints 2024-04-09 01:38:55 +02:00
Ruben Fiszel
48e7dfc88a update sqlx 2024-04-06 13:37:14 +02:00
Ruben Fiszel
9131d5cc40 fix: parallel flow with parallelism constraint could deadlock 2024-04-06 13:25:34 +02:00
HugoCasa
285aec4ffd fix: build (#3504) 2024-04-03 18:47:10 +02:00
HugoCasa
a8bf0750a4 feat: slack team connected to multiple workspaces (#3500)
* feat: slack team connected to multiple workspaces

* chore: update ee ref
2024-04-03 17:47:23 +02:00
Ruben Fiszel
cc5d1b405e continue on error option for steps 2024-04-02 10:32:47 +02:00
HugoCasa
b4ffb500ba feat: add workspace free-tier usage (#3489)
* feat: separate workspace and user usage

* fix: sqlx build
2024-03-29 10:56:44 +01:00