CINXE.COM
<!doctype html><html lang="en"><head><title data-rh="true">KusionStack – Medium</title><meta data-rh="true" charset="utf-8"/><meta data-rh="true" name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,maximum-scale=1"/><meta data-rh="true" name="theme-color" content="#000000"/><meta data-rh="true" name="twitter:app:name:iphone" content="Medium"/><meta data-rh="true" name="twitter:app:id:iphone" content="828256236"/><meta data-rh="true" property="al:ios:app_name" content="Medium"/><meta data-rh="true" property="al:ios:app_store_id" content="828256236"/><meta data-rh="true" property="al:android:package" content="com.medium.reader"/><meta data-rh="true" property="al:android:app_name" content="Medium"/><meta data-rh="true" property="fb:app_id" content="542599432471018"/><meta data-rh="true" property="og:site_name" content="Medium"/><meta data-rh="true" property="og:title" content="KusionStack – Medium"/><meta data-rh="true" name="description" content="Read writing from KusionStack on Medium. https://kusionstack.io/ - Open Tech Stack to build self-service, collaborative, reliable and sustainable Internal Developer Platform."/><meta data-rh="true" property="og:description" content="Read writing from KusionStack on Medium. https://kusionstack.io/ - Open Tech Stack to build self-service, collaborative, reliable and sustainable Internal Developer Platform."/><meta data-rh="true" name="twitter:description" content="Read writing from KusionStack on Medium. https://kusionstack.io/ - Open Tech Stack to build self-service, collaborative, reliable and sustainable Internal Developer Platform."/><meta data-rh="true" property="og:url" content="https://blog.kusionstack.io"/><meta data-rh="true" property="al:web:url" content="https://blog.kusionstack.io"/><meta data-rh="true" property="al:ios:url" content="medium://@kusionstack"/><meta data-rh="true" name="twitter:app:url:iphone" content="medium://@kusionstack"/><meta data-rh="true" property="al:android:url" content="medium://@kusionstack"/><meta data-rh="true" property="og:image" content="https://miro.medium.com/v2/resize:fit:2400/1*01EKocTpSlxpytDItu9Frw.png"/><meta data-rh="true" name="twitter:image:src" content="https://miro.medium.com/v2/resize:fit:2400/1*01EKocTpSlxpytDItu9Frw.png"/><meta data-rh="true" property="profile:username" content="kusionstack"/><meta data-rh="true" property="profile:first_name" content="KusionStack"/><meta data-rh="true" property="og:type" content="profile"/><meta data-rh="true" name="twitter:card" content="summary"/><link data-rh="true" rel="icon" href="https://miro.medium.com/v2/5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19"/><link data-rh="true" rel="search" type="application/opensearchdescription+xml" title="Medium" href="/osd.xml"/><link data-rh="true" rel="apple-touch-icon" sizes="152x152" href="https://miro.medium.com/v2/resize:fill:304:304/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="120x120" href="https://miro.medium.com/v2/resize:fill:240:240/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="76x76" href="https://miro.medium.com/v2/resize:fill:152:152/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="60x60" href="https://miro.medium.com/v2/resize:fill:120:120/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="mask-icon" href="https://miro.medium.com/v2/resize:fill:1000:1000/7*GAOKVe--MXbEJmV9230oOQ.png" color="#171717"/><link data-rh="true" id="glyph_preload_link" rel="preload" as="style" type="text/css" href="https://glyph.medium.com/css/unbound.css"/><link data-rh="true" id="glyph_link" rel="stylesheet" type="text/css" href="https://glyph.medium.com/css/unbound.css"/><link data-rh="true" rel="canonical" href="https://blog.kusionstack.io"/><link data-rh="true" rel="alternate" href="android-app://com.medium.reader/https/medium.com/@kusionstack"/><link data-rh="true" id="feedLink" rel="alternate" type="application/rss+xml" title="RSS" href="https://medium.com/feed/@kusionstack"/><style type="text/css" data-fela-rehydration="412" data-fela-type="STATIC">html{box-sizing:border-box;-webkit-text-size-adjust:100%}*, *:before, *:after{box-sizing:inherit}body{margin:0;padding:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color:rgba(0,0,0,0.8);position:relative;min-height:100vh}h1, h2, h3, h4, h5, h6, dl, dd, ol, ul, menu, figure, blockquote, p, pre, form{margin:0}menu, ol, ul{padding:0;list-style:none;list-style-image:none}main{display:block}a{color:inherit;text-decoration:none}a, button, input{-webkit-tap-highlight-color:transparent}img, svg{vertical-align:middle}button{background:transparent;overflow:visible}button, input, optgroup, select, textarea{margin:0}:root{--reach-tabs:1;--reach-menu-button:1}#speechify-root{font-family:Sohne, sans-serif}div[data-popper-reference-hidden="true"]{visibility:hidden;pointer-events:none}.grecaptcha-badge{visibility:hidden} /*XCode style (c) Angel Garcia <angelgarcia.mail@gmail.com>*/.hljs {background: #fff;color: black; }/* Gray DOCTYPE selectors like WebKit */ .xml .hljs-meta {color: #c0c0c0; }.hljs-comment, .hljs-quote {color: #007400; }.hljs-tag, .hljs-attribute, .hljs-keyword, .hljs-selector-tag, .hljs-literal, .hljs-name {color: #aa0d91; }.hljs-variable, .hljs-template-variable {color: #3F6E74; }.hljs-code, .hljs-string, .hljs-meta .hljs-string {color: #c41a16; }.hljs-regexp, .hljs-link {color: #0E0EFF; }.hljs-title, .hljs-symbol, .hljs-bullet, .hljs-number {color: #1c00cf; }.hljs-section, .hljs-meta {color: #643820; }.hljs-title.class_, .hljs-class .hljs-title, .hljs-type, .hljs-built_in, .hljs-params {color: #5c2699; }.hljs-attr {color: #836C28; }.hljs-subst {color: #000; }.hljs-formula {background-color: #eee;font-style: italic; }.hljs-addition {background-color: #baeeba; }.hljs-deletion {background-color: #ffc8bd; }.hljs-selector-id, .hljs-selector-class {color: #9b703f; }.hljs-doctag, .hljs-strong {font-weight: bold; }.hljs-emphasis {font-style: italic; } </style><style type="text/css" data-fela-rehydration="412" data-fela-type="KEYFRAME">@-webkit-keyframes k1{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@-moz-keyframes k1{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes k1{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}</style><style type="text/css" data-fela-rehydration="412" data-fela-type="RULE">.a{font-family:medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif}.b{font-weight:400}.c{background-color:rgba(255, 255, 255, 1)}.l{display:block}.m{position:sticky}.n{top:0}.o{z-index:500}.p{padding:0 24px}.q{align-items:center}.r{border-bottom:solid 1px #F2F2F2}.y{height:41px}.z{line-height:20px}.ab{display:flex}.ac{height:57px}.ae{flex:1 0 auto}.af{gap:16px}.ag{color:inherit}.ah{fill:inherit}.ai{font-size:inherit}.aj{border:inherit}.ak{font-family:inherit}.al{letter-spacing:inherit}.am{font-weight:inherit}.an{padding:0}.ao{margin:0}.ap{cursor:pointer}.aq:disabled{cursor:not-allowed}.ar:disabled{color:#6B6B6B}.as:disabled{fill:#6B6B6B}.av{width:auto}.aw path{fill:#242424}.ax{height:25px}.ay{border:none}.az{border-radius:20px}.ba{width:240px}.bb{background:#F9F9F9}.bc path{fill:#6B6B6B}.be{outline:none}.bf{font-family:sohne, "Helvetica Neue", Helvetica, Arial, sans-serif}.bg{font-size:14px}.bh{width:100%}.bi{padding:10px 20px 10px 0}.bj{background-color:transparent}.bk{color:#242424}.bl::placeholder{color:#6B6B6B}.bm{display:inline-block}.bn{margin-left:12px}.bo{margin-right:12px}.bp{border-radius:4px}.bq{margin-left:24px}.br{height:24px}.bx{background-color:#F9F9F9}.by{border-radius:50%}.bz{height:32px}.ca{width:32px}.cb{flex:0 0 auto}.cc{flex:1 1 auto}.cd{margin:auto}.ce{max-width:1336px}.cf{justify-content:space-evenly}.cl{height:100vh}.cm{justify-content:center}.cn{width:40px}.co{height:40px}.cp{border-width:2px}.cq{border-style:solid}.cr{border-color:#242424 transparent #242424 #242424}.cs{animation:k1 2s infinite linear;}.ct{padding-right:24px}.dl{box-sizing:border-box}.dm{border-left:1px solid #F2F2F2}.dn{min-height:100vh}.do{height:100%}.dp{position:relative}.dq{margin-left:8px}.dr{color:#6B6B6B}.ds{font-size:13px}.ek{color:#FFFFFF}.el{fill:#FFFFFF}.em{background:#1A8917}.eo{border-color:#1A8917}.es:disabled{cursor:inherit !important}.et:disabled{opacity:0.3}.eu:disabled:hover{background:#1A8917}.ev:disabled:hover{border-color:#1A8917}.ew{border-radius:99em}.ex{border-width:1px}.ey{text-decoration:none}.ez{text-align:center}.fa{margin-left:16px}.fd{margin-right:32px}.fe{fill:#6B6B6B}.fh{background:transparent}.fi svg{margin-left:4px}.fj svg{fill:#6B6B6B}.fl{box-shadow:inset 0 0 0 1px rgba(0, 0, 0, 0.05)}.fm{position:absolute}.fo{background-color:#F2F2F2}.fp{top:57px}.fq{min-height:calc(100vh - 57px)}.fr{flex-direction:column}.fs{padding-bottom:0px}.ft{border-bottom:none}.fu{margin-top:40px}.fv{height:88px}.fw{width:88px}.fy{margin-top:16px}.fz{align-items:baseline}.ga{flex-wrap:wrap}.gb{word-break:break-word}.gc{padding-right:8px}.gd{font-weight:500}.ge{font-size:16px}.gf{letter-spacing:0}.gg{margin-top:8px}.gh{line-height:24px}.gi{margin-top:12px}.gj{text-decoration:underline}.gk{word-wrap:break-word}.gl{margin-bottom:40px}.gm{margin-top:24px}.gn{padding:8px 16px}.go{stroke:#F2F2F2}.gp{height:36px}.gq{width:36px}.gr{color:#F2F2F2}.gs{fill:#F2F2F2}.gt{background:#F2F2F2}.gu{border-color:#F2F2F2}.ha{margin-bottom:16px}.hb{justify-content:space-between}.hc p{word-break:break-all}.hf{padding-right:10px}.hg{padding-right:12px}.hh{height:20px}.hi{width:20px}.hj{overflow:hidden}.hk{max-height:20px}.hl{text-overflow:ellipsis}.hm{display:-webkit-box}.hn{-webkit-line-clamp:1}.ho{-webkit-box-orient:vertical}.hp{word-break:break-all}.hr{padding:4px}.hu{border-radius:6px}.hv{border-radius:2px}.hw{padding:24px 0}.hx{flex-direction:row}.hy{margin-right:6px}.hz{font-size:11px}.ia{line-height:16px}.ib{min-width:0}.ic{margin:0 24px}.ig{box-shadow:inset 0 -1px 0 #F2F2F2}.jj{justify-content:flex-start}.jk{margin-right:20px}.jl{align-self:flex-start}.jm{height:48px}.jn{width:48px}.kn{color:rgba(25, 25, 25, 1)}.kq{margin-top:2px}.kr{overflow-x:scroll}.ks{overflow-y:hidden}.kt::-webkit-scrollbar{height:0}.ku::-webkit-scrollbar{width:0}.kv::-webkit-scrollbar{background:transparent}.kw{scrollbar-width:none}.kx{-ms-overflow-style:none}.ky{min-width:-webkit-max-content}.kz{padding:0px}.lb{padding-bottom:16px}.lc{border-bottom:1px solid #242424}.ld{min-width:max-content}.le{border-bottom:1px solid #F2F2F2}.lf{right:0}.lg{bottom:12px}.lh{padding-left:44px}.li{pointer-events:none}.lj{opacity:0}.lk{background:linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 1) 75%)}.ll{margin:2px}.lm svg path{fill:#6B6B6B}.lo{left:0}.lp{padding-right:44px}.lq{background:linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.75) 25%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 1) 75%)}.lr{padding:8px 0}.ls{box-sizing:content-box}.lt{white-space:pre-wrap}.lu{margin-bottom:20px}.lv{margin-left:2px}.lw{gap:10px}.lx a{position:relative}.ly a{z-index:2}.lz button{position:relative}.ma button{z-index:2}.mb a{position:static}.mc a::before{content:""}.md a::before{position:absolute}.me a::before{z-index:1}.mf a::before{top:0}.mg a::before{left:0}.mh a::before{bottom:0}.mi a::before{right:0}.mj a{display:flex}.mk a{flex-direction:column}.ml{font-weight:700}.ng{padding-top:8px}.nh{max-height:40px}.ni{-webkit-line-clamp:2}.nt{max-width:200px}.nu{height:16px}.nv{opacity:1}.nw{transition:opacity 300ms ease-out}.nx{width:80px}.ny{justify-content:flex-end}.nz{flex:0 0 0}.ob{padding:12px}.oh{padding-top:12px}.oi{height:0px}.oo{margin-top:32px}.ou{margin-right:8px}.ov{padding-right:4px}.at:hover:not(:disabled){color:rgba(25, 25, 25, 1)}.au:hover:not(:disabled){fill:rgba(25, 25, 25, 1)}.ep:hover{background:#156D12}.eq:hover{border-color:#156D12}.er:hover{cursor:pointer}.ff:hover{color:#242424}.fg:hover{fill:#242424}.fk:hover svg{fill:#242424}.fn:hover{background-color:rgba(0, 0, 0, 0.1)}.fx:hover{background-color:none}.gv:hover{background:#F2F2F2}.gw:hover{border-color:#F2F2F2}.gx:hover{cursor:wait}.gy:hover{color:#F2F2F2}.gz:hover{fill:#F2F2F2}.hd:hover p{text-decoration:underline}.he:hover p{color:rgba(61, 61, 61, 1)}.hs:hover path{fill:#000000}.la:hover{color:#000000 !important}.ln:hover svg path{fill:#000000}.oa:hover{color:#000000}.ow:hover{text-decoration:underline}.bd:focus-within path{fill:#242424}.ht:focus path{fill:#000000}</style><style type="text/css" data-fela-rehydration="412" data-fela-type="RULE" media="all and (min-width: 1080px)">.d{display:none}.bw{width:64px}.cg{max-width:calc(100% - 368px)}.dh{padding-left:clamp(24px, 24px + 100vw - 1080px, 40px)}.di{display:block}.dj{min-width:368px}.dk{max-width:368px}.eb{font-size:14px}.ec{line-height:20px}.ei{font-size:13px}.ej{padding:5px 12px}.fc{display:flex}.if{max-width:680px}.il{margin:52px 0 48px}.ja{margin-bottom:40px}.jb{align-items:center}.jc{justify-content:flex-end}.jd{flex-wrap:nowrap}.ji{margin-right:0}.ki{font-size:42px}.kj{line-height:52px}.kk{max-height:52px}.kl{-webkit-line-clamp:1}.km{letter-spacing:-0.011em}.nb{font-size:24px}.nc{line-height:30px}.nd{max-height:90px}.ne{-webkit-line-clamp:3}.nf{letter-spacing:-0.016em}.nr{padding-top:10px}.ns{width:100%}.og{margin-left:56px}.on{margin-top:20px}.ot{margin-bottom:16px}</style><style type="text/css" data-fela-rehydration="412" data-fela-type="RULE" media="all and (max-width: 1079.98px)">.e{display:none}</style><style type="text/css" data-fela-rehydration="412" data-fela-type="RULE" media="all and (max-width: 903.98px)">.f{display:none}</style><style type="text/css" data-fela-rehydration="412" data-fela-type="RULE" media="all and (max-width: 727.98px)">.g{display:none}</style><style type="text/css" data-fela-rehydration="412" data-fela-type="RULE" media="all and (max-width: 551.98px)">.h{display:none}.s{display:flex}.t{justify-content:space-between}.bs{width:24px}.ck{max-width:100%}.cu{padding-left:24px}.cv{min-width:352px}.cw{max-width:352px}.dt{font-size:13px}.du{line-height:20px}.ed{padding:0px 8px 1px}.ih{margin:24px 0}.im{margin-bottom:24px}.in{align-items:flex-start}.io{flex-wrap:wrap}.je{margin-right:0}.jo{font-size:24px}.jp{line-height:30px}.jq{max-height:120px}.jr{-webkit-line-clamp:4}.js{letter-spacing:-0.016em}.ko{flex-wrap:nowrap}.mm{font-size:20px}.mn{line-height:24px}.mo{max-height:96px}.mp{letter-spacing:0}.nj{padding-top:2px}.nk{width:100%}.oc{margin-left:24px}.oj{margin-top:20px}.op{margin-bottom:16px}</style><style type="text/css" data-fela-rehydration="412" data-fela-type="RULE" media="all and (min-width: 904px) and (max-width: 1079.98px)">.i{display:none}.bv{width:64px}.ch{max-width:calc(100% - 352px)}.dd{padding-left:24px}.de{display:block}.df{min-width:352px}.dg{max-width:352px}.dz{font-size:14px}.ea{line-height:20px}.eg{font-size:13px}.eh{padding:5px 12px}.fb{display:flex}.ie{max-width:680px}.ik{margin:52px 0 48px}.iw{margin-bottom:40px}.ix{align-items:center}.iy{justify-content:flex-end}.iz{flex-wrap:nowrap}.jh{margin-right:16px}.kd{font-size:42px}.ke{line-height:52px}.kf{max-height:52px}.kg{-webkit-line-clamp:1}.kh{letter-spacing:-0.011em}.mw{font-size:24px}.mx{line-height:30px}.my{max-height:90px}.mz{-webkit-line-clamp:3}.na{letter-spacing:-0.016em}.np{padding-top:10px}.nq{width:100%}.of{margin-left:56px}.om{margin-top:20px}.os{margin-bottom:16px}</style><style type="text/css" data-fela-rehydration="412" data-fela-type="RULE" media="all and (min-width: 728px) and (max-width: 903.98px)">.j{display:none}.w{display:flex}.x{justify-content:space-between}.bu{width:64px}.ci{max-width:100%}.da{padding-left:24px}.db{min-width:352px}.dc{max-width:352px}.dx{font-size:13px}.dy{line-height:20px}.ef{padding:0px 8px 1px}.id{max-width:680px}.ij{margin:52px 0 48px}.is{margin-bottom:40px}.it{align-items:flex-start}.iu{justify-content:flex-end}.iv{flex-wrap:nowrap}.jg{margin-right:16px}.jy{font-size:24px}.jz{line-height:30px}.ka{max-height:120px}.kb{-webkit-line-clamp:4}.kc{letter-spacing:-0.016em}.mu{max-height:90px}.mv{-webkit-line-clamp:3}.nn{padding-top:10px}.no{width:100%}.oe{margin-left:56px}.ol{margin-top:20px}.or{margin-bottom:16px}</style><style type="text/css" data-fela-rehydration="412" data-fela-type="RULE" media="all and (min-width: 552px) and (max-width: 727.98px)">.k{display:none}.u{display:flex}.v{justify-content:space-between}.bt{width:24px}.cj{max-width:100%}.cx{padding-left:24px}.cy{min-width:352px}.cz{max-width:352px}.dv{font-size:13px}.dw{line-height:20px}.ee{padding:0px 8px 1px}.ii{margin:24px 0}.ip{margin-bottom:24px}.iq{align-items:flex-start}.ir{flex-wrap:wrap}.jf{margin-right:0}.jt{font-size:24px}.ju{line-height:30px}.jv{max-height:120px}.jw{-webkit-line-clamp:4}.jx{letter-spacing:-0.016em}.kp{flex-wrap:nowrap}.mq{font-size:20px}.mr{line-height:24px}.ms{max-height:96px}.mt{letter-spacing:0}.nl{padding-top:2px}.nm{width:100%}.od{margin-left:24px}.ok{margin-top:20px}.oq{margin-bottom:16px}</style><style type="text/css" data-fela-rehydration="412" data-fela-type="RULE" media="(orientation: landscape) and (max-width: 903.98px)">.hq{max-height:none}</style></head><body><div id="root"><div class="a b c"><div class="d e f g h i j k"></div><script>document.domain = document.domain;</script><div class="l c"><div class="l m n o c"><div class="p q r s t u v w x i d y z"><a class="dr ah ds bf al b an ao ap aq ar as at au s u w i d q do z" href="https://rsci.app.link/?%24canonical_url=https%3A%2F%2Fmedium.com%2F&%7Efeature=LoOpenInAppButton&%7Echannel=ShowUser&source=---two_column_layout_nav-----------------------------------------" rel="noopener follow">Open in app<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" fill="none" viewBox="0 0 10 10" class="dq"><path fill="currentColor" d="M.985 8.485a.375.375 0 1 0 .53.53zM8.75 1.25h.375A.375.375 0 0 0 8.75.875zM8.375 6.5a.375.375 0 1 0 .75 0zM3.5.875a.375.375 0 1 0 0 .75zm-1.985 8.14 7.5-7.5-.53-.53-7.5 7.5zm6.86-7.765V6.5h.75V1.25zM3.5 1.625h5.25v-.75H3.5z"></path></svg></a><div class="ab q"><p class="bf b dt du dv dw dx dy dz ea eb ec dr"><span><a class="bf b dt du ed dv dw ee dx dy ef eg ea eh ei ec ej ek el em eo ep eq er es et eu ev ew ex cq dl bm ey ez" data-testid="headerSignUpButton" href="https://medium.com/m/signin?operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2F&source=user_profile_page---two_column_layout_nav-----------------------global_nav------------------" rel="noopener follow">Sign up</a></span></p><div class="fa l"><p class="bf b dt du dv dw dx dy dz ea eb ec dr"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" data-testid="headerSignInButton" href="https://medium.com/m/signin?operation=login&redirect=https%3A%2F%2Fblog.kusionstack.io%2F&source=user_profile_page---two_column_layout_nav-----------------------global_nav------------------" rel="noopener follow">Sign in</a></span></p></div></div></div><div class="p q r ab ac"><div class="ab q ae af"><a class="ag ah ai aj ak al am an ao ap aq ar as at au ab" aria-label="Homepage" data-testid="headerMediumLogo" href="https://medium.com/?source=---two_column_layout_nav-----------------------------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="719" height="160" fill="none" viewBox="0 0 719 160" class="av aw ax"><path fill="#242424" d="m174.104 9.734.215-.047V8.02H130.39L89.6 103.89 48.81 8.021H1.472v1.666l.212.047c8.018 1.81 12.09 4.509 12.09 14.242V137.93c0 9.734-4.087 12.433-12.106 14.243l-.212.047v1.671h32.118v-1.665l-.213-.048c-8.018-1.809-12.089-4.509-12.089-14.242V30.586l52.399 123.305h2.972l53.925-126.743V140.75c-.687 7.688-4.721 10.062-11.982 11.701l-.215.05v1.652h55.948v-1.652l-.215-.05c-7.269-1.639-11.4-4.013-12.087-11.701l-.037-116.774h.037c0-9.733 4.071-12.432 12.087-14.242m25.555 75.488c.915-20.474 8.268-35.252 20.606-35.507 3.806.063 6.998 1.312 9.479 3.714 5.272 5.118 7.751 15.812 7.368 31.793zm-.553 5.77h65.573v-.275c-.186-15.656-4.721-27.834-13.466-36.196-7.559-7.227-18.751-11.203-30.507-11.203h-.263c-6.101 0-13.584 1.48-18.909 4.16-6.061 2.807-11.407 7.003-15.855 12.511-7.161 8.874-11.499 20.866-12.554 34.343q-.05.606-.092 1.212a50 50 0 0 0-.065 1.151 85.807 85.807 0 0 0-.094 5.689c.71 30.524 17.198 54.917 46.483 54.917 25.705 0 40.675-18.791 44.407-44.013l-1.886-.664c-6.557 13.556-18.334 21.771-31.738 20.769-18.297-1.369-32.314-19.922-31.042-42.395m139.722 41.359c-2.151 5.101-6.639 7.908-12.653 7.908s-11.513-4.129-15.418-11.63c-4.197-8.053-6.405-19.436-6.405-32.92 0-28.067 8.729-46.22 22.24-46.22 5.657 0 10.111 2.807 12.236 7.704zm43.499 20.008c-8.019-1.897-12.089-4.722-12.089-14.951V1.309l-48.716 14.353v1.757l.299-.024c6.72-.543 11.278.386 13.925 2.83 2.072 1.915 3.082 4.853 3.082 8.987v18.66c-4.803-3.067-10.516-4.56-17.448-4.56-14.059 0-26.909 5.92-36.176 16.672-9.66 11.205-14.767 26.518-14.767 44.278-.003 31.72 15.612 53.039 38.851 53.039 13.595 0 24.533-7.449 29.54-20.013v16.865h43.711v-1.746zM424.1 19.819c0-9.904-7.468-17.374-17.375-17.374-9.859 0-17.573 7.632-17.573 17.374s7.721 17.374 17.573 17.374c9.907 0 17.375-7.47 17.375-17.374m11.499 132.546c-8.019-1.897-12.089-4.722-12.089-14.951h-.035V43.635l-43.714 12.551v1.705l.263.024c9.458.842 12.047 4.1 12.047 15.152v81.086h43.751v-1.746zm112.013 0c-8.018-1.897-12.089-4.722-12.089-14.951V43.635l-41.621 12.137v1.71l.246.026c7.733.813 9.967 4.257 9.967 15.36v59.279c-2.578 5.102-7.415 8.131-13.274 8.336-9.503 0-14.736-6.419-14.736-18.073V43.638l-43.714 12.55v1.703l.262.024c9.459.84 12.05 4.097 12.05 15.152v50.17a56.3 56.3 0 0 0 .91 10.444l.787 3.423c3.701 13.262 13.398 20.197 28.59 20.197 12.868 0 24.147-7.966 29.115-20.43v17.311h43.714v-1.747zm169.818 1.788v-1.749l-.213-.05c-8.7-2.006-12.089-5.789-12.089-13.49v-63.79c0-19.89-11.171-31.761-29.883-31.761-13.64 0-25.141 7.882-29.569 20.16-3.517-13.01-13.639-20.16-28.606-20.16-13.146 0-23.449 6.938-27.869 18.657V43.643L545.487 55.68v1.715l.263.024c9.345.829 12.047 4.181 12.047 14.95v81.784h40.787v-1.746l-.215-.053c-6.941-1.631-9.181-4.606-9.181-12.239V66.998c1.836-4.289 5.537-9.37 12.853-9.37 9.086 0 13.692 6.296 13.692 18.697v77.828h40.797v-1.746l-.215-.053c-6.94-1.631-9.18-4.606-9.18-12.239V75.066a42 42 0 0 0-.578-7.26c1.947-4.661 5.86-10.177 13.475-10.177 9.214 0 13.691 6.114 13.691 18.696v77.828z"></path></svg></a><div class="h"><div class="ab ay az ba bb q bc bd"><div class="bm" aria-hidden="false" aria-describedby="searchResults" aria-labelledby="searchResults"></div><div class="bn bo ab"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M4.092 11.06a6.95 6.95 0 1 1 13.9 0 6.95 6.95 0 0 1-13.9 0m6.95-8.05a8.05 8.05 0 1 0 5.13 14.26l3.75 3.75a.56.56 0 1 0 .79-.79l-3.73-3.73A8.05 8.05 0 0 0 11.042 3z" clip-rule="evenodd"></path></svg></div><input role="combobox" aria-controls="searchResults" aria-expanded="false" aria-label="search" data-testid="headerSearchInput" tabindex="0" class="ay be bf bg z bh bi bj bk bl" placeholder="Search" value=""/></div></div></div><div class="h k w fb fc"><div class="fd ab"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" data-testid="headerWriteButton" href="https://medium.com/m/signin?operation=register&redirect=https%3A%2F%2Fmedium.com%2Fnew-story&source=---two_column_layout_nav-----------------------new_post_topnav------------------" rel="noopener follow"><div class="bf b bg z dr dp fe ab q ff fg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24" aria-label="Write"><path fill="currentColor" d="M14 4a.5.5 0 0 0 0-1zm7 6a.5.5 0 0 0-1 0zm-7-7H4v1h10zM3 4v16h1V4zm1 17h16v-1H4zm17-1V10h-1v10zm-1 1a1 1 0 0 0 1-1h-1zM3 20a1 1 0 0 0 1 1v-1zM4 3a1 1 0 0 0-1 1h1z"></path><path stroke="currentColor" d="m17.5 4.5-8.458 8.458a.25.25 0 0 0-.06.098l-.824 2.47a.25.25 0 0 0 .316.316l2.47-.823a.25.25 0 0 0 .098-.06L19.5 6.5m-2-2 2.323-2.323a.25.25 0 0 1 .354 0l1.646 1.646a.25.25 0 0 1 0 .354L19.5 6.5m-2-2 2 2"></path></svg><div class="dq l">Write</div></div></a></span></div></div><div class="k j i d"><div class="fd ab"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" data-testid="headerSearchButton" href="https://medium.com/search?source=---two_column_layout_nav-----------------------------------------" rel="noopener follow"><div class="bf b bg z dr dp fe ab q ff fg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24" aria-label="Search"><path fill="currentColor" fill-rule="evenodd" d="M4.092 11.06a6.95 6.95 0 1 1 13.9 0 6.95 6.95 0 0 1-13.9 0m6.95-8.05a8.05 8.05 0 1 0 5.13 14.26l3.75 3.75a.56.56 0 1 0 .79-.79l-3.73-3.73A8.05 8.05 0 0 0 11.042 3z" clip-rule="evenodd"></path></svg></div></a></div></div><div class="fd h k j"><div class="ab q"><p class="bf b dt du dv dw dx dy dz ea eb ec dr"><span><a class="bf b dt du ed dv dw ee dx dy ef eg ea eh ei ec ej ek el em eo ep eq er es et eu ev ew ex cq dl bm ey ez" data-testid="headerSignUpButton" href="https://medium.com/m/signin?operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2F&source=user_profile_page---two_column_layout_nav-----------------------global_nav------------------" rel="noopener follow">Sign up</a></span></p><div class="fa l"><p class="bf b dt du dv dw dx dy dz ea eb ec dr"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" data-testid="headerSignInButton" href="https://medium.com/m/signin?operation=login&redirect=https%3A%2F%2Fblog.kusionstack.io%2F&source=user_profile_page---two_column_layout_nav-----------------------global_nav------------------" rel="noopener follow">Sign in</a></span></p></div></div></div><div class="l" aria-hidden="false"><button class="ay fh an ab q ap fi fj fk" aria-label="user options menu" data-testid="headerUserIcon"><div class="l dp"><img alt="" class="l dl by bz ca fo" src="https://miro.medium.com/v2/resize:fill:64:64/1*dmbNkD5D-u45r44go_cf0g.png" width="32" height="32" loading="lazy" role="presentation"/><div class="fl by l bz ca fm n ay fn"></div></div></button></div></div></div><div class="ab"><div class="cb" style="width:0"></div><div class="cc" style="width:100%"><div class="cd ce ab cf"><main class="cg ch ci cj ck l cc"><div class="dn ab fr c"><div class="l"><div class="ab cm"><div class="ib bh ic id ie if"><div class="ig ih ii ij ik il l"><div class="im in t io ip iq v ir is it iu iv iw ix iy iz ja jb jc jd ab"><div class="bh ab in iq it ix jb"><div class="je jf jg jh ji ab q jj cc"><div class="jk i d jl cb"><div class="l dp"><img alt="KusionStack" class="l dl by jm jn fo" src="https://miro.medium.com/v2/resize:fill:96:96/1*01EKocTpSlxpytDItu9Frw.png" width="48" height="48" loading="lazy"/><div class="fl by l jm jn fm n ay fx"></div></div></div><div class="l"><div class="ab ko kp iv iz jd"><span class="bf gd jo jp jq jr js jt ju jv jw jx jy jz ka kb kc kd ke kf kg kh ki kj kk kl km hj hl hm ho gb hq kn gc">KusionStack</span><div class="kq ab q"></div></div><div class="gg i d"><p class="bf b ge gh dr"><span class="pw-follower-count bf b ge gh dr"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" rel="noopener follow" href="/followers?source=user_profile_page----------------------aebb5f8bf4ad----------------------">76 Followers</a></span></p></div></div></div></div></div><nav class="ig hj l dp"><div class="ab q kr ks kt ku kv kw kx"><span class="ky l"><div class="lb lc fd ld l"><a class="ay ap kz" role="tab" rel="noopener follow" href="/?source=user_profile_page----------------------aebb5f8bf4ad----------------------"><p class="bf b bg z bk"><span class="ag la">Home</span></p></a></div></span><span class="ky l"><div class="lb le fd ld l"><a class="ay ap kz" role="tab" rel="noopener follow" href="/lists?source=user_profile_page----------------------aebb5f8bf4ad----------------------"><p class="bf b bg z dr"><span class="ag la">Lists</span></p></a></div></span><span class="ky l"><div class="lb le fd ld l"><a class="ay ap kz" role="tab" rel="noopener follow" href="/about?source=user_profile_page----------------------aebb5f8bf4ad----------------------"><p class="bf b bg z dr"><span class="ag la">About</span></p></a></div></span><div class="fm lf n lg lh ab q li lj lk"><button class="ay an ll ap lm ln" aria-label="next sections" tabindex="-1"><svg width="26px" height="26px" class="svgIcon-use" viewBox="0 0 19 19" style="transform:rotate(180deg)" aria-hidden="true"><path fill-rule="evenodd" d="M11.47 13.969 6.986 9.484 11.47 5l.553.492L8.03 9.484l3.993 3.993z"></path></svg></button></div><div class="fm lo n lg lp ab q li lj lq"><button class="ay an ll ap lm ln" aria-label="previous sections" tabindex="-1"><svg width="26px" height="26px" class="svgIcon-use" viewBox="0 0 19 19" aria-hidden="true"><path fill-rule="evenodd" d="M11.47 13.969 6.986 9.484 11.47 5l.553.492L8.03 9.484l3.993 3.993z"></path></svg></button></div></div></nav></div></div></div></div><div class="l ae"><div class="lr l"><div><div class="ab cm"><div class="ib bh ic id ie if"><div class="bh l"><article class="" data-testid="post-preview"><div class="ls l"><div class="bh do"><div class="l"><div class="lu lv ab q lw"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="dr cb"><path fill="currentColor" fill-rule="evenodd" d="M9.788 1.027a.5.5 0 1 0-.707.707l.59.589-3.32 3.319a2.17 2.17 0 0 1-1.346.626l-2.442.21a.833.833 0 0 0-.518 1.42l2.676 2.675-3.418 3.417a.5.5 0 1 0 .707.707l3.418-3.417 2.675 2.675a.833.833 0 0 0 1.42-.518l.209-2.441c.044-.51.266-.986.627-1.347l3.318-3.32.59.59a.5.5 0 0 0 .707-.707l-.943-.943-3.3-3.3zm-3.653 9.546 2.422 2.422.179-2.085c.063-.743.388-1.44.916-1.968l3.318-3.32-2.593-2.592L7.06 6.349a3.17 3.17 0 0 1-1.969.916l-2.084.178 2.422 2.422z" clip-rule="evenodd"></path></svg><div class="bf b ds z dr ab lt hj">Pinned</div></div><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://blog.kusionstack.io/configuration-management-at-ant-group-generated-manifest-immutable-desired-state-3c50e363a3fb" tabindex="0"><div class="bh lx ly lz ma"><div class="ab"></div><div class="ab"><div class="l cc gb"><div class="mb mc md me mf mg mh mi mj mk"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" rel="noopener follow" href="/configuration-management-at-ant-group-generated-manifest-immutable-desired-state-3c50e363a3fb?source=user_profile_page---------0-------------aebb5f8bf4ad----------------------"><h2 class="bf ml mm mn mo jr mp mq mr ms jw mt jy jz mu mv kc mw mx my mz na nb nc nd ne nf hj hl hm ho hq bk">Configuration Management at Ant Group: Generated Manifest & Immutable Desired State</h2><div class="ng"><h3 class="bf b ge z hj nh hl hm ni ho hq dr">Scaling beyond limits with operational excellence</h3></div></a></div><div class="h k"><div class="nj nk nl nm nn no np nq nr ns l"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Jan 21</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/configuration-management-at-ant-group-generated-manifest-immutable-desired-state-3c50e363a3fb?source=user_profile_page---------0-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F3c50e363a3fb&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fconfiguration-management-at-ant-group-generated-manifest-immutable-desired-state-3c50e363a3fb&source=---------0-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oc od oe of og l"><div aria-label="Configuration Management at Ant Group: Generated Manifest & Immutable Desired State"><div class="j i d"><img alt="Configuration Management at Ant Group: Generated Manifest & Immutable Desired State" class="bx hv" src="https://miro.medium.com/v2/resize:fill:160:106/0*pOnyjzIUkuEnqpuO.png" width="80" height="53" loading="lazy"/></div><div class="h k"><img alt="Configuration Management at Ant Group: Generated Manifest & Immutable Desired State" class="bx hv" src="https://miro.medium.com/v2/resize:fill:320:214/0*pOnyjzIUkuEnqpuO.png" width="160" height="107" loading="lazy"/></div></div></div></div><div class="oh j i d"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Jan 21</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/configuration-management-at-ant-group-generated-manifest-immutable-desired-state-3c50e363a3fb?source=user_profile_page---------0-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F3c50e363a3fb&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fconfiguration-management-at-ant-group-generated-manifest-immutable-desired-state-3c50e363a3fb&source=---------0-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oi bh r oj ok ol om on"></div></div></div></div></div></article></div></div></div><div class="ab cm"><div class="ib bh ic id ie if"><div class="oo bh l"><article class="" data-testid="post-preview"><div class="ls l"><div class="bh do"><div class="l"><div class="lu lv ab q lw"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="dr cb"><path fill="currentColor" fill-rule="evenodd" d="M9.788 1.027a.5.5 0 1 0-.707.707l.59.589-3.32 3.319a2.17 2.17 0 0 1-1.346.626l-2.442.21a.833.833 0 0 0-.518 1.42l2.676 2.675-3.418 3.417a.5.5 0 1 0 .707.707l3.418-3.417 2.675 2.675a.833.833 0 0 0 1.42-.518l.209-2.441c.044-.51.266-.986.627-1.347l3.318-3.32.59.59a.5.5 0 0 0 .707-.707l-.943-.943-3.3-3.3zm-3.653 9.546 2.422 2.422.179-2.085c.063-.743.388-1.44.916-1.968l3.318-3.32-2.593-2.592L7.06 6.349a3.17 3.17 0 0 1-1.969.916l-2.084.178 2.422 2.422z" clip-rule="evenodd"></path></svg><div class="bf b ds z dr ab lt hj">Pinned</div></div><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://blog.kusionstack.io/kusionstack-joins-the-cncf-sandbox-b03fc8500978" tabindex="0"><div class="bh lx ly lz ma"><div class="ab"></div><div class="ab"><div class="l cc gb"><div class="mb mc md me mf mg mh mi mj mk"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" rel="noopener follow" href="/kusionstack-joins-the-cncf-sandbox-b03fc8500978?source=user_profile_page---------1-------------aebb5f8bf4ad----------------------"><h2 class="bf ml mm mn mo jr mp mq mr ms jw mt jy jz mu mv kc mw mx my mz na nb nc nd ne nf hj hl hm ho hq bk">KusionStack joins the CNCF Sandbox!</h2><div class="ng"><h3 class="bf b ge z hj nh hl hm ni ho hq dr">With the holiday season approaching, we have wonderful news to share.</h3></div></a></div><div class="h k"><div class="nj nk nl nm nn no np nq nr ns l"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Dec 30, 2024</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/kusionstack-joins-the-cncf-sandbox-b03fc8500978?source=user_profile_page---------1-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Fb03fc8500978&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fkusionstack-joins-the-cncf-sandbox-b03fc8500978&source=---------1-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oc od oe of og l"><div aria-label="KusionStack joins the CNCF Sandbox!"><div class="j i d"><img alt="KusionStack joins the CNCF Sandbox!" class="bx hv" src="https://miro.medium.com/v2/da:true/resize:fill:160:106/0*MVyDZt6Em-q8z3dC" width="80" height="53" loading="lazy"/></div><div class="h k"><img alt="KusionStack joins the CNCF Sandbox!" class="bx hv" src="https://miro.medium.com/v2/da:true/resize:fill:320:214/0*MVyDZt6Em-q8z3dC" width="160" height="107" loading="lazy"/></div></div></div></div><div class="oh j i d"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Dec 30, 2024</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/kusionstack-joins-the-cncf-sandbox-b03fc8500978?source=user_profile_page---------1-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Fb03fc8500978&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fkusionstack-joins-the-cncf-sandbox-b03fc8500978&source=---------1-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oi bh r oj ok ol om on"></div></div></div></div></div></article></div></div></div><div class="ab cm"><div class="ib bh ic id ie if"><div class="oo bh l"><article class="" data-testid="post-preview"><div class="ls l"><div class="bh do"><div class="l"><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://blog.kusionstack.io/kusionstack-kcl-2024-annual-report-89ad2a1fe2a7" tabindex="0"><div class="bh lx ly lz ma"><div class="ab"></div><div class="ab"><div class="l cc gb"><div class="mb mc md me mf mg mh mi mj mk"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" rel="noopener follow" href="/kusionstack-kcl-2024-annual-report-89ad2a1fe2a7?source=user_profile_page---------2-------------aebb5f8bf4ad----------------------"><h2 class="bf ml mm mn mo jr mp mq mr ms jw mt jy jz mu mv kc mw mx my mz na nb nc nd ne nf hj hl hm ho hq bk">KusionStack & KCL 2024 Annual Report</h2><div class="ng"><h3 class="bf b ge z hj nh hl hm ni ho hq dr">As we bid farewell to the old and welcome the new year, we are pleased to announce the release of KusionStack & KCL 2024 Annual Report…</h3></div></a></div><div class="h k"><div class="nj nk nl nm nn no np nq nr ns l"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Jan 28</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/kusionstack-kcl-2024-annual-report-89ad2a1fe2a7?source=user_profile_page---------2-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F89ad2a1fe2a7&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fkusionstack-kcl-2024-annual-report-89ad2a1fe2a7&source=---------2-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oc od oe of og l"><div aria-label="KusionStack & KCL 2024 Annual Report"><div class="j i d"><img alt="KusionStack & KCL 2024 Annual Report" class="bx hv" src="https://miro.medium.com/v2/resize:fill:160:106/1*RNoai8CYfp7Mjpkp3KpEgA.png" width="80" height="53" loading="lazy"/></div><div class="h k"><img alt="KusionStack & KCL 2024 Annual Report" class="bx hv" src="https://miro.medium.com/v2/resize:fill:320:214/1*RNoai8CYfp7Mjpkp3KpEgA.png" width="160" height="107" loading="lazy"/></div></div></div></div><div class="oh j i d"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Jan 28</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/kusionstack-kcl-2024-annual-report-89ad2a1fe2a7?source=user_profile_page---------2-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F89ad2a1fe2a7&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fkusionstack-kcl-2024-annual-report-89ad2a1fe2a7&source=---------2-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oi bh r oj ok ol om on"></div></div></div></div></div></article></div></div></div><div class="ab cm"><div class="ib bh ic id ie if"><div class="oo bh l"><article class="" data-testid="post-preview"><div class="ls l"><div class="bh do"><div class="l"><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://blog.kusionstack.io/karpor-v0-5-0-released-a-more-secure-and-user-friendly-kubernetes-data-plane-07d231b65938" tabindex="0"><div class="bh lx ly lz ma"><div class="ab"></div><div class="ab"><div class="l cc gb"><div class="mb mc md me mf mg mh mi mj mk"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" rel="noopener follow" href="/karpor-v0-5-0-released-a-more-secure-and-user-friendly-kubernetes-data-plane-07d231b65938?source=user_profile_page---------3-------------aebb5f8bf4ad----------------------"><h2 class="bf ml mm mn mo jr mp mq mr ms jw mt jy jz mu mv kc mw mx my mz na nb nc nd ne nf hj hl hm ho hq bk">Karpor v0.5.0 Released — A More Secure and User-Friendly Kubernetes Data Plane</h2><div class="ng"><h3 class="bf b ge z hj nh hl hm ni ho hq dr">The KusionStack team is delighted to announce that Karpor v0.5.0 release is now available! This update brings four major highlights for…</h3></div></a></div><div class="h k"><div class="nj nk nl nm nn no np nq nr ns l"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Nov 6, 2024</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/karpor-v0-5-0-released-a-more-secure-and-user-friendly-kubernetes-data-plane-07d231b65938?source=user_profile_page---------3-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F07d231b65938&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fkarpor-v0-5-0-released-a-more-secure-and-user-friendly-kubernetes-data-plane-07d231b65938&source=---------3-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oc od oe of og l"><div aria-label="Karpor v0.5.0 Released — A More Secure and User-Friendly Kubernetes Data Plane"><div class="j i d"><img alt="Karpor v0.5.0 Released — A More Secure and User-Friendly Kubernetes Data Plane" class="bx hv" src="https://miro.medium.com/v2/resize:fill:160:106/1*hqmYR2UlEFy7wF-u1dXxcg.png" width="80" height="53" loading="lazy"/></div><div class="h k"><img alt="Karpor v0.5.0 Released — A More Secure and User-Friendly Kubernetes Data Plane" class="bx hv" src="https://miro.medium.com/v2/resize:fill:320:214/1*hqmYR2UlEFy7wF-u1dXxcg.png" width="160" height="107" loading="lazy"/></div></div></div></div><div class="oh j i d"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Nov 6, 2024</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/karpor-v0-5-0-released-a-more-secure-and-user-friendly-kubernetes-data-plane-07d231b65938?source=user_profile_page---------3-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F07d231b65938&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fkarpor-v0-5-0-released-a-more-secure-and-user-friendly-kubernetes-data-plane-07d231b65938&source=---------3-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oi bh r oj ok ol om on"></div></div></div></div></div></article></div></div></div><div class="ab cm"><div class="ib bh ic id ie if"><div class="oo bh l"><article class="" data-testid="post-preview"><div class="ls l"><div class="bh do"><div class="l"><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://blog.kusionstack.io/kusion-v0-13-0-release-enhanced-cli-features-and-ai-application-support-2d213b0d052a" tabindex="0"><div class="bh lx ly lz ma"><div class="ab"></div><div class="ab"><div class="l cc gb"><div class="mb mc md me mf mg mh mi mj mk"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" rel="noopener follow" href="/kusion-v0-13-0-release-enhanced-cli-features-and-ai-application-support-2d213b0d052a?source=user_profile_page---------4-------------aebb5f8bf4ad----------------------"><h2 class="bf ml mm mn mo jr mp mq mr ms jw mt jy jz mu mv kc mw mx my mz na nb nc nd ne nf hj hl hm ho hq bk">Kusion v0.13.0 Release: Enhanced CLI Features and AI Application Support!</h2><div class="ng"><h3 class="bf b ge z hj nh hl hm ni ho hq dr">We are happy to announce that the Kusion v0.13.0 Release has been published!</h3></div></a></div><div class="h k"><div class="nj nk nl nm nn no np nq nr ns l"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Sep 30, 2024</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/kusion-v0-13-0-release-enhanced-cli-features-and-ai-application-support-2d213b0d052a?source=user_profile_page---------4-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F2d213b0d052a&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fkusion-v0-13-0-release-enhanced-cli-features-and-ai-application-support-2d213b0d052a&source=---------4-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oc od oe of og l"><div aria-label="Kusion v0.13.0 Release: Enhanced CLI Features and AI Application Support!"><div class="j i d"><img alt="Kusion v0.13.0 Release: Enhanced CLI Features and AI Application Support!" class="bx hv" src="https://miro.medium.com/v2/resize:fill:160:106/1*yj6DHo3eRDSC9iSjb_BmEg.png" width="80" height="53" loading="lazy"/></div><div class="h k"><img alt="Kusion v0.13.0 Release: Enhanced CLI Features and AI Application Support!" class="bx hv" src="https://miro.medium.com/v2/resize:fill:320:214/1*yj6DHo3eRDSC9iSjb_BmEg.png" width="160" height="107" loading="lazy"/></div></div></div></div><div class="oh j i d"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Sep 30, 2024</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/kusion-v0-13-0-release-enhanced-cli-features-and-ai-application-support-2d213b0d052a?source=user_profile_page---------4-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F2d213b0d052a&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fkusion-v0-13-0-release-enhanced-cli-features-and-ai-application-support-2d213b0d052a&source=---------4-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oi bh r oj ok ol om on"></div></div></div></div></div></article></div></div></div><div class="ab cm"><div class="ib bh ic id ie if"><div class="oo bh l"><article class="" data-testid="post-preview"><div class="ls l"><div class="bh do"><div class="l"><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://blog.kusionstack.io/applying-raw-kubernetes-manifest-with-kusion-87c49fc45a66" tabindex="0"><div class="bh lx ly lz ma"><div class="ab"></div><div class="ab"><div class="l cc gb"><div class="mb mc md me mf mg mh mi mj mk"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" rel="noopener follow" href="/applying-raw-kubernetes-manifest-with-kusion-87c49fc45a66?source=user_profile_page---------5-------------aebb5f8bf4ad----------------------"><h2 class="bf ml mm mn mo jr mp mq mr ms jw mt jy jz mu mv kc mw mx my mz na nb nc nd ne nf hj hl hm ho hq bk">Applying Raw Kubernetes Manifest with Kusion</h2><div class="ng"><h3 class="bf b ge z hj nh hl hm ni ho hq dr">Kusion now supports applying raw Kubernetes manifests with k8s_manifest module! Feel free to give it a try : )</h3></div></a></div><div class="h k"><div class="nj nk nl nm nn no np nq nr ns l"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Aug 9, 2024</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/applying-raw-kubernetes-manifest-with-kusion-87c49fc45a66?source=user_profile_page---------5-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F87c49fc45a66&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fapplying-raw-kubernetes-manifest-with-kusion-87c49fc45a66&source=---------5-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oc od oe of og l"><div aria-label="Applying Raw Kubernetes Manifest with Kusion"><div class="j i d"><img alt="Applying Raw Kubernetes Manifest with Kusion" class="bx hv" src="https://miro.medium.com/v2/resize:fill:160:106/1*eoIUoScqJ-_hwpw0toYdBw.png" width="80" height="53" loading="lazy"/></div><div class="h k"><img alt="Applying Raw Kubernetes Manifest with Kusion" class="bx hv" src="https://miro.medium.com/v2/resize:fill:320:214/1*eoIUoScqJ-_hwpw0toYdBw.png" width="160" height="107" loading="lazy"/></div></div></div></div><div class="oh j i d"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Aug 9, 2024</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/applying-raw-kubernetes-manifest-with-kusion-87c49fc45a66?source=user_profile_page---------5-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F87c49fc45a66&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fapplying-raw-kubernetes-manifest-with-kusion-87c49fc45a66&source=---------5-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oi bh r oj ok ol om on"></div></div></div></div></div></article></div></div></div><div class="ab cm"><div class="ib bh ic id ie if"><div class="oo bh l"><article class="" data-testid="post-preview"><div class="ls l"><div class="bh do"><div class="l"><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://blog.kusionstack.io/kusion-v0-12-1-release-improve-comprehensive-capabilities-and-optimize-user-experience-0375075d8fde" tabindex="0"><div class="bh lx ly lz ma"><div class="ab"></div><div class="ab"><div class="l cc gb"><div class="mb mc md me mf mg mh mi mj mk"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" rel="noopener follow" href="/kusion-v0-12-1-release-improve-comprehensive-capabilities-and-optimize-user-experience-0375075d8fde?source=user_profile_page---------6-------------aebb5f8bf4ad----------------------"><h2 class="bf ml mm mn mo jr mp mq mr ms jw mt jy jz mu mv kc mw mx my mz na nb nc nd ne nf hj hl hm ho hq bk">Kusion v0.12.1 Release: Improve Comprehensive Capabilities and Optimize User Experience</h2><div class="ng"><h3 class="bf b ge z hj nh hl hm ni ho hq dr">We are happy to announce that the Kusion v0.12.1 Release has been published!</h3></div></a></div><div class="h k"><div class="nj nk nl nm nn no np nq nr ns l"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Aug 2, 2024</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/kusion-v0-12-1-release-improve-comprehensive-capabilities-and-optimize-user-experience-0375075d8fde?source=user_profile_page---------6-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F0375075d8fde&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fkusion-v0-12-1-release-improve-comprehensive-capabilities-and-optimize-user-experience-0375075d8fde&source=---------6-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oc od oe of og l"><div aria-label="Kusion v0.12.1 Release: Improve Comprehensive Capabilities and Optimize User Experience"><div class="j i d"><img alt="Kusion v0.12.1 Release: Improve Comprehensive Capabilities and Optimize User Experience" class="bx hv" src="https://miro.medium.com/v2/resize:fill:160:106/1*nQDpH4cVEmiwUcC-35Oyfw.png" width="80" height="53" loading="lazy"/></div><div class="h k"><img alt="Kusion v0.12.1 Release: Improve Comprehensive Capabilities and Optimize User Experience" class="bx hv" src="https://miro.medium.com/v2/resize:fill:320:214/1*nQDpH4cVEmiwUcC-35Oyfw.png" width="160" height="107" loading="lazy"/></div></div></div></div><div class="oh j i d"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Aug 2, 2024</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/kusion-v0-12-1-release-improve-comprehensive-capabilities-and-optimize-user-experience-0375075d8fde?source=user_profile_page---------6-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F0375075d8fde&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fkusion-v0-12-1-release-improve-comprehensive-capabilities-and-optimize-user-experience-0375075d8fde&source=---------6-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oi bh r oj ok ol om on"></div></div></div></div></div></article></div></div></div><div class="ab cm"><div class="ib bh ic id ie if"><div class="oo bh l"><article class="" data-testid="post-preview"><div class="ls l"><div class="bh do"><div class="l"><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://blog.kusionstack.io/karpor-has-been-open-sourced-build-a-kubernetes-visualization-tool-in-the-ai-era-6aa2882b35a2" tabindex="0"><div class="bh lx ly lz ma"><div class="ab"></div><div class="ab"><div class="l cc gb"><div class="mb mc md me mf mg mh mi mj mk"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" rel="noopener follow" href="/karpor-has-been-open-sourced-build-a-kubernetes-visualization-tool-in-the-ai-era-6aa2882b35a2?source=user_profile_page---------7-------------aebb5f8bf4ad----------------------"><h2 class="bf ml mm mn mo jr mp mq mr ms jw mt jy jz mu mv kc mw mx my mz na nb nc nd ne nf hj hl hm ho hq bk">Karpor Has Been Open-Sourced! Build a Kubernetes Visualization Tool in the AI era</h2><div class="ng"><h3 class="bf b ge z hj nh hl hm ni ho hq dr">Karpor is a Modern Kubernetes Visualization Tool. Its core features focus on 🔍 Search, 📊 Insight and ✨ AI.</h3></div></a></div><div class="h k"><div class="nj nk nl nm nn no np nq nr ns l"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Jul 1, 2024</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/karpor-has-been-open-sourced-build-a-kubernetes-visualization-tool-in-the-ai-era-6aa2882b35a2?source=user_profile_page---------7-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F6aa2882b35a2&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fkarpor-has-been-open-sourced-build-a-kubernetes-visualization-tool-in-the-ai-era-6aa2882b35a2&source=---------7-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oc od oe of og l"><div aria-label="Karpor Has Been Open-Sourced! Build a Kubernetes Visualization Tool in the AI era"><div class="j i d"><img alt="Karpor Has Been Open-Sourced! Build a Kubernetes Visualization Tool in the AI era" class="bx hv" src="https://miro.medium.com/v2/resize:fill:160:106/0*tQEAHm6KOxZn5lLT.png" width="80" height="53" loading="lazy"/></div><div class="h k"><img alt="Karpor Has Been Open-Sourced! Build a Kubernetes Visualization Tool in the AI era" class="bx hv" src="https://miro.medium.com/v2/resize:fill:320:214/0*tQEAHm6KOxZn5lLT.png" width="160" height="107" loading="lazy"/></div></div></div></div><div class="oh j i d"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Jul 1, 2024</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/karpor-has-been-open-sourced-build-a-kubernetes-visualization-tool-in-the-ai-era-6aa2882b35a2?source=user_profile_page---------7-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F6aa2882b35a2&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fkarpor-has-been-open-sourced-build-a-kubernetes-visualization-tool-in-the-ai-era-6aa2882b35a2&source=---------7-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oi bh r oj ok ol om on"></div></div></div></div></div></article></div></div></div><div class="ab cm"><div class="ib bh ic id ie if"><div class="oo bh l"><article class="" data-testid="post-preview"><div class="ls l"><div class="bh do"><div class="l"><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://blog.kusionstack.io/a-blend-of-fire-and-ice-accelerating-innovations-across-internet-and-financial-services-via-1e87adecab0d" tabindex="0"><div class="bh lx ly lz ma"><div class="ab"><div class="op oq or os ot ab q"><div class="ou l"><div><div class="l" aria-hidden="false"><a href="https://medium.com/kusionstack?source=user_profile_page---------8-------------aebb5f8bf4ad----------------------" rel="noopener follow"><div class="dp"><img alt="KusionStack" class="fo hv l hi hh" src="https://miro.medium.com/v2/resize:fill:40:40/1*te6Alui19E2JKyAyBHGzig.png" width="20" height="20" loading="lazy"/><div class="hv l hh hi fm n fl fn"></div></div></a></div></div></div><div class="ov l"><p class="bf b ds z dr">Published in</p></div><div class="l"><div><div class="l" aria-hidden="false"><a class="ag ah ai aj ak al am an ao ap aq ar as ow ab q" href="https://medium.com/kusionstack?source=user_profile_page---------8-------------aebb5f8bf4ad----------------------" rel="noopener follow"><p class="bf b ds z hj hk hl hm hn ho hp hq bk">KusionStack</p></a></div></div></div></div></div><div class="ab"><div class="l cc gb"><div class="mb mc md me mf mg mh mi mj mk"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" rel="noopener follow" href="/a-blend-of-fire-and-ice-accelerating-innovations-across-internet-and-financial-services-via-1e87adecab0d?source=user_profile_page---------8-------------aebb5f8bf4ad----------------------"><h2 class="bf ml mm mn mo jr mp mq mr ms jw mt jy jz mu mv kc mw mx my mz na nb nc nd ne nf hj hl hm ho hq bk">A Blend of Fire and Ice: Accelerating Innovations Across Internet and Financial Services via…</h2><div class="ng"><h3 class="bf b ge z hj nh hl hm ni ho hq dr">If you are also building an IDP, our practical experience might be helpful to you.</h3></div></a></div><div class="h k"><div class="nj nk nl nm nn no np nq nr ns l"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Jun 28, 2024</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/a-blend-of-fire-and-ice-accelerating-innovations-across-internet-and-financial-services-via-1e87adecab0d?source=user_profile_page---------8-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F1e87adecab0d&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fkusionstack%2Fa-blend-of-fire-and-ice-accelerating-innovations-across-internet-and-financial-services-via-1e87adecab0d&source=---------8-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oc od oe of og l"><div aria-label="A Blend of Fire and Ice: Accelerating Innovations Across Internet and Financial Services via…"><div class="j i d"><img alt="A Blend of Fire and Ice: Accelerating Innovations Across Internet and Financial Services via…" class="bx hv" src="https://miro.medium.com/v2/resize:fill:160:106/1*EP0TLCjxmFK9xd6KCvANlA.jpeg" width="80" height="53" loading="lazy"/></div><div class="h k"><img alt="A Blend of Fire and Ice: Accelerating Innovations Across Internet and Financial Services via…" class="bx hv" src="https://miro.medium.com/v2/resize:fill:320:214/1*EP0TLCjxmFK9xd6KCvANlA.jpeg" width="160" height="107" loading="lazy"/></div></div></div></div><div class="oh j i d"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Jun 28, 2024</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/a-blend-of-fire-and-ice-accelerating-innovations-across-internet-and-financial-services-via-1e87adecab0d?source=user_profile_page---------8-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F1e87adecab0d&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fkusionstack%2Fa-blend-of-fire-and-ice-accelerating-innovations-across-internet-and-financial-services-via-1e87adecab0d&source=---------8-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oi bh r oj ok ol om on"></div></div></div></div></div></article></div></div></div><div class="ab cm"><div class="ib bh ic id ie if"><div class="oo bh l"><article class="" data-testid="post-preview"><div class="ls l"><div class="bh do"><div class="l"><div class="bh l"><div style="position:relative;display:flex" role="link" data-href="https://blog.kusionstack.io/kusion-v0-12-0-release-optimize-comprehensive-capabilities-and-provide-production-practice-cases-a8c3efbe51bd" tabindex="0"><div class="bh lx ly lz ma"><div class="ab"></div><div class="ab"><div class="l cc gb"><div class="mb mc md me mf mg mh mi mj mk"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" rel="noopener follow" href="/kusion-v0-12-0-release-optimize-comprehensive-capabilities-and-provide-production-practice-cases-a8c3efbe51bd?source=user_profile_page---------9-------------aebb5f8bf4ad----------------------"><h2 class="bf ml mm mn mo jr mp mq mr ms jw mt jy jz mu mv kc mw mx my mz na nb nc nd ne nf hj hl hm ho hq bk">Kusion v0.12.0 Release: Optimize Comprehensive Capabilities and Provide Production Practice Cases</h2><div class="ng"><h3 class="bf b ge z hj nh hl hm ni ho hq dr">We are happy to announce that the Kusion v0.12.0 Release has been published!</h3></div></a></div><div class="h k"><div class="nj nk nl nm nn no np nq nr ns l"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Jun 14, 2024</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/kusion-v0-12-0-release-optimize-comprehensive-capabilities-and-provide-production-practice-cases-a8c3efbe51bd?source=user_profile_page---------9-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Fa8c3efbe51bd&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fkusion-v0-12-0-release-optimize-comprehensive-capabilities-and-provide-production-practice-cases-a8c3efbe51bd&source=---------9-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oc od oe of og l"><div aria-label="Kusion v0.12.0 Release: Optimize Comprehensive Capabilities and Provide Production Practice Cases"><div class="j i d"><img alt="Kusion v0.12.0 Release: Optimize Comprehensive Capabilities and Provide Production Practice Cases" class="bx hv" src="https://miro.medium.com/v2/resize:fill:160:106/1*DxMFv58goYQgjKuKBFUq7g.png" width="80" height="53" loading="lazy"/></div><div class="h k"><img alt="Kusion v0.12.0 Release: Optimize Comprehensive Capabilities and Provide Production Practice Cases" class="bx hv" src="https://miro.medium.com/v2/resize:fill:320:214/1*DxMFv58goYQgjKuKBFUq7g.png" width="160" height="107" loading="lazy"/></div></div></div></div><div class="oh j i d"><span class="bf b ds z dr"><div class="jm ab hb ae"><div class="ab q af"><span>Jun 14, 2024</span><div class="h k j i d"><div class="dp nt nu ab q"><div class="fm nv nw ab q af"><div class="fa nu nx l fo"></div></div><a class="fm lj nw ab q af" tabindex="-1" rel="noopener follow" href="/kusion-v0-12-0-release-optimize-comprehensive-capabilities-and-provide-production-practice-cases-a8c3efbe51bd?source=user_profile_page---------9-------------aebb5f8bf4ad----------------------"></a></div></div></div><div class="ab q ny nz"><div class="h k j i d"><div><div class="bm" aria-hidden="false"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Fa8c3efbe51bd&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2Fkusion-v0-12-0-release-optimize-comprehensive-capabilities-and-provide-production-practice-cases-a8c3efbe51bd&source=---------9-------------aebb5f8bf4ad----bookmark_preview------------------" rel="noopener follow"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="dr oa ob" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div></div></div></span></div></div></div><div class="oi bh r oj ok ol om on"></div></div></div></div></div></article></div></div></div><div></div></div></div></div></div></main><div class="ct cu h cv cw cx k cy cz da j db dc dd de df dg dh di dj dk dl c dm dn"><div class="do bh bm dp"><div class="l m fp"><div class="fq ab fr"><div class="l ae"><div class="fs ft fu l"><div class="l dp"><img alt="KusionStack" class="l dl by fv fw fo" src="https://miro.medium.com/v2/resize:fill:176:176/1*01EKocTpSlxpytDItu9Frw.png" width="88" height="88" loading="lazy"/><div class="fl by l fv fw fm n ay fx"></div></div><div class="fy ab fz ga"><h2 class="pw-author-name bf gd ge z gf bk"><span class="gb gc">KusionStack</span></h2></div><div class="gg l"><span class="pw-follower-count bf b ge gh dr"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" rel="noopener follow" href="/followers?source=user_profile_page---user_sidebar-------------------aebb5f8bf4ad----------------------">76 Followers</a></span></div><div class="gi l"><p class="bf b bg z dr"><a class="ag ah ai aj ak al am an ao ap aq ar as gj gk" href="https://kusionstack.io/" rel="noopener ugc nofollow">https://kusionstack.io/</a> - Open Tech Stack to build self-service, collaborative, reliable and sustainable Internal Developer Platform.</p></div><div class="gl gm ab"><span><a class="bf b bg z ek gn el em eo ep eq er es et eu ev ew av ex cq dl bm ey ez" href="https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fsubscribe%2Fuser%2Faebb5f8bf4ad&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2F&user=KusionStack&userId=aebb5f8bf4ad&source=user_profile_page-aebb5f8bf4ad--user_sidebar-------------------aebb5f8bf4ad----follow_profile------------------" rel="noopener follow">Follow</a></span><div class="dq l"><div><div><div class="bm" aria-hidden="false"><div class="l"><span><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/m/signin?actionUrl=%2F_%2Fapi%2Fsubscriptions%2Fnewsletters%2F8baf91c3be1b&operation=register&redirect=https%3A%2F%2Fblog.kusionstack.io%2F&newsletterV3=aebb5f8bf4ad&newsletterV3Id=8baf91c3be1b&user=KusionStack&userId=aebb5f8bf4ad&source=---user_sidebar-------------------aebb5f8bf4ad----subscribe_user------------------" rel="noopener follow"><button class="bf b bg z gr an gs gt gu gv gw gx gy gz es et eu ev ew ex cq dl bm ey ez" aria-label="Subscribe"><svg xmlns="http://www.w3.org/2000/svg" width="38" height="38" fill="none" viewBox="0 0 38 38" class="go gp gq"><rect width="0.5" height="6.5" x="26.25" y="9.25" rx="0.25"></rect><rect width="0.5" height="6.5" x="29.75" y="12.25" rx="0.25" transform="rotate(90 29.75 12.25)"></rect><path d="M19.5 12.5h-7a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1v-5"></path><path d="M11.5 14.5 19 20l4-3"></path></svg></button></a></span></div></div></div></div></div></div><div class="l dp"><span class="bf gd ge z gf bk">Following</span><ul class="ha fy l"><li class="ab q hb"><a class="ag ah ai aj ak al am an ao ap aq ar as at au hc hd he" href="https://medium.com/@bgrant0607?source=user_profile_page---blogroll-------------------aebb5f8bf4ad----------------------" rel="noopener follow"><div class="hf ab"><div class="hg l"><div class="l dp"><img alt="Brian Grant" class="l dl by hh hi fo" src="https://miro.medium.com/v2/resize:fill:40:40/1*IswKlFXcN7a_0bsXVi8l9A.jpeg" width="20" height="20" loading="lazy"/><div class="fl by l hh hi fm n ay fx"></div></div></div><p class="bf b ds z hj hk hl hm hn ho hp hq dr">Brian Grant</p></div></a><div class="bm" aria-hidden="false" aria-describedby="creatorInfoPopover-ccdbe9a99319" aria-labelledby="creatorInfoPopover-ccdbe9a99319" aria-haspopup="dialog"><button class="ag ah ai aj ak al am hr ao ap aq ar as at au bc hs ht gv hu" aria-controls="creatorInfoPopover-ccdbe9a99319" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M4.385 12c0 .55.2 1.02.59 1.41.39.4.86.59 1.41.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.02.2-1.41.59-.4.39-.59.86-.59 1.41m5.62 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.42.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.03.2-1.42.59s-.58.86-.58 1.41m5.6 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.43.59s1.03-.2 1.42-.59.58-.86.58-1.41-.2-1.02-.58-1.41a1.93 1.93 0 0 0-1.42-.59c-.56 0-1.04.2-1.43.59s-.58.86-.58 1.41" clip-rule="evenodd"></path></svg></button></div></li><li class="ab q hb"><a class="ag ah ai aj ak al am an ao ap aq ar as at au hc hd he" href="https://blog.devgenius.io/?source=user_profile_page---blogroll-------------------aebb5f8bf4ad----------------------" rel="noopener follow"><div class="hf ab"><div class="hg l"><div class="dp"><img alt="Dev Genius" class="fo hv l hi hh" src="https://miro.medium.com/v2/resize:fill:40:40/1*CvejhRq3NYsivxILYXEdfA.jpeg" width="20" height="20" loading="lazy"/><div class="hv l hh hi fm n fl fx"></div></div></div><p class="bf b ds z hj hk hl hm hn ho hp hq dr">Dev Genius</p></div></a><div class="bm" aria-hidden="false" aria-describedby="creatorInfoPopover-4e2c1156667e" aria-labelledby="creatorInfoPopover-4e2c1156667e" aria-haspopup="dialog"><button class="ag ah ai aj ak al am hr ao ap aq ar as at au bc hs ht gv hu" aria-controls="creatorInfoPopover-4e2c1156667e" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M4.385 12c0 .55.2 1.02.59 1.41.39.4.86.59 1.41.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.02.2-1.41.59-.4.39-.59.86-.59 1.41m5.62 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.42.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.03.2-1.42.59s-.58.86-.58 1.41m5.6 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.43.59s1.03-.2 1.42-.59.58-.86.58-1.41-.2-1.02-.58-1.41a1.93 1.93 0 0 0-1.42-.59c-.56 0-1.04.2-1.43.59s-.58.86-.58 1.41" clip-rule="evenodd"></path></svg></button></div></li><li class="ab q hb"><a class="ag ah ai aj ak al am an ao ap aq ar as at au hc hd he" href="https://medium.com/kusionstack?source=user_profile_page---blogroll-------------------aebb5f8bf4ad----------------------" rel="noopener follow"><div class="hf ab"><div class="hg l"><div class="dp"><img alt="KusionStack" class="fo hv l hi hh" src="https://miro.medium.com/v2/resize:fill:40:40/1*te6Alui19E2JKyAyBHGzig.png" width="20" height="20" loading="lazy"/><div class="hv l hh hi fm n fl fx"></div></div></div><p class="bf b ds z hj hk hl hm hn ho hp hq dr">KusionStack</p></div></a><div class="bm" aria-hidden="false" aria-describedby="creatorInfoPopover-2e5e4f93d9bf" aria-labelledby="creatorInfoPopover-2e5e4f93d9bf" aria-haspopup="dialog"><button class="ag ah ai aj ak al am hr ao ap aq ar as at au bc hs ht gv hu" aria-controls="creatorInfoPopover-2e5e4f93d9bf" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M4.385 12c0 .55.2 1.02.59 1.41.39.4.86.59 1.41.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.02.2-1.41.59-.4.39-.59.86-.59 1.41m5.62 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.42.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.03.2-1.42.59s-.58.86-.58 1.41m5.6 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.43.59s1.03-.2 1.42-.59.58-.86.58-1.41-.2-1.02-.58-1.41a1.93 1.93 0 0 0-1.42-.59c-.56 0-1.04.2-1.43.59s-.58.86-.58 1.41" clip-rule="evenodd"></path></svg></button></div></li><li class="ab q hb"><a class="ag ah ai aj ak al am an ao ap aq ar as at au hc hd he" href="https://medium.com/@xpf6677?source=user_profile_page---blogroll-------------------aebb5f8bf4ad----------------------" rel="noopener follow"><div class="hf ab"><div class="hg l"><div class="l dp"><img alt="The KCL Programming Language" class="l dl by hh hi fo" src="https://miro.medium.com/v2/resize:fill:40:40/1*nw6sw0tlcZUqeAr948l6MA.png" width="20" height="20" loading="lazy"/><div class="fl by l hh hi fm n ay fx"></div></div></div><p class="bf b ds z hj hk hl hm hn ho hp hq dr">The KCL Programming Language</p></div></a><div class="bm" aria-hidden="false" aria-describedby="creatorInfoPopover-72eb1b92f2c3" aria-labelledby="creatorInfoPopover-72eb1b92f2c3" aria-haspopup="dialog"><button class="ag ah ai aj ak al am hr ao ap aq ar as at au bc hs ht gv hu" aria-controls="creatorInfoPopover-72eb1b92f2c3" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M4.385 12c0 .55.2 1.02.59 1.41.39.4.86.59 1.41.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.02.2-1.41.59-.4.39-.59.86-.59 1.41m5.62 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.42.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.03.2-1.42.59s-.58.86-.58 1.41m5.6 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.43.59s1.03-.2 1.42-.59.58-.86.58-1.41-.2-1.02-.58-1.41a1.93 1.93 0 0 0-1.42-.59c-.56 0-1.04.2-1.43.59s-.58.86-.58 1.41" clip-rule="evenodd"></path></svg></button></div></li><li class="ab q hb"><a class="ag ah ai aj ak al am an ao ap aq ar as at au hc hd he" href="https://medium.com/@MediumStaff?source=user_profile_page---blogroll-------------------aebb5f8bf4ad----------------------" rel="noopener follow"><div class="hf ab"><div class="hg l"><div class="l dp"><img alt="Medium Staff" class="l dl by hh hi fo" src="https://miro.medium.com/v2/resize:fill:40:40/1*AXYe3ZfLJvIjSW7fD3Eakg.jpeg" width="20" height="20" loading="lazy"/><div class="fl by l hh hi fm n ay fx"></div></div></div><p class="bf b ds z hj hk hl hm hn ho hp hq dr">Medium Staff</p></div></a><div class="bm" aria-hidden="false" aria-describedby="creatorInfoPopover-a32c340ea342" aria-labelledby="creatorInfoPopover-a32c340ea342" aria-haspopup="dialog"><button class="ag ah ai aj ak al am hr ao ap aq ar as at au bc hs ht gv hu" aria-controls="creatorInfoPopover-a32c340ea342" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M4.385 12c0 .55.2 1.02.59 1.41.39.4.86.59 1.41.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.02.2-1.41.59-.4.39-.59.86-.59 1.41m5.62 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.42.59s1.02-.2 1.41-.59c.4-.39.59-.86.59-1.41s-.2-1.02-.59-1.41a1.93 1.93 0 0 0-1.41-.59c-.55 0-1.03.2-1.42.59s-.58.86-.58 1.41m5.6 0c0 .55.2 1.02.58 1.41.4.4.87.59 1.43.59s1.03-.2 1.42-.59.58-.86.58-1.41-.2-1.02-.58-1.41a1.93 1.93 0 0 0-1.42-.59c-.56 0-1.04.2-1.43.59s-.58.86-.58 1.41" clip-rule="evenodd"></path></svg></button></div></li></ul><p class="bf b ds z dr"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" rel="noopener follow" href="/following?source=user_profile_page---blogroll-------------------aebb5f8bf4ad----------------------">See all (5)</a></p></div></div><div class="fs ft fu l"></div></div><div class="hw ab hx ga"><div class="hy l"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://help.medium.com/hc/en-us?source=user_profile_page---user_sidebar-------------------aebb5f8bf4ad----------------------" rel="noopener follow"><p class="bf b hz ia dr">Help</p></a></div><div class="hy l"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.statuspage.io/?source=user_profile_page---user_sidebar-------------------aebb5f8bf4ad----------------------" rel="noopener follow"><p class="bf b hz ia dr">Status</p></a></div><div class="hy l"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/about?autoplay=1&source=user_profile_page---user_sidebar-------------------aebb5f8bf4ad----------------------" rel="noopener follow"><p class="bf b hz ia dr">About</p></a></div><div class="hy l"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://medium.com/jobs-at-medium/work-at-medium-959d1a85284e?source=user_profile_page---user_sidebar-------------------aebb5f8bf4ad----------------------" rel="noopener follow"><p class="bf b hz ia dr">Careers</p></a></div><div class="hy l"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="mailto:pressinquiries@medium.com" rel="noopener follow"><p class="bf b hz ia dr">Press</p></a></div><div class="hy l"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://blog.medium.com/?source=user_profile_page---user_sidebar-------------------aebb5f8bf4ad----------------------" rel="noopener follow"><p class="bf b hz ia dr">Blog</p></a></div><div class="hy l"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://policy.medium.com/medium-privacy-policy-f03bf92035c9?source=user_profile_page---user_sidebar-------------------aebb5f8bf4ad----------------------" rel="noopener follow"><p class="bf b hz ia dr">Privacy</p></a></div><div class="hy l"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://policy.medium.com/medium-rules-30e5502c4eb4?source=user_profile_page---user_sidebar-------------------aebb5f8bf4ad----------------------" rel="noopener follow"><p class="bf b hz ia dr">Rules</p></a></div><div class="hy l"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://policy.medium.com/medium-terms-of-service-9db0094a1e0f?source=user_profile_page---user_sidebar-------------------aebb5f8bf4ad----------------------" rel="noopener follow"><p class="bf b hz ia dr">Terms</p></a></div><div class="l"><a class="ag ah ai aj ak al am an ao ap aq ar as at au" href="https://speechify.com/medium?source=user_profile_page---user_sidebar-------------------aebb5f8bf4ad----------------------" rel="noopener follow"><p class="bf b hz ia dr">Text to speech</p></a></div></div></div></div></div></div></div></div></div></div></div></div><script>window.__BUILD_ID__="main-20250404-165556-7f2f10e5a9"</script><script>window.__GRAPHQL_URI__ = "https://blog.kusionstack.io/_/graphql"</script><script>window.__PRELOADED_STATE__ = {"algolia":{"queries":{}},"cache":{"experimentGroupSet":true,"reason":"This request is not using the cache middleware worker","group":"disabled","tags":[],"serverVariantState":"","middlewareEnabled":false,"cacheStatus":"DYNAMIC","shouldUseCache":false,"vary":[],"pubFeaturingPostPageLabelEnabled":false,"storySubscribeCopyEnabled":false},"client":{"hydrated":false,"isUs":false,"isNativeMedium":false,"isSafariMobile":false,"isSafari":false,"isFirefox":false,"routingEntity":{"type":"USER","id":"aebb5f8bf4ad","explicit":true},"viewerIsBot":false},"debug":{"requestId":"b4f03a87-7c4b-4c4c-b9ac-dce526b1bc75","requestTag":"","hybridDevServices":[],"originalSpanCarrier":{"traceparent":"00-ff133d3c8db1eb7d43d2da46dbefb7a1-d072b83877a764a4-01"}},"multiVote":{"clapsPerPost":{}},"navigation":{"branch":{"show":null,"hasRendered":null,"blockedByCTA":false},"hideGoogleOneTap":false,"hasRenderedAlternateUserBanner":null,"currentLocation":"https:\u002F\u002Fblog.kusionstack.io\u002F","host":"blog.kusionstack.io","hostname":"blog.kusionstack.io","referrer":"","hasSetReferrer":false,"susiModal":{"step":null,"operation":"register"},"postRead":false,"partnerProgram":{"selectedCountryCode":null}},"config":{"nodeEnv":"production","version":"main-20250404-165556-7f2f10e5a9","target":"production","productName":"Medium","publicUrl":"https:\u002F\u002Fcdn-client.medium.com\u002Flite","authDomain":"medium.com","authGoogleClientId":"216296035834-k1k6qe060s2tp2a2jam4ljdcms00sttg.apps.googleusercontent.com","favicon":"production","glyphUrl":"https:\u002F\u002Fglyph.medium.com","branchKey":"key_live_ofxXr2qTrrU9NqURK8ZwEhknBxiI6KBm","algolia":{"appId":"MQ57UUUQZ2","apiKeySearch":"394474ced050e3911ae2249ecc774921","indexPrefix":"medium_","host":"-dsn.algolia.net"},"recaptchaKey":"6Lfc37IUAAAAAKGGtC6rLS13R1Hrw_BqADfS1LRk","recaptcha3Key":"6Lf8R9wUAAAAABMI_85Wb8melS7Zj6ziuf99Yot5","recaptchaEnterpriseKeyId":"6Le-uGgpAAAAAPprRaokM8AKthQ9KNGdoxaGUvVp","datadog":{"applicationId":"6702d87d-a7e0-42fe-bbcb-95b469547ea0","clientToken":"pub853ea8d17ad6821d9f8f11861d23dfed","rumToken":"pubf9cc52896502b9413b68ba36fc0c7162","context":{"deployment":{"target":"production","tag":"main-20250404-165556-7f2f10e5a9","commit":"7f2f10e5a99ebccbab159c0276ceee3b9a78c1de"}},"datacenter":"us"},"googleAnalyticsCode":"G-7JY7T788PK","googlePay":{"apiVersion":"2","apiVersionMinor":"0","merchantId":"BCR2DN6TV7EMTGBM","merchantName":"Medium","instanceMerchantId":"13685562959212738550"},"applePay":{"version":3},"signInWallCustomDomainCollectionIds":["3a8144eabfe3","336d898217ee","61061eb0c96b","138adf9c44c","819cc2aaeee0"],"mediumMastodonDomainName":"me.dm","mediumOwnedAndOperatedCollectionIds":["8a9336e5bb4","b7e45b22fec3","193b68bd4fba","8d6b8a439e32","54c98c43354d","3f6ecf56618","d944778ce714","92d2092dc598","ae2a65f35510","1285ba81cada","544c7006046e","fc8964313712","40187e704f1c","88d9857e584e","7b6769f2748b","bcc38c8f6edf","cef6983b292","cb8577c9149e","444d13b52878","713d7dbc99b0","ef8e90590e66","191186aaafa0","55760f21cdc5","9dc80918cc93","bdc4052bbdba","8ccfed20cbb2"],"tierOneDomains":["medium.com","thebolditalic.com","arcdigital.media","towardsdatascience.com","uxdesign.cc","codeburst.io","psiloveyou.xyz","writingcooperative.com","entrepreneurshandbook.co","prototypr.io","betterhumans.coach.me","theascent.pub"],"topicsToFollow":["d61cf867d93f","8a146bc21b28","1eca0103fff3","4d562ee63426","aef1078a3ef5","e15e46793f8d","6158eb913466","55f1c20aba7a","3d18b94f6858","4861fee224fd","63c6f1f93ee","1d98b3a9a871","decb52b64abf","ae5d4995e225","830cded25262"],"topicToTagMappings":{"accessibility":"accessibility","addiction":"addiction","android-development":"android-development","art":"art","artificial-intelligence":"artificial-intelligence","astrology":"astrology","basic-income":"basic-income","beauty":"beauty","biotech":"biotech","blockchain":"blockchain","books":"books","business":"business","cannabis":"cannabis","cities":"cities","climate-change":"climate-change","comics":"comics","coronavirus":"coronavirus","creativity":"creativity","cryptocurrency":"cryptocurrency","culture":"culture","cybersecurity":"cybersecurity","data-science":"data-science","design":"design","digital-life":"digital-life","disability":"disability","economy":"economy","education":"education","equality":"equality","family":"family","feminism":"feminism","fiction":"fiction","film":"film","fitness":"fitness","food":"food","freelancing":"freelancing","future":"future","gadgets":"gadgets","gaming":"gaming","gun-control":"gun-control","health":"health","history":"history","humor":"humor","immigration":"immigration","ios-development":"ios-development","javascript":"javascript","justice":"justice","language":"language","leadership":"leadership","lgbtqia":"lgbtqia","lifestyle":"lifestyle","machine-learning":"machine-learning","makers":"makers","marketing":"marketing","math":"math","media":"media","mental-health":"mental-health","mindfulness":"mindfulness","money":"money","music":"music","neuroscience":"neuroscience","nonfiction":"nonfiction","outdoors":"outdoors","parenting":"parenting","pets":"pets","philosophy":"philosophy","photography":"photography","podcasts":"podcast","poetry":"poetry","politics":"politics","privacy":"privacy","product-management":"product-management","productivity":"productivity","programming":"programming","psychedelics":"psychedelics","psychology":"psychology","race":"race","relationships":"relationships","religion":"religion","remote-work":"remote-work","san-francisco":"san-francisco","science":"science","self":"self","self-driving-cars":"self-driving-cars","sexuality":"sexuality","social-media":"social-media","society":"society","software-engineering":"software-engineering","space":"space","spirituality":"spirituality","sports":"sports","startups":"startup","style":"style","technology":"technology","transportation":"transportation","travel":"travel","true-crime":"true-crime","tv":"tv","ux":"ux","venture-capital":"venture-capital","visual-design":"visual-design","work":"work","world":"world","writing":"writing"},"defaultImages":{"avatar":{"imageId":"1*dmbNkD5D-u45r44go_cf0g.png","height":150,"width":150},"orgLogo":{"imageId":"7*V1_7XP4snlmqrc_0Njontw.png","height":110,"width":500},"postLogo":{"imageId":"bd978bb536350a710e8efb012513429cabdc4c28700604261aeda246d0f980b7","height":810,"width":1440},"postPreviewImage":{"imageId":"1*hn4v1tCaJy7cWMyb0bpNpQ.png","height":386,"width":579}},"collectionStructuredData":{"8d6b8a439e32":{"name":"Elemental","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F980\u002F1*9ygdqoKprhwuTVKUM0DLPA@2x.png","width":980,"height":159}}},"3f6ecf56618":{"name":"Forge","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F596\u002F1*uULpIlImcO5TDuBZ6lm7Lg@2x.png","width":596,"height":183}}},"ae2a65f35510":{"name":"GEN","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F264\u002F1*RdVZMdvfV3YiZTw6mX7yWA.png","width":264,"height":140}}},"88d9857e584e":{"name":"LEVEL","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*JqYMhNX6KNNb2UlqGqO2WQ.png","width":540,"height":108}}},"7b6769f2748b":{"name":"Marker","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F383\u002F1*haCUs0wF6TgOOvfoY-jEoQ@2x.png","width":383,"height":92}}},"444d13b52878":{"name":"OneZero","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*cw32fIqCbRWzwJaoQw6BUg.png","width":540,"height":123}}},"8ccfed20cbb2":{"name":"Zora","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*tZUQqRcCCZDXjjiZ4bDvgQ.png","width":540,"height":106}}}},"embeddedPostIds":{"coronavirus":"cd3010f9d81f"},"sharedCdcMessaging":{"COVID_APPLICABLE_TAG_SLUGS":[],"COVID_APPLICABLE_TOPIC_NAMES":[],"COVID_APPLICABLE_TOPIC_NAMES_FOR_TOPIC_PAGE":[],"COVID_MESSAGES":{"tierA":{"text":"For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":66,"end":73,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"tierB":{"text":"Anyone can publish on Medium per our Policies, but we don’t fact-check every story. For more info about the coronavirus, see cdc.gov.","markups":[{"start":37,"end":45,"href":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Fcategories\u002F201931128-Policies-Safety"},{"start":125,"end":132,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"paywall":{"text":"This article has been made free for everyone, thanks to Medium Members. For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":56,"end":70,"href":"https:\u002F\u002Fmedium.com\u002Fmembership"},{"start":138,"end":145,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"unbound":{"text":"This article is free for everyone, thanks to Medium Members. For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":45,"end":59,"href":"https:\u002F\u002Fmedium.com\u002Fmembership"},{"start":127,"end":134,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]}},"COVID_BANNER_POST_ID_OVERRIDE_WHITELIST":["3b31a67bff4a"]},"sharedVoteMessaging":{"TAGS":["politics","election-2020","government","us-politics","election","2020-presidential-race","trump","donald-trump","democrats","republicans","congress","republican-party","democratic-party","biden","joe-biden","maga"],"TOPICS":["politics","election"],"MESSAGE":{"text":"Find out more about the U.S. election results here.","markups":[{"start":46,"end":50,"href":"https:\u002F\u002Fcookpolitical.com\u002F2020-national-popular-vote-tracker"}]},"EXCLUDE_POSTS":["397ef29e3ca5"]},"embedPostRules":[],"recircOptions":{"v1":{"limit":3},"v2":{"limit":8}},"braintreeClientKey":"production_zjkj96jm_m56f8fqpf7ngnrd4","braintree":{"enabled":true,"merchantId":"m56f8fqpf7ngnrd4","merchantAccountId":{"usd":"AMediumCorporation_instant","eur":"amediumcorporation_EUR","cad":"amediumcorporation_CAD"},"publicKey":"ds2nn34bg2z7j5gd","braintreeEnvironment":"production","dashboardUrl":"https:\u002F\u002Fwww.braintreegateway.com\u002Fmerchants","gracePeriodDurationInDays":14,"mediumMembershipPlanId":{"monthly":"ce105f8c57a3","monthlyV2":"e8a5e126-792b-4ee6-8fba-d574c1b02fc5","monthlyWithTrial":"d5ee3dbe3db8","monthlyPremium":"fa741a9b47a2","yearly":"a40ad4a43185","yearlyV2":"3815d7d6-b8ca-4224-9b8c-182f9047866e","yearlyStaff":"d74fb811198a","yearlyWithTrial":"b3bc7350e5c7","yearlyPremium":"e21bd2c12166","monthlyOneYearFree":"e6c0637a-2bad-4171-ab4f-3c268633d83c","monthly25PercentOffFirstYear":"235ecc62-0cdb-49ae-9378-726cd21c504b","monthly20PercentOffFirstYear":"ba518864-9c13-4a99-91ca-411bf0cac756","monthly15PercentOffFirstYear":"594c029b-9f89-43d5-88f8-8173af4e070e","monthly10PercentOffFirstYear":"c6c7bc9a-40f2-4b51-8126-e28511d5bdb0","monthlyForStudents":"629ebe51-da7d-41fd-8293-34cd2f2030a8","yearlyOneYearFree":"78ba7be9-0d9f-4ece-aa3e-b54b826f2bf1","yearly25PercentOffFirstYear":"2dbb010d-bb8f-4eeb-ad5c-a08509f42d34","yearly20PercentOffFirstYear":"47565488-435b-47f8-bf93-40d5fbe0ebc8","yearly15PercentOffFirstYear":"8259809b-0881-47d9-acf7-6c001c7f720f","yearly10PercentOffFirstYear":"9dd694fb-96e1-472c-8d9e-3c868d5c1506","yearlyForStudents":"e29345ef-ab1c-4234-95c5-70e50fe6bc23","monthlyCad":"p52orjkaceei","yearlyCad":"h4q9g2up9ktt"},"braintreeDiscountId":{"oneMonthFree":"MONTHS_FREE_01","threeMonthsFree":"MONTHS_FREE_03","sixMonthsFree":"MONTHS_FREE_06","fiftyPercentOffOneYear":"FIFTY_PERCENT_OFF_ONE_YEAR"},"3DSecureVersion":"2","defaultCurrency":"usd","providerPlanIdCurrency":{"4ycw":"usd","rz3b":"usd","3kqm":"usd","jzw6":"usd","c2q2":"usd","nnsw":"usd","q8qw":"usd","d9y6":"usd","fx7w":"cad","nwf2":"cad"}},"paypalClientId":"AXj1G4fotC2GE8KzWX9mSxCH1wmPE3nJglf4Z2ig_amnhvlMVX87otaq58niAg9iuLktVNF_1WCMnN7v","paypal":{"host":"https:\u002F\u002Fapi.paypal.com:443","clientMode":"production","serverMode":"live","webhookId":"4G466076A0294510S","monthlyPlan":{"planId":"P-9WR0658853113943TMU5FDQA","name":"Medium Membership (Monthly) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"yearlyPlan":{"planId":"P-7N8963881P8875835MU5JOPQ","name":"Medium Membership (Annual) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"oneYearGift":{"name":"Medium Membership (1 Year, Digital Gift Code)","description":"Unlimited access to the best and brightest stories on Medium. Gift codes can be redeemed at medium.com\u002Fredeem.","price":"50.00","currency":"USD","sku":"membership-gift-1-yr"},"oldMonthlyPlan":{"planId":"P-96U02458LM656772MJZUVH2Y","name":"Medium Membership (Monthly)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"oldYearlyPlan":{"planId":"P-59P80963JF186412JJZU3SMI","name":"Medium Membership (Annual)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"monthlyPlanWithTrial":{"planId":"P-66C21969LR178604GJPVKUKY","name":"Medium Membership (Monthly) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"yearlyPlanWithTrial":{"planId":"P-6XW32684EX226940VKCT2MFA","name":"Medium Membership (Annual) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"oldMonthlyPlanNoSetupFee":{"planId":"P-4N046520HR188054PCJC7LJI","name":"Medium Membership (Monthly)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"oldYearlyPlanNoSetupFee":{"planId":"P-7A4913502Y5181304CJEJMXQ","name":"Medium Membership (Annual)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"sdkUrl":"https:\u002F\u002Fwww.paypal.com\u002Fsdk\u002Fjs"},"stripePublishableKey":"pk_live_7FReX44VnNIInZwrIIx6ghjl","log":{"json":true,"level":"info"},"imageUploadMaxSizeMb":25,"staffPicks":{"title":"Staff Picks","catalogId":"c7bc6e1ee00f"}},"session":{"xsrf":""}}</script><script>window.__APOLLO_STATE__ = {"ROOT_QUERY":{"__typename":"Query","variantFlags":[{"__typename":"VariantFlag","name":"browsable_stream_config_bucket","valueType":{"__typename":"VariantFlagString","value":"curated-topics"}},{"__typename":"VariantFlag","name":"signin_services","valueType":{"__typename":"VariantFlagString","value":"twitter,facebook,google,email,google-fastidv,google-one-tap,apple"}},{"__typename":"VariantFlag","name":"reader_fair_distribution_non_qp","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_conversion_model_v2","valueType":{"__typename":"VariantFlagString","value":"group_2"}},{"__typename":"VariantFlag","name":"enable_post_publish_permission_check","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_ranker_v10","valueType":{"__typename":"VariantFlagString","value":"control"}},{"__typename":"VariantFlag","name":"price_smoke_test_monthly","valueType":{"__typename":"VariantFlagString","value":""}},{"__typename":"VariantFlag","name":"skip_fs_cache_user_vals","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_auto_follow_on_subscribe","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"signup_services","valueType":{"__typename":"VariantFlagString","value":"twitter,facebook,google,email,google-fastidv,google-one-tap,apple"}},{"__typename":"VariantFlag","name":"enable_conversion_ranker_v2","valueType":{"__typename":"VariantFlagString","value":"control"}},{"__typename":"VariantFlag","name":"enable_ml_rank_rex_anno","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_premium_tier","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"disable_rex_pub_featuring_recirc","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_abandoned_paywall_promotion_email","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_trust_service_recaptcha","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_enable_home_post_menu","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_lite_gql_client_events","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"android_enable_friend_links_postpage_banners","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_creator_welcome_email","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_diversification_rex","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_post_bottom_responses_input","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_rex_new_push_notification_endpoint","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"android_enable_lists_v2","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_newsletter_lo_flow_custom_domains","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_group_gifting","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_medium2_kbfd","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_braintree_integration","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"get_highlights_from_engagement","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"redefined_top_posts","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_android_dynamic_programming_paywall","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"goliath_externalsearch_enable_comment_deindexation","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_lite_continue_this_thread","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_enable_friend_links_creation","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"android_enable_syntax_highlight","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_homepage_featured_feed","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_post_bottom_responses","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"mobile_custom_app_icon","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"available_annual_plan","valueType":{"__typename":"VariantFlagString","value":"2c754bcc2995"}},{"__typename":"VariantFlag","name":"enable_deviant_get_variant_flag_from_medium2","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_hybrid_ranking_model","valueType":{"__typename":"VariantFlagString","value":"experiment"}},{"__typename":"VariantFlag","name":"num_post_bottom_responses_to_show","valueType":{"__typename":"VariantFlagNumber","value":3}},{"__typename":"VariantFlag","name":"android_enable_topic_portals","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_google_one_tap","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_iceland_nux","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_lite_server_upstream_deadlines","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_marketing_emails","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"android_rating_prompt_stories_read_threshold","valueType":{"__typename":"VariantFlagNumber","value":2}},{"__typename":"VariantFlag","name":"enable_apple_webhook","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_members_only_audio","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_pre_pp_v4","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_pub_featuring_post_page_label","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_social_share_sheet","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_pub_featuring","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_enable_lock_responses","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"coronavirus_topic_recirc","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_moc_load_processor_first_story","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_branch_io","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_footer_app_buttons","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_pill_based_home_feed","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_tribute_landing_page","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"disable_partner_program_enrollment","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_braintree_google_pay","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_tipping_v0_ios","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_updated_pub_recs_ui","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_enable_friend_links_postpage_banners","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_abandoned_cart_promotion_email","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_in_app_free_trial","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_apple_sign_in","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_braintree_apple_pay","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_susi_redesign_ios","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_sprig","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"available_annual_premium_plan","valueType":{"__typename":"VariantFlagString","value":"4a442ace1476"}},{"__typename":"VariantFlag","name":"enable_boost_experiment","valueType":{"__typename":"VariantFlagString","value":"control"}},{"__typename":"VariantFlag","name":"enable_braintree_paypal","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_tipping_v0_android","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"android_two_hour_refresh","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_lite_response_markup","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"onboarding_tags_from_top_views","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_switch_plan_premium_tier","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"can_send_tips_v0","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_ios_dynamic_paywall_aspiriational","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_tag_recs","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"limit_post_referrers","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"allow_access","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"allow_signup","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_lite_homepage","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_new_stripe_customers","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_cancellation_discount_v1_1","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_intrinsic_automatic_actions","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"allow_test_auth","valueType":{"__typename":"VariantFlagString","value":"disallow"}},{"__typename":"VariantFlag","name":"can_receive_tips_v0","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_deprecate_legacy_providers_v3","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_update_explore_wtf","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_user_profile_nofollow_attribute","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_braintree_trial_membership","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_configure_pronouns","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_moc_load_processor_c","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_post_bottom_responses_native","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_aurora_pub_follower_page","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_lo_homepage","valueType":{"__typename":"VariantFlagString","value":"control"}},{"__typename":"VariantFlag","name":"enable_seamless_social_sharing","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_sharer_create_post_share_key","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_update_topic_portals_wtf","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_display_paywall_after_onboarding","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"price_smoke_test_yearly","valueType":{"__typename":"VariantFlagString","value":""}},{"__typename":"VariantFlag","name":"available_monthly_plan","valueType":{"__typename":"VariantFlagString","value":"60e220181034"}},{"__typename":"VariantFlag","name":"enable_braintree_webhook","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_ios_easy_resubscribe","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"android_enable_image_sharer","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_susi_redesign_android","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_speechify_widget","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_rito_upstream_deadlines","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_android_miro_v2","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"rex_filter_presentation_count_increase","valueType":{"__typename":"VariantFlagString","value":"experiment_a"}},{"__typename":"VariantFlag","name":"enable_simplified_digest_v2_b","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_pub_featuring_notifications","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_ios_dynamic_paywall_programming","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_pp_v4","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_ios_autorefresh","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_recirc_model","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_author_cards_byline","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_mastodon_for_members_username_selection","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_rex_aggregator_v2","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"android_enable_editor_new_publishing_flow","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_engagement_service_publish_response","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_see_pronouns","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"reengagement_notification_duration","valueType":{"__typename":"VariantFlagNumber","value":3}},{"__typename":"VariantFlag","name":"enable_verifications_service","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"ios_remove_twitter_onboarding_step","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_android_verified_author","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_premium_tier_badge","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_iceland_forced_android","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_lite_archive_page","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_new_manage_membership_flow","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_sharer_validate_post_share_key","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"limit_user_follows","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_maim_the_meter","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_medium_com_canonical_urls","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_speechify_ios","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"android_enable_friend_links_creation","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_starspace","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_winback_promotion_email","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_mastodon_avatar_upload","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_pub_featuring_stats","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_mastodon_for_members","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_rex_reading_history","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_entities_to_follow_v2","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_author_cards","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"glyph_font_set","valueType":{"__typename":"VariantFlagString","value":"m2-unbound-source-serif-pro"}},{"__typename":"VariantFlag","name":"enable_android_dynamic_aspirational_paywall","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_cache_less_following_feed","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_legacy_feed_in_iceland","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"android_dense_post_preview","valueType":{"__typename":"VariantFlagString","value":"control"}},{"__typename":"VariantFlag","name":"rex_generator_max_candidates","valueType":{"__typename":"VariantFlagNumber","value":1000}},{"__typename":"VariantFlag","name":"enable_tick_landing_page","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_braintree_client","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_pp_country_expansion","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_google_webhook","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_inline_comments","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_android_offline_reading","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"available_monthly_premium_plan","valueType":{"__typename":"VariantFlagString","value":"12a660186432"}},{"__typename":"VariantFlag","name":"enable_ios_offline_reading","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_app_flirty_thirty","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_automod","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_eventstats_event_processing","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_recommended_publishers_query","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_bg_post_post","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_moc_load_processor_all_recs_surfaces","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"enable_recaptcha_enterprise","valueType":{"__typename":"VariantFlagBoolean","value":true}},{"__typename":"VariantFlag","name":"textshots_userid","valueType":{"__typename":"VariantFlagString","value":""}},{"__typename":"VariantFlag","name":"ios_enable_verified_book_author","valueType":{"__typename":"VariantFlagBoolean","value":true}}],"viewer":null,"user({\"id\":\"aebb5f8bf4ad\"})":{"__ref":"User:aebb5f8bf4ad"},"userResult({\"id\":\"aebb5f8bf4ad\"})":{"__ref":"User:aebb5f8bf4ad"},"userResult({\"id\":\"aebb5f8bf4ad\",\"username\":null})":{"__ref":"User:aebb5f8bf4ad"},"collectionByDomainOrSlug({\"domainOrSlug\":\"blog.kusionstack.io\"})":null,"user({\"username\":\"kusionstack\"})":{"__ref":"User:aebb5f8bf4ad"},"userResult({\"username\":\"kusionstack\"})":{"__ref":"User:aebb5f8bf4ad"},"userResult({\"id\":\"aebb5f8bf4ad\",\"username\":\"\"})":{"__ref":"User:aebb5f8bf4ad"}},"User:aebb5f8bf4ad":{"__typename":"User","id":"aebb5f8bf4ad","name":"KusionStack","username":"kusionstack","newsletterV3":{"__ref":"NewsletterV3:8baf91c3be1b"},"customStyleSheet":null,"imageId":"1*01EKocTpSlxpytDItu9Frw.png","socialStats":{"__typename":"SocialStats","followerCount":76,"followingCount":3,"collectionFollowingCount":2},"viewerEdge":{"__ref":"UserViewerEdge:userId:aebb5f8bf4ad-viewerId:lo_5f14afb38a4e"},"membership":{"__ref":"Membership:37964578-198f-475d-86ad-15f9b1175e2a"},"verifications":{"__typename":"VerifiedInfo","isBookAuthor":false},"customDomainState":{"__typename":"CustomDomainState","live":{"__typename":"CustomDomain","domain":"blog.kusionstack.io"}},"hasSubdomain":false,"bio":"https:\u002F\u002Fkusionstack.io\u002F - Open Tech Stack to build self-service, collaborative, reliable and sustainable Internal Developer Platform.","isPartnerProgramEnrolled":false,"viewerIsUser":false,"postSubscribeMembershipUpsellShownAt":0,"followingEntityConnection:{\"paging\":{\"limit\":5}}":{"__typename":"EntityConnection","entities":[{"__ref":"User:ccdbe9a99319"},{"__ref":"Collection:4e2c1156667e"},{"__ref":"Collection:2e5e4f93d9bf"},{"__ref":"User:72eb1b92f2c3"},{"__ref":"User:a32c340ea342"}]},"pronouns":[],"homepagePostsConnection:{\"paging\":{\"limit\":1}}":{"__typename":"PostConnection","posts":[{"__ref":"Post:3c50e363a3fb"}]},"linkedAccounts":{"__ref":"LinkedAccounts:aebb5f8bf4ad"},"homepagePostsConnection:{\"paging\":{\"limit\":10},\"includeDistributedResponses\":true}":{"__typename":"PostConnection","posts":[{"__ref":"Post:3c50e363a3fb"},{"__ref":"Post:b03fc8500978"},{"__ref":"Post:89ad2a1fe2a7"},{"__ref":"Post:07d231b65938"},{"__ref":"Post:2d213b0d052a"},{"__ref":"Post:87c49fc45a66"},{"__ref":"Post:0375075d8fde"},{"__ref":"Post:6aa2882b35a2"},{"__ref":"Post:1e87adecab0d"},{"__ref":"Post:a8c3efbe51bd"}],"pagingInfo":{"__typename":"Paging","next":{"__typename":"PageParams","from":"L1718349686708","limit":10}}},"twitterScreenName":"","navItems":[{"__typename":"UserNavItem","title":"Profile"},{"__typename":"UserNavItem","title":"Claps"},{"__typename":"UserNavItem","title":"Highlights"}],"isSuspended":false,"authoredBooks":[]},"UserViewerEdge:userId:aebb5f8bf4ad-viewerId:lo_5f14afb38a4e":{"__typename":"UserViewerEdge","isBlocking":false,"id":"userId:aebb5f8bf4ad-viewerId:lo_5f14afb38a4e","isFollowing":false,"isUser":false,"isMuting":false,"hasList":true},"Membership:37964578-198f-475d-86ad-15f9b1175e2a":{"__typename":"Membership","tier":"MEMBER","id":"37964578-198f-475d-86ad-15f9b1175e2a","friendSince":null},"NewsletterV3:8baf91c3be1b":{"__typename":"NewsletterV3","id":"8baf91c3be1b","type":"NEWSLETTER_TYPE_AUTHOR","slug":"aebb5f8bf4ad","name":"aebb5f8bf4ad","collection":null,"user":{"__ref":"User:aebb5f8bf4ad"},"description":"","promoHeadline":"","promoBody":"","showPromo":false},"User:ccdbe9a99319":{"__typename":"User","id":"ccdbe9a99319","name":"Brian Grant","imageId":"1*IswKlFXcN7a_0bsXVi8l9A.jpeg","membership":null,"username":"bgrant0607","customDomainState":null,"hasSubdomain":false,"hasDomain":false,"bio":"CTO of ConfigHub. Original lead architect of Kubernetes and its declarative model. Former Tech Lead of Google Cloud's API standards, SDK, CLI, and IaC.","verifications":{"__typename":"VerifiedInfo","isBookAuthor":false}},"ImageMetadata:1*CvejhRq3NYsivxILYXEdfA.jpeg":{"__typename":"ImageMetadata","id":"1*CvejhRq3NYsivxILYXEdfA.jpeg"},"Collection:4e2c1156667e":{"__typename":"Collection","id":"4e2c1156667e","name":"Dev Genius","avatar":{"__ref":"ImageMetadata:1*CvejhRq3NYsivxILYXEdfA.jpeg"},"domain":"blog.devgenius.io","slug":"dev-genius","description":"Coding, Tutorials, News, UX, UI and much more related to development","subscriberCount":26639,"customStyleSheet":null},"ImageMetadata:1*te6Alui19E2JKyAyBHGzig.png":{"__typename":"ImageMetadata","id":"1*te6Alui19E2JKyAyBHGzig.png"},"Collection:2e5e4f93d9bf":{"__typename":"Collection","id":"2e5e4f93d9bf","name":"KusionStack","avatar":{"__ref":"ImageMetadata:1*te6Alui19E2JKyAyBHGzig.png"},"domain":null,"slug":"kusionstack","description":"Evolve your Internal Developer Platform with KusionStack. https:\u002F\u002Fkusionstack.io\u002F","subscriberCount":4,"customStyleSheet":null,"viewerEdge":{"__ref":"CollectionViewerEdge:collectionId:2e5e4f93d9bf-viewerId:lo_5f14afb38a4e"}},"User:72eb1b92f2c3":{"__typename":"User","id":"72eb1b92f2c3","name":"The KCL Programming Language","imageId":"1*nw6sw0tlcZUqeAr948l6MA.png","membership":null,"username":"xpf6677","customDomainState":null,"hasSubdomain":false,"hasDomain":false,"bio":"Owner of KCL Projects: https:\u002F\u002Fkcl-lang.io","verifications":{"__typename":"VerifiedInfo","isBookAuthor":false}},"User:a32c340ea342":{"__typename":"User","id":"a32c340ea342","name":"Medium Staff","imageId":"1*AXYe3ZfLJvIjSW7fD3Eakg.jpeg","membership":null,"username":"MediumStaff","customDomainState":null,"hasSubdomain":false,"hasDomain":false,"bio":"Official account for news and updates from Medium.","verifications":{"__typename":"VerifiedInfo","isBookAuthor":false}},"Post:3c50e363a3fb":{"__typename":"Post","id":"3c50e363a3fb","title":"Configuration Management at Ant Group: Generated Manifest & Immutable Desired State","previewImage":{"__ref":"ImageMetadata:0*pOnyjzIUkuEnqpuO.png"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"Scaling beyond limits with operational excellence","isFullContent":false},"creator":{"__ref":"User:aebb5f8bf4ad"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fblog.kusionstack.io\u002Fconfiguration-management-at-ant-group-generated-manifest-immutable-desired-state-3c50e363a3fb","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":0},"visibility":"PUBLIC","clapCount":41,"isLocked":false,"firstPublishedAt":1737464526035,"latestPublishedAt":1737514677267,"pinnedAt":0,"readingTime":12.649056603773584,"sequence":null,"isSeries":false,"uniqueSlug":"configuration-management-at-ant-group-generated-manifest-immutable-desired-state-3c50e363a3fb","pinnedByCreatorAt":1737475486077,"viewerEdge":{"__ref":"PostViewerEdge:postId:3c50e363a3fb-viewerId:lo_5f14afb38a4e"}},"LinkedAccounts:aebb5f8bf4ad":{"__typename":"LinkedAccounts","mastodon":null,"id":"aebb5f8bf4ad"},"ImageMetadata:0*pOnyjzIUkuEnqpuO.png":{"__typename":"ImageMetadata","id":"0*pOnyjzIUkuEnqpuO.png","focusPercentX":null,"focusPercentY":null,"alt":null},"PostViewerEdge:postId:3c50e363a3fb-viewerId:lo_5f14afb38a4e":{"__typename":"PostViewerEdge","id":"postId:3c50e363a3fb-viewerId:lo_5f14afb38a4e","shouldFollowPostForExternalSearch":true},"ImageMetadata:0*MVyDZt6Em-q8z3dC":{"__typename":"ImageMetadata","id":"0*MVyDZt6Em-q8z3dC","focusPercentX":null,"focusPercentY":null,"alt":null},"PostViewerEdge:postId:b03fc8500978-viewerId:lo_5f14afb38a4e":{"__typename":"PostViewerEdge","id":"postId:b03fc8500978-viewerId:lo_5f14afb38a4e","shouldFollowPostForExternalSearch":true},"Post:b03fc8500978":{"__typename":"Post","id":"b03fc8500978","title":"KusionStack joins the CNCF Sandbox!","previewImage":{"__ref":"ImageMetadata:0*MVyDZt6Em-q8z3dC"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"With the holiday season approaching, we have wonderful news to share.","isFullContent":false},"creator":{"__ref":"User:aebb5f8bf4ad"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fblog.kusionstack.io\u002Fkusionstack-joins-the-cncf-sandbox-b03fc8500978","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":0},"visibility":"PUBLIC","clapCount":54,"isLocked":false,"firstPublishedAt":1735565554895,"latestPublishedAt":1735565554895,"pinnedAt":0,"readingTime":1.9380503144654089,"sequence":null,"isSeries":false,"uniqueSlug":"kusionstack-joins-the-cncf-sandbox-b03fc8500978","pinnedByCreatorAt":1735638266380,"viewerEdge":{"__ref":"PostViewerEdge:postId:b03fc8500978-viewerId:lo_5f14afb38a4e"}},"ImageMetadata:1*RNoai8CYfp7Mjpkp3KpEgA.png":{"__typename":"ImageMetadata","id":"1*RNoai8CYfp7Mjpkp3KpEgA.png","focusPercentX":null,"focusPercentY":null,"alt":null},"PostViewerEdge:postId:89ad2a1fe2a7-viewerId:lo_5f14afb38a4e":{"__typename":"PostViewerEdge","id":"postId:89ad2a1fe2a7-viewerId:lo_5f14afb38a4e","shouldFollowPostForExternalSearch":true},"Post:89ad2a1fe2a7":{"__typename":"Post","id":"89ad2a1fe2a7","title":"KusionStack & KCL 2024 Annual Report","previewImage":{"__ref":"ImageMetadata:1*RNoai8CYfp7Mjpkp3KpEgA.png"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"As we bid farewell to the old and welcome the new year, we are pleased to announce the release of KusionStack & KCL 2024 Annual Report…","isFullContent":false},"creator":{"__ref":"User:aebb5f8bf4ad"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fblog.kusionstack.io\u002Fkusionstack-kcl-2024-annual-report-89ad2a1fe2a7","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":0},"visibility":"PUBLIC","clapCount":0,"isLocked":false,"firstPublishedAt":1738083504313,"latestPublishedAt":1738083504313,"pinnedAt":0,"readingTime":1.1528301886792454,"sequence":null,"isSeries":false,"uniqueSlug":"kusionstack-kcl-2024-annual-report-89ad2a1fe2a7","pinnedByCreatorAt":0,"viewerEdge":{"__ref":"PostViewerEdge:postId:89ad2a1fe2a7-viewerId:lo_5f14afb38a4e"}},"ImageMetadata:1*hqmYR2UlEFy7wF-u1dXxcg.png":{"__typename":"ImageMetadata","id":"1*hqmYR2UlEFy7wF-u1dXxcg.png","focusPercentX":null,"focusPercentY":null,"alt":null},"PostViewerEdge:postId:07d231b65938-viewerId:lo_5f14afb38a4e":{"__typename":"PostViewerEdge","id":"postId:07d231b65938-viewerId:lo_5f14afb38a4e","shouldFollowPostForExternalSearch":true},"Post:07d231b65938":{"__typename":"Post","id":"07d231b65938","title":"Karpor v0.5.0 Released — A More Secure and User-Friendly Kubernetes Data Plane","previewImage":{"__ref":"ImageMetadata:1*hqmYR2UlEFy7wF-u1dXxcg.png"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"The KusionStack team is delighted to announce that Karpor v0.5.0 release is now available! This update brings four major highlights for…","isFullContent":false},"creator":{"__ref":"User:aebb5f8bf4ad"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fblog.kusionstack.io\u002Fkarpor-v0-5-0-released-a-more-secure-and-user-friendly-kubernetes-data-plane-07d231b65938","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":0},"visibility":"PUBLIC","clapCount":17,"isLocked":false,"firstPublishedAt":1730898122997,"latestPublishedAt":1730898122997,"pinnedAt":0,"readingTime":3.9141509433962263,"sequence":null,"isSeries":false,"uniqueSlug":"karpor-v0-5-0-released-a-more-secure-and-user-friendly-kubernetes-data-plane-07d231b65938","pinnedByCreatorAt":0,"viewerEdge":{"__ref":"PostViewerEdge:postId:07d231b65938-viewerId:lo_5f14afb38a4e"}},"ImageMetadata:1*yj6DHo3eRDSC9iSjb_BmEg.png":{"__typename":"ImageMetadata","id":"1*yj6DHo3eRDSC9iSjb_BmEg.png","focusPercentX":null,"focusPercentY":null,"alt":null},"PostViewerEdge:postId:2d213b0d052a-viewerId:lo_5f14afb38a4e":{"__typename":"PostViewerEdge","id":"postId:2d213b0d052a-viewerId:lo_5f14afb38a4e","shouldFollowPostForExternalSearch":true},"Post:2d213b0d052a":{"__typename":"Post","id":"2d213b0d052a","title":"Kusion v0.13.0 Release: Enhanced CLI Features and AI Application Support!","previewImage":{"__ref":"ImageMetadata:1*yj6DHo3eRDSC9iSjb_BmEg.png"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"We are happy to announce that the Kusion v0.13.0 Release has been published!","isFullContent":false},"creator":{"__ref":"User:aebb5f8bf4ad"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fblog.kusionstack.io\u002Fkusion-v0-13-0-release-enhanced-cli-features-and-ai-application-support-2d213b0d052a","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":0},"visibility":"PUBLIC","clapCount":5,"isLocked":false,"firstPublishedAt":1727685922832,"latestPublishedAt":1727685922832,"pinnedAt":0,"readingTime":4.516352201257861,"sequence":null,"isSeries":false,"uniqueSlug":"kusion-v0-13-0-release-enhanced-cli-features-and-ai-application-support-2d213b0d052a","pinnedByCreatorAt":0,"viewerEdge":{"__ref":"PostViewerEdge:postId:2d213b0d052a-viewerId:lo_5f14afb38a4e"}},"ImageMetadata:1*eoIUoScqJ-_hwpw0toYdBw.png":{"__typename":"ImageMetadata","id":"1*eoIUoScqJ-_hwpw0toYdBw.png","focusPercentX":null,"focusPercentY":null,"alt":null},"PostViewerEdge:postId:87c49fc45a66-viewerId:lo_5f14afb38a4e":{"__typename":"PostViewerEdge","id":"postId:87c49fc45a66-viewerId:lo_5f14afb38a4e","shouldFollowPostForExternalSearch":true},"Post:87c49fc45a66":{"__typename":"Post","id":"87c49fc45a66","title":"Applying Raw Kubernetes Manifest with Kusion","previewImage":{"__ref":"ImageMetadata:1*eoIUoScqJ-_hwpw0toYdBw.png"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"Kusion now supports applying raw Kubernetes manifests with k8s_manifest module! Feel free to give it a try : )","isFullContent":false},"creator":{"__ref":"User:aebb5f8bf4ad"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fblog.kusionstack.io\u002Fapplying-raw-kubernetes-manifest-with-kusion-87c49fc45a66","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":0},"visibility":"PUBLIC","clapCount":6,"isLocked":false,"firstPublishedAt":1723197951319,"latestPublishedAt":1723197951319,"pinnedAt":0,"readingTime":2.9264150943396228,"sequence":null,"isSeries":false,"uniqueSlug":"applying-raw-kubernetes-manifest-with-kusion-87c49fc45a66","pinnedByCreatorAt":0,"viewerEdge":{"__ref":"PostViewerEdge:postId:87c49fc45a66-viewerId:lo_5f14afb38a4e"}},"ImageMetadata:1*nQDpH4cVEmiwUcC-35Oyfw.png":{"__typename":"ImageMetadata","id":"1*nQDpH4cVEmiwUcC-35Oyfw.png","focusPercentX":null,"focusPercentY":null,"alt":null},"PostViewerEdge:postId:0375075d8fde-viewerId:lo_5f14afb38a4e":{"__typename":"PostViewerEdge","id":"postId:0375075d8fde-viewerId:lo_5f14afb38a4e","shouldFollowPostForExternalSearch":true},"Post:0375075d8fde":{"__typename":"Post","id":"0375075d8fde","title":"Kusion v0.12.1 Release: Improve Comprehensive Capabilities and Optimize User Experience","previewImage":{"__ref":"ImageMetadata:1*nQDpH4cVEmiwUcC-35Oyfw.png"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"We are happy to announce that the Kusion v0.12.1 Release has been published!","isFullContent":false},"creator":{"__ref":"User:aebb5f8bf4ad"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fblog.kusionstack.io\u002Fkusion-v0-12-1-release-improve-comprehensive-capabilities-and-optimize-user-experience-0375075d8fde","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":0},"visibility":"PUBLIC","clapCount":31,"isLocked":false,"firstPublishedAt":1722591323953,"latestPublishedAt":1722591323953,"pinnedAt":0,"readingTime":4.164150943396226,"sequence":null,"isSeries":false,"uniqueSlug":"kusion-v0-12-1-release-improve-comprehensive-capabilities-and-optimize-user-experience-0375075d8fde","pinnedByCreatorAt":0,"viewerEdge":{"__ref":"PostViewerEdge:postId:0375075d8fde-viewerId:lo_5f14afb38a4e"}},"ImageMetadata:0*tQEAHm6KOxZn5lLT.png":{"__typename":"ImageMetadata","id":"0*tQEAHm6KOxZn5lLT.png","focusPercentX":null,"focusPercentY":null,"alt":null},"PostViewerEdge:postId:6aa2882b35a2-viewerId:lo_5f14afb38a4e":{"__typename":"PostViewerEdge","id":"postId:6aa2882b35a2-viewerId:lo_5f14afb38a4e","shouldFollowPostForExternalSearch":true},"Post:6aa2882b35a2":{"__typename":"Post","id":"6aa2882b35a2","title":"Karpor Has Been Open-Sourced! Build a Kubernetes Visualization Tool in the AI era","previewImage":{"__ref":"ImageMetadata:0*tQEAHm6KOxZn5lLT.png"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"Karpor is a Modern Kubernetes Visualization Tool. Its core features focus on 🔍 Search, 📊 Insight and ✨ AI.","isFullContent":false},"creator":{"__ref":"User:aebb5f8bf4ad"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fblog.kusionstack.io\u002Fkarpor-has-been-open-sourced-build-a-kubernetes-visualization-tool-in-the-ai-era-6aa2882b35a2","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":0},"visibility":"PUBLIC","clapCount":81,"isLocked":false,"firstPublishedAt":1719838142043,"latestPublishedAt":1719841992762,"pinnedAt":0,"readingTime":5.124528301886793,"sequence":null,"isSeries":false,"uniqueSlug":"karpor-has-been-open-sourced-build-a-kubernetes-visualization-tool-in-the-ai-era-6aa2882b35a2","pinnedByCreatorAt":0,"viewerEdge":{"__ref":"PostViewerEdge:postId:6aa2882b35a2-viewerId:lo_5f14afb38a4e"}},"ImageMetadata:1*EP0TLCjxmFK9xd6KCvANlA.jpeg":{"__typename":"ImageMetadata","id":"1*EP0TLCjxmFK9xd6KCvANlA.jpeg","focusPercentX":null,"focusPercentY":null,"alt":null},"CollectionViewerEdge:collectionId:2e5e4f93d9bf-viewerId:lo_5f14afb38a4e":{"__typename":"CollectionViewerEdge","id":"collectionId:2e5e4f93d9bf-viewerId:lo_5f14afb38a4e","isMuting":false},"PostViewerEdge:postId:1e87adecab0d-viewerId:lo_5f14afb38a4e":{"__typename":"PostViewerEdge","id":"postId:1e87adecab0d-viewerId:lo_5f14afb38a4e","shouldFollowPostForExternalSearch":true},"Post:1e87adecab0d":{"__typename":"Post","id":"1e87adecab0d","title":"A Blend of Fire and Ice: Accelerating Innovations Across Internet and Financial Services via…","previewImage":{"__ref":"ImageMetadata:1*EP0TLCjxmFK9xd6KCvANlA.jpeg"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"If you are also building an IDP, our practical experience might be helpful to you.","isFullContent":false},"creator":{"__ref":"User:aebb5f8bf4ad"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fmedium.com\u002Fkusionstack\u002Fa-blend-of-fire-and-ice-accelerating-innovations-across-internet-and-financial-services-via-1e87adecab0d","collection":{"__ref":"Collection:2e5e4f93d9bf"},"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":0},"visibility":"PUBLIC","clapCount":10,"isLocked":false,"firstPublishedAt":1719569136464,"latestPublishedAt":1719569271996,"pinnedAt":0,"readingTime":10.834905660377359,"sequence":null,"isSeries":false,"uniqueSlug":"a-blend-of-fire-and-ice-accelerating-innovations-across-internet-and-financial-services-via-1e87adecab0d","pinnedByCreatorAt":0,"viewerEdge":{"__ref":"PostViewerEdge:postId:1e87adecab0d-viewerId:lo_5f14afb38a4e"}},"ImageMetadata:1*DxMFv58goYQgjKuKBFUq7g.png":{"__typename":"ImageMetadata","id":"1*DxMFv58goYQgjKuKBFUq7g.png","focusPercentX":null,"focusPercentY":null,"alt":null},"PostViewerEdge:postId:a8c3efbe51bd-viewerId:lo_5f14afb38a4e":{"__typename":"PostViewerEdge","id":"postId:a8c3efbe51bd-viewerId:lo_5f14afb38a4e","shouldFollowPostForExternalSearch":true},"Post:a8c3efbe51bd":{"__typename":"Post","id":"a8c3efbe51bd","title":"Kusion v0.12.0 Release: Optimize Comprehensive Capabilities and Provide Production Practice Cases","previewImage":{"__ref":"ImageMetadata:1*DxMFv58goYQgjKuKBFUq7g.png"},"extendedPreviewContent":{"__typename":"PreviewContent","subtitle":"We are happy to announce that the Kusion v0.12.0 Release has been published!","isFullContent":false},"creator":{"__ref":"User:aebb5f8bf4ad"},"isPublished":true,"mediumUrl":"https:\u002F\u002Fblog.kusionstack.io\u002Fkusion-v0-12-0-release-optimize-comprehensive-capabilities-and-provide-production-practice-cases-a8c3efbe51bd","collection":null,"isLimitedState":false,"allowResponses":true,"postResponses":{"__typename":"PostResponses","count":0},"visibility":"PUBLIC","clapCount":10,"isLocked":false,"firstPublishedAt":1718349686708,"latestPublishedAt":1718349686708,"pinnedAt":0,"readingTime":3.39811320754717,"sequence":null,"isSeries":false,"uniqueSlug":"kusion-v0-12-0-release-optimize-comprehensive-capabilities-and-provide-production-practice-cases-a8c3efbe51bd","pinnedByCreatorAt":0,"viewerEdge":{"__ref":"PostViewerEdge:postId:a8c3efbe51bd-viewerId:lo_5f14afb38a4e"}}}</script><script src="https://cdn-client.medium.com/lite/static/js/manifest.5991cf1e.js"></script><script src="https://cdn-client.medium.com/lite/static/js/4783.3b00fa4a.js"></script><script src="https://cdn-client.medium.com/lite/static/js/main.70c9d90e.js"></script><script src="https://cdn-client.medium.com/lite/static/js/instrumentation.5bef8967.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/reporting.ff22a7a5.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3171.5b0ceee8.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/628.4b410354.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2707.e49411e8.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/9977.3cee8988.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7465.cf88931d.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/4737.5256e883.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7381.9944134b.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6372.7118269b.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3326.f3ee7832.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7938.4f8e1aff.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3862.b8166914.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3054.3f2efcff.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3735.66c0e9ec.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/4929.37d2472b.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/4769.657bbc56.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6834.aa1899a4.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5244.80dd2d8b.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3485.3a37098a.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6765.ddf8eeb8.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/UserProfilePage.MainContent.90896827.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/9611.1058b883.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5151.838e3a0c.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/UserProfilePage.RightColumnContent.cc498985.chunk.js"></script><script>window.main();</script><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'92be95ce8c639e2c',t:'MTc0MzkxNDE5Ny4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body></html>