diff --git a/backend/windmill-common/src/stats.rs b/backend/windmill-common/src/stats.rs index 2d7d484f9e..e610c42b6f 100644 --- a/backend/windmill-common/src/stats.rs +++ b/backend/windmill-common/src/stats.rs @@ -44,7 +44,7 @@ pub async fn schedule_stats(db: &DB, instance_name: String, http_client: &reqwes tracing::info!("Sending stats"); let result = send_stats(&instance_name, &http_client, &db).await; if result.is_err() { - tracing::error!("Error sending stats: {}", result.err().unwrap()); + tracing::info!("Error sending stats: {}", result.err().unwrap()); } else { tracing::info!("Stats sent"); } diff --git a/frontend/src/lib/components/InstanceSettings.svelte b/frontend/src/lib/components/InstanceSettings.svelte index 48cc3bef8e..27ad8e16ef 100644 --- a/frontend/src/lib/components/InstanceSettings.svelte +++ b/frontend/src/lib/components/InstanceSettings.svelte @@ -128,6 +128,7 @@ storage: 'config' } ], + 'SSO/OAuth': [], Telemetry: [ { label: 'Disable telemetry', @@ -267,8 +268,6 @@ {#each Object.keys(settings) as category} {category} {/each} - SSO/OAuth -
{#each Object.keys(settings) as category} @@ -278,110 +277,217 @@ >Setting SMTP unlock sending emails upon adding new users to the workspace or the instance.
+ {:else if category == 'Telemetry'} +
+ Telemetry helps Windmill build a better product for all +
{/if} -
-
- {#each settings[category] as setting} - {#if !setting.cloudonly || isCloudHosted()} - {#if setting.ee_only != undefined && !$enterpriseLicense} -
- - EE only {setting.ee_only} + {#if category == 'SSO/OAuth'} +
+

SSO

+ {#if !$enterpriseLicense} + + Without EE, the number of SSO users is limited to 50. SCIM/SAML is available on EE + + {/if} + +
+ + The recommended workflow is to to save your oauth setting and test them directly on + the login or resource page + +
+ + + + + + + +
+

OAuth

+ + After setting an oauth client, make sure that there is a corresponding resource type + with the same name with a "token" field in the admins workspace. + +
+ +
+ + {#each Object.keys(oauths) as k} + {#if !['google', 'microsoft', 'github', 'gitlab', 'jumpcloud', 'okta', 'keycloak', 'slack'].includes(k)} + {#if oauths[k]} +
+
+ + { + delete oauths[k] + oauths = { ...oauths } + }} + /> +
+
+ + + {#if !windmillBuiltins.includes(k) && k != 'slack'} + + {/if} +
{/if} -
+ {:else} +
+
+ {#each settings[category] as setting} + {#if !setting.cloudonly || isCloudHosted()} + {#if setting.ee_only != undefined && !$enterpriseLicense} +
+ + EE only {setting.ee_only} +
{/if} - {#if setting.tooltip} - {setting.tooltip} - {/if} - {#if values} - {@const hasError = setting.isValid && !setting.isValid(values[setting.key])} - {#if setting.fieldType == 'text'} - - {:else if setting.fieldType == 'textarea'} -