Commit Graph

53 Commits

Author SHA1 Message Date
Guillaume Bouvignies
d4a9d30e30 feat: Workspace encryption key can be manually updated (#3223)
* feat: Workspace encryption key can be manually updated

* sqlx prepare
2024-02-15 17:02:45 +01:00
Guillaume Bouvignies
8bb9ed646b feat: Git sync can handle resource types, resources, variables and schedules (#3202)
* feat: Git sync can handle resource types, resources, variables and schedules

* update hub script

* update all schedule on default error handler

* sqlx prepare

* reorder filters and always show secrets
2024-02-12 19:33:55 +01:00
Guillaume Bouvignies
126773122a feat: git sync now accepts path filters and type filters (#3189)
* feat: git sync now accepts path filters and type filters

* fix git sync for folders

* UI nits

* Add folder by default in migration

* fix openapi
2024-02-09 18:51:44 +01:00
Guillaume Bouvignies
bbda7cf268 feat: Support for Azure Blob storage (#3130) 2024-02-02 19:55:07 +01:00
Guillaume Bouvignies
0003673e8d feat: migrate s3 client to object_store (#3116)
* feat: migrate s3 client to object_store

* remove multipart from open API

* Remove multipart in favor of a single stream

* progress report

* add progress reader on server side

* small nit fix

* fix read chunk

* Fix TS and python SDK

* Fix download button

* Fix download button object viewer

* fix list

* Better errors

* export loadS3FileContent

* revert changes SDK

* fix browser

* small file list unavailable fix

* Old endpoints throws informative error messages

* Typescript SDK uses raw fetch

* update python SDK

* Error if uploaded file > 50Mb

* revert python SDL changes

* Update python SDK method docs

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-02-01 16:03:30 +01:00
Guillaume Bouvignies
1d7914776e gbouv/fix-openapi (#3076) 2024-01-25 16:07:02 +01:00
Guillaume Bouvignies
ef76a90e34 fix: Better UI for S3 download and S3 TS SDK endpoints (#3065)
* Better UI for S3 download and S3 TS SDK endpoints

* gitignore typescript client node_modules

* USe Windmill BE upload endpoint for TS SDK

* Use WM backend endpoint in Python upload SDK endpoint

* revert changes

* Add expiration for Python

* Add downaload endpoint

* Add toggle for public S3 resource

* revert changes to package.json

* Add link to doc page

* fix unauthorized bug
2024-01-25 15:34:40 +01:00
Guillaume Bouvignies
dae1933a8c feat: Set a default app for each workspace (#3014)
* feat: workspace default app

* sqlx prepare

* rebase migration

* Redirect from home page

* move redirect to the workspaces page

* sqlx prepare

* auto redirect when only one workspace and load user before redirecting

* Add check for operator

* refresh userstore before redirecting to workspace app

* check for superadmin

* revert node_modules

* revert package-lock.json
2024-01-24 09:26:23 +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
4f4b59c77a feat: Download button for s3 files (#3059)
* feat: Download button for s3 files

* Add S3 load and write endpoint to Python and TS SDK

* fix
2024-01-22 21:40:30 +01:00
Guillaume Bouvignies
326eac46fc feat: File path is option when uploading a file to S3 (#3029)
* feat: File path is option when uploading a file to S3

* Add frontend

* Fix lock

* Drag and drop file upload UI
2024-01-19 14:17:42 +01:00
Guillaume Bouvignies
b7d4971531 fix: lock file in metadata is now a string (#3027) 2024-01-17 20:06:33 +01:00
Guillaume Bouvignies
33788f6361 feat: add script bootstrap and script generate-metadata CLI commands (#3007)
* feat: add script bootstrap and script generate-metadata CLI commands

* Address PR comments on code
2024-01-16 18:25:51 +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
Guillaume Bouvignies
c9962203c4 feat: GIt sync to multiple repo (#2996) 2024-01-12 16:19:28 +01:00
Guillaume Bouvignies
165d5cbfc8 feat: Instance group management page (#2994) 2024-01-12 13:37:06 +01:00
Guillaume Bouvignies
0a9127f30a feat: Instance group CRUD API (#2992) 2024-01-12 11:43:29 +01:00
Guillaume Bouvignies
b406f0995e feat: S3 multipart upload accepts a custom S3 resource (#2982) 2024-01-10 16:42:32 +01:00
Guillaume Bouvignies
dd56514e35 feat: git sync can now push commits to individual branches (#2959) 2024-01-05 15:52:18 +01:00
Guillaume Bouvignies
6f2ad5f5f4 feat: Detailed job memory footprint on job run page (#2956)
* feat: Detailed job memory footprint

* Address rubens comment

* double presion -> real

* sql query returns only metric_type
2024-01-05 09:13:05 +01:00
Guillaume Bouvignies
1ec1d94b78 feat: bun can read private npm package (#2915)
* feat: bun can read private package

* Add / at the end of url
2023-12-25 09:03:40 +01:00
Guillaume Bouvignies
cd48fdce2e feat: move S3 file within bucket (#2913) 2023-12-22 15:02:16 +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
539312bb7e fix: Update S3 TS code snippets and Python SDK for Polars 0.20.X (#2911)
* fix: update S3 TS code snippets

* use S3Object type from SDK

* update python snippets as well

* Update python SDK for Polars 0.20.X
2023-12-22 08:39:35 +01:00
Guillaume Bouvignies
d238fc366a feat: S3 delete file and upload new (#2909) 2023-12-22 08:38:09 +01:00
Guillaume Bouvignies
fd55c3d8e3 feat: S3 objects are now typed in Python and TS SDK (#2878)
* feat: S3 objects are now typed in Python and TS SDK

* fix ts and python SDK after testing

* cleanup
2023-12-20 09:16:33 +01:00
Guillaume Bouvignies
b484a8dc27 feat: Add download button to S3 file picker (#2857) 2023-12-14 15:45:37 +01:00
Guillaume Bouvignies
71743801c8 feat: Cancel persistent script runs from drawer (#2847)
* feat: Cancel persistent script runs from drawer

* Add explicit buttons

* revert change to docker compose
2023-12-14 15:30:39 +01:00
Guillaume Bouvignies
953b80cab7 feat: Add jitter to exponential backoff (#2842) 2023-12-12 18:36:22 +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
925632ffd7 feat: CLI now accepts message arg for sync push (#2784) 2023-12-05 19:01:09 +01:00
Guillaume Bouvignies
2980402ca3 feat: History commit message can be updated from the UI (#2777)
* feat: History comit message can be updated from the UI

* Script version history

* Display commit message in left column

* Fix FE compile break

* sqlx prepare and fix openapi file
2023-12-05 15:45:36 +01:00
Guillaume Bouvignies
bfb5eb27b5 feat: Add workspace settings to sync scripts/flows/apps to git repo on deployment (#2740)
* feat: Add workspace settings to sync script to git repo on deployment

* track deployment callback jobs in separate table

* sqlx prepare

* update deployment_metadata table

* Point to hub script

* Add details to the settings page and restrict to EE only

* cleanup unused impots

* Flows and Apps are now pushed to GH as well

* Ignore scripts/flows/apps located in private user folders
2023-12-04 14:26:27 +01:00
Guillaume Bouvignies
ba5af7d069 feat: Various minor improvements for S3 DX (#2760)
* feat: Various minor improvements for S3 DX

* Fix openAPI yaml

* Remove unused imports
2023-12-04 13:20:04 +01:00
Guillaume Bouvignies
0882279055 fix: Various fixes and improvements for Windmill S3 capabilities (#2674) 2023-11-22 12:29:50 +01:00
Guillaume Bouvignies
90618274bb feat: Expanding an s3object result now opens the S3 file browser (#2656)
* feat: Expanding an s3object result now opens the S3 file browser

* Add s3 explorer link

* Revert changes in ArgInfo
2023-11-20 17:07:52 +01:00
Guillaume Bouvignies
9aea209226 feat: S3 file picker as a drawer (#2640)
* feat: Pick a S3 file drawer

* Add endpoint to generate simple file preview

* FE prototype for file preview

* More info on the preview

* Small fix

* Fix BE compile

* fix BE compile

* remove weird vite.config.js file

* Fix fronte NodeJS.Timer -> NodeJS.Timeout and rename dataset to file for S3

* Add EE restrictions and polish FE

* Fix merge conflicst

* replace dataset with s3 object

* Update wording

* BE throws an error when bucket too large in CE

* regenerate Cargo.lock

* Fix typo in error message
2023-11-20 10:26:36 +01:00
Guillaume Bouvignies
f932e4c916 feat: Add Python SDK capabilities to generate Polars and DuckDB connection settings to S3 (#2625)
* feat: Add Python SDK capabilities to generate Polars and DuckDB connection settings to S3

* Add endpoint to list S3 objects

* Add FE to set the workspace S3 resource

* Fix openapi

* sqlx prepare

* Hide Windmil LFS tab
2023-11-15 19:37:02 +01:00
Guillaume Bouvignies
08782f66e7 refactor: Slack error handler is handled mostly in frontend (#2601)
* refactor: Slack error handler is handled mostly in frontend

* sqlx prepare

* check for slack in function
2023-11-09 18:17:28 +01:00
Guillaume Bouvignies
36ab98c1c1 feat: Add override all schedule handlers button (#2579)
* feat: Add override all schedule handlers button

* sqlx prepare

* sqlx prepare again
2023-11-07 13:29:23 +01:00
Guillaume Bouvignies
54cc811405 feat: Add toggle to optionally mute error handler for cancelled jobs (#2567)
* fix: Fix canceled flag in completed_job table

* Add toggle to workspace settings
2023-11-06 18:24:51 +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
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
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
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
885e44e1c1 fix: Update openapi definition to be compatible with oapi-codegen (#2487) 2023-10-23 14:18:24 +02:00
Guillaume Bouvignies
5f5604a2aa feat: Approval step optionally require logged-in user (#2462)
* backend auth user validation

* Approval page suggesting login

* BE impl to support groups

* Add FE for setting suspend on flow step

* handle admin as a specific case

* restrict feature to entperprise only

* group names as static input transforms

* Suspend settings with tabs

* Update enterprise edition check

* cleanup

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2023-10-20 00:20:20 +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
Guillaume Bouvignies
bcdff7d6f1 Filter script kinds in the backend (#2450) 2023-10-13 20:34:39 +02:00
Guillaume Bouvignies
a55cb50b5d feat: Workspace error handler now supports args and Slack for EE (#2447)
* feat: Workspace error handler now supports args and Slack

* Cleanup unused value

* run sqlx prepare

* Fix script path loading
2023-10-13 17:32:11 +02:00