zenml-nightly 0.84.2.dev20250827__py3-none-any.whl → 0.84.3.dev20250828__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- zenml/VERSION +1 -1
- zenml/cli/login.py +30 -19
- zenml/cli/server.py +6 -10
- zenml/login/credentials.py +27 -0
- zenml/login/credentials_store.py +80 -80
- zenml/login/pro/client.py +74 -54
- zenml/login/pro/utils.py +1 -3
- zenml/utils/package_utils.py +1 -1
- zenml/zen_server/dashboard/assets/{404-CMbwR10f.js → 404-JcbBcNWG.js} +1 -1
- zenml/zen_server/dashboard/assets/{AlertDialogDropdownItem-BpLj419i.js → AlertDialogDropdownItem-DuTp8JFP.js} +1 -1
- zenml/zen_server/dashboard/assets/{ButtonGroup-DVhzbQxV.js → ButtonGroup-B9_gfcC-.js} +1 -1
- zenml/zen_server/dashboard/assets/{CodeSnippet-B7Wd4R8u.js → CodeSnippet-D7OZMz7I.js} +1 -1
- zenml/zen_server/dashboard/assets/{CollapsibleCard-DSZzbjx5.js → CollapsibleCard-Aqd_AiGn.js} +1 -1
- zenml/zen_server/dashboard/assets/{ComponentBadge-MVT08kBV.js → ComponentBadge-BVRb7wgm.js} +1 -1
- zenml/zen_server/dashboard/assets/{ComponentIcon-C9AY8usJ.js → ComponentIcon-CWDJZO4Q.js} +1 -1
- zenml/zen_server/dashboard/assets/{DeleteAlertDialog-CzhTVQaC.js → DeleteAlertDialog-C5z9RupH.js} +1 -1
- zenml/zen_server/dashboard/assets/{DialogItem-DD_7v3UY.js → DialogItem-Ce3ugDgT.js} +1 -1
- zenml/zen_server/dashboard/assets/{Error-Cakgjexo.js → Error-BGej6F2q.js} +1 -1
- zenml/zen_server/dashboard/assets/{ExecutionStatus-CQbWovhV.js → ExecutionStatus-BhDlfndt.js} +1 -1
- zenml/zen_server/dashboard/assets/{Helpbox-7FZpmsHB.js → Helpbox-CQjyNo0n.js} +1 -1
- zenml/zen_server/dashboard/assets/{Infobox-DnduZjNU.js → Infobox-CXOIY92f.js} +1 -1
- zenml/zen_server/dashboard/assets/{LeftSideMenu-D5UEs4vB.js → LeftSideMenu-DGICatl7.js} +1 -1
- zenml/zen_server/dashboard/assets/{NestedCollapsible-0yviIfaA.js → NestedCollapsible-DmryIMwk.js} +1 -1
- zenml/zen_server/dashboard/assets/{NumberBox-C2Pju4PR.js → NumberBox-7OIA56xe.js} +1 -1
- zenml/zen_server/dashboard/assets/{Pagination-C1sE5Nzn.js → Pagination-CVYIgR9l.js} +1 -1
- zenml/zen_server/dashboard/assets/{Partials-DosysQMU.js → Partials-NicibWrh.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProCta-CUkpV3PJ.js → ProCta-DspRnbtD.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProviderIcon-aQjTuTRX.js → ProviderIcon-DwKsXziU.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProviderRadio-C6pLVNxC.js → ProviderRadio-BixXi4GC.js} +1 -1
- zenml/zen_server/dashboard/assets/{RunsBody-CZAiSxYK.js → RunsBody-BSOSIxRG.js} +1 -1
- zenml/zen_server/dashboard/assets/{SearchField-Byv1PtST.js → SearchField-BbwrusMV.js} +1 -1
- zenml/zen_server/dashboard/assets/{SecretTooltip-CErfhVgF.js → SecretTooltip-BsFul9Oe.js} +1 -1
- zenml/zen_server/dashboard/assets/{SetPassword-C4OH-cn1.js → SetPassword-D-V7D0OR.js} +1 -1
- zenml/zen_server/dashboard/assets/{SheetHeader-Bb3v9rha.js → SheetHeader-xumE4haD.js} +1 -1
- zenml/zen_server/dashboard/assets/{StackComponentList-D85oab98.js → StackComponentList-CLnkE6-6.js} +1 -1
- zenml/zen_server/dashboard/assets/{StackList-DSAjbVb5.js → StackList-DhsbaNva.js} +1 -1
- zenml/zen_server/dashboard/assets/{Tabs-2uwqXsdL.js → Tabs-CkY3GwhK.js} +1 -1
- zenml/zen_server/dashboard/assets/{Tick-BQ7_xDBl.js → Tick-Bo7jwBjb.js} +1 -1
- zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-DNkYgzN6.js → UpdatePasswordSchemas-BP4hg95A.js} +1 -1
- zenml/zen_server/dashboard/assets/{Wizard-2FIi8JNY.js → Wizard-0nbnAM1R.js} +1 -1
- zenml/zen_server/dashboard/assets/{WizardFooter-DQEnlDmZ.js → WizardFooter-CLPi4VBo.js} +1 -1
- zenml/zen_server/dashboard/assets/{all-pipeline-runs-query-CdvWtiAY.js → all-pipeline-runs-query-mPYeJsKz.js} +1 -1
- zenml/zen_server/dashboard/assets/{bulk-delete-wdObjfps.js → bulk-delete-Bgf_MsSj.js} +1 -1
- zenml/zen_server/dashboard/assets/{configuration-form-BbcNBQTO.js → configuration-form-Bnyw4-V5.js} +1 -1
- zenml/zen_server/dashboard/assets/{constants-DfvsDtcH.js → constants-Ddhz1mpL.js} +1 -1
- zenml/zen_server/dashboard/assets/{create-stack-D4Sf7QpF.js → create-stack-BpTy7-E4.js} +1 -1
- zenml/zen_server/dashboard/assets/{delete-run-XSre8ru-.js → delete-run-MHYb1wuH.js} +1 -1
- zenml/zen_server/dashboard/assets/form-VRON3-kT.js +1 -0
- zenml/zen_server/dashboard/assets/{form-schemas-BjWDRvGd.js → form-schemas-CpTCEVoG.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-BYHxFvoG.js → index-BYCBKUXk.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-CO6UN3UX.js → index-Ci5z7q6x.js} +2 -2
- zenml/zen_server/dashboard/assets/{index-d_QrPL-8.js → index-D_-iUPTg.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-BYzR7YrM.js → index-rnWXXblA.js} +1 -1
- zenml/zen_server/dashboard/assets/{layout-Cyc-V16c.js → layout-DhFllShI.js} +1 -1
- zenml/zen_server/dashboard/assets/{login-mutation-CDgTlQBD.js → login-mutation-DOxF97JV.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-Bncp08FW.js → page-62MHYKGv.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CMvcoaSZ.js → page-6YPAQ0BU.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CEHZzQ1Q.js → page-8ZbMMHB-.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-D654xHWd.js → page-AWVW_lra.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BnZEAhNn.js → page-B1rTgWkQ.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BbsvGfyi.js → page-B5YCjh4t.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DgOEl3Bc.js → page-BDawWKR9.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DOnAInjC.js → page-BFzVhfws.js} +1 -1
- zenml/zen_server/dashboard/assets/page-BaQw51KO.js +1 -0
- zenml/zen_server/dashboard/assets/{page-C4Jnp1qP.js → page-Bh4TFAum.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CGtll3Jk.js → page-BjuIRasU.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-43SWdz4k.js → page-BoQ_Wheb.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-Du6bFZTS.js → page-Bs6NTqHo.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-B4QBxV0B.js → page-Bsiqb0ZN.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-AOVMuHDc.js → page-C09_xoEs.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-O5xnz_nW.js → page-CI0U7nE4.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-C9IsnFid.js → page-CId8DuKX.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CzDjN1wE.js → page-CJSSCJ58.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-B8ict_cR.js → page-CJXxkmGx.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DgblJuXC.js → page-CS3tgRFg.js} +1 -1
- zenml/zen_server/dashboard/assets/page-Cd8VCEYG.js +1 -0
- zenml/zen_server/dashboard/assets/{page-DsFXol8x.js → page-CicaAxfg.js} +1 -1
- zenml/zen_server/dashboard/assets/page-CkFIY_Cg.js +1 -0
- zenml/zen_server/dashboard/assets/{page-BnAMyQZb.js → page-CkX3R4er.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DerIbaqa.js → page-Cu-ZYOrj.js} +1 -1
- zenml/zen_server/dashboard/assets/page-CyID6Sp5.js +1 -0
- zenml/zen_server/dashboard/assets/{page-DZ5hcS1o.js → page-D0Z9wEBf.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-hX7NkNdA.js → page-D83H0IPX.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DgSu4pTE.js → page-DAF5ySum.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-ClqRvz_V.js → page-DMiWibIV.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-Bi4I23Hs.js → page-DMtUDzEY.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BDre_qCO.js → page-DNLxVFH7.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DLrYW-Dn.js → page-Dfaj9bx6.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DznxxpKA.js → page-DhlhT_XT.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CKPkbOoE.js → page-DqXw1YhM.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-E9Mx9_rn.js → page-DtjangP-.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DQncGJeH.js → page-GJ63jkFi.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DSn1Jcvs.js → page-RtFcujP8.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-HrebZOAM.js → page-T1JEtrlC.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DQzNmXk3.js → page-cS5O9iLC.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-Dpw-xP4q.js → page-s1bm6Xid.js} +1 -1
- zenml/zen_server/dashboard/assets/{persist-Dkbp9MFP.js → persist-C98EYq5I.js} +1 -1
- zenml/zen_server/dashboard/assets/{persist-B3Hb8HDW.js → persist-FuiGbvJD.js} +1 -1
- zenml/zen_server/dashboard/assets/{primary-role-CjkpP9fL.js → primary-role-Bsu7s76U.js} +1 -1
- zenml/zen_server/dashboard/assets/{resource-tyes-list-CugyWUAE.js → resource-tyes-list-C7I0VL8e.js} +1 -1
- zenml/zen_server/dashboard/assets/{resource-type-tooltip-V-zdiLKz.js → resource-type-tooltip-2vjL6Wh9.js} +1 -1
- zenml/zen_server/dashboard/assets/{service-FjqYTmBw.js → service-BPdLzxxT.js} +1 -1
- zenml/zen_server/dashboard/assets/{service-connectors-nF4-OXB9.js → service-connectors-BkE8Ol4i.js} +1 -1
- zenml/zen_server/dashboard/assets/{sharedSchema-Br1JPr8d.js → sharedSchema-CKFbjwmg.js} +1 -1
- zenml/zen_server/dashboard/assets/{stack-detail-query-DnyMCdVE.js → stack-detail-query-JsrqFo3U.js} +1 -1
- zenml/zen_server/dashboard/assets/{update-current-user-mutation-B3Dpv3u6.js → update-current-user-mutation-C4CPf7vG.js} +1 -1
- zenml/zen_server/dashboard/assets/{update-server-settings-mutation-s7tlHN8s.js → update-server-settings-mutation-BYfIU-xU.js} +1 -1
- zenml/zen_server/dashboard/index.html +2 -2
- zenml/zen_server/routers/service_accounts_endpoints.py +24 -0
- zenml/zen_stores/migrations/versions/0.84.3_release.py +23 -0
- zenml/zen_stores/rest_zen_store.py +16 -5
- {zenml_nightly-0.84.2.dev20250827.dist-info → zenml_nightly-0.84.3.dev20250828.dist-info}/METADATA +2 -2
- {zenml_nightly-0.84.2.dev20250827.dist-info → zenml_nightly-0.84.3.dev20250828.dist-info}/RECORD +116 -115
- zenml/zen_server/dashboard/assets/form-C1jJgRy1.js +0 -1
- zenml/zen_server/dashboard/assets/page-1DXG7hp8.js +0 -1
- zenml/zen_server/dashboard/assets/page-C7Z2sDHE.js +0 -1
- zenml/zen_server/dashboard/assets/page-C8t9qLdV.js +0 -1
- zenml/zen_server/dashboard/assets/page-CVwTAlzd.js +0 -1
- {zenml_nightly-0.84.2.dev20250827.dist-info → zenml_nightly-0.84.3.dev20250828.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.84.2.dev20250827.dist-info → zenml_nightly-0.84.3.dev20250828.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.84.2.dev20250827.dist-info → zenml_nightly-0.84.3.dev20250828.dist-info}/entry_points.txt +0 -0
zenml/zen_server/dashboard/assets/{service-connectors-nF4-OXB9.js → service-connectors-BkE8Ol4i.js}
RENAMED
@@ -1 +1 @@
|
|
1
|
-
import{r as c,j as n}from"./@radix-B1sy0Lhr.js";import{w as l,R as f,U as d,V as h,T as m,W as x,a6 as u}from"./index-
|
1
|
+
import{r as c,j as n}from"./@radix-B1sy0Lhr.js";import{w as l,R as f,U as d,V as h,T as m,W as x,a6 as u}from"./index-Ci5z7q6x.js";function p(t){const s=new Date(`${t}Z`),e=new Date;if(s<e)return"Expired";const a=s.getTime()-e.getTime(),r=Math.floor(a/(1e3*60*60*24)),i=Math.floor(a%(1e3*60*60*24)/(1e3*60*60)),o=Math.floor(a%(1e3*60*60)/(1e3*60));return r>0?`in ${r} ${r===1?"day":"days"}`:i>0?`in ${i} ${i===1?"hour":"hours"}`:o>0?`in ${o} ${o===1?"minute":"minutes"}`:"in less than a minute"}function T({expires:t}){const[s,e]=c.useState("");return c.useEffect(()=>{e(p(t))},[t]),s==="Expired"?n.jsxs("div",{className:"flex items-center space-x-0.5 text-theme-text-warning",children:[n.jsx(l,{className:"size-3 shrink-0 fill-theme-text-warning"}),n.jsx("span",{children:"Expired"})]}):n.jsx("div",{children:s})}function j({connector:t}){var e;const s=((e=t.body)==null?void 0:e.resource_id)||"Multiple";return n.jsx(f,{children:n.jsxs(d,{children:[n.jsx(h,{className:"max-w-full truncate",children:n.jsx(m,{size:"sm",rounded:!1,emphasis:"minimal",className:"block w-fit max-w-full gap-0.5 truncate text-theme-text-primary",color:"grey",children:s})}),n.jsx(x,{children:s})]})})}function M(t){var r,i;const s=((r=t.body)==null?void 0:r.resource_types)??[],e=(i=t.body)==null?void 0:i.connector_type;return u(e)?[]:((e==null?void 0:e.resource_types)??[]).filter(o=>s.includes(o.resource_type))}function w(t){var r,i;const s=((r=t.body)==null?void 0:r.auth_method)||"",e=(i=t.body)==null?void 0:i.connector_type;return u(e)?void 0:((e==null?void 0:e.auth_methods)??[]).find(o=>o.auth_method===s)}export{T as E,j as R,w as a,M as e};
|
@@ -1 +1 @@
|
|
1
|
-
import{f as t}from"./index-
|
1
|
+
import{f as t}from"./index-BYCBKUXk.js";import{A as e}from"./index.es-CZMSrR6z.js";import{z as s}from"./index-Ci5z7q6x.js";const m=e(async a=>(await t({name:a})).total===0,500),o=s.string().trim().min(1,"Stack name is required").max(255,"Stack name must be less than 255 characters").refine(a=>m(a),"Stack name is already in use");export{o as s};
|
zenml/zen_server/dashboard/assets/{stack-detail-query-DnyMCdVE.js → stack-detail-query-JsrqFo3U.js}
RENAMED
@@ -1 +1 @@
|
|
1
|
-
import{x as a,F as r,_ as n,G as o,H as u}from"./index-
|
1
|
+
import{x as a,F as r,_ as n,G as o,H as u}from"./index-Ci5z7q6x.js";import{b as i}from"./@tanstack-Dwlisomv.js";function c({stackId:t}){return["stacks",t]}async function f({stackId:t}){const s=r(u.stacks.detail(t)),e=await a(s,{method:"GET",headers:{"Content-Type":"application/json"}});if(e.status===404&&n(),!e.ok)throw new o({message:`Error while fetching stack ${t}`,status:e.status,statusText:e.statusText});return e.json()}function y(t,s){return i({queryKey:c(t),queryFn:()=>f(t),...s})}export{f,y as u};
|
@@ -1 +1 @@
|
|
1
|
-
import{x as n,F as o,G as i,H as u}from"./index-
|
1
|
+
import{x as n,F as o,G as i,H as u}from"./index-Ci5z7q6x.js";import{c}from"./@tanstack-Dwlisomv.js";async function p(r){const e=o(u.currentUser),t=await n(e,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!t.ok){const s=await t.json().then(a=>Array.isArray(a.detail)?a.detail[1]:a.detail).catch(()=>"Failed to update User");throw new i({status:t.status,statusText:t.statusText,message:s})}return t.json()}function f(r){return c({mutationFn:async e=>p(e),...r})}export{f as u};
|
@@ -1 +1 @@
|
|
1
|
-
import{x as n,F as i,G as o,H as u}from"./index-
|
1
|
+
import{x as n,F as i,G as o,H as u}from"./index-Ci5z7q6x.js";import{c}from"./@tanstack-Dwlisomv.js";async function p(e){const r=i(u.settings),t=await n(r,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const a=await t.json().then(s=>Array.isArray(s.detail)?s.detail[1]:s.detail).catch(()=>"Failed to update Server Settings");throw new o({status:t.status,statusText:t.statusText,message:a})}return t.json()}function f(e){return c({mutationFn:async r=>p(r),...e})}export{f as u};
|
@@ -5,14 +5,14 @@
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/favicon.ico" />
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
7
7
|
<title>ZenML Dashboard</title>
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
8
|
+
<script type="module" crossorigin src="/assets/index-Ci5z7q6x.js"></script>
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/@radix-B1sy0Lhr.js">
|
10
10
|
<link rel="modulepreload" crossorigin href="/assets/@tanstack-Dwlisomv.js">
|
11
11
|
<link rel="modulepreload" crossorigin href="/assets/@react-router-CHjLNlgw.js">
|
12
12
|
<link rel="modulepreload" crossorigin href="/assets/@reactflow-gbyyU3kq.js">
|
13
13
|
<link rel="stylesheet" crossorigin href="/assets/@reactflow-Fd0xVSp_.css">
|
14
14
|
<link rel="stylesheet" crossorigin href="/assets/index-n_sn2ITN.css">
|
15
|
-
<link rel="prefetch" href="/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-400-normal-Bput3-QP.woff2"><link rel="prefetch" href="/assets/inter-greek-400-normal-DxZsaF_h.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-400-normal-DMkecbls.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-400-normal-hnt3BR84.woff2"><link rel="prefetch" href="/assets/inter-latin-400-normal-BOOGhInR.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-500-normal-B6guLgqG.woff2"><link rel="prefetch" href="/assets/inter-greek-500-normal-CeQXL5ds.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-500-normal-DOriooB6.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2"><link rel="prefetch" href="/assets/inter-latin-500-normal-D2bGa7uu.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-600-normal-BGBWG807.woff2"><link rel="prefetch" href="/assets/inter-greek-600-normal-Dhlb-90d.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2"><link rel="prefetch" href="/assets/inter-latin-600-normal-D273HNI0.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-600-normal-BnYJhD27.woff2"><link rel="prefetch" href="/assets/gradient_bg-BH8t8fi6.webp"><link rel="prefetch" href="/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff"><link rel="prefetch" href="/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff"><link rel="prefetch" href="/assets/inter-greek-ext-400-normal-DCpCPQOf.woff"><link rel="prefetch" href="/assets/inter-greek-400-normal-BZzXV7-1.woff"><link rel="prefetch" href="/assets/inter-vietnamese-400-normal-BUNmGMP1.woff"><link rel="prefetch" href="/assets/inter-latin-ext-400-normal-C1t-h-pH.woff"><link rel="prefetch" href="/assets/inter-latin-400-normal-gitzw0hO.woff"><link rel="prefetch" href="/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff"><link rel="prefetch" href="/assets/inter-cyrillic-500-normal-DH2hs3aW.woff"><link rel="prefetch" href="/assets/inter-greek-ext-500-normal-M2hEX8vc.woff"><link rel="prefetch" href="/assets/inter-greek-500-normal-d_eO-yCQ.woff"><link rel="prefetch" href="/assets/inter-vietnamese-500-normal-DQPw2Hwd.woff"><link rel="prefetch" href="/assets/inter-latin-500-normal-deR1Tlfd.woff"><link rel="prefetch" href="/assets/inter-latin-ext-500-normal-UMdmhHu2.woff"><link rel="prefetch" href="/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff"><link rel="prefetch" href="/assets/inter-cyrillic-600-normal-BuzJQFbW.woff"><link rel="prefetch" href="/assets/inter-greek-ext-600-normal-C9WLioJ8.woff"><link rel="prefetch" href="/assets/inter-vietnamese-600-normal-Cm6aH8_k.woff"><link rel="prefetch" href="/assets/inter-greek-600-normal-CwicyhtI.woff"><link rel="prefetch" href="/assets/inter-latin-600-normal-B5cFAncS.woff"><link rel="prefetch" href="/assets/inter-latin-ext-600-normal-CAF0vJDd.woff"><link rel="prefetch" href="/assets/mcp-Cb1aMeoq.webp"><link rel="prefetch" href="/assets/acp-DOsXjFc7.webp"><link rel="prefetch" href="/assets/upgrade-form-CwRHBuXB.webp"><link rel="prefetch" href="/assets/repos-video-D8kpu60k.svg"><link rel="prefetch" href="/assets/templates-1S_8WeSK.webp"><link rel="prefetch" href="/assets/adam-e-y0WnB_.webp"><link rel="prefetch" href="/assets/alex-DcCuDHPg.webp"><link rel="prefetch" href="/assets/baris-C0ZrZ10g.webp"><link rel="prefetch" href="/assets/hamza-NKKOZz1I.webp"><link rel="prefetch" href="/assets/stefan-B08Ftbba.webp"><link rel="prefetch" href="/assets/elk-worker.min-BdOC9sib.js"><link rel="prefetch" href="/assets/connectivity-4UKGMYnr.webp"><link rel="prefetch" href="/assets/CodeSnippet-CK5CxKct.css"><link rel="prefetch" href="/assets/page-DerIbaqa.js"><link rel="prefetch" href="/assets/page-Dpw-xP4q.js"><link rel="prefetch" href="/assets/page-DznxxpKA.js"><link rel="prefetch" href="/assets/page-DgblJuXC.js"><link rel="prefetch" href="/assets/page-CMvcoaSZ.js"><link rel="prefetch" href="/assets/SetPassword-C4OH-cn1.js"><link rel="prefetch" href="/assets/login-mutation-CDgTlQBD.js"><link rel="prefetch" href="/assets/page-C4Jnp1qP.js"><link rel="prefetch" href="/assets/index-BYzR7YrM.js"><link rel="prefetch" href="/assets/page-BDre_qCO.js"><link rel="prefetch" href="/assets/page-BbsvGfyi.js"><link rel="prefetch" href="/assets/index-B4ZeIaPd.js"><link rel="prefetch" href="/assets/page-DsFXol8x.js"><link rel="prefetch" href="/assets/page-DZ5hcS1o.js"><link rel="prefetch" href="/assets/PasswordChecker-DOPLfvg7.js"><link rel="prefetch" href="/assets/layout-Cyc-V16c.js"><link rel="prefetch" href="/assets/page-DSn1Jcvs.js"><link rel="prefetch" href="/assets/page-CEHZzQ1Q.js"><link rel="prefetch" href="/assets/page-DOnAInjC.js"><link rel="prefetch" href="/assets/page-1DXG7hp8.js"><link rel="prefetch" href="/assets/page-D654xHWd.js"><link rel="prefetch" href="/assets/icon--Tp6obFZ.js"><link rel="prefetch" href="/assets/page-HrebZOAM.js"><link rel="prefetch" href="/assets/resource-type-tooltip-V-zdiLKz.js"><link rel="prefetch" href="/assets/resource-tyes-list-CugyWUAE.js"><link rel="prefetch" href="/assets/service-connectors-nF4-OXB9.js"><link rel="prefetch" href="/assets/page-DQncGJeH.js"><link rel="prefetch" href="/assets/page-C9IsnFid.js"><link rel="prefetch" href="/assets/react-error-boundary.esm-DgOYA0wh.js"><link rel="prefetch" href="/assets/page-Bi4I23Hs.js"><link rel="prefetch" href="/assets/code-snippets-CqONne41.js"><link rel="prefetch" href="/assets/page-DgSu4pTE.js"><link rel="prefetch" href="/assets/SecretTooltip-CErfhVgF.js"><link rel="prefetch" href="/assets/page-BnZEAhNn.js"><link rel="prefetch" href="/assets/update-server-settings-mutation-s7tlHN8s.js"><link rel="prefetch" href="/assets/page-DQzNmXk3.js"><link rel="prefetch" href="/assets/page-Du6bFZTS.js"><link rel="prefetch" href="/assets/dates-Buh6SMo7.js"><link rel="prefetch" href="/assets/key-icon-BiV171aI.js"><link rel="prefetch" href="/assets/service-FjqYTmBw.js"><link rel="prefetch" href="/assets/page-E9Mx9_rn.js"><link rel="prefetch" href="/assets/pipeline-CDJSAXrb.js"><link rel="prefetch" href="/assets/page-C7Z2sDHE.js"><link rel="prefetch" href="/assets/page-CKPkbOoE.js"><link rel="prefetch" href="/assets/page-C8t9qLdV.js"><link rel="prefetch" href="/assets/StackComponentList-D85oab98.js"><link rel="prefetch" href="/assets/expand-full-C8p_0jQv.js"><link rel="prefetch" href="/assets/page-CVwTAlzd.js"><link rel="prefetch" href="/assets/RunsBody-CZAiSxYK.js"><link rel="prefetch" href="/assets/ButtonGroup-DVhzbQxV.js"><link rel="prefetch" href="/assets/delete-run-XSre8ru-.js"><link rel="prefetch" href="/assets/Tabs-2uwqXsdL.js"><link rel="prefetch" href="/assets/NestedCollapsible-0yviIfaA.js"><link rel="prefetch" href="/assets/all-pipeline-runs-query-CdvWtiAY.js"><link rel="prefetch" href="/assets/ExecutionStatus-CQbWovhV.js"><link rel="prefetch" href="/assets/bulk-delete-wdObjfps.js"><link rel="prefetch" href="/assets/DeleteAlertDialog-CzhTVQaC.js"><link rel="prefetch" href="/assets/page-CGtll3Jk.js"><link rel="prefetch" href="/assets/page-43SWdz4k.js"><link rel="prefetch" href="/assets/check-circle-CG6XAdk-.js"><link rel="prefetch" href="/assets/file-text-TdPXNd7s.js"><link rel="prefetch" href="/assets/mail-DBJRSzyu.js"><link rel="prefetch" href="/assets/chevron-down-Bl7WwQAL.js"><link rel="prefetch" href="/assets/Tick-BQ7_xDBl.js"><link rel="prefetch" href="/assets/check-C9Nye5lR.js"><link rel="prefetch" href="/assets/CodeSnippet-B7Wd4R8u.js"><link rel="prefetch" href="/assets/Helpbox-7FZpmsHB.js"><link rel="prefetch" href="/assets/SheetHeader-Bb3v9rha.js"><link rel="prefetch" href="/assets/help-CRPfbPTO.js"><link rel="prefetch" href="/assets/chevron-right-double-CbMG1dOM.js"><link rel="prefetch" href="/assets/zod-D48zuELD.js"><link rel="prefetch" href="/assets/index.esm-SBF9nn_P.js"><link rel="prefetch" href="/assets/ProCta-CUkpV3PJ.js"><link rel="prefetch" href="/assets/form-schemas-BjWDRvGd.js"><link rel="prefetch" href="/assets/EmptyState-BMA34iVR.js"><link rel="prefetch" href="/assets/primary-role-CjkpP9fL.js"><link rel="prefetch" href="/assets/bar-chart-square-check-_m-oYysN.js"><link rel="prefetch" href="/assets/dataflow-2-BLkaTH0Q.js"><link rel="prefetch" href="/assets/credit-card-DfBA6dBb.js"><link rel="prefetch" href="/assets/eye-BXcQevds.js"><link rel="prefetch" href="/assets/layout-GIiNvS10.js"><link rel="prefetch" href="/assets/message-chat-square-C3CRCQvD.js"><link rel="prefetch" href="/assets/slash-circle-B0xMh8q6.js"><link rel="prefetch" href="/assets/transform-S7omcvTm.js"><link rel="prefetch" href="/assets/UpdatePasswordSchemas-DNkYgzN6.js"><link rel="prefetch" href="/assets/refresh-C8BXS3Fb.js"><link rel="prefetch" href="/assets/Pagination-C1sE5Nzn.js"><link rel="prefetch" href="/assets/SearchField-Byv1PtST.js"><link rel="prefetch" href="/assets/index-g7wOyc86.js"><link rel="prefetch" href="/assets/terminal-C2tAF2XG.js"><link rel="prefetch" href="/assets/trash-D9LA4VFD.js"><link rel="prefetch" href="/assets/AlertDialogDropdownItem-BpLj419i.js"><link rel="prefetch" href="/assets/DisplayDate-57lUNS79.js"><link rel="prefetch" href="/assets/info-CI2szPUG.js"><link rel="prefetch" href="/assets/logs-lNLbZqHL.js"><link rel="prefetch" href="/assets/plus-DOrkJCmy.js"><link rel="prefetch" href="/assets/stack-detail-query-DnyMCdVE.js"><link rel="prefetch" href="/assets/Error-Cakgjexo.js"><link rel="prefetch" href="/assets/ComponentIcon-C9AY8usJ.js"><link rel="prefetch" href="/assets/arrow-left-BFB2mgJo.js"><link rel="prefetch" href="/assets/code-browser-CzWvJ4S6.js"><link rel="prefetch" href="/assets/CollapsibleCard-DSZzbjx5.js"><link rel="prefetch" href="/assets/Infobox-DnduZjNU.js"><link rel="prefetch" href="/assets/ComponentBadge-MVT08kBV.js"><link rel="prefetch" href="/assets/terminal-square-C2tAF2XG.js"><link rel="prefetch" href="/assets/update-current-user-mutation-B3Dpv3u6.js"><link rel="prefetch" href="/assets/index-BYHxFvoG.js"><link rel="prefetch" href="/assets/LeftSideMenu-D5UEs4vB.js"><link rel="prefetch" href="/assets/Wizard-2FIi8JNY.js"><link rel="prefetch" href="/assets/form-C1jJgRy1.js"><link rel="prefetch" href="/assets/Lock-u8WOoTTd.js"><link rel="prefetch" href="/assets/package-pR4bbXJp.js"><link rel="prefetch" href="/assets/index.es-CZMSrR6z.js"><link rel="prefetch" href="/assets/clock-BnPvxp3D.js"><link rel="prefetch" href="/assets/DialogItem-DD_7v3UY.js"><link rel="prefetch" href="/assets/StackList-DSAjbVb5.js"><link rel="prefetch" href="/assets/components-Br2ezRib.js"><link rel="prefetch" href="/assets/NumberBox-C2Pju4PR.js"><link rel="prefetch" href="/assets/configuration-form-BbcNBQTO.js"><link rel="prefetch" href="/assets/constants-DfvsDtcH.js"><link rel="prefetch" href="/assets/index-d_QrPL-8.js"><link rel="prefetch" href="/assets/page-AOVMuHDc.js"><link rel="prefetch" href="/assets/persist-Dkbp9MFP.js"><link rel="prefetch" href="/assets/persist-B3Hb8HDW.js"><link rel="prefetch" href="/assets/sharedSchema-Br1JPr8d.js"><link rel="prefetch" href="/assets/page-B8ict_cR.js"><link rel="prefetch" href="/assets/ProviderIcon-aQjTuTRX.js"><link rel="prefetch" href="/assets/page-DLrYW-Dn.js"><link rel="prefetch" href="/assets/Partials-DosysQMU.js"><link rel="prefetch" href="/assets/ProviderRadio-C6pLVNxC.js"><link rel="prefetch" href="/assets/page-BnAMyQZb.js"><link rel="prefetch" href="/assets/create-stack-D4Sf7QpF.js"><link rel="prefetch" href="/assets/page-Bncp08FW.js"><link rel="prefetch" href="/assets/WizardFooter-DQEnlDmZ.js"><link rel="prefetch" href="/assets/page-ClqRvz_V.js"><link rel="prefetch" href="/assets/page-CzDjN1wE.js"><link rel="prefetch" href="/assets/page-O5xnz_nW.js"><link rel="prefetch" href="/assets/page-hX7NkNdA.js"><link rel="prefetch" href="/assets/page-DgOEl3Bc.js"><link rel="prefetch" href="/assets/page-B4QBxV0B.js"><link rel="prefetch" href="/assets/404-CMbwR10f.js"></head>
|
15
|
+
<link rel="prefetch" href="/assets/gradient_bg-BH8t8fi6.webp"><link rel="prefetch" href="/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-400-normal-Bput3-QP.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2"><link rel="prefetch" href="/assets/inter-greek-400-normal-DxZsaF_h.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-400-normal-DMkecbls.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-400-normal-hnt3BR84.woff2"><link rel="prefetch" href="/assets/inter-latin-400-normal-BOOGhInR.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-500-normal-B6guLgqG.woff2"><link rel="prefetch" href="/assets/inter-greek-500-normal-CeQXL5ds.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-500-normal-DOriooB6.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2"><link rel="prefetch" href="/assets/inter-latin-500-normal-D2bGa7uu.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-600-normal-BGBWG807.woff2"><link rel="prefetch" href="/assets/inter-greek-600-normal-Dhlb-90d.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-600-normal-BnYJhD27.woff2"><link rel="prefetch" href="/assets/inter-latin-600-normal-D273HNI0.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff"><link rel="prefetch" href="/assets/inter-greek-ext-400-normal-DCpCPQOf.woff"><link rel="prefetch" href="/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff"><link rel="prefetch" href="/assets/inter-greek-400-normal-BZzXV7-1.woff"><link rel="prefetch" href="/assets/inter-vietnamese-400-normal-BUNmGMP1.woff"><link rel="prefetch" href="/assets/inter-latin-ext-400-normal-C1t-h-pH.woff"><link rel="prefetch" href="/assets/inter-latin-400-normal-gitzw0hO.woff"><link rel="prefetch" href="/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff"><link rel="prefetch" href="/assets/inter-cyrillic-500-normal-DH2hs3aW.woff"><link rel="prefetch" href="/assets/inter-greek-ext-500-normal-M2hEX8vc.woff"><link rel="prefetch" href="/assets/inter-greek-500-normal-d_eO-yCQ.woff"><link rel="prefetch" href="/assets/inter-vietnamese-500-normal-DQPw2Hwd.woff"><link rel="prefetch" href="/assets/inter-latin-ext-500-normal-UMdmhHu2.woff"><link rel="prefetch" href="/assets/inter-latin-500-normal-deR1Tlfd.woff"><link rel="prefetch" href="/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff"><link rel="prefetch" href="/assets/inter-cyrillic-600-normal-BuzJQFbW.woff"><link rel="prefetch" href="/assets/inter-greek-600-normal-CwicyhtI.woff"><link rel="prefetch" href="/assets/inter-greek-ext-600-normal-C9WLioJ8.woff"><link rel="prefetch" href="/assets/inter-vietnamese-600-normal-Cm6aH8_k.woff"><link rel="prefetch" href="/assets/inter-latin-ext-600-normal-CAF0vJDd.woff"><link rel="prefetch" href="/assets/inter-latin-600-normal-B5cFAncS.woff"><link rel="prefetch" href="/assets/acp-DOsXjFc7.webp"><link rel="prefetch" href="/assets/mcp-Cb1aMeoq.webp"><link rel="prefetch" href="/assets/upgrade-form-CwRHBuXB.webp"><link rel="prefetch" href="/assets/repos-video-D8kpu60k.svg"><link rel="prefetch" href="/assets/templates-1S_8WeSK.webp"><link rel="prefetch" href="/assets/adam-e-y0WnB_.webp"><link rel="prefetch" href="/assets/alex-DcCuDHPg.webp"><link rel="prefetch" href="/assets/baris-C0ZrZ10g.webp"><link rel="prefetch" href="/assets/hamza-NKKOZz1I.webp"><link rel="prefetch" href="/assets/stefan-B08Ftbba.webp"><link rel="prefetch" href="/assets/elk-worker.min-BdOC9sib.js"><link rel="prefetch" href="/assets/connectivity-4UKGMYnr.webp"><link rel="prefetch" href="/assets/CodeSnippet-CK5CxKct.css"><link rel="prefetch" href="/assets/page-Cu-ZYOrj.js"><link rel="prefetch" href="/assets/page-s1bm6Xid.js"><link rel="prefetch" href="/assets/page-DhlhT_XT.js"><link rel="prefetch" href="/assets/page-CS3tgRFg.js"><link rel="prefetch" href="/assets/page-6YPAQ0BU.js"><link rel="prefetch" href="/assets/SetPassword-D-V7D0OR.js"><link rel="prefetch" href="/assets/login-mutation-DOxF97JV.js"><link rel="prefetch" href="/assets/page-Bh4TFAum.js"><link rel="prefetch" href="/assets/index-rnWXXblA.js"><link rel="prefetch" href="/assets/page-DNLxVFH7.js"><link rel="prefetch" href="/assets/page-B5YCjh4t.js"><link rel="prefetch" href="/assets/index-B4ZeIaPd.js"><link rel="prefetch" href="/assets/page-CicaAxfg.js"><link rel="prefetch" href="/assets/page-D0Z9wEBf.js"><link rel="prefetch" href="/assets/PasswordChecker-DOPLfvg7.js"><link rel="prefetch" href="/assets/layout-DhFllShI.js"><link rel="prefetch" href="/assets/page-RtFcujP8.js"><link rel="prefetch" href="/assets/page-8ZbMMHB-.js"><link rel="prefetch" href="/assets/page-BFzVhfws.js"><link rel="prefetch" href="/assets/page-CyID6Sp5.js"><link rel="prefetch" href="/assets/page-AWVW_lra.js"><link rel="prefetch" href="/assets/icon--Tp6obFZ.js"><link rel="prefetch" href="/assets/page-T1JEtrlC.js"><link rel="prefetch" href="/assets/resource-type-tooltip-2vjL6Wh9.js"><link rel="prefetch" href="/assets/resource-tyes-list-C7I0VL8e.js"><link rel="prefetch" href="/assets/service-connectors-BkE8Ol4i.js"><link rel="prefetch" href="/assets/page-GJ63jkFi.js"><link rel="prefetch" href="/assets/page-CId8DuKX.js"><link rel="prefetch" href="/assets/react-error-boundary.esm-DgOYA0wh.js"><link rel="prefetch" href="/assets/page-DMtUDzEY.js"><link rel="prefetch" href="/assets/code-snippets-CqONne41.js"><link rel="prefetch" href="/assets/page-DAF5ySum.js"><link rel="prefetch" href="/assets/SecretTooltip-BsFul9Oe.js"><link rel="prefetch" href="/assets/page-B1rTgWkQ.js"><link rel="prefetch" href="/assets/update-server-settings-mutation-BYfIU-xU.js"><link rel="prefetch" href="/assets/page-cS5O9iLC.js"><link rel="prefetch" href="/assets/page-Bs6NTqHo.js"><link rel="prefetch" href="/assets/dates-Buh6SMo7.js"><link rel="prefetch" href="/assets/key-icon-BiV171aI.js"><link rel="prefetch" href="/assets/service-BPdLzxxT.js"><link rel="prefetch" href="/assets/page-DtjangP-.js"><link rel="prefetch" href="/assets/pipeline-CDJSAXrb.js"><link rel="prefetch" href="/assets/page-Cd8VCEYG.js"><link rel="prefetch" href="/assets/page-DqXw1YhM.js"><link rel="prefetch" href="/assets/page-CkFIY_Cg.js"><link rel="prefetch" href="/assets/StackComponentList-CLnkE6-6.js"><link rel="prefetch" href="/assets/expand-full-C8p_0jQv.js"><link rel="prefetch" href="/assets/page-BaQw51KO.js"><link rel="prefetch" href="/assets/RunsBody-BSOSIxRG.js"><link rel="prefetch" href="/assets/ButtonGroup-B9_gfcC-.js"><link rel="prefetch" href="/assets/delete-run-MHYb1wuH.js"><link rel="prefetch" href="/assets/Tabs-CkY3GwhK.js"><link rel="prefetch" href="/assets/NestedCollapsible-DmryIMwk.js"><link rel="prefetch" href="/assets/all-pipeline-runs-query-mPYeJsKz.js"><link rel="prefetch" href="/assets/ExecutionStatus-BhDlfndt.js"><link rel="prefetch" href="/assets/bulk-delete-Bgf_MsSj.js"><link rel="prefetch" href="/assets/DeleteAlertDialog-C5z9RupH.js"><link rel="prefetch" href="/assets/page-BjuIRasU.js"><link rel="prefetch" href="/assets/page-BoQ_Wheb.js"><link rel="prefetch" href="/assets/check-circle-CG6XAdk-.js"><link rel="prefetch" href="/assets/file-text-TdPXNd7s.js"><link rel="prefetch" href="/assets/mail-DBJRSzyu.js"><link rel="prefetch" href="/assets/chevron-down-Bl7WwQAL.js"><link rel="prefetch" href="/assets/Tick-Bo7jwBjb.js"><link rel="prefetch" href="/assets/check-C9Nye5lR.js"><link rel="prefetch" href="/assets/CodeSnippet-D7OZMz7I.js"><link rel="prefetch" href="/assets/Helpbox-CQjyNo0n.js"><link rel="prefetch" href="/assets/SheetHeader-xumE4haD.js"><link rel="prefetch" href="/assets/help-CRPfbPTO.js"><link rel="prefetch" href="/assets/chevron-right-double-CbMG1dOM.js"><link rel="prefetch" href="/assets/zod-D48zuELD.js"><link rel="prefetch" href="/assets/index.esm-SBF9nn_P.js"><link rel="prefetch" href="/assets/ProCta-DspRnbtD.js"><link rel="prefetch" href="/assets/form-schemas-CpTCEVoG.js"><link rel="prefetch" href="/assets/EmptyState-BMA34iVR.js"><link rel="prefetch" href="/assets/primary-role-Bsu7s76U.js"><link rel="prefetch" href="/assets/bar-chart-square-check-_m-oYysN.js"><link rel="prefetch" href="/assets/dataflow-2-BLkaTH0Q.js"><link rel="prefetch" href="/assets/credit-card-DfBA6dBb.js"><link rel="prefetch" href="/assets/eye-BXcQevds.js"><link rel="prefetch" href="/assets/layout-GIiNvS10.js"><link rel="prefetch" href="/assets/message-chat-square-C3CRCQvD.js"><link rel="prefetch" href="/assets/slash-circle-B0xMh8q6.js"><link rel="prefetch" href="/assets/transform-S7omcvTm.js"><link rel="prefetch" href="/assets/UpdatePasswordSchemas-BP4hg95A.js"><link rel="prefetch" href="/assets/refresh-C8BXS3Fb.js"><link rel="prefetch" href="/assets/Pagination-CVYIgR9l.js"><link rel="prefetch" href="/assets/SearchField-BbwrusMV.js"><link rel="prefetch" href="/assets/index-g7wOyc86.js"><link rel="prefetch" href="/assets/terminal-C2tAF2XG.js"><link rel="prefetch" href="/assets/trash-D9LA4VFD.js"><link rel="prefetch" href="/assets/AlertDialogDropdownItem-DuTp8JFP.js"><link rel="prefetch" href="/assets/DisplayDate-57lUNS79.js"><link rel="prefetch" href="/assets/info-CI2szPUG.js"><link rel="prefetch" href="/assets/logs-lNLbZqHL.js"><link rel="prefetch" href="/assets/plus-DOrkJCmy.js"><link rel="prefetch" href="/assets/stack-detail-query-JsrqFo3U.js"><link rel="prefetch" href="/assets/Error-BGej6F2q.js"><link rel="prefetch" href="/assets/ComponentIcon-CWDJZO4Q.js"><link rel="prefetch" href="/assets/arrow-left-BFB2mgJo.js"><link rel="prefetch" href="/assets/code-browser-CzWvJ4S6.js"><link rel="prefetch" href="/assets/CollapsibleCard-Aqd_AiGn.js"><link rel="prefetch" href="/assets/Infobox-CXOIY92f.js"><link rel="prefetch" href="/assets/ComponentBadge-BVRb7wgm.js"><link rel="prefetch" href="/assets/terminal-square-C2tAF2XG.js"><link rel="prefetch" href="/assets/update-current-user-mutation-C4CPf7vG.js"><link rel="prefetch" href="/assets/index-BYCBKUXk.js"><link rel="prefetch" href="/assets/LeftSideMenu-DGICatl7.js"><link rel="prefetch" href="/assets/Wizard-0nbnAM1R.js"><link rel="prefetch" href="/assets/form-VRON3-kT.js"><link rel="prefetch" href="/assets/Lock-u8WOoTTd.js"><link rel="prefetch" href="/assets/package-pR4bbXJp.js"><link rel="prefetch" href="/assets/index.es-CZMSrR6z.js"><link rel="prefetch" href="/assets/clock-BnPvxp3D.js"><link rel="prefetch" href="/assets/DialogItem-Ce3ugDgT.js"><link rel="prefetch" href="/assets/StackList-DhsbaNva.js"><link rel="prefetch" href="/assets/components-Br2ezRib.js"><link rel="prefetch" href="/assets/NumberBox-7OIA56xe.js"><link rel="prefetch" href="/assets/configuration-form-Bnyw4-V5.js"><link rel="prefetch" href="/assets/constants-Ddhz1mpL.js"><link rel="prefetch" href="/assets/index-D_-iUPTg.js"><link rel="prefetch" href="/assets/page-C09_xoEs.js"><link rel="prefetch" href="/assets/persist-C98EYq5I.js"><link rel="prefetch" href="/assets/persist-FuiGbvJD.js"><link rel="prefetch" href="/assets/sharedSchema-CKFbjwmg.js"><link rel="prefetch" href="/assets/page-CJXxkmGx.js"><link rel="prefetch" href="/assets/ProviderIcon-DwKsXziU.js"><link rel="prefetch" href="/assets/page-Dfaj9bx6.js"><link rel="prefetch" href="/assets/Partials-NicibWrh.js"><link rel="prefetch" href="/assets/ProviderRadio-BixXi4GC.js"><link rel="prefetch" href="/assets/page-CkX3R4er.js"><link rel="prefetch" href="/assets/create-stack-BpTy7-E4.js"><link rel="prefetch" href="/assets/page-62MHYKGv.js"><link rel="prefetch" href="/assets/WizardFooter-CLPi4VBo.js"><link rel="prefetch" href="/assets/page-DMiWibIV.js"><link rel="prefetch" href="/assets/page-CJSSCJ58.js"><link rel="prefetch" href="/assets/page-CI0U7nE4.js"><link rel="prefetch" href="/assets/page-D83H0IPX.js"><link rel="prefetch" href="/assets/page-BDawWKR9.js"><link rel="prefetch" href="/assets/page-Bsiqb0ZN.js"><link rel="prefetch" href="/assets/404-JcbBcNWG.js"></head>
|
16
16
|
<body>
|
17
17
|
<div id="root"></div>
|
18
18
|
</body>
|
@@ -26,6 +26,7 @@ from zenml.constants import (
|
|
26
26
|
VERSION_1,
|
27
27
|
)
|
28
28
|
from zenml.exceptions import IllegalOperationError
|
29
|
+
from zenml.logger import get_logger
|
29
30
|
from zenml.models import (
|
30
31
|
APIKeyFilter,
|
31
32
|
APIKeyRequest,
|
@@ -38,6 +39,7 @@ from zenml.models import (
|
|
38
39
|
ServiceAccountResponse,
|
39
40
|
ServiceAccountUpdate,
|
40
41
|
)
|
42
|
+
from zenml.models.v2.misc.server_models import ServerDeploymentType
|
41
43
|
from zenml.zen_server.auth import AuthContext, authorize
|
42
44
|
from zenml.zen_server.exceptions import error_response
|
43
45
|
from zenml.zen_server.rbac.endpoint_utils import (
|
@@ -56,12 +58,29 @@ from zenml.zen_server.utils import (
|
|
56
58
|
zen_store,
|
57
59
|
)
|
58
60
|
|
61
|
+
logger = get_logger(__name__)
|
62
|
+
|
59
63
|
router = APIRouter(
|
60
64
|
prefix=API + VERSION_1 + SERVICE_ACCOUNTS,
|
61
65
|
tags=["service_accounts", "api_keys"],
|
62
66
|
responses={401: error_response},
|
63
67
|
)
|
64
68
|
|
69
|
+
|
70
|
+
def _raise_deprecated_pro_service_accounts() -> None:
|
71
|
+
"""Logs a warning if Pro workspace level service accounts are used."""
|
72
|
+
from zenml.config.server_config import ServerConfiguration
|
73
|
+
|
74
|
+
config = ServerConfiguration.get_server_config()
|
75
|
+
if config.deployment_type == ServerDeploymentType.CLOUD:
|
76
|
+
logger.warning(
|
77
|
+
"ZenML Pro workspace level service accounts and API keys are "
|
78
|
+
"deprecated and will be removed in a future version. Please use "
|
79
|
+
"ZenML Pro organization level service accounts and API keys "
|
80
|
+
"instead (see https://docs.zenml.io/pro/core-concepts/service-accounts)."
|
81
|
+
)
|
82
|
+
|
83
|
+
|
65
84
|
# ----------------
|
66
85
|
# Service Accounts
|
67
86
|
# ----------------
|
@@ -88,6 +107,7 @@ def create_service_account(
|
|
88
107
|
Returns:
|
89
108
|
The created service account.
|
90
109
|
"""
|
110
|
+
_raise_deprecated_pro_service_accounts()
|
91
111
|
return verify_permissions_and_create_entity(
|
92
112
|
request_model=service_account,
|
93
113
|
create_method=zen_store().create_service_account,
|
@@ -179,6 +199,7 @@ def update_service_account(
|
|
179
199
|
IllegalOperationError: If the service account was created via external
|
180
200
|
authentication.
|
181
201
|
"""
|
202
|
+
_raise_deprecated_pro_service_accounts()
|
182
203
|
service_account = zen_store().get_service_account(
|
183
204
|
service_account_name_or_id, hydrate=True
|
184
205
|
)
|
@@ -267,6 +288,7 @@ def create_api_key(
|
|
267
288
|
api_key=api_key,
|
268
289
|
)
|
269
290
|
|
291
|
+
_raise_deprecated_pro_service_accounts()
|
270
292
|
service_account = zen_store().get_service_account(service_account_id)
|
271
293
|
|
272
294
|
if service_account.external_user_id is not None:
|
@@ -375,6 +397,7 @@ def update_api_key(
|
|
375
397
|
IllegalOperationError: If the service account was created via external
|
376
398
|
authentication.
|
377
399
|
"""
|
400
|
+
_raise_deprecated_pro_service_accounts()
|
378
401
|
service_account = zen_store().get_service_account(service_account_id)
|
379
402
|
|
380
403
|
if service_account.external_user_id is not None:
|
@@ -420,6 +443,7 @@ def rotate_api_key(
|
|
420
443
|
IllegalOperationError: If the service account was created via external
|
421
444
|
authentication.
|
422
445
|
"""
|
446
|
+
_raise_deprecated_pro_service_accounts()
|
423
447
|
service_account = zen_store().get_service_account(service_account_id)
|
424
448
|
|
425
449
|
if service_account.external_user_id is not None:
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"""Release [0.84.3].
|
2
|
+
|
3
|
+
Revision ID: 0.84.3
|
4
|
+
Revises: 0.84.2
|
5
|
+
Create Date: 2025-08-27 08:07:15.302516
|
6
|
+
|
7
|
+
"""
|
8
|
+
|
9
|
+
# revision identifiers, used by Alembic.
|
10
|
+
revision = "0.84.3"
|
11
|
+
down_revision = "0.84.2"
|
12
|
+
branch_labels = None
|
13
|
+
depends_on = None
|
14
|
+
|
15
|
+
|
16
|
+
def upgrade() -> None:
|
17
|
+
"""Upgrade database schema and/or data, creating a new revision."""
|
18
|
+
pass
|
19
|
+
|
20
|
+
|
21
|
+
def downgrade() -> None:
|
22
|
+
"""Downgrade database schema and/or data back to the previous revision."""
|
23
|
+
pass
|
@@ -128,6 +128,7 @@ from zenml.io import fileio
|
|
128
128
|
from zenml.logger import get_logger
|
129
129
|
from zenml.login.credentials import APIToken
|
130
130
|
from zenml.login.credentials_store import get_credentials_store
|
131
|
+
from zenml.login.pro.client import ZenMLProClient
|
131
132
|
from zenml.login.pro.constants import ZENML_PRO_API_URL
|
132
133
|
from zenml.login.pro.utils import (
|
133
134
|
get_troubleshooting_instructions,
|
@@ -420,7 +421,12 @@ class RestZenStoreConfiguration(StoreConfiguration):
|
|
420
421
|
|
421
422
|
if api_key := data.pop("api_key", None):
|
422
423
|
credentials_store = get_credentials_store()
|
423
|
-
|
424
|
+
if api_key.startswith("ZENPROKEY_"):
|
425
|
+
credentials_store.set_api_key(
|
426
|
+
ZENML_PRO_API_URL, api_key, is_zenml_pro=True
|
427
|
+
)
|
428
|
+
else:
|
429
|
+
credentials_store.set_api_key(url, api_key)
|
424
430
|
|
425
431
|
return data
|
426
432
|
|
@@ -4184,17 +4190,22 @@ class RestZenStore(BaseZenStore):
|
|
4184
4190
|
if not pro_api_url:
|
4185
4191
|
pro_api_url = ZENML_PRO_API_URL
|
4186
4192
|
|
4187
|
-
|
4188
|
-
pro_api_url
|
4193
|
+
pro_credentials = credentials_store.get_pro_credentials(
|
4194
|
+
pro_api_url
|
4189
4195
|
)
|
4190
|
-
if not
|
4196
|
+
if not pro_credentials:
|
4191
4197
|
raise CredentialsNotValid(
|
4192
4198
|
"You need to be logged in to ZenML Pro in order to "
|
4193
4199
|
f"access the ZenML Pro server '{self.url}'. Please run "
|
4194
4200
|
"'zenml login' to log in or choose a different server."
|
4195
4201
|
)
|
4196
4202
|
|
4197
|
-
elif
|
4203
|
+
elif pro_credentials.has_valid_token:
|
4204
|
+
assert pro_credentials.api_token is not None
|
4205
|
+
pro_token = pro_credentials.api_token
|
4206
|
+
elif pro_credentials.can_refresh_token:
|
4207
|
+
pro_token = ZenMLProClient(pro_api_url).authenticate()
|
4208
|
+
else:
|
4198
4209
|
raise CredentialsNotValid(
|
4199
4210
|
"Your ZenML Pro login session has expired. "
|
4200
4211
|
"Please log in again using 'zenml login'."
|
{zenml_nightly-0.84.2.dev20250827.dist-info → zenml_nightly-0.84.3.dev20250828.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: zenml-nightly
|
3
|
-
Version: 0.84.
|
3
|
+
Version: 0.84.3.dev20250828
|
4
4
|
Summary: ZenML: Write production-ready ML code.
|
5
5
|
License: Apache-2.0
|
6
6
|
Keywords: machine learning,production,pipeline,mlops,devops
|
@@ -54,7 +54,7 @@ Requires-Dist: azure-storage-blob (>=12.0.0) ; extra == "connectors-azure"
|
|
54
54
|
Requires-Dist: bandit (>=1.7.5,<2.0.0) ; extra == "dev"
|
55
55
|
Requires-Dist: bcrypt (==4.0.1)
|
56
56
|
Requires-Dist: boto3 (>=1.16.0) ; extra == "secrets-aws" or extra == "connectors-aws"
|
57
|
-
Requires-Dist: click (>=8.0.1
|
57
|
+
Requires-Dist: click (>=8.0.1,<=8.2.1)
|
58
58
|
Requires-Dist: cloudpickle (>=2.0.0,<3)
|
59
59
|
Requires-Dist: copier (>=8.1.0) ; extra == "templates"
|
60
60
|
Requires-Dist: coverage[toml] (>=5.5,<6.0) ; extra == "dev"
|