Commit Graph

226 Commits

Author SHA1 Message Date
pyranota f55cb420dd feat: add nu-lang support (#5217)
* feat: add nu (nushell) support

* add worker tests

* deactivate tables and non-any types below top-level

full support will come in V1
for V0 it's better to keep things minimal and simple

* add syntax highlighting

used python's grammar, since nushell isn't supported by monaco nor svelte-highlights

for V1 nu will get it`s own grammar

* add logo

* partially implement plugin support

* change logo + ability to deploy + nsjail draft

* static variables + get_resource + get_variable

* lsp/dev.nu + initial nu lsp (not working yet)

* make it work with nsjail

* nullguard

* Much more flexible signature parsing and better error-messages

* add init script

* rename nulsp to nu

* install nu to dockerfile

* fix merge

* implement Default for MainArgSignature

* stage NU_CACHE_DIR

* improve dockerfiles

* dev.nu for parser-wasm + flake.nix

* update code for windows

* add nushell to flake

* upload Cargo.lock

* make build.sh work on nixos

* build wasm cli parsers

* add docs to README_DEV.md

* add helper script docker/dev.nu

* improve docker/dev.nu

* fix windows

* commit frontend/package(lock).json

* update cargo.lock

* correctly update cargo.lock

* remove lsp

* update flake.nix to include svelte server and nushell

* Revert base.sql to main

* remove PLUGIN_USE_RE

* make CARGO_PATH private

* add nu to cli

* Change flags to build wasm-nu-parser

* remove flake.nix from parser-wasm

* update wasm-build target

* remove unused import

* add cli support for nu

* update github workflows

* wasm-build 0.17 -> 0.19

* update build script

* update cargo.lock

* Fix typographical error

* update Cargo.lock

* update ENV_SETTINGS

* use published nu parser

* update package.lock

* rewrite parser in tree-sitter

* implement parser from scratch

* polishing

* change init script to match new parser

* fix imports

* fix cli build

* fix cli build

* merge

* update wasm

* use MiniPulledJob

* update cli

* change cli wasm schema

* change cli

* update deno.json

* make wasm modules load lazily

* regenerate parsers

* remove leftover

* update cargo.lock

* clean up dnt.ts

* add docs to cli/test.nu

* add schema validation option

* add Nu to try_validate_schema

* reference frontend to new parser version
2025-03-20 16:45:21 +01:00
Ruben Fiszel e7868f097a only reload license key periodically on ee 2025-03-18 21:57:17 +01:00
Ruben Fiszel 5134deefad improve concurrency limits II (#5485) 2025-03-17 17:24:50 +01:00
Ruben Fiszel a9a64a4b52 nit 2025-03-14 13:28:32 +01:00
Ruben Fiszel 6a03c6cdf9 add PG_LISTENER_REFRESH_PERIOD_SECS 2025-03-14 13:26:52 +01:00
Ruben Fiszel acceb37e20 more transparent pg listener error 2025-03-13 12:07:33 +01:00
Ruben Fiszel 14706879ca fix: fix rusttls panic 2025-03-13 10:34:27 +01:00
Ruben Fiszel a4b5d22fce rustls install default 2025-03-13 10:30:42 +01:00
Ruben Fiszel e11f0a5fa6 fix: pg_listeners have no timeout 2025-03-12 23:16:32 +01:00
Ruben Fiszel 5d2e5d5b48 fix: prevent monitoring task to die without sending killpill (#5472) 2025-03-12 11:51:53 +01:00
Ruben Fiszel 09b859e1ae fix: codebases compatible with git sync (#5470) 2025-03-11 19:38:55 +01:00
Ruben Fiszel c27ccbe15e all 2025-03-04 15:25:45 +01:00
Ruben Fiszel 1800204e4f fix: downgrade v8 to fix some rare panics 2025-02-26 19:12:24 +01:00
Ruben Fiszel 5b79f4cf11 fix: improve webhook settings cache invalidation 2025-02-24 16:10:53 +01:00
Ruben Fiszel 08041a2061 nit saml 2025-02-24 14:43:27 +01:00
pyranota c62728eaa9 feat: remove pip fallback option for python and ansible (#5186) 2025-02-19 17:33:11 +01:00
dieriba c1351f8155 feat: SQS triggers (#5182)
* feat: first commit

* fix: npm check

* fix: openapi file

* feat: update openapi and migration

* feat: basic implementation done

* fix: fix: no used function when no feature

* feat: capture done

* Update capture.rs

* nits: change sqs trigger

* fix: make migration great again

* feat: add message attributes

* feat: nits: fix error messages, remove console.log and add try catch

* update sqs icon and ee feature for sqs_trigger

* update: change sqs name casing and added test connection button

* nits: update Icon and add create from template button

* fix: ci build and error compilation

* update migration type sqs

* update link on create from template button for sqs, add archive in workspace export and update sqlx

* fix: ci

* Update SqsTriggerEditorInner.svelte

* add link to docs, use generic function for resource and fix import error

* chore: update .github ci

* nits: remove empty

* update to match ee repo changement

* Update backend/windmill-api/src/resources.rs

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

* add sqs handling for the cli and refacoring sqsEditorInner

* Update cli/sync.ts

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

* fix: add break to switch statement for sqs case

* fix: display aws_resource_path when retrieve or create a new trigger

* rework sqs ui, fix postgres optional port

* fix: ci

* update ui for trigger

* update repo ref and specific

* feat: add ready endpoints for workers to enterprise

* update ref

* Update frontend/src/lib/script_helpers.ts

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

---------

Co-authored-by: HugoCasa <hugo@casademont.ch>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-02-18 23:49:45 +01:00
Ruben Fiszel b8032f71da feat: add ready endpoints for workers to enterprise 2025-02-18 21:49:35 +01:00
Ruben Fiszel da49608618 fix: improve v2 migration finalizer to avoid deadlocks 2025-02-18 13:17:10 +01:00
Ruben Fiszel 3afd2ed7e4 fix(bun): remove unecessary buntar in a bun bundle world 2025-02-13 10:27:48 +01:00
Ruben Fiszel 977b4c9e36 disable seqscan for workers 2025-02-09 18:15:10 +01:00
Ruben Fiszel ba0c9de82b re-enable s3 on agent workers + add DISABLE_S3_STORE env variable 2025-02-06 21:24:35 +01:00
Ruben Fiszel 2f01a0cfb6 kill servers only after workers exited 2025-02-05 12:56:47 +01:00
Ruben Fiszel 0b75d269a1 server for workers only shutdown after workers 2025-02-05 12:47:42 +01:00
Ruben Fiszel 2653de4af4 fix: only start smtp servers if email domain is set 2025-02-01 09:26:02 +01:00
Ruben Fiszel 8e5ab4d40a nit fix hub cache init on server 2025-02-01 08:55:44 +01:00
Ruben Fiszel be8081894e fix compile 2025-01-27 22:04:04 +01:00
Ruben Fiszel 6ea28edc41 fix compile 2025-01-27 22:00:48 +01:00
pyranota 3af3fc898b feat(python): Multiple runtime versions (#4579)
* feat: Handle `pip install` by `uv`

Dirty and untested, but already something working

* Integrate with NSJAIL and prepare fallbacks

* Refactor fallback
no_uv disable compile and install
where no_uv_install and no_uv_compile are a bit more specific

* Remove `--disable-pip-version-check`
Reason:
   warning: pip's `--disable-pip-version-check` has no effect

* Fix backend compilation error

* Pip fallback overwrite UV's cache

* Initially refactor cache (No S3)

* Support S3

* Remove unused import

* Handle flags for NSJAIL

* Return deleted flag

* Remove verbose mode and enable link-mode=copy

* Granural migration of lockfiles

Before i realized we dont need it :)

* Initial draft (not-working)

* Add fallback

* Fix bug preventing uv from installing deps

'\n' - Love it

* Add verbosity indicator

* Iterate on feature
- Added instance python version
- Rework logic

* Fix EE build error
error[E0599]: no method named `iter` found for tuple `(PyVersion, std::vec::Vec<std::string::String>)` in the current scope

* Support S3

* Support NSJAIL

* Refactor `get_python`

* Make NSJAIL work [Unsafe]

config file missed /proc mount causing install phase to fail

* Trigger CI

* Clean up

* Make Actions build it

* Trigger CI #2

* Update Dockerfile and clean up

* Change fallbacks
now there is only no_uv and NOUV

* Expose INSTANCE_PYTHON_VERSION through env variable

* Change namings

* Include py-version to requirements.in

Also add comments and make code much cleaner

* Use const for python installation dir

It was hardcoded before

* Pin preinstalled version

* Update python_executor.rs

* Up to date branch

* Create PYCACHE dirs

TODO: PY_TAR_DIRS

* Fix after merge

* Make it safer

* Implement USE_SYSTEM_PYTHON

* Implement latest_stable option

* Load INSTANCE_PYTHON_VERSION on startup

* Check for multiple annotations used

* Fix Latest Stable button not pressed if selected

* Proper error handling for conflict on multiple annotations

* Fix merge conflicts

* Preinstall 3.11 and Latest Stable

* Preinstall latest stable in non-blocking manner

* Fix Warning

* Gate preinstall logic behind "python" feature

* Handle raw_deps properly

* Make it work with nsjail

* Revert docker-image.yml

* Revert Dockerfile

* Cleanup + Fixing

* Add windows support

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-01-24 11:42:48 +01:00
Alexander Petric 5ad6c9e2d3 feat: msft teams support for critical alerts (#5113)
* feat: msft teams support for critical alerts

* ee changes

* ee

* sqlx prep

* multiple teams channels

* commit file, not symlink

* improve reactivity

* docs link

* Update ee-repo-ref.txt
2025-01-23 19:57:13 +01:00
Lucas Abel dab7b39917 feat(cache): remove persistent raw values from queue (#4866)
* feat(cache): remove persistent raw values from queue

* test: add tests and fix discovered regressions

* fix csharp executor after rebase

* invalidate script cache after locking

* fix lite flow version race

* fix flow dependencies lock race

* update version flag to `v.1.440`
2024-12-16 17:10:16 +01:00
Ruben Fiszel 34be5b5944 remove prometheus from fast build 2024-12-15 09:45:00 +01:00
Ruben Fiszel fd462a7038 feature gates more feature for faster compilation (#4928)
* cleanup

* cleanup

* all

* all

* all

* all
2024-12-15 00:00:37 +01:00
HugoCasa 5cffab5e43 fix unused variable (#4926) 2024-12-14 13:43:51 +01:00
wendrul 6b27a0b91d feat: add C# support (#4908)
* Add csharp stuff and merge after the rewrite

    * Add csharp, boilerplate + minimal execution
    * Add initial parser
    * Frontend + wasm export of the tree sitter parser
    * Arg spread and use cache

* More types and req parsing

* Add logo

* Parse async and void to fit the wrapper to the main sig

* Csharp editor resource and var buttons

* Lockfile generation

* Add default parsing using serde_json::from_str

* Update init code for c#

* Nsjail for c#

* Remove c_variadic feature

* Remove unused imports

* Add c_variadic only for wasm32 assembly

* Fix c# test

* Add dotnet to the images

* Update dockerfiles

* Update dockerfile again

* Touch Dockerfile

* npm install c# parser

* Add opt mount in nsjail

* Update ee repo ref

* Add csharp to backend image for tests

* Add setting to set nuget package

* Windows compatibility

* Disable csharp test

* ADd feature flag
2024-12-13 00:29:01 +01:00
Ruben Fiszel c6dc19a893 improve otel 2024-12-08 11:06:35 +01:00
Ruben Fiszel 8a5ba115c6 feat: add otlp support (#4869)
* all

* all

* add otel

* add otel

* update docker-image

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update
2024-12-07 16:29:20 +01:00
wendrul 6987a36846 feat: indexer extra settings + parallel downloads + many improvements (#4822)
* Nits on the service logs page

* Show all the hosts returned by query + sumOtherDocCount warning

* Remove from index endpoint

* Fix tests

* Prepare sqlx
2024-11-29 19:14:05 +01:00
Ruben Fiszel 8338efa685 skip s3 python cache on windows and pro 2024-11-29 08:35:08 +01:00
wendrul db4172439c fix: service logs: aggregation query + killpill on index pull + retention period for logs on s3 (#4795)
* Search across all hosts in index. killpill on index pull

* Add retention period for service logs

* Remove console log

* monitor log_file when older than biggest retention period (job / log)

* Retention period deletes service and job logs

* Add setting to monitor logs out of s3

* Prepare sqlx

* Update ee repo ref

* Prepare sqlx

* Unused variables
2024-11-27 18:57:23 +01:00
Ruben Fiszel 66fdd8723f simplify logic to check for license key on workers 2024-11-27 18:51:06 +01:00
Ruben Fiszel 838c68600a add more links to operators menu 2024-11-27 17:53:45 +01:00
pyranota 5e20824367 Fix tar prefix (#4781)
* Fix tar prefix

* Use TAR_PIP(PYTHON_311)_CACHE_DIR instead

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2024-11-27 15:54:47 +01:00
Ruben Fiszel 1dbcae953d fix: fix getting logs locally for ee without instance settings 2024-11-25 12:02:35 +01:00
Ruben Fiszel fd7bf27f27 remove rsmq 2024-11-24 11:04:54 +01:00
wendrul 6e70df1db8 feat: Indexer improvements: s3 backup logic reworked, settings on the frontend (#4763)
* Add settings page + common code for indexer

* Prepare sqlx
2024-11-20 22:40:36 +01:00
pyranota e0f197e550 Fix dirs in uv install (#4717) 2024-11-15 03:03:05 +01:00
pyranota 04e2ef5809 feat: Handle pip install by uv (#4517)
* feat: Handle `pip install` by `uv`

Dirty and untested, but already something working

* Integrate with NSJAIL and prepare fallbacks

* Refactor fallback
no_uv disable compile and install
where no_uv_install and no_uv_compile are a bit more specific

* Remove `--disable-pip-version-check`
Reason:
   warning: pip's `--disable-pip-version-check` has no effect

* Fix backend compilation error

* Pip fallback overwrite UV's cache

* Initially refactor cache (No S3)

* Support S3

* Remove unused import

* Handle flags for NSJAIL

* Return deleted flag

* Update Dockerfile

* Update docker-image.yml

* Update docker-image.yml

* Add --link-mode=copy and remove -v

* Fix NSJAIL INDEX_URL

* Fix flock and windows

* Update python_executor.rs

* Remove line from Dockerfile

We dont need it and to trigger build

* fixing for windows

* Dont pin python to specific version

* Change TMP for windows

* Revert docker-image.yml

* Disable UV for ansible

Will be enabled later.
Needs proper testing and its better to split onto 2 PRs with first modifying python and second ansible

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: Alexander Petric <petric.al@gmail.com>
2024-11-15 00:12:56 +01:00
Lucas Abel 47424b1446 feat(backend): monitor minimal version of living workers (#4704) 2024-11-14 12:33:50 +01:00
Alexander Petric f870518d94 feat(frontend): critical alerts UI (#4653) 2024-11-09 00:42:10 +01:00