diff --git a/backend/Cargo.lock b/backend/Cargo.lock index cc846db981..37204316ca 100644 --- a/backend/Cargo.lock +++ b/backend/Cargo.lock @@ -15890,6 +15890,7 @@ dependencies = [ "windmill-api-debug", "windmill-api-embeddings", "windmill-api-flow-conversations", + "windmill-api-flows", "windmill-api-groups", "windmill-api-inputs", "windmill-api-jobs", @@ -16083,6 +16084,26 @@ dependencies = [ "windmill-common", ] +[[package]] +name = "windmill-api-flows" +version = "1.631.1" +dependencies = [ + "axum 0.7.9", + "chrono", + "hyper 1.8.1", + "serde", + "serde_json", + "sql-builder", + "sqlx", + "tracing", + "windmill-api-auth", + "windmill-audit", + "windmill-common", + "windmill-dep-map", + "windmill-git-sync", + "windmill-queue", +] + [[package]] name = "windmill-api-groups" version = "1.631.1" diff --git a/backend/Cargo.toml b/backend/Cargo.toml index 1248c19af5..b8ae9f8c1d 100644 --- a/backend/Cargo.toml +++ b/backend/Cargo.toml @@ -9,6 +9,7 @@ resolver = "2" members = [ "./windmill-api", "./windmill-api-scripts", + "./windmill-api-flows", "./windmill-api-users", "./windmill-api-workspaces", "./windmill-api-groups", @@ -163,7 +164,7 @@ oss_core = [ ce_core = ["oss_core", "private"] ee_core = [ "enterprise", "stripe", "prometheus", "cloud", - "kafka", "kafka-gssapi", "sqs_trigger", "nats", "gcp_trigger", + "kafka", "sqs_trigger", "nats", "gcp_trigger", "jemalloc", "otel" ] ee_server = ["enterprise_saml", "tantivy", "agent_worker_server", "local_reports"] @@ -172,8 +173,8 @@ oss = ["oss_core", "all_languages", "no_auth"] ce_rpi = ["ce_core", "all_languages"] ce = ["ce_rpi", "jemalloc", "dind", "agent_worker_server"] # Edition meta-features: EE variants -ee = ["ce", "ee_core", "ee_server"] -ee_rhel = ["ce_core", "ee_core", "all_languages"] +ee = ["ce", "ee_core", "ee_server", "kafka-gssapi"] +ee_rhel = ["ce_core", "ee_core", "kafka-gssapi", "all_languages"] ee_windows = ["ce_core", "ee_core", "all_languages_windows"] all_sqlx_features = ["all_languages", "enterprise", "enterprise_saml", "embedding", "parquet", "prometheus", "flow_testing", "openidconnect", "cloud", "jemalloc", "tantivy", "sqlx", "kafka", "kafka-gssapi", "nats", "otel", "dind", "websocket", "http_trigger", @@ -267,6 +268,7 @@ windmill-oauth = {path = "./windmill-oauth"} windmill-macros = {path = "./windmill-macros"} windmill-api-auth = { path = "./windmill-api-auth" } windmill-api-scripts = { path = "./windmill-api-scripts" } +windmill-api-flows = { path = "./windmill-api-flows" } windmill-api-users = { path = "./windmill-api-users" } windmill-api-workspaces = { path = "./windmill-api-workspaces" } windmill-api-groups = { path = "./windmill-api-groups" } diff --git a/backend/windmill-api-flows/Cargo.toml b/backend/windmill-api-flows/Cargo.toml new file mode 100644 index 0000000000..5407e38068 --- /dev/null +++ b/backend/windmill-api-flows/Cargo.toml @@ -0,0 +1,31 @@ +[package] +name = "windmill-api-flows" +version.workspace = true +authors.workspace = true +edition.workspace = true + +[lib] +name = "windmill_api_flows" +path = "src/lib.rs" + +[features] +default = [] +enterprise = ["windmill-common/enterprise"] +private = ["windmill-common/private"] + +[dependencies] +windmill-common = { workspace = true, default-features = false } +windmill-api-auth.workspace = true +windmill-queue.workspace = true +windmill-audit.workspace = true +windmill-git-sync.workspace = true +windmill-dep-map.workspace = true + +axum.workspace = true +hyper.workspace = true +serde.workspace = true +serde_json.workspace = true +sql-builder.workspace = true +sqlx.workspace = true +tracing.workspace = true +chrono.workspace = true diff --git a/backend/windmill-api-scripts/src/flows.rs b/backend/windmill-api-flows/src/flows.rs similarity index 100% rename from backend/windmill-api-scripts/src/flows.rs rename to backend/windmill-api-flows/src/flows.rs diff --git a/backend/windmill-api-flows/src/lib.rs b/backend/windmill-api-flows/src/lib.rs new file mode 100644 index 0000000000..3a8530f178 --- /dev/null +++ b/backend/windmill-api-flows/src/lib.rs @@ -0,0 +1,9 @@ +/* + * Author: Ruben Fiszel + * Copyright: Windmill Labs, Inc 2022 + * This file and its contents are licensed under the AGPLv3 License. + * Please see the included NOTICE for copyright information and + * LICENSE-AGPL for a copy of the license. + */ + +pub mod flows; diff --git a/backend/windmill-api-scripts/src/lib.rs b/backend/windmill-api-scripts/src/lib.rs index aab68a4d52..9bc8318fc4 100644 --- a/backend/windmill-api-scripts/src/lib.rs +++ b/backend/windmill-api-scripts/src/lib.rs @@ -6,5 +6,4 @@ * LICENSE-AGPL for a copy of the license. */ -pub mod flows; pub mod scripts; diff --git a/backend/windmill-api/Cargo.toml b/backend/windmill-api/Cargo.toml index bb08985003..6d63b62cbf 100644 --- a/backend/windmill-api/Cargo.toml +++ b/backend/windmill-api/Cargo.toml @@ -11,7 +11,7 @@ path = "src/lib.rs" [features] default = [] private = ["windmill-audit/private", "windmill-common/private", "windmill-api-auth/private", "windmill-store/private", "windmill-api-users/private", "windmill-api-workspaces/private", "windmill-api-groups/private", "windmill-api-configs/private", "windmill-api-settings/private", "windmill-api-agent-workers?/private", "windmill-trigger-kafka?/private", "windmill-trigger-postgres?/private", "windmill-trigger-mqtt?/private", "windmill-trigger-websocket?/private", "windmill-trigger-nats?/private", "windmill-trigger-sqs?/private", "windmill-trigger-gcp?/private", "windmill-trigger-email?/private"] -enterprise = ["windmill-queue/enterprise", "windmill-audit/enterprise", "windmill-git-sync/enterprise", "windmill-common/enterprise", "windmill-worker?/enterprise", "windmill-api-auth/enterprise", "windmill-store/enterprise", "windmill-api-jobs/enterprise", "windmill-api-scripts/enterprise", "windmill-api-users/enterprise", "windmill-api-workspaces/enterprise", "windmill-api-groups/enterprise", "windmill-api-configs/enterprise", "windmill-api-settings/enterprise", "windmill-api-agent-workers?/enterprise", "windmill-trigger/enterprise", "windmill-trigger-kafka?/enterprise", "windmill-trigger-postgres?/enterprise", "windmill-trigger-mqtt?/enterprise", "windmill-trigger-websocket?/enterprise", "windmill-trigger-email?/enterprise", "windmill-trigger-nats?/enterprise", "windmill-trigger-sqs?/enterprise", "windmill-trigger-gcp?/enterprise", "windmill-trigger-http?/enterprise", "windmill-native-triggers?/enterprise", "dep:windmill-autoscaling", "windmill-autoscaling/enterprise"] +enterprise = ["windmill-queue/enterprise", "windmill-audit/enterprise", "windmill-git-sync/enterprise", "windmill-common/enterprise", "windmill-worker?/enterprise", "windmill-api-auth/enterprise", "windmill-store/enterprise", "windmill-api-jobs/enterprise", "windmill-api-scripts/enterprise", "windmill-api-flows/enterprise", "windmill-api-users/enterprise", "windmill-api-workspaces/enterprise", "windmill-api-groups/enterprise", "windmill-api-configs/enterprise", "windmill-api-settings/enterprise", "windmill-api-agent-workers?/enterprise", "windmill-trigger/enterprise", "windmill-trigger-kafka?/enterprise", "windmill-trigger-postgres?/enterprise", "windmill-trigger-mqtt?/enterprise", "windmill-trigger-websocket?/enterprise", "windmill-trigger-email?/enterprise", "windmill-trigger-nats?/enterprise", "windmill-trigger-sqs?/enterprise", "windmill-trigger-gcp?/enterprise", "windmill-trigger-http?/enterprise", "windmill-native-triggers?/enterprise", "dep:windmill-autoscaling", "windmill-autoscaling/enterprise"] stripe = [] inline_preview = ["dep:windmill-worker", "windmill-api-configs/inline_preview"] agent_worker_server = ["dep:windmill-worker", "dep:windmill-api-agent-workers"] @@ -48,6 +48,7 @@ quickjs = ["windmill-jseval/quickjs"] windmill-mcp = { workspace = true, optional = true } windmill-api-auth.workspace = true windmill-api-scripts.workspace = true +windmill-api-flows.workspace = true windmill-api-users.workspace = true windmill-api-workspaces.workspace = true windmill-api-groups.workspace = true diff --git a/backend/windmill-api/src/flows.rs b/backend/windmill-api/src/flows.rs index cc1c3e97c0..c6a09a9e6a 100644 --- a/backend/windmill-api/src/flows.rs +++ b/backend/windmill-api/src/flows.rs @@ -6,8 +6,8 @@ * LICENSE-AGPL for a copy of the license. */ -// Re-export everything from windmill-api-scripts -pub use windmill_api_scripts::flows::*; +// Re-export everything from windmill-api-flows +pub use windmill_api_flows::flows::*; use crate::triggers::{get_triggers_count_internal, TriggersCount}; use axum::{ @@ -20,7 +20,7 @@ use windmill_common::{error::JsonResult, utils::StripPath, DB}; /// Wraps the subcrate's workspaced_service with the trigger count route /// that depends on windmill-api internals. pub fn workspaced_service() -> Router { - windmill_api_scripts::flows::workspaced_service() + windmill_api_flows::flows::workspaced_service() .route("/get_triggers_count/*path", get(get_triggers_count)) }