Commit Graph

136 Commits

Author SHA1 Message Date
Ruben Fiszel
842c7a9a72 fix deno lockall tests 2024-10-12 17:57:28 +02:00
HugoCasa
62d88436b2 feat: flow step skipping (#4461) 2024-09-30 16:30:59 +02:00
HugoCasa
e13a531084 add bun/deno/python transform tests (#4432) 2024-09-24 17:14:00 +02:00
HugoCasa
ae8f29a4cb feat: http routing (#4339)
* feat: http routing

* all

* feat: improve UI

* final stuff

* fix: sqlx

* fix: nit

* fix: nits

* fix: error handler display

* fix: routes panel perms

* all

* fix: improve ability to paste from macos in vscode extension

* fix lock-write for deno

* all

* cleaning

* fix

* cli preprocessor

* nits

* nits

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-09-20 15:38:38 +02:00
Ruben Fiszel
375f37741b nit display flowmodulevalue for tests 2024-09-17 09:11:23 +02:00
HugoCasa
a009c8df23 feat: schedule success handler (#4346) 2024-09-06 19:03:09 +02:00
Ruben Fiszel
c62e152d27 feat: service logs (#4244) 2024-08-31 14:57:35 +02:00
wendrul
91d328b132 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
HugoCasa
9efad477da optional starred info on get item + update name of user instance (#4295) 2024-08-27 21:58:51 +02:00
HugoCasa
6a99d999a2 feat: improve early stop (#4257) 2024-08-21 00:47:34 +02:00
Ruben Fiszel
0e35ab098a fix tests 2024-08-14 17:35:30 +02:00
HugoCasa
80a41669b2 feat: email triggers (#4163)
* feat: email triggers v0

* update docker compose to nginx with tcp reverse proxy + move smtp to private

* fix: open source build

* test: update ee ref for testing

* feat: use caddy with layer4

* fix: nit

* feat: configurable email domain

* fix: nit

* fix: nit

* fix: get l4 from main

* fix: default email domain to mail.domain

* update ee ref
2024-08-06 16:17:33 +02:00
Ruben Fiszel
553c95d71b improve queue indices 2024-07-31 23:44:40 +02:00
wendrul
af444c8b36 feat: Full-text search on runs using tantivy and command palette for quick actions (#4046)
* Add indexer crate and files

* POC searcher

incomplete schema
only indexes at startup

* POC search component frontend

* Demo of the frontend element

* add Results and Args as text

* minimal functionality

* Make jump to scripts by name

also flows and apps

* Add button on sidebar to open search

* Update lock on indexer after merge

* Make arrow key navigation compatible with scrol

* Show empty result screen and log as a coming feat

* Add summary to script searchable items

* Catch `parts is undefined` error (uFuzzy)

* Index refreshing using tokio interval

* Fix JobLoader workspace being wrongly defined

* Fix click outside

* Add debouncing for completed run search

* Binary mode working + job index tracker

* Warning for no license + fix height scrollbars on content search

* Make it compile without EE files

* remove panic to use errors

* Move global search

* Cleanup UI, no more tab switcher but clear placeholders and actions

* Add tantivy feature flag for windmill-api

* Rework indexer mode

* Mac compatibility for shortcut

* Update test for new run_server

* Prepare sqlx

* Mac compatibility

* Fix openapi yaml

* Fix frontend

* Frontend api fix

* Update docker-compose.yml and caddyfile

With the (by default deactivated) container and reverse proxy to use the
windmill indexer

* fix feature flag for tests

* fix feature falg for running tests

* fix feature flag for running tests

* Make content search use search modal instead

* Add tantivy feature to ee build steps

* Remove old Content search

* change volume location for indexer

* Update dependencies

* Prepare sqlx

* Uncomment line on docker compose

* Add line between input and results

* Update ee repo ref
2024-07-11 11:13:27 +02:00
Ruben Fiszel
2812792326 fix: memory optimization for flow with big args (#4019) 2024-07-04 10:08:42 +02:00
HugoCasa
7f2289d4d5 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
ec673ac6b4 feat: schedule pausing (#3976)
* feat: schedule pausing

* fix: improve UI
2024-06-25 23:39:34 +02:00
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