Commit Graph

254 Commits

Author SHA1 Message Date
Ruben Fiszel
2438cf5a0d fix hub sync script 2024-09-09 00:30:09 +02:00
Ruben Fiszel
4e09e7f451 fix: fix hub sync script 2024-09-08 23:49:09 +02:00
Ruben Fiszel
6f0af6b8c6 synchronize hub script is moved to new windmill cli 2024-09-07 19:05:34 +02:00
HugoCasa
dbd4292260 feat: schedule success handler (#4346) 2024-09-06 19:03:09 +02:00
Ruben Fiszel
efac0c0bc1 improve service logs with json_fmt 2024-08-31 23:04:12 +02:00
Ruben Fiszel
2fe48df720 feat: service logs (#4244) 2024-08-31 14:57:35 +02:00
HugoCasa
aa6fd84079 feat: min workers in worker group alert + zombie job critical alert (#4307)
* feat: min workers in worker group alert + zombie job critical alert

* updatee ee ref
2024-08-30 17:25:53 +02:00
wendrul
a2beed9d73 feat: add rust (#4253)
* Add rust on frontend

* Add parser for rust

* Handle rust job execution

* Main has to return a result that is serializable

* Update parser: parse many rust types

* Rust parser dependencies

* Frontend wasm parser

* Add windmill parser rust to windmill parser wasm (temporarily)

* Add rust as a tag on worker__default

* Change init code for rust

* Cleanup rust_executor.rs

* Remove tree-sitter dep and fix unused imports

* Add lockfile and build logic

* Add cargo and rustup to windmill image

* Fix env var to work on docker image and dev env

* modify package.json

* Deps after parser publish

* Add stashed migration

* Unify rust versions

* Add error message when php or cargo are not present to use another image

* Error message conditionally on feature flag

* all ci/cd changes

* all ci/cd changes

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-08-30 17:01:04 +02:00
wendrul
f2f8bbe1d4 feat: deployment UI filter deployable items (#4183)
* Add column to workspace settings table

* Add endpoint to change the deploy UI settings

* Make frontend page to edit UI settings

* Prepare sqlx

* Add deployment restrictions to frontend

* Fix function name

* Change dependency to minimatch, CE compatibility

* Remove default include_path

* Remove picomatch types (old dep)

* Use empty list instead of globstar as default

* All deployable if config is null
2024-08-05 13:27:13 +02:00
Ruben Fiszel
b5464e2906 feat: variables created by password fields expire after 7 days 2024-08-01 16:05:03 +02:00
Ruben Fiszel
1a47325055 improve queue indices 2024-07-31 23:44:40 +02:00
Ruben Fiszel
d69aa8d484 fix: improve index usage and runs page performance 2024-07-31 13:08:28 +02:00
Ruben Fiszel
b02baa2cfb feat: remove nativets in favor of bun with native pragma 2024-07-29 19:20:00 +02:00
Ruben Fiszel
2b67fbcd98 improve slightly concurrency run min started_at query 2024-07-27 12:41:01 +02:00
Ruben Fiszel
88b61480cd remove env_id default value 2024-07-11 09:00:56 +02:00
HugoCasa
11b05b3d17 fix(backend): make value of flow_version not null (#4039)
* fix: flow versioning nit: make value of flow version not null

* fix: sqlx

* fix: missing code change

* fix: improve nit migration
2024-07-08 11:56:53 +02:00
HugoCasa
e50f1752da feat: flow versioning (#4009)
* feat: flow versioning

* fix: sqlx

* fix: update schedule test for flow versioning

* fix: with_deployment_msg + UI nits

* fix: nit

* fix: improve down migration

* patch: keep latest flow version in flow table for backward compat

* fix: app deployments in list view

* chore: update ee ref

* fix: merge

* fix: tests
2024-07-03 15:53:45 +02:00
HugoCasa
f8dc21542f feat: schedule pausing (#3976)
* feat: schedule pausing

* fix: improve UI
2024-06-25 23:39:34 +02:00
HugoCasa
b57afc8f68 feat: add extra metadata to folders/resources/types + path prefix filtering for all + improve groups UI (#3936)
* feat: add extra metadata to folders/schedules/resources/types

* feat: add path prefix filter to api

* chore: updatee ref

* feat: improve groups UI

* fix: nit

* fix: nit
2024-06-22 01:29:23 +02:00
HugoCasa
96dfacbfc8 fix: job perms and job logs grants (#3914)
* fix: job perms grants

* fix: add job logs grants
2024-06-17 14:22:47 +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
96767ec042 fix: add database grants to oustanding_wait_time table 2024-06-13 14:29:33 +02:00
Ruben Fiszel
5ae8592792 feat: track dependency map for bun + inline script of flows 2024-06-08 16:43:48 +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
2359cdc128 fix: add audit log exception to schedules 2024-05-31 22:29:15 +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
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
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
001c010974 Revert "fix(backend): remove email constraints from DB (#3739)" (#3743)
This reverts commit fa6c531fda.
2024-05-15 14:45:11 +02:00
HugoCasa
fa6c531fda fix(backend): remove email constraints from DB (#3739)
* fix(backend): allow underscore in email domain name

* fix: remove email constraint
2024-05-15 14:43:36 +02:00
HugoCasa
14e9c22c07 fix: php worker tag migration (#3732) 2024-05-15 10:24:50 +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
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
456b903766 fix: fix delete perms user folders 2024-04-16 19:53:30 +02:00
Ruben Fiszel
158d26fe38 fix: tighten delete permissions 2024-04-16 10:41:14 +02:00
Ruben Fiszel
a55aad3003 feat: flow concurrency limits support custom concurrency key 2024-04-09 22:03:39 +02:00
Ruben Fiszel
f117539a54 fix: allow for longer approver names in flows 2024-04-08 15:44:33 +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
4ba1f6ccdf fix: fix audit issue with webhook triggered scripts 2024-03-31 14:52:06 +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
HugoCasa
14a86bf59c feat: add visible to runner only default value (#3472) 2024-03-26 19:07:21 +01:00
HugoCasa
283d55008c feat: add workspace environment vars (custom contextual vars) (#3455)
* feat: custom contextual variables

* chore: sqlx prepare

* fix: main merge
2024-03-23 11:40:55 +01:00
Ruben Fiszel
75e9e67d7a feat: large log disk and distributed storage compaction 2024-03-23 10:55:29 +01:00
Ruben Fiszel
e0235d9e9e fix: disapproval does not trigger flow error handler anymore 2024-03-17 11:08:02 +01:00
Ruben Fiszel
e5366b84bb feat: refactor logging to improve performance by order of magnitude for longer jobs 2024-03-16 17:55:34 +01:00