mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-09-10 16:05:58 +00:00
* feat: move basic git sync from EE to CE with runtime user count gating Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: update ee-repo-ref.txt for git sync CE migration Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: keep git sync impl in private repo, revert oss to stub Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: update ee-repo-ref.txt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: update ee-repo-ref.txt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: update ee-repo-ref.txt after merge Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: use LICENSE_KEY check instead of get_license_plan for runtime gating Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: update ee-repo-ref.txt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: improve git sync CE UX — use "Community Edition" wording, mention user limit Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: use "workspace members" instead of "users" in git sync messaging Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: lower CE git sync limit from 3 to 2 workspace members Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: update ee-repo-ref.txt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: update ee-repo-ref.txt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: simplify git sync CE alerts to warn about EE feature with member limit Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: add EE feature restrictions detail to CE git sync warning Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: show git sync settings even when >2 members, with disabled warning Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: show error alert when git sync settings exist but members exceed CE limit Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: mention CE git sync limit is for testing and hobbyist use Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: update ee-repo-ref to 79eeacccc0438010d7dfa60207a5cbdaf2eda08d This commit updates the EE repository reference after PR #476 was merged in windmill-ee-private. Previous ee-repo-ref: c4d69c6e700c16d44f909d9c7b6738b07043db98 New ee-repo-ref: 79eeacccc0438010d7dfa60207a5cbdaf2eda08d Automated by sync-ee-ref workflow. * chore: update sqlx cache Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: regenerate full sqlx cache after main merge Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: update sqlx cache Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: update ee-repo-ref and regenerate sqlx cache with private feature Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: use LICENSE_KEY_VALID for EE check, allow delete without access check, extract helpers Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: update ee-repo-ref.txt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: use compile-time cfg(enterprise) gating instead of runtime license checks Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: update ee-repo-ref.txt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: update ee-repo-ref to 6171a91da38d6d16a88aeb1a3a4f4df78f995383 This commit updates the EE repository reference after PR #481 was merged in windmill-ee-private. Previous ee-repo-ref: 52681940cda6d70f65aeeb7144288f060b4d736e New ee-repo-ref: 6171a91da38d6d16a88aeb1a3a4f4df78f995383 Automated by sync-ee-ref workflow. * chore: update ee-repo-ref.txt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: update ee-repo-ref to b5c8af4df9ba2c39fdd494d7a40f9a92fbff8abc This commit updates the EE repository reference after PR #482 was merged in windmill-ee-private. Previous ee-repo-ref: 6e5b2741831468a7b30b26c0df1241e6141c6833 New ee-repo-ref: b5c8af4df9ba2c39fdd494d7a40f9a92fbff8abc Automated by sync-ee-ref workflow. * fix: gate CE_GIT_SYNC_MAX_USERS behind cfg(not(enterprise)) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
126 lines
3.2 KiB
Rust
126 lines
3.2 KiB
Rust
#[cfg(feature = "private")]
|
|
#[allow(unused)]
|
|
pub use crate::ee::*;
|
|
|
|
#[cfg(all(feature = "enterprise", not(feature = "private")))]
|
|
use crate::db::DB;
|
|
#[cfg(not(feature = "private"))]
|
|
use crate::ee_oss::LicensePlan::Community;
|
|
#[cfg(all(feature = "enterprise", not(feature = "private")))]
|
|
use crate::error;
|
|
#[cfg(not(feature = "private"))]
|
|
use serde::Deserialize;
|
|
#[cfg(not(feature = "private"))]
|
|
use std::sync::Arc;
|
|
#[cfg(not(feature = "private"))]
|
|
use tokio::sync::RwLock;
|
|
|
|
#[cfg(not(feature = "private"))]
|
|
lazy_static::lazy_static! {
|
|
pub static ref LICENSE_KEY_VALID: Arc<RwLock<bool>> = Arc::new(RwLock::new(true));
|
|
pub static ref LICENSE_KEY_ID: Arc<RwLock<String>> = Arc::new(RwLock::new("".to_string()));
|
|
pub static ref LICENSE_KEY: Arc<RwLock<String>> = Arc::new(RwLock::new("".to_string()));
|
|
}
|
|
|
|
#[cfg(not(feature = "private"))]
|
|
#[derive(PartialEq, Eq)]
|
|
pub enum LicensePlan {
|
|
Community,
|
|
Pro,
|
|
Enterprise,
|
|
}
|
|
|
|
#[cfg(not(feature = "private"))]
|
|
pub async fn get_license_plan() -> LicensePlan {
|
|
// Implementation is not open source
|
|
return Community;
|
|
}
|
|
|
|
#[derive(Deserialize)]
|
|
#[serde(untagged)]
|
|
#[cfg(not(feature = "private"))]
|
|
pub enum CriticalErrorChannel {
|
|
Email { email: String },
|
|
Slack { slack_channel: String },
|
|
Teams { teams_channel: TeamsChannel },
|
|
}
|
|
|
|
#[derive(Deserialize)]
|
|
#[cfg(not(feature = "private"))]
|
|
pub struct TeamsChannel {
|
|
pub team_id: String,
|
|
pub team_name: String,
|
|
pub channel_id: String,
|
|
pub channel_name: String,
|
|
}
|
|
|
|
#[cfg(not(feature = "private"))]
|
|
pub enum CriticalAlertKind {
|
|
#[cfg(feature = "enterprise")]
|
|
CriticalError,
|
|
#[cfg(feature = "enterprise")]
|
|
RecoveredCriticalError,
|
|
}
|
|
|
|
#[cfg(all(feature = "enterprise", not(feature = "private")))]
|
|
pub async fn send_critical_alert(
|
|
_error_message: String,
|
|
_db: &DB,
|
|
_kind: CriticalAlertKind,
|
|
_channels: Option<Vec<CriticalErrorChannel>>,
|
|
) {
|
|
}
|
|
|
|
#[cfg(all(feature = "enterprise", not(feature = "private")))]
|
|
pub async fn maybe_renew_license_key_on_start(
|
|
_http_client: &reqwest::Client,
|
|
_db: &crate::db::DB,
|
|
force_renew_now: bool,
|
|
) -> bool {
|
|
// Implementation is not open source
|
|
force_renew_now
|
|
}
|
|
|
|
#[cfg(all(feature = "enterprise", not(feature = "private")))]
|
|
pub enum RenewReason {
|
|
Manual,
|
|
Schedule,
|
|
OnStart,
|
|
}
|
|
|
|
#[cfg(all(feature = "enterprise", not(feature = "private")))]
|
|
pub async fn renew_license_key(
|
|
_http_client: &reqwest::Client,
|
|
_db: &crate::db::DB,
|
|
_key: Option<String>,
|
|
_reason: RenewReason,
|
|
) -> String {
|
|
// Implementation is not open source
|
|
"".to_string()
|
|
}
|
|
|
|
#[cfg(all(feature = "enterprise", not(feature = "private")))]
|
|
pub async fn create_customer_portal_session(
|
|
_http_client: &reqwest::Client,
|
|
_key: Option<String>,
|
|
) -> error::Result<String> {
|
|
// Implementation is not open source
|
|
Ok("".to_string())
|
|
}
|
|
|
|
#[cfg(all(feature = "enterprise", not(feature = "private")))]
|
|
pub async fn worker_groups_alerts(_db: &DB) {}
|
|
|
|
#[cfg(all(feature = "enterprise", not(feature = "private")))]
|
|
pub async fn jobs_waiting_alerts(_db: &DB) {}
|
|
|
|
#[cfg(all(feature = "enterprise", not(feature = "private")))]
|
|
pub async fn low_disk_alerts(
|
|
_db: &DB,
|
|
_server_mode: bool,
|
|
_worker_mode: bool,
|
|
_workers: Vec<String>,
|
|
) {
|
|
// Implementation is not open source
|
|
}
|