CINXE.COM

Flux | CNCF

<!DOCTYPE html> <html lang="en-US" class="no-focus-outline"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Flux | CNCF</title> <!-- The SEO Framework by Sybre Waaijer --> <meta name="robots" content="max-snippet:-1,max-image-preview:standard,max-video-preview:-1" /> <link rel="canonical" href="https://www.cncf.io/projects/flux/" /> <meta property="og:type" content="article" /> <meta property="og:locale" content="en_US" /> <meta property="og:site_name" content="CNCF" /> <meta property="og:title" content="Flux" /> <meta property="og:url" content="https://www.cncf.io/projects/flux/" /> <meta property="og:image" content="https://www.cncf.io/wp-content/uploads/2022/05/cncf_social_share.jpg" /> <meta property="article:published_time" content="2024-11-24T04:05:23+00:00" /> <meta property="article:modified_time" content="2024-11-24T04:05:23+00:00" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@cloudnativefdn" /> <meta name="twitter:title" content="Flux" /> <meta name="twitter:image" content="https://www.cncf.io/wp-content/uploads/2022/05/cncf_social_share.jpg" /> <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://www.cncf.io/#/schema/WebSite","url":"https://www.cncf.io/","name":"CNCF","inLanguage":"en-US","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.cncf.io/search/{search_term_string}/"},"query-input":"required name=search_term_string"},"publisher":{"@type":"Organization","@id":"https://www.cncf.io/#/schema/Organization","name":"CNCF","url":"https://www.cncf.io/","sameAs":["https://www.facebook.com/CloudNativeComputingFoundation/","https://twitter.com/cloudnativefdn","https://www.instagram.com/humans.of.cloudnative/","https://www.youtube.com/c/cloudnativefdn","https://www.linkedin.com/company/cloud-native-computing-foundation/"],"logo":{"@type":"ImageObject","url":"https://www.cncf.io/wp-content/uploads/2022/11/cncf-logo-stacked.png","contentUrl":"https://www.cncf.io/wp-content/uploads/2022/11/cncf-logo-stacked.png","width":1293,"height":762,"contentSize":"12810"}}},{"@type":"WebPage","@id":"https://www.cncf.io/projects/flux/","url":"https://www.cncf.io/projects/flux/","name":"Flux | CNCF","inLanguage":"en-US","isPartOf":{"@id":"https://www.cncf.io/#/schema/WebSite"},"breadcrumb":{"@type":"BreadcrumbList","@id":"https://www.cncf.io/#/schema/BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":"https://www.cncf.io/","name":"CNCF"},{"@type":"ListItem","position":2,"name":"Flux"}]},"potentialAction":{"@type":"ReadAction","target":"https://www.cncf.io/projects/flux/"},"datePublished":"2024-11-24T04:05:23+00:00","dateModified":"2024-11-24T04:05:23+00:00"}]}</script> <!-- / The SEO Framework by Sybre Waaijer | 6.30ms meta | 0.43ms boot --> <link rel='dns-prefetch' href='//www.cncf.io' /> <link rel='dns-prefetch' href='//js.hs-scripts.com' /> <link rel='dns-prefetch' href='//cmp.osano.com' /> <link crossorigin='' href='//www.googletagmanager.com' rel='preconnect' /> <link crossorigin='' href='//www.gstatic.com' rel='preconnect' /> <link crossorigin href='//js.hscollectedforms.net' rel='preconnect' /> <link crossorigin href='//js.hs-banner.com' rel='preconnect' /> <link crossorigin href='//js.hs-analytics.net' rel='preconnect' /> <link crossorigin href='//js.hsforms.net' rel='preconnect' /> <link crossorigin href='//js.hs-scripts.com' rel='preconnect' /> <link crossorigin href='//landscape.cncf.io' rel='preconnect' /> <link crossorigin href='//cmp.osano.com' rel='preconnect' /> <link crossorigin href='//consent.api.osano.com' rel='preconnect' /> <style id='wp-block-library-inline-css'> :root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color)}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}.has-text-align-center{text-align:center}.has-text-align-left{text-align:left}.has-text-align-right{text-align:right}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip:auto!important;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} </style> <link rel='stylesheet' id='search-filter-plugin-styles-css' href='https://www.cncf.io/wp-content/plugins/search-filter-pro/public/assets/css/search-filter.min.css?ver=2.5.19' media='all' /> <link rel='stylesheet' id='main-css' href='https://www.cncf.io/wp-content/themes/cncf-twenty-two/build/styles.min.css?ver=1732368213' media='all' /> <style id='wp-block-button-inline-css'> .wp-block-button__link{box-sizing:border-box;cursor:pointer;display:inline-block;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}:root :where(.wp-block-button .wp-block-button__link.is-style-outline),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link){border:2px solid;padding:.667em 1.333em}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color)){color:currentColor}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background)){background-color:initial;background-image:none} </style> <style id='wp-block-buttons-inline-css'> .wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin:0}.wp-block-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-buttons.is-content-justification-center{justify-content:center}.wp-block-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-buttons.aligncenter{text-align:center}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-button.aligncenter{text-align:center} </style> <script defer src="https://cmp.osano.com/16A0DbT9yDNIaQkvZ/c3494b1e-ff3a-436f-978d-842e9a0bed27/osano.js?ver=1" id="osano-js"></script> <link rel="https://api.w.org/" href="https://www.cncf.io/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.cncf.io/wp-json/wp/v2/lf_project/35970" /><!-- Google Tag Manager --> <script data-type="lazy" data-src="data:text/javascript;base64,KGZ1bmN0aW9uKHcsZCxzLGwsaSl7d1tsXT13W2xdfHxbXTt3W2xdLnB1c2goeydndG0uc3RhcnQnOgpuZXcgRGF0ZSgpLmdldFRpbWUoKSxldmVudDonZ3RtLmpzJ30pO3ZhciBmPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUocylbMF0sCmo9ZC5jcmVhdGVFbGVtZW50KHMpLGRsPWwhPSdkYXRhTGF5ZXInPycmbD0nK2w6Jyc7ai5hc3luYz10cnVlO2ouc3JjPQonaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPScraStkbDtmLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGosZik7Cn0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnZGF0YUxheWVyJywnR1RNLUtOWEZXVicpOw=="></script> <!-- End Google Tag Manager --> <!-- DO NOT COPY THIS SNIPPET! Start of Page Analytics Tracking for HubSpot WordPress plugin v11.1.65--> <script class="hsq-set-content-id" data-content-id="blog-post"> var _hsq = _hsq || []; _hsq.push(["setContentType", "blog-post"]); </script> <!-- DO NOT COPY THIS SNIPPET! End of Page Analytics Tracking for HubSpot WordPress plugin --> <link rel="icon" href="https://www.cncf.io/wp-content/themes/cncf-twenty-two/images/favicon.ico" sizes="any"> <link rel="icon" href="https://www.cncf.io/wp-content/themes/cncf-twenty-two/images/favicon.svg" sizes="any" type="image/svg+xml"> <link rel="apple-touch-icon" href="https://www.cncf.io/wp-content/themes/cncf-twenty-two/images/apple-touch-icon.png"> <link rel="manifest" href="https://www.cncf.io/wp-content/themes/cncf-twenty-two/images/manifest.webmanifest"> <meta name="theme-color" content="#000000"> <meta http-equiv="X-UA-Compatible" content="IE=edge"><script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"NRJS-97e2229449e282c1bef",applicationID:"643908501"};;/*! For license information please see nr-loader-rum-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>g,gD:()=>h,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function g(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function h(e,t){if(!e)throw new Error(f);var r=g(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,xv:()=>n});const n="1.274.0",i="PROD",o="CDN"},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>c,RI:()=>i,WN:()=>d,bv:()=>o,gm:()=>a,mw:()=>s,sb:()=>u});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=c&&"undefined"==typeof SharedWorker,d=((()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)())},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),g(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return g(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),g(e,t)})))}function g(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=g(n),c=h(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=m()[s[e]];p&&p.push([f,e,r,a]);return a},get:v,listeners:h,context:g,buffer:function(e,t){const r=m();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!m()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=h(e).concat(t)}function h(e){return n[e]||[]}function v(t){return d[t]=d[t]||e(f,t)}function m(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},3434:(e,t,r)=>{"use strict";r.d(t,{YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log";n.K7.logging},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{G4:()=>i});var n=r(2614);r(860).K7.sessionReplay;const i={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"};n.g.ERROR,n.g.FULL,n.g.OFF},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7603:(e,t,r)=>{"use strict";r.d(t,{j:()=>P});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),g=r(384),p=r(6344);const h=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],v=["setErrorHandler","finished","addToTrace","addRelease"];var m=r(1863),b=r(2614),y=r(993);var w=r(2646),A=r(3434);function R(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,A.YM)(i),a=new w.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function E(){const e=(0,g.pV)();h.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const x={};function _(e,t,g=!1){t||(0,c.Ak)(e,"api");const h={};var w=s.ee.get(e),A=w.get("tracer");x[e]=b.g.OFF,w.on(p.G4.REPLAY_RUNNING,(t=>{x[e]=t}));var E="api-",_=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),j(E,n,!0,o||null===r?"session":void 0)(t,r)}function T(){}h.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,w),function(e,t,r={},i=y.p_.INFO){(0,a.p)(f.xV,["API/logging/".concat(i.toLowerCase(),"/called")],void 0,n.K7.metrics,e),(0,a.p)(y.ET,[(0,m.t)(),t,r,i],void 0,n.K7.logging,e)}(w,e,t,r)},h.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,w),R(w,e,t,{customAttributes:r,level:i})},v.forEach((e=>{h[e]=j(E,e,!0,"api")})),h.addPageAction=j(E,"addPageAction",!0,n.K7.genericEvents),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,j(E,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},h.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},h.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},h.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,w),w.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},h[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,w)},h[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,w)},h.interaction=function(e){return(new T).get("object"==typeof e?e:{})};const S=T.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,w),g||(0,a.p)(_+"tracer",[(0,m.t)(),e,r],i,n.K7.spa,w),function(){if(A.emit((o?"":"no-")+"fn-start",[(0,m.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw A.emit("fn-err",[arguments,this,t],r),t}finally{A.emit("fn-end",[(0,m.t)()],r)}}}};function j(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,w),i&&(0,a.p)(e+t,[(0,m.t)(),...arguments],r?null:this,i,w),r?void 0:this}}function k(){r.e(296).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),w.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{S[e]=j(_,e,void 0,g?n.K7.softNav:n.K7.spa)})),h.setCurrentRouteName=g?j(_,"routeName",void 0,n.K7.softNav):j(E,"routeName",!0,n.K7.spa),h.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,w),(0,a.p)("err",[t,(0,m.t)(),!1,r,!!x[e]],void 0,n.K7.jserrors,w)},d.RI?(0,u.GG)((()=>k()),!0):k(),h}var N=r(9417),T=r(8122);const S={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},j={};var k=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let O=!1;function P(e,t={},r,n){let{init:a,info:c,loader_config:u,runtime:l={},exposed:f=!0}=t;l.loaderType=r;const p=(0,g.pV)();c||(a=p.init,c=p.info,u=p.loader_config),(0,N.xN)(e.agentIdentifier,a||{}),function(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");j[e]=(0,T.a)(t,S);const r=(0,g.nY)(e);r&&(r.loader_config=j[e])}(e.agentIdentifier,u||{}),c.jsAttributes??={},d.bv&&(c.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,c);const h=(0,N.D0)(e.agentIdentifier),v=[c.beacon,c.errorBeacon];O||(h.proxy.assets&&(I(h.proxy.assets),v.push(h.proxy.assets)),h.proxy.beacon&&v.push(h.proxy.beacon),E(),(0,g.US)("activatedFeatures",k.B),e.runSoftNavOverSpa&&=!0===h.soft_navigations.enabled&&h.feature_flags.includes("soft_nav")),l.denyList=[...h.ajax.deny_list||[],...h.ajax.block_internal?v:[]],l.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,l),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=_(e.agentIdentifier,n,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=f),O=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>"nr-rum-1.274.0.min.js",i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={296:"sha512-gkYkZDAwQ9PwaDXs2YM+rNIdRej1Ac1mupWobRJ8eahQcXz6/sunGZCKklrzi5kWxhOGRZr2tn0rEKuLTXzfAA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var g=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(g.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=g.bind(null,s.onerror),s.onload=g.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={840:0,374:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(7603);var l=i(1687),f=i(4234),g=i(5289),p=i(6154),h=i(384);const v=e=>p.RI&&!0===(0,s.gD)(e,"privacy.cookies_enabled");function m(e){return!!(0,h.dV)().o.MO&&v(e)&&!0===(0,s.gD)(e,"session_trace.enabled")}var b=i(6389);class y extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,b.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if(v(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(296).then(i.bind(i,3861));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(296).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(296).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,g.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return m(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var w=i(6630);class A extends y{static featureName=w.T;constructor(e,t=!0){super(e,w.T,t),this.importAggregator(e)}}var R=i(9908),E=i(2843),x=i(3878),_=i(782),N=i(1863);class T extends y{static featureName=_.T;constructor(e,t=!0){super(e,_.T,t),p.RI&&((0,E.u)((()=>(0,R.p)("docHidden",[(0,N.t)()],void 0,_.T,this.ee)),!0),(0,x.sp)("pagehide",(()=>(0,R.p)("winPagehide",[(0,N.t)()],void 0,_.T,this.ee))),this.importAggregator(e))}}var S=i(3969);class j extends y{static featureName=S.TZ;constructor(e,t=!0){super(e,S.TZ,t),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,h.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(A),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,h.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[A,T,j],loaderType:"lite"})})()})();</script> <style> html { visibility: hidden; } </style> </head> <body class="lf_project-template-default single single-lf_project postid-35970 wp-embed-responsive"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KNXFWV" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <a class="skip-link" href="#maincontent">Skip to content</a> <a class="skip-link" href="https://www.cncf.io/accessibility-statement/">Accessibility help</a> <div class="hello-bar" role="banner" style="background-color: #0175e4; color: #ffffff"> <div class="container wrap"> <p>Meet us in Delhi for KubeCon + CloudNativeCon India · Dec 11-12 · <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-india/register/?utm_source=www&amp;utm_medium=homepage&amp;utm_campaign=KubeCon-India-2024&amp;utm_content=hello-bar">REGISTER TODAY</a></p> </div> </div> <header class="header"> <div class="container wrap"> <div class="logo"> <a href="/" title="Cloud Native Computing Foundation"> <img loading="eager" src="https://www.cncf.io/wp-content/uploads/2023/04/cncf-main-site-logo.svg" width="210" height="40" alt="Cloud Native Computing Foundation"> </a> </div> <nav class="main-menu"> <ul class="main-menu__wrapper"> <li class="menu-item-has-children"> <a href="#"><span>About</span></a> <div class="sub-menu"> <div class="col-container"> <div class="col1"> <ul id="menu-about_01" class="menu"><li id="menu-item-71611" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71611 lf-menu-title">Discover CNCF</li> <li id="menu-item-112411" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-112411"><a href="https://www.cncf.io/membership-hub/">Membership Hub<span class="lf-menu-description">Learn about all the benefits of being a CNCF Member</span></a></li> <li id="menu-item-71617" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71617"><a href="https://www.cncf.io/people/technical-oversight-committee/">Technical Oversight Committee<span class="lf-menu-description">The TOC defines CNCF’s technical vision and provides experienced technical leadership to the cloud native community</span></a></li> <li id="menu-item-71618" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71618"><a href="https://www.cncf.io/people/governing-board/">Governing Board<span class="lf-menu-description">The GB is responsible for marketing, business oversight, and budget decisions for CNCF</span></a></li> <li id="menu-item-102485" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-102485"><a href="https://www.cncf.io/people/end-user-technical-advisory-board/">End User Technical Advisory Board<span class="lf-menu-description">The End User TAB serves as the voice of the end users in CNCF community decisions</span></a></li> <li id="menu-item-72396" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72396"><a href="https://www.cncf.io/people/ambassadors/">Ambassadors<span class="lf-menu-description">Meet our Ambassadors—experienced practitioners passionate about helping others learn about cloud native technologies</span></a></li> </ul> </div> <div class="col2"> <ul id="menu-about_02" class="menu"><li id="menu-item-71619" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71619 lf-menu-title">Additional Info</li> <li id="menu-item-102486" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-102486"><a href="https://www.cncf.io/about/who-we-are/">Who We Are</a></li> <li id="menu-item-112412" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-112412"><a href="https://www.cncf.io/about/members/">Member Listing</a></li> <li id="menu-item-74274" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-74274"><a href="https://www.cncf.io/conduct/">Code of Conduct</a></li> <li id="menu-item-118514" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-118514"><a href="https://www.cncf.io/policies/">Policies</a></li> <li id="menu-item-71620" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71620"><a href="https://www.cncf.io/people/staff/">Staff</a></li> <li id="menu-item-71621" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71621"><a href="https://www.cncf.io/about/faq/">FAQ</a></li> <li id="menu-item-71622" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71622"><a href="https://www.cncf.io/about/contact/">Contact Us</a></li> </ul> </div> <div class="col3"> <ul class="menu"> <li class="lf-menu-title">Featured Reads </li> </ul> <div class="columns-one"> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/reports/cncf-annual-report-2023/" title="CNCF Annual Report 2023" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-300x158.jpg 300w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-1024x538.jpg 1024w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-768x403.jpg 768w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-1552x816.jpg 1552w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-900x473.jpg 900w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-381x200.jpg 381w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-762x400.jpg 762w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-1180x620.jpg 1180w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner.jpg 1800w" sizes="(max-width: 200px) 100vw, 200px" alt="CNCF Annual Report 2023"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Annual category" href="https://www.cncf.io/reports/?_sft_lf-report-type=annual">Annual Report</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/reports/cncf-annual-report-2023/" title="CNCF Annual Report 2023">CNCF Annual Report 2023</a> </span> <span class="main-menu-item__date">January 23, 2024</span> </div> </div> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/reports/cncf-ecosystem-gaps/" title="CNCF Ecosystem Gaps" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-11-14-at-7.40.10 AM-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-11-14-at-7.40.10 AM-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-11-14-at-7.40.10 AM-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-11-14-at-7.40.10 AM-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-11-14-at-7.40.10 AM-1552x816.jpg 1552w, https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-11-14-at-7.40.10 AM-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-11-14-at-7.40.10 AM-1180x620.jpg 1180w" sizes="(max-width: 200px) 100vw, 200px" alt="CNCF Ecosystem Gaps"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Survey category" href="https://www.cncf.io/reports/?_sft_lf-report-type=survey">Survey Report</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/reports/cncf-ecosystem-gaps/" title="CNCF Ecosystem Gaps">CNCF Ecosystem Gaps</a> </span> <span class="main-menu-item__date">November 14, 2024</span> </div> </div> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper"> <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-india/" title="KubeCon + CloudNativeCon India 2024" class="main-menu-item__link main-menu-item__event"> <!-- event start --> <div class="main-menu-item__event-overlay" style="background-color: rgb(173, 20, 87) "> </div> <figure class="main-menu-item__event-bg-figure"> <img width="194" height="102" loading="lazy" class="main-menu-item__event-bg-image" src="https://www.cncf.io/wp-content/uploads/2024/03/Screenshot-2024-11-06-at-10.37.21 AM-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/03/Screenshot-2024-11-06-at-10.37.21 AM-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/03/Screenshot-2024-11-06-at-10.37.21 AM-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/03/Screenshot-2024-11-06-at-10.37.21 AM-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/03/Screenshot-2024-11-06-at-10.37.21 AM-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/03/Screenshot-2024-11-06-at-10.37.21 AM-1180x620.jpg 1180w" sizes="(max-width: 200px) 100vw, 200px" alt="KubeCon + CloudNativeCon India 2024"> </figure> <div class="main-menu-item__event-content"> <div> <img loading="lazy" class="main-menu-item__event-logo" src="https://www.cncf.io/wp-content/uploads/2024/03/kc_cnc_india24_white.svg" alt="KubeCon + CloudNativeCon India 2024" width="414" height="177"> <h4><span class="main-menu-item__event-city">Delhi, India</span> </h4> </div> </div> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Events" href="https://www.cncf.io/events">Next Event</a> <span class="main-menu-item__title"> <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-india/" title="KubeCon + CloudNativeCon India 2024">KubeCon + CloudNativeCon India 2024</a> </span> <span class="main-menu-item__date"> December 11-12, 2024</span> </div> </div> </div> </div> </div> </div> </li> <li class="menu-item-has-children"><a href="#"><span>Projects</span></a> <div class="sub-menu"> <div class="col-container"> <div class="col1"> <ul id="menu-projects_01" class="menu"><li id="menu-item-71623" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71623 lf-menu-title">CNCF Projects</li> <li id="menu-item-71624" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71624"><a href="https://www.cncf.io/projects/">Graduated<span class="lf-menu-description">Projects considered stable, widely adopted, and production ready, attracting thousands of contributors</span></a></li> <li id="menu-item-71625" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71625"><a href="https://www.cncf.io/projects/">Incubating<span class="lf-menu-description">Projects used successfully in production by a small number users with a healthy pool of contributors</span></a></li> <li id="menu-item-71626" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71626"><a href="https://www.cncf.io/sandbox-projects/">Sandbox<span class="lf-menu-description">Experimental projects not yet widely tested in production on the bleeding edge of technology</span></a></li> <li id="menu-item-71627" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71627"><a href="https://www.cncf.io/archived-projects/">Archived<span class="lf-menu-description">Projects that have reached the end of their lifecycle and have become inactive</span></a></li> <li id="menu-item-94549" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-94549"><a href="https://www.cncf.io/project-metrics/">Project Metrics<span class="lf-menu-description">View metrics of CNCF projects moving through maturity levels</span></a></li> </ul> </div> <div class="col2"> <ul id="menu-projects_02" class="menu"><li id="menu-item-71628" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71628 lf-menu-title">Get Involved</li> <li id="menu-item-71629" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71629"><a href="https://contribute.cncf.io"><span class="lf-external-link">Contribute</span><span class="lf-menu-description">Join the 150K+ folx in #TeamCloudNative who’ve contributed their expertise to CNCF hosted projects</span></a></li> <li id="menu-item-103342" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-103342"><a href="https://contribute.cncf.io/resources/project-services/"><span class="lf-external-link">Services for CNCF Projects</span><span class="lf-menu-description">CNCF services for our open source projects – from marketing to legal services</span></a></li> <li id="menu-item-71632" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71632"><a href="https://landscape.cncf.io"><span class="lf-external-link">Cloud Native Landscape</span><span class="lf-menu-description">A comprehensive categorical overview of projects and product offerings in the cloud native space</span></a></li> <li id="menu-item-71631" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71631"><a href="/reports/?_sft_lf-report-type=project-journey">Project Journey Reports<span class="lf-menu-description">Showing how CNCF has impacted the progress and growth of various graduated projects</span></a></li> <li id="menu-item-71633" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71633"><a href="/project-tools/">Project Tools<span class="lf-menu-description">Quick links to tools and resources for your CNCF project</span></a></li> </ul> </div> <div class="col3"> <ul class="menu"> <li class="lf-menu-title">Latest Project Journey Reports </li> </ul> <div class="columns-one"> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/reports/cilium-project-journey-report/" title="Cilium Project Journey Report" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-300x158.jpg 300w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-1024x538.jpg 1024w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-768x404.jpg 768w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-1552x816.jpg 1552w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-900x473.jpg 900w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-1800x946.jpg 1800w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-381x200.jpg 381w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-761x400.jpg 761w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-1180x620.jpg 1180w" sizes="(max-width: 200px) 100vw, 200px" alt="Cilium Project Journey Report"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Project Journey category" href="https://www.cncf.io/reports/?_sft_lf-report-type=project-journey">Project Journey Report</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/reports/cilium-project-journey-report/" title="Cilium Project Journey Report">Cilium Project Journey Report</a> </span> <span class="main-menu-item__date">November 11, 2024</span> </div> </div> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/reports/etcd-project-journey-report/" title="etcd Project Journey Report" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-300x158.jpg 300w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-1024x538.jpg 1024w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-768x404.jpg 768w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-900x473.jpg 900w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-380x200.jpg 380w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-761x400.jpg 761w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-1180x620.jpg 1180w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1.jpg 1229w" sizes="(max-width: 200px) 100vw, 200px" alt="etcd Project Journey Report"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Project Journey category" href="https://www.cncf.io/reports/?_sft_lf-report-type=project-journey">Project Journey Report</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/reports/etcd-project-journey-report/" title="etcd Project Journey Report">etcd Project Journey Report</a> </span> <span class="main-menu-item__date">September 25, 2024</span> </div> </div> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/reports/etcd-project-journey-report-jp/" title="etcd Project Journey Report – Japanese translation" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2024/10/etcd-pjr-jp1-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/10/etcd-pjr-jp1-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/10/etcd-pjr-jp1-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/10/etcd-pjr-jp1-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/10/etcd-pjr-jp1-1552x816.jpg 1552w, https://www.cncf.io/wp-content/uploads/2024/10/etcd-pjr-jp1-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/10/etcd-pjr-jp1-1180x620.jpg 1180w" sizes="(max-width: 200px) 100vw, 200px" alt="etcd Project Journey Report – Japanese translation"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Project Journey category" href="https://www.cncf.io/reports/?_sft_lf-report-type=project-journey">Project Journey Report</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/reports/etcd-project-journey-report-jp/" title="etcd Project Journey Report – Japanese translation">etcd Project Journey Report – Japanese translation</a> </span> <span class="main-menu-item__date">September 25, 2024</span> </div> </div> </div> </div> </div> </div> </li> <li class="menu-item-has-children"><a href="#"><span>Training</span></a> <div class="sub-menu"> <div class="col-container"> <div class="col1"> <ul id="menu-certifications_01" class="menu"><li id="menu-item-71634" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71634 lf-menu-title">Become an expert</li> <li id="menu-item-97034" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-97034"><a href="https://www.cncf.io/training/">Training Overview<span class="lf-menu-description">Find your path to cloud native success with training and certificates from the pioneer of cloud-native technology</span></a></li> <li id="menu-item-97032" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-97032"><a href="https://www.cncf.io/training/certification/">Certifications<span class="lf-menu-description">Get certified by the only authoritative source for cloud-native certification accepted by industry</span></a></li> <li id="menu-item-97033" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-97033"><a href="https://www.cncf.io/training/courses/">Courses<span class="lf-menu-description">Learn the basics of cloud native or train for a certification with training courses built in collaboration with the Linux Foundation</span></a></li> <li id="menu-item-104457" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-104457"><a href="https://www.cncf.io/training/kubestronaut/">Kubestronaut Program<span class="lf-menu-description">Uplevel your Kubernetes skills</span></a></li> </ul> </div> <div class="col2"> <ul id="menu-certifications_02" class="menu"><li id="menu-item-71638" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71638 lf-menu-title">Additional Resources</li> <li id="menu-item-71642" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71642"><a href="https://www.cncf.io/training/kubernetes-training-partners/">Kubernetes Training Partners<span class="lf-menu-description">Find a qualified KTP to prepare for your next certification</span></a></li> <li id="menu-item-104420" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-104420"><a href="https://www.cncf.io/training/cncf-endorsed-content/">CNCF Endorsed Content<span class="lf-menu-description">Training materials that match strict criteria</span></a></li> <li id="menu-item-71640" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71640"><a href="https://www.cncf.io/training/certification/software-conformance/">Certified Kubernetes<span class="lf-menu-description">Software conformance ensures your versions of CNCF projects support the required APIs</span></a></li> <li id="menu-item-72609" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72609"><a href="https://www.cncf.io/training/certification/cnf/">Cloud Native Network Function Certification (Beta)<span class="lf-menu-description">CNF Certification ensures applications demonstrate cloud native best practices</span></a></li> <li id="menu-item-71643" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71643"><a href="https://www.cncf.io/training/certification/kcsp/">Kubernetes Certified Service Provider<span class="lf-menu-description">KCSPs have deep experience helping enterprises successfully adopt cloud native technologies</span></a></li> </ul> </div> <div class="col3"> <ul class="menu"> <li class="lf-menu-title">Recommended Links </li> </ul> <div class="columns-one"> <div class="main-menu-item promotion-item"> <div class="main-menu-item__image-wrapper"> <a href="https://www.cncf.io/enduser/" title="Save $10K on Cloud Native" class="main-menu-item__link"> <img width="2048" height="1365" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k.jpg" srcset="https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k.jpg 2048w, https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k-300x200.jpg 300w, https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k-768x512.jpg 768w, https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k-1024x683.jpg 1024w, https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k-1536x1024.jpg 1536w, https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k-900x600.jpg 900w, https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k-1800x1200.jpg 1800w, https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k-600x400.jpg 600w" sizes="(max-width: 400px) 100vw, 400px" alt="Save $10K on Cloud Native"> </a> </div> <div class="main-menu-item__text-wrapper"> <span class="main-menu-item__title"> <a href="https://www.cncf.io/enduser/" title="Save $10K on Cloud Native">Save $10K on Cloud Native</a> </span> <p class="main-menu-item__body">Enroll your company as a CNCF End User and save more than $10K in training and conference costs</p> <p class="is-style-link-cta"><a href="https://www.cncf.io/enduser/">Become an End User</a></p> </div> </div> </div> </div> </div> </div> </li> <li class="menu-item-has-children"><a href="#"><span>Community</span></a> <div class="sub-menu"> <div class="col-container"> <div class="col1"> <ul id="menu-community_01" class="menu"><li id="menu-item-71644" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71644 lf-menu-title">Take Part</li> <li id="menu-item-71645" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71645"><a href="https://www.cncf.io/enduser/">End User Community<span class="lf-menu-description">Join our vendor-neutral community using cloud native technologies to build products and services</span></a></li> <li id="menu-item-71646" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71646"><a href="https://www.cncf.io/events/">Events<span class="lf-menu-description">Meet #TeamCloudNative and CNCF staff at events around the world</span></a></li> <li id="menu-item-71648" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71648"><a href="https://www.cncf.io/case-studies/">Case Studies<span class="lf-menu-description">Read real-world case studies about the impact cloud native projects are having on organizations around the world</span></a></li> <li id="menu-item-72634" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72634"><a href="https://www.cncf.io/humans-of-cloud-native/">Humans of Cloud Native<span class="lf-menu-description">Read stories of amazing individuals and their contributions</span></a></li> <li id="menu-item-120507" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-120507"><a href="https://www.cncf.io/heroes/">The Cloud Native Heroes Challenge<span class="lf-menu-description">Be a cloud native hero! Help us defeat patent trolls to earn swag and prizes</span></a></li> </ul> </div> <div class="col2"> <ul id="menu-community_02" class="menu"><li id="menu-item-71651" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71651 lf-menu-title">Community Content</li> <li id="menu-item-72395" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72395"><a href="https://www.cncf.io/online-programs/">Online Programs<span class="lf-menu-description">Watch our free online programs for the latest insights into cloud native technologies and projects</span></a></li> <li id="menu-item-71652" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71652"><a href="https://www.cncf.io/kubeweekly/">KubeWeekly<span class="lf-menu-description">Sign up for a weekly dose of all things Kubernetes, curated by #TeamCloudNative</span></a></li> <li id="menu-item-71653" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71653"><a href="https://community.cncf.io"><span class="lf-external-link">Community Groups</span><span class="lf-menu-description">Join #TeamCloudNative at events and meetups near you</span></a></li> <li id="menu-item-71654" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71654"><a href="https://www.cncf.io/phippy/">Phippy &#038; Friends<span class="lf-menu-description">Phippy explains core cloud native concepts in simple terms through stories perfect for all ages</span></a></li> <li id="menu-item-71655" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71655"><a href="https://glossary.cncf.io"><span class="lf-external-link">Cloud Native Glossary</span><span class="lf-menu-description">Explore cloud native concepts in clear and simple language – no technical knowledge required!</span></a></li> </ul> </div> <div class="col3"> <ul id="menu-community_03" class="menu"><li id="menu-item-71656" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71656 lf-menu-title">Additional Resources</li> <li id="menu-item-71657" class="has-icon icon-job menu-item menu-item-type-custom menu-item-object-custom menu-item-71657"><a href="https://jobs.cncf.io"><span class="lf-external-link">Job Board</span></a></li> <li id="menu-item-71658" class="has-icon icon-slack menu-item menu-item-type-custom menu-item-object-custom menu-item-71658"><a href="https://slack.cncf.io/"><span class="lf-external-link">Slack</span></a></li> <li id="menu-item-71659" class="has-icon icon-mailing menu-item menu-item-type-custom menu-item-object-custom menu-item-71659"><a href="https://lists.cncf.io/g/main/subgroups"><span class="lf-external-link">Mailing Lists</span></a></li> <li id="menu-item-71660" class="has-icon icon-store menu-item menu-item-type-custom menu-item-object-custom menu-item-71660"><a href="https://store.cncf.io"><span class="lf-external-link">Store</span></a></li> <li id="menu-item-71661" class="has-icon icon-calendar menu-item menu-item-type-post_type menu-item-object-page menu-item-71661"><a href="https://www.cncf.io/calendar/">Calendar</a></li> </ul> </div> </div> </div> </li> <li class="menu-item-has-children"><a href="#"><span>Blog & News</span></a> <div class="sub-menu"> <div class="col-container"> <div class="col1"> <ul id="menu-blog_01" class="menu"><li id="menu-item-71662" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71662 lf-menu-title">All the news</li> <li id="menu-item-71663" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-71663"><a href="https://www.cncf.io/blog/">Blog<span class="lf-menu-description">Catch up on the latest happenings and technical insights from #TeamCloudNative</span></a></li> <li id="menu-item-71664" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-71664"><a href="https://www.cncf.io/announcements/">Announcements<span class="lf-menu-description">Media releases and official CNCF announcements</span></a></li> <li id="menu-item-71665" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-71665"><a href="https://www.cncf.io/news/">News<span class="lf-menu-description">CNCF projects and #TeamCloudNative in the media</span></a></li> <li id="menu-item-71666" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71666"><a href="https://www.cncf.io/reports/">Reports<span class="lf-menu-description">Read transparent, in-depth reports on our organization, events, and projects</span></a></li> </ul> </div> <div class="col2"> <ul id="menu-blog_02" class="menu"><li id="menu-item-71667" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71667 lf-menu-title">Media Resources</li> <li id="menu-item-75049" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-75049"><a href="https://www.cncf.io/brand-guidelines/">Brand Guidelines</a></li> <li id="menu-item-71668" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71668"><a href="https://github.com/cncf/artwork"><span class="lf-external-link">Project Logos</span></a></li> <li id="menu-item-71669" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71669"><a href="https://www.youtube.com/c/cloudnativefdn"><span class="lf-external-link">Videos</span></a></li> <li id="menu-item-71670" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71670"><a href="https://www.flickr.com/photos/143247548@N03/albums/"><span class="lf-external-link">Pictures</span></a></li> </ul> </div> <div class="col3"> <ul class="menu"> <li class="lf-menu-title">Latest Blog Posts </li> </ul> <div class="columns-one"> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/blog/2024/11/22/open-source-spirit-elevating-team-collaboration-and-innovation/" title="Open source spirit: elevating team collaboration and innovation" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-194x102.png" srcset="https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-194x102.png 194w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-300x157.png 300w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-1024x537.png 1024w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-768x403.png 768w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-388x204.png 388w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-776x408.png 776w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-1552x816.png 1552w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-900x472.png 900w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-381x200.png 381w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40.png 1650w" sizes="(max-width: 200px) 100vw, 200px" alt="Open source spirit: elevating team collaboration and innovation"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Ambassador category" href="https://www.cncf.io/blog?_sft_lf-author-category=ambassador">Ambassador Post</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/blog/2024/11/22/open-source-spirit-elevating-team-collaboration-and-innovation/" title="Open source spirit: elevating team collaboration and innovation">Open source spirit: elevating team collaboration and innovation</a> </span> <span class="main-menu-item__date">November 22, 2024</span> </div> </div> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/blog/2024/11/22/konveyor-ai-supporting-application-modernization/" title="Konveyor AI: supporting application modernization" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-300x157.jpg 300w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-1024x537.jpg 1024w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-768x403.jpg 768w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-1552x816.jpg 1552w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-900x472.jpg 900w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-381x200.jpg 381w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-762x400.jpg 762w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-1180x620.jpg 1180w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32.jpg 1650w" sizes="(max-width: 200px) 100vw, 200px" alt="Konveyor AI: supporting application modernization"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Member category" href="https://www.cncf.io/blog?_sft_lf-author-category=member">Member Post</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/blog/2024/11/22/konveyor-ai-supporting-application-modernization/" title="Konveyor AI: supporting application modernization">Konveyor AI: supporting application modernization</a> </span> <span class="main-menu-item__date">November 22, 2024</span> </div> </div> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/blog/2024/11/21/unlock-growth-and-talent-why-maintainers-should-mentor-with-cncf/" title="Unlock growth and talent: why maintainers should mentor with CNCF" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-300x157.jpg 300w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-1024x537.jpg 1024w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-768x403.jpg 768w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-1552x816.jpg 1552w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-900x472.jpg 900w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-381x200.jpg 381w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-762x400.jpg 762w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-1180x620.jpg 1180w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33.jpg 1650w" sizes="(max-width: 200px) 100vw, 200px" alt="Unlock growth and talent: why maintainers should mentor with CNCF"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Mentorship category" href="https://www.cncf.io/blog?_sft_lf-author-category=mentorship">Mentorship Post</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/blog/2024/11/21/unlock-growth-and-talent-why-maintainers-should-mentor-with-cncf/" title="Unlock growth and talent: why maintainers should mentor with CNCF">Unlock growth and talent: why maintainers should mentor with CNCF</a> </span> <span class="main-menu-item__date">November 21, 2024</span> </div> </div> </div> </div> </div> </div> </li> </ul> <div style="height:60px;" aria-hidden="true" class="wp-block-spacer show-upto-1000"> </div> <div class="header-cta"> <div class="wp-block-button"> <a href="https://www.cncf.io/about/join/" class="wp-block-button__link wp-element-button">Join</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer show-upto-1000"> </div> <!-- Button to open the search menu --> <button class="header__search_open search-toggle button-reset show-over-1000" type="button" aria-label="Search"> <svg fill="none" viewbox="0 0 29 27" width="29" height="27" xmlns="http://www.w3.org/2000/svg"><path d="M11.172 20.035c5.042 0 9.13-4.036 9.13-9.015s-4.088-9.015-9.13-9.015-9.129 4.036-9.129 9.015c0 4.98 4.087 9.015 9.13 9.015zm5.974-4.615L26.849 25" opacity=".893" stroke="#000" stroke-width="4"/></svg> </button> <div class="header__search_wrapper"> <div class="header__search_container"> <form class="search-form" method="get" autocomplete="off" action="https://www.cncf.io" role="search"> <label for="search-bar" class="screen-reader-text">Search CNCF</label> <input class="search-input" type="search" id="search-bar" value="" name="s" placeholder="I'm looking for..." title="Search CNCF site" autocapitalize="off" spellcheck="false" maxlength="98" required> <input class="search-input-button wp-block-button__link has-no-padding" type="submit" value="Search" /> </form> <div style="height:100px" aria-hidden="true" class="wp-block-spacer show-upto-1000"> </div> <button class="button-reset search-toggle show-over-1000" type="button" aria-label="Close"> <svg width="18" height="18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.999 2.001L2 16M2 2l13.999 13.999" stroke="#fff" stroke-width="3" stroke-linecap="round"/></svg> </button> </div> </div> </nav> <button class="hamburger" type="button" aria-label="Toggle Menu"> <span class="hamburger-box"> <span class="hamburger-inner"></span> </span> </button> </div> </header> <div class="skip-link-target" id="maincontent"></div> <header class="title-wrapper container wrap"> <div class="parent-link-align"> <a class="parent-link" href="https://www.cncf.io/projects/" title="Go to Graduated and Incubating Projects">Projects</a> </div> <h1 class="is-style-project-single-title" itemprop="headline">Flux </h1> </header> <main class="projects-single"> <article class="container wrap"> <div class="projects-single-box lf-grid"> <!-- column 1 --> <div class="projects-single-box__col1"> <a class="projects-single-box__link" href="https://fluxcd.io/"><img src="https://landscape.cncf.io/logos/c513f673e1c90ff7826a7aa6065452b4bade9bd731db2e05675b74d6f5940d49.svg" loading="lazy" title="Visit Flux website" class="projects-single-box__image"></a> </div> <!-- column 2 --> <div class="projects-single-box__col2"> <h2 class="projects-single-box__description"> Open and extensible continuous delivery solution for Kubernetes. Powered by GitOps Toolkit. </h2> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"> </div> Flux was accepted to CNCF on July 15, 2019, moved to the <strong>Incubating</strong> maturity level on March 12, 2021, and then moved to the <strong>Graduated</strong> maturity level on November 30, 2022. <div style="height:60px" aria-hidden="true" class="wp-block-spacer is-style-40-60"> </div> <div class="projects-single-box__links"> <div class="wp-block-button is-style-reduced-height"><a href="https://fluxcd.io/" class="wp-block-button__link">Visit Project Website</a></div> <div class="projects-single-box__icons"> <a title="Flux on Github" href="https://github.com/fluxcd/flux2"><svg viewbox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" aria-label="GitHub"><rect height="512" rx="0" width="512" fill="currentColor"/><path class="inner-color" d="M335 499c14 0 12 17 12 17H165s-2-17 12-17c13 0 16-6 16-12l-1-50c-71 16-86-28-86-28-12-30-28-37-28-37-24-16 1-16 1-16 26 2 40 26 40 26 22 39 59 28 74 22 2-17 9-28 16-35-57-6-116-28-116-126 0-28 10-51 26-69-3-6-11-32 3-67 0 0 21-7 70 26 42-12 86-12 128 0 49-33 70-26 70-26 14 35 6 61 3 67 16 18 26 41 26 69 0 98-60 120-117 126 10 8 18 24 18 48l-1 70c0 6 3 12 16 12z" fill="#fff"/></svg></a> <a title="Flux on DevStats" href="https://flux.devstats.cncf.io/"><svg xmlns="http://www.w3.org/2000/svg" viewbox="-10.23 -10.23 531.96 531.96" aria-label="Devstats"><path fill="none" d="M-1-1h582v402H-1z"/><rect width="512" height="512" rx="0"/><path fill="#FFF" d="M285.9 116c.1 1.8.3 3.7.3 5.5v136.3c0 6.6 0 6.6-6.4 6.7-11.8 0-23.6-.1-35.4 0-3.3 0-4.8-.9-4.8-4.6.1-47.1.1-94.3.1-141.4 0-.8.2-1.7.2-2.5h46zm-56.8 91.6v51.1c0 5.8 0 5.8-5.6 5.8-12.1 0-24.1-.1-36.2.1-3.8.1-4.9-1.3-4.9-5 .1-34.6.1-69.3 0-103.9 0-3.6 1-5.1 4.8-5 12.3.2 24.7.2 37 0 3.8-.1 4.9 1.3 4.8 5 0 17.3.1 34.6.1 51.9zM172 223c0 12.2-.1 24.4.1 36.6.1 3.7-1.1 5-4.9 4.9-12.3-.2-24.7-.2-37 0-3.8.1-4.8-1.4-4.8-5 .1-24.4.1-48.8 0-73.2 0-3.5 1.2-4.8 4.7-4.8 12.5.1 25 .1 37.4 0 3.6 0 4.6 1.4 4.6 4.8-.2 12.3-.1 24.5-.1 36.7z"/><path fill="#FFF" stroke="null" d="M44.9 443.5v-6.3c9.5-27.8 19.4-55.5 28.2-83.5 3-9.3 7.5-12.4 17.2-12.3 109.9.3 219.8.3 329.7 0 9.7 0 14.3 3 17.2 12.3 8.9 28 18.8 55.7 28.3 83.5v6.3c-4.2.3-8.3.8-12.5.8H57.4c-4.2 0-8.4-.5-12.5-.8zM256.2 55.7h154.5c17.1 0 23.2 5.5 23.2 22.4.2 74.6.2 149.3 0 223.9 0 16.9-6.1 22.4-23.3 22.4H99.4c-17.1 0-23.2-5.6-23.2-22.4-.2-74.6-.2-149.3 0-223.9 0-16.8 6.2-22.3 23.3-22.3 52.3-.2 104.5-.1 156.7-.1zm-1.1 242.2h145.1c13.7 0 14.2-.5 14.2-14.2V96.5c0-13.8-.7-14.6-14-14.6H110.2c-13.5 0-14.2.8-14.2 14.4v187.2c0 14.1.3 14.4 15.1 14.4h144z"/></svg></a> <a title="Flux Logos" href="https://github.com/cncf/artwork/blob/master/examples/sandbox.md#flux-logos"><svg xmlns="http://www.w3.org/2000/svg" aria-label="LF Artwork" viewbox="0 0 512 512"><rect width="512" rx="0" height="512"/><g stroke="null" fill="#FFF"><path d="M112.19 327.61H57.672v127.057h127.057v-54.415h-72.537V327.61zm272.147.407v72.235h-72.235l-.302-.407v54.822h126.952V327.61H383.93l.407.407zM57.671 200.643h54.927l-.407-.407V128h72.13l.407.407V73.586H57.671v127.057z"/><g opacity=".6"><path d="M232.418 128h37.256l56.163-54.414H184.728v54.821m79.277 271.845h-79.277v54.415H311.8v-54.822m72.13-72.235h54.822V172.569l-54.415 56.163v51.188m-271.74-79.277H57.672V327.61h54.52v-79.277"/></g><g><path d="M150.31 357.421c1.219-3.88 1.8-7.902 2.625-11.868q8.719-41.92 17.367-83.856c.517-2.502 1.045-5.002 1.596-7.636.233.246.381.34.441.474a22.587 22.587 0 0 0 18.647 12.947 28.668 28.668 0 0 0 4.767.385c1.286-.008 1.519.388 1.398 1.635a41.005 41.005 0 0 0 3.094 20.67 33.577 33.577 0 0 0 24.06 19.305 64.83 64.83 0 0 0 14.879 1.845c.81.018 1.39-.013 1.433 1.18a20.126 20.126 0 0 0 16.332 20.09c.36.098.786.024 1.15.576-3.977.931-7.884 1.85-11.792 2.762q-47.393 11.062-94.787 22.12c-.315.074-.67.038-.88.362-.71-.13-.17-.678-.33-.99z"/><path d="M235.043 295.21a23.748 23.748 0 0 1-21.996-14.466 23.2 23.2 0 0 1 4.834-25.398c9.059-9.172 18.212-18.25 27.327-27.365q64.976-64.978 129.926-129.982c1.16-1.164 1.707-1.19 2.878-.006q15.228 15.39 30.609 30.627c.943.937 1.047 1.396.043 2.4Q330.09 209.507 251.58 288.061a23.588 23.588 0 0 1-16.537 7.148zm239.24-188.574a32.32 32.32 0 0 1-9.132 21.638c-5.466 5.744-11.2 11.233-16.753 16.895-1.11 1.131-1.486.096-2.022-.44q-26.304-26.273-52.585-52.568-15.892-15.89-31.8-31.762c-.877-.873-1.023-1.348-.05-2.298 5.198-5.082 10.289-10.275 15.47-15.375a33.882 33.882 0 0 1 48.589.079q19.108 18.98 38.091 38.087a34.61 34.61 0 0 1 10.192 25.744zm-276.62 144.413a11.68 11.68 0 0 1-10.206-7.383 12.133 12.133 0 0 1 2.123-13.687c.287-.334.598-.647.91-.959q78.706-78.694 157.415-157.386c.272-.272.583-.51.83-.804.749-.889 1.326-.739 2.121.067q7.834 7.937 15.774 15.77c.718.709.8 1.204.07 1.874-.446.409-.839.874-1.267 1.303q-78.348 78.35-156.687 156.712a14.175 14.175 0 0 1-11.083 4.493zm57.355 56.042a12.28 12.28 0 0 1 3.338-8.555c.445-.489.915-.955 1.382-1.422l156.35-156.375c2.303-2.303 2.304-2.304 4.559-.05 4.831 4.83 9.639 9.684 14.514 14.468.878.862.983 1.458.047 2.243-.378.316-.697.704-1.047 1.055Q355.745 236.873 277.34 315.3a12.672 12.672 0 0 1-14.435 3.507 12.332 12.332 0 0 1-7.887-11.716z"/></g></g></svg></a> <a title="Flux on X" href="https://twitter.com/fluxcd"><svg viewbox="0 0 512 512" width="512" height="512" xmlns="http://www.w3.org/2000/svg" aria-label="X"> <rect height="512" rx="0" width="512" fill="currentColor"></rect> <path class="inner-color" stroke="null" d="m292.818 224.446 128.03-145.738h-30.329L279.304 205.224l-88.76-126.516H88.142L222.396 270.04 88.143 422.851h30.328l117.37-133.634 93.758 133.634H432M129.417 101.104h46.593l214.486 300.451h-46.604" fill="#fff"/></svg> </a> <a title="Flux Blog" href="https://fluxcd.io/blog/"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 455.731 455.731"><path fill="currentColor" d="M0 0H455.731V455.731H0z"/><path d="M296.208 159.16C234.445 97.397 152.266 63.382 64.81 63.382v64.348c70.268 0 136.288 27.321 185.898 76.931 49.609 49.61 76.931 115.63 76.931 185.898h64.348c-.001-87.456-34.016-169.636-95.779-231.399z" fill="#FFFFFF"/><path d="M64.143 172.273v64.348c84.881 0 153.938 69.056 153.938 153.939h64.348c0-120.364-97.922-218.287-218.286-218.287z" fill="#FFFFFF"/><circle cx="109.833" cy="346.26" r="46.088" fill="#FFFFFF"/></svg></a> <a title="Flux Discussion Group" href="https://github.com/fluxcd/flux2/discussions"><svg xmlns="http://www.w3.org/2000/svg" role="img" viewbox="-10.23 -10.23 531.96 531.96"><path d="M0 0h512v512H0z"/><path fill="#FFF" fill-rule="evenodd" stroke="null" d="M444 380.681h-47.5v63.334l-84.44-63.334H190.668v-63.333h31.666v31.667h100.273l42.227 31.667v-31.667h47.5V222.332h-31.666v-31.666H444V380.68zm-95-95H195.94l-84.44 63.334V285.68H64V64h285v221.682zm-142.5-64.663h-79.167v17.164H206.5v-17.164zm79.167-46.17H127.333v15.833h158.334v-15.833zm0-47.5H127.333v15.834h158.334v-15.834z" clip-rule="evenodd"/></svg></a> <a title="Flux Slack" href="https://cloud-native.slack.com/messages/flux"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-label="Slack" viewbox="0 0 512 512"><rect width="512" height="512" rx="0" fill="currentColor"/><g fill="#FFF" class="inner-color"><path id="a" d="M149 305a39 39 0 0 1-78 0c0-22 17-39 39-39h39zm19 0a39 39 0 0 1 78 0v97a39 39 0 0 1-78 0z"/></g><use xlink:href="#a" class="inner-color" fill="#FFF" transform="rotate(90 256 256)"/><use xlink:href="#a" fill="#FFF" class="inner-color" transform="rotate(180 256 256)"/><use xlink:href="#a" fill="#FFF" class="inner-color" transform="rotate(270 256 256)"/></svg></a> <a title="Flux on YouTube" href="https://www.youtube.com/channel/UCoZxt-YMhGHb20ZkvcCc5KA"><svg fill="currentColor" viewbox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" aria-label="YouTube"><rect height="512" rx="0" width="512"/><path class="inner-color" d="M427 169c-4-15-17-27-32-31-34-9-239-10-278 0-15 4-28 16-32 31-9 38-10 135 0 174 4 15 17 27 32 31 36 10 241 10 278 0 15-4 28-16 32-31 9-36 9-137 0-174" fill="#FFF"/><path d="M220 203v106l93-53"/></svg></a> </div> </div> </div> </div> <div style="height:120px" aria-hidden="true" class="wp-block-spacer is-style-80-120"></div> <div class="wp-block-group is-style-no-padding is-style-see-all"> <div class="wp-block-columns are-vertically-aligned-bottom"> <div class="wp-block-column is-vertically-aligned-bottom" style="flex-basis:70%"> <h3 class="is-style-section-heading">Flux case studies</h3> </div> <div class="wp-block-column is-vertically-aligned-bottom" style="flex-basis:30%"> <p class="has-text-align-right is-style-link-cta"><a href="/case-studies/?_sft_lf-project=flux">Related Case Studies</a></p> </div> </div> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="case-studies"> <div class="case-study-item has-animation-scale-2"> <div class="case-study-item__overlay"></div> <figure class="case-study-item__bg-figure"> <img loading="lazy" class="case-study-item__bg-image" src="https://www.cncf.io/wp-content/uploads/2021/03/Netflix-600x480.jpg" alt="Deltatre" width="600" height="480"> </figure> <div class="case-study-item__content"> <!-- title --> <h2 class="case-study-item__title"><a title="Deltatre" href="https://www.cncf.io/case-studies/deltatre/">Deltatre</a></h2> <!-- horizontal rule --> <hr class="wp-block-separator has-text-color has-background has-white-background-color has-white-color is-style-stubby case-study-item__hr"> <!-- stat with horizontal rule --> <div> <p class="case-study-item__stats"><span class="case-study-item__stat-larger">50% reduction</span> <span class="case-study-item__stat-default">in pipeline runtime</span></p> </div> <!-- date --> <div class="case-study-item__date-wrapper show-over-600"> <span class="case-study-item__date">September 17, 2024</span> </div> <!-- description --> <p class="case-study-item__description">Deltatre chose Flux, Helm and K8s to automate and scale</p> <a class="case-study-item__cta wp-block-button__link" href="https://www.cncf.io/case-studies/deltatre/">Read Case Study</a> </div> </div> <div class="case-study-item has-animation-scale-2"> <div class="case-study-item__overlay"></div> <figure class="case-study-item__bg-figure"> <img loading="lazy" class="case-study-item__bg-image" src="https://www.cncf.io/wp-content/uploads/2022/09/IMG_8255-600x450.jpg" alt="Lunar" width="600" height="450"> </figure> <div class="case-study-item__content"> <!-- title --> <h2 class="case-study-item__title"><a title="Lunar" href="https://www.cncf.io/case-studies/lunar/">Lunar</a></h2> <!-- horizontal rule --> <hr class="wp-block-separator has-text-color has-background has-white-background-color has-white-color is-style-stubby case-study-item__hr"> <!-- stat with horizontal rule --> <div> <p class="case-study-item__stats"><span class="case-study-item__stat-larger">40</span> <span class="case-study-item__stat-default">Smooth production releases per day</span></p> </div> <!-- date --> <div class="case-study-item__date-wrapper show-over-600"> <span class="case-study-item__date">September 30, 2022</span> </div> <!-- description --> <p class="case-study-item__description">How Kubernetes and Linkerd became Lunar&#039;s multi-cloud communication backbone</p> <a class="case-study-item__cta wp-block-button__link" href="https://www.cncf.io/case-studies/lunar/">Read Case Study</a> </div> </div> </div> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> </div> <div style="height:120px" aria-hidden="true" class="wp-block-spacer is-style-80-120"></div> <div class="wp-block-group is-style-no-padding is-style-see-all"> <div class="wp-block-columns are-vertically-aligned-bottom"> <div class="wp-block-column is-vertically-aligned-bottom" style="flex-basis:70%"> <h3 class="is-style-section-heading">Recorded Flux programs</h3> </div> <div class="wp-block-column is-vertically-aligned-bottom" style="flex-basis:30%"> <p class="has-text-align-right is-style-link-cta"><a href="/online-programs?_sft_lf-project=flux">See more recordings</a></p> </div> </div> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <!-- Embeded svg sprite reference --> <svg display="none" xmlns="http://www.w3.org/2000/svg"> <symbol id="play-button" fill="none" viewbox="0 0 70 71" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_4409_15889)"> <path d="M35 70.468c19.33 0 35-15.67 35-35s-15.67-35-35-35-35 15.67-35 35 15.67 35 35 35z" fill="#D62293"/> <path d="M26.676 51.298V18.964a2.682 2.682 0 0 1 4.394-2.06l19.367 16.177a2.686 2.686 0 0 1 0 4.115L31.07 53.362a2.676 2.676 0 0 1-4.394-2.064z" fill="#fff"/> </g> </symbol> </svg> <div class="webinars columns-three"> <div class="webinar-recorded-item has-animation-scale-2"> <figure class="webinar-recorded-item__figure"> <a href="https://www.cncf.io/online-programs/cncf-on-demand-webinar-supercharge-the-kubernetes-experience-with-kubernetes-dashboard/" class="webinar-recorded-item__figure-link"> <img width="325" height="245" loading="lazy" src="https://img.youtube.com/vi/oqCAB9b-SGQ/hqdefault.jpg" alt="CNCF On demand webinar: Supercharge the Kubernetes experience with Kubernetes Dashboard" class="webinar-recorded-item__image"> <svg class="webinar-recorded-item__overlay" width="70" height="71"> <use xlink:href="#play-button" xmlns:xlink="http://www.w3.org/1999/xlink"></use> </svg> </a> </figure> <div class="webinar-recorded-item__text-wrapper"> <h3 class="webinar-recorded-item__title"><a class="webinar-recorded-item__link" href="https://www.cncf.io/online-programs/cncf-on-demand-webinar-supercharge-the-kubernetes-experience-with-kubernetes-dashboard/">CNCF On demand webinar: Supercharge the Kubernetes experience with Kubernetes Dashboard</a></h3> <span class="webinar-recorded-item__presented">Presented by: Devtron</span> <div class="webinar-recorded-item__date-views-wrapper"> <span class="webinar-recorded-item__date"> September 26, 2024</span> <span class="webinar-recorded-item__views"> 869 views </span> </div> </div> </div> <div class="webinar-recorded-item has-animation-scale-2"> <figure class="webinar-recorded-item__figure"> <a href="https://www.cncf.io/online-programs/cncf-on-demand-webinar-how-to-migrate-from-influxql-to-sql-for-efficient-time-series-data-analysis/" class="webinar-recorded-item__figure-link"> <img width="325" height="245" loading="lazy" src="https://img.youtube.com/vi/GHn3QIHOTKg/hqdefault.jpg" alt="CNCF On demand webinar: How to migrate from InfluxQL to SQL for efficient time-series data analysis" class="webinar-recorded-item__image"> <svg class="webinar-recorded-item__overlay" width="70" height="71"> <use xlink:href="#play-button" xmlns:xlink="http://www.w3.org/1999/xlink"></use> </svg> </a> </figure> <div class="webinar-recorded-item__text-wrapper"> <h3 class="webinar-recorded-item__title"><a class="webinar-recorded-item__link" href="https://www.cncf.io/online-programs/cncf-on-demand-webinar-how-to-migrate-from-influxql-to-sql-for-efficient-time-series-data-analysis/">CNCF On demand webinar: How to migrate from InfluxQL to SQL for efficient time-series data analysis</a></h3> <span class="webinar-recorded-item__presented">Presented by: Greptime</span> <div class="webinar-recorded-item__date-views-wrapper"> <span class="webinar-recorded-item__date"> June 27, 2024</span> <span class="webinar-recorded-item__views"> 94 views </span> </div> </div> </div> <div class="webinar-recorded-item has-animation-scale-2"> <figure class="webinar-recorded-item__figure"> <a href="https://www.cncf.io/online-programs/cncf-on-demand-webinar-navigating-gitops-from-argocd-to-tekton-a-workflow-revolution/" class="webinar-recorded-item__figure-link"> <img width="325" height="245" loading="lazy" src="https://img.youtube.com/vi/S6bfFkaPL-k/hqdefault.jpg" alt="CNCF On demand webinar: Navigating GitOps from ArgoCD to Tekton &#8211; a workflow revolution" class="webinar-recorded-item__image"> <svg class="webinar-recorded-item__overlay" width="70" height="71"> <use xlink:href="#play-button" xmlns:xlink="http://www.w3.org/1999/xlink"></use> </svg> </a> </figure> <div class="webinar-recorded-item__text-wrapper"> <h3 class="webinar-recorded-item__title"><a class="webinar-recorded-item__link" href="https://www.cncf.io/online-programs/cncf-on-demand-webinar-navigating-gitops-from-argocd-to-tekton-a-workflow-revolution/">CNCF On demand webinar: Navigating GitOps from ArgoCD to Tekton &#8211; a workflow revolution</a></h3> <span class="webinar-recorded-item__presented">Presented by: Ozone</span> <div class="webinar-recorded-item__date-views-wrapper"> <span class="webinar-recorded-item__date"> October 12, 2023</span> <span class="webinar-recorded-item__views"> 938 views </span> </div> </div> </div> </div> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> </div> <div style="height:120px" aria-hidden="true" class="wp-block-spacer is-style-80-120"></div> <div class="wp-block-group is-style-no-padding is-style-see-all"> <div class="wp-block-columns are-vertically-aligned-bottom"> <div class="wp-block-column is-vertically-aligned-bottom" style="flex-basis:80%"> <h3 class="is-style-section-heading">Recent Flux news</h3> </div> <div class="wp-block-column is-vertically-aligned-bottom" style="flex-basis:20%"> <p class="has-text-align-right is-style-link-cta"><a href="/blog?_sft_lf-project=flux">See all news</a></p> </div> </div> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="columns-three"> <div class="news-item-vertical not-sticky has-animation-scale-2"> <a href="https://www.cncf.io/blog/2024/10/17/kubernetes-ci-cd-pipeline-with-jenkins-and-devtron/" class="news-item-vertical__link" title="Kubernetes CI/CD pipeline with Jenkins and Devtron"> <img width="388" height="204" loading="lazy" class="news-item-vertical__image" src="https://www.cncf.io/wp-content/uploads/2024/10/Single-Card-2-25-388x204.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/10/Single-Card-2-25-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/10/Single-Card-2-25-300x158.jpg 300w, https://www.cncf.io/wp-content/uploads/2024/10/Single-Card-2-25-1024x538.jpg 1024w, https://www.cncf.io/wp-content/uploads/2024/10/Single-Card-2-25-768x403.jpg 768w, https://www.cncf.io/wp-content/uploads/2024/10/Single-Card-2-25-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/10/Single-Card-2-25-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/10/Single-Card-2-25-1552x816.jpg 1552w, https://www.cncf.io/wp-content/uploads/2024/10/Single-Card-2-25-900x473.jpg 900w, https://www.cncf.io/wp-content/uploads/2024/10/Single-Card-2-25-381x200.jpg 381w, https://www.cncf.io/wp-content/uploads/2024/10/Single-Card-2-25-762x400.jpg 762w, https://www.cncf.io/wp-content/uploads/2024/10/Single-Card-2-25-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/10/Single-Card-2-25-1180x620.jpg 1180w, https://www.cncf.io/wp-content/uploads/2024/10/Single-Card-2-25.jpg 1800w" sizes="(max-width: 400px) 100vw, 400px" alt=""> <h3 class="news-item-vertical__title">Kubernetes CI/CD pipeline with Jenkins and Devtron</h3> </a> <span class="news-item-vertical__date">October 17, 2024</span> </div> <div class="news-item-vertical not-sticky has-animation-scale-2"> <a href="https://www.cncf.io/blog/2024/07/10/sql-simplifies-tsdb-how-to-migrate-from-influxql-to-sql/" class="news-item-vertical__link" title="SQL simplifies TSDB &#8211; how to migrate from InfluxQL to SQL"> <img width="388" height="204" loading="lazy" class="news-item-vertical__image" src="https://www.cncf.io/wp-content/uploads/2024/07/Single-Card-2-76-388x204.png" srcset="https://www.cncf.io/wp-content/uploads/2024/07/Single-Card-2-76-388x204.png 388w, https://www.cncf.io/wp-content/uploads/2024/07/Single-Card-2-76-300x158.png 300w, https://www.cncf.io/wp-content/uploads/2024/07/Single-Card-2-76-1024x538.png 1024w, https://www.cncf.io/wp-content/uploads/2024/07/Single-Card-2-76-768x403.png 768w, https://www.cncf.io/wp-content/uploads/2024/07/Single-Card-2-76-194x102.png 194w, https://www.cncf.io/wp-content/uploads/2024/07/Single-Card-2-76-776x408.png 776w, https://www.cncf.io/wp-content/uploads/2024/07/Single-Card-2-76-1552x816.png 1552w, https://www.cncf.io/wp-content/uploads/2024/07/Single-Card-2-76-900x473.png 900w, https://www.cncf.io/wp-content/uploads/2024/07/Single-Card-2-76-381x200.png 381w, https://www.cncf.io/wp-content/uploads/2024/07/Single-Card-2-76-762x400.png 762w, https://www.cncf.io/wp-content/uploads/2024/07/Single-Card-2-76-590x310.png 590w, https://www.cncf.io/wp-content/uploads/2024/07/Single-Card-2-76-1180x620.png 1180w, https://www.cncf.io/wp-content/uploads/2024/07/Single-Card-2-76.png 1800w" sizes="(max-width: 400px) 100vw, 400px" alt=""> <h3 class="news-item-vertical__title">SQL simplifies TSDB &#8211; how to migrate from InfluxQL to SQL</h3> </a> <span class="news-item-vertical__date">July 10, 2024</span> </div> <div class="news-item-vertical not-sticky has-animation-scale-2"> <a href="https://www.cncf.io/blog/2024/07/05/kubestronaut-in-orbit-peter-barczi/" class="news-item-vertical__link" title="Kubestronaut in Orbit: Peter Barczi"> <img width="388" height="204" loading="lazy" class="news-item-vertical__image" src="https://www.cncf.io/wp-content/uploads/2024/06/Kubestronaut-in-Orbit-4-388x204.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/06/Kubestronaut-in-Orbit-4-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/06/Kubestronaut-in-Orbit-4-300x157.jpg 300w, https://www.cncf.io/wp-content/uploads/2024/06/Kubestronaut-in-Orbit-4-1024x537.jpg 1024w, https://www.cncf.io/wp-content/uploads/2024/06/Kubestronaut-in-Orbit-4-768x403.jpg 768w, https://www.cncf.io/wp-content/uploads/2024/06/Kubestronaut-in-Orbit-4-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/06/Kubestronaut-in-Orbit-4-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/06/Kubestronaut-in-Orbit-4-1552x816.jpg 1552w, https://www.cncf.io/wp-content/uploads/2024/06/Kubestronaut-in-Orbit-4-900x472.jpg 900w, https://www.cncf.io/wp-content/uploads/2024/06/Kubestronaut-in-Orbit-4-381x200.jpg 381w, https://www.cncf.io/wp-content/uploads/2024/06/Kubestronaut-in-Orbit-4-762x400.jpg 762w, https://www.cncf.io/wp-content/uploads/2024/06/Kubestronaut-in-Orbit-4-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/06/Kubestronaut-in-Orbit-4-1180x620.jpg 1180w, https://www.cncf.io/wp-content/uploads/2024/06/Kubestronaut-in-Orbit-4.jpg 1650w" sizes="(max-width: 400px) 100vw, 400px" alt=""> <h3 class="news-item-vertical__title">Kubestronaut in Orbit: Peter Barczi</h3> </a> <span class="news-item-vertical__date">July 5, 2024</span> </div> </div> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> </div> <div style="height:120px" aria-hidden="true" class="wp-block-spacer is-style-80-120"></div> <section class="shopify-products"> <!-- see all --> <div class="wp-block-group is-style-no-padding is-style-see-all"> <div class="wp-block-columns are-vertically-aligned-bottom"> <div class="wp-block-column is-vertically-aligned-bottom" style="flex-basis:70%"> <h3 class="is-style-section-heading">Flux in CNCF Store</h3> </div> <div class="wp-block-column is-vertically-aligned-bottom" style="flex-basis:30%"> <p class="has-text-align-right is-style-link-cta"><a href="https://store.cncf.io">More Products</a></p> </div> </div> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="products columns-four"> <div class="product-item has-animation-scale-2"> <a href="https://store.cncf.io/products/flux-decal" class="product-item__link" title="Buy Flux Decal in CNCF Store"> <div class="product-item__image"> <img src="https://cdn.shopify.com/s/files/1/1300/8977/products/file-_39.png?v=1649782330" srcset="https://cdn.shopify.com/s/files/1/1300/8977/products/file-_39_480x.png?v=1649782330 480w, https://cdn.shopify.com/s/files/1/1300/8977/products/file-_39_768x.png?v=1649782330 768w, https://cdn.shopify.com/s/files/1/1300/8977/products/file-_39_1024x.png?v=1649782330 1024w" sizes="(max-width: 480px) 480px, (max-width: 768px) 768px, 1024px" width="388" height="204" loading="lazy" decoding="async" alt="Flux Decal"> </div> <h3 class="product-item__title"> Flux Decal</h3> </a> <span class="product-item__price">$0.50</span> </div> <div class="product-item has-animation-scale-2"> <a href="https://store.cncf.io/products/flux-full-color-district-perfect-tri-short-sleeve-tee" class="product-item__link" title="Buy flux Full-Color| District Perfect Tri Short-Sleeve Tee in CNCF Store"> <div class="product-item__image"> <img src="https://cdn.shopify.com/s/files/1/1300/8977/files/GryFrst-DM130_c8ad2d3c-d2dc-49a8-9705-3959ab3e4713.png?v=1719494800" srcset="https://cdn.shopify.com/s/files/1/1300/8977/files/GryFrst-DM130_c8ad2d3c-d2dc-49a8-9705-3959ab3e4713_480x.png?v=1719494800 480w, https://cdn.shopify.com/s/files/1/1300/8977/files/GryFrst-DM130_c8ad2d3c-d2dc-49a8-9705-3959ab3e4713_768x.png?v=1719494800 768w, https://cdn.shopify.com/s/files/1/1300/8977/files/GryFrst-DM130_c8ad2d3c-d2dc-49a8-9705-3959ab3e4713_1024x.png?v=1719494800 1024w" sizes="(max-width: 480px) 480px, (max-width: 768px) 768px, 1024px" width="388" height="204" loading="lazy" decoding="async" alt="flux Full-Color| District Perfect Tri Short-Sleeve Tee"> </div> <h3 class="product-item__title"> flux Full-Color| District Perfect Tri Short-Sleeve Tee</h3> </a> <span class="product-item__price">$27.00</span> </div> </div> </div> <div style="height:80px;" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </section> </article> </main> <footer class="footer"> <div class="container wrap footer_container" id="inner-footer-container"> <div style="height:70px" aria-hidden="true" class="wp-block-spacer is-style-70-100"></div> <div class="newsletter" id="newsletter"> <p class="newsletter__title is-style-max-width-800"><strong>Subscribe</strong> for updates, event info, webinars, and the latest community news</p> <div style="height:60px" aria-hidden="true" class="wp-block-spacer is-style-20-60"></div> <script> window.hsFormsOnReady = window.hsFormsOnReady || []; window.hsFormsOnReady.push(()=>{ hbspt.forms.create({ portalId: 8112310, formId: "be1b038f-98de-43b5-b211-d5f7bf6510c9", target: "#hbspt-form-1732424092000-0575101160", region: "", })}); </script> <div class="hbspt-form" id="hbspt-form-1732424092000-0575101160"></div> <div style="height:30px" aria-hidden="true" class="wp-block-spacer is-style-30-40"></div> <p class="newsletter__privacy">By submitting this form, I consent to receive marketing emails from the LF and its projects regarding their events, training, research, developments, and related announcements. I understand that I can unsubscribe at any time using the links in the footers of the emails I receive. <a href="https://www.linuxfoundation.org/privacy/">Privacy Policy</a>.</p> <div style="height:60px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> </div> <div class="horizontal-rule"></div> <div style="height:60px" aria-hidden="true" class="wp-block-spacer is-style-40-60"></div> <div class="lf-grid"> <nav class="width-10/12"> <div class="menu-footer_01-container"><ul id="menu-footer_01" class="menu"><li id="menu-item-71671" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71671 lf-menu-title">About Us</li> <li id="menu-item-112413" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-112413"><a href="https://www.cncf.io/membership-hub/">Membership Hub</a></li> <li id="menu-item-71674" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71674"><a href="https://www.cncf.io/people/technical-oversight-committee/">Technical Oversight Committee</a></li> <li id="menu-item-71675" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71675"><a href="https://www.cncf.io/people/governing-board/">Governing Board</a></li> <li id="menu-item-102487" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-102487"><a href="https://www.cncf.io/people/end-user-technical-advisory-board/">End User TAB</a></li> <li id="menu-item-72638" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72638"><a href="https://www.cncf.io/people/ambassadors/">Ambassadors</a></li> <li id="menu-item-71722" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71722"><div class="lf-menu-divider"></div></li> <li id="menu-item-71672" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71672"><a href="https://www.cncf.io/about/who-we-are/">Who We Are</a></li> <li id="menu-item-71673" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71673"><a href="https://www.cncf.io/about/members/">Member Listing</a></li> <li id="menu-item-74275" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-74275"><a href="https://www.cncf.io/conduct/">Code of Conduct</a></li> <li id="menu-item-118515" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-118515"><a href="https://www.cncf.io/policies/">Policies</a></li> <li id="menu-item-71676" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71676"><a href="https://www.cncf.io/people/staff/">Staff</a></li> <li id="menu-item-71677" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71677"><a href="https://www.cncf.io/about/faq/">FAQ</a></li> <li id="menu-item-71678" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71678"><a href="https://www.cncf.io/about/contact/">Contact Us</a></li> </ul></div><div class="menu-footer_02-container"><ul id="menu-footer_02" class="menu"><li id="menu-item-71679" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71679 lf-menu-title">Projects</li> <li id="menu-item-71680" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71680"><a href="https://contribute.cncf.io"><span class="lf-external-link">Contribute</span></a></li> <li id="menu-item-103343" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-103343"><a href="https://contribute.cncf.io/resources/project-services/"><span class="lf-external-link">Services for CNCF Projects</span></a></li> <li id="menu-item-71682" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71682"><a href="https://landscape.cncf.io"><span class="lf-external-link">Cloud Native Landscape</span></a></li> <li id="menu-item-71724" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71724"><a href="https://www.cncf.io/reports/?_sft_lf-report-type=project-journey">Project Journey Reports</a></li> <li id="menu-item-72639" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72639"><a href="https://www.cncf.io/project-tools/">Project Tools</a></li> <li id="menu-item-71723" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71723"><div class="lf-menu-divider"></div></li> <li id="menu-item-71684" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71684"><a href="https://www.cncf.io/projects/">Graduated</a></li> <li id="menu-item-71685" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71685"><a href="https://www.cncf.io/projects/">Incubating</a></li> <li id="menu-item-71686" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71686"><a href="https://www.cncf.io/sandbox-projects/">Sandbox</a></li> <li id="menu-item-71687" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71687"><a href="https://www.cncf.io/archived-projects/">Archive</a></li> <li id="menu-item-94550" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-94550"><a href="https://www.cncf.io/project-metrics/">Project Metrics</a></li> </ul></div><div class="menu-footer_03-container"><ul id="menu-footer_03" class="menu"><li id="menu-item-71688" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71688 lf-menu-title">Training</li> <li id="menu-item-97055" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-97055"><a href="https://www.cncf.io/training/">Training Overview</a></li> <li id="menu-item-97053" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-97053"><a href="https://www.cncf.io/training/certification/">Certifications</a></li> <li id="menu-item-97054" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-97054"><a href="https://www.cncf.io/training/courses/">Courses</a></li> <li id="menu-item-104458" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-104458"><a href="https://www.cncf.io/training/kubestronaut/">Kubestronaut Program</a></li> <li id="menu-item-71725" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71725"><div class="lf-menu-divider"></div></li> <li id="menu-item-71691" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71691"><a href="https://www.cncf.io/training/kubernetes-training-partners/">KTP</a></li> <li id="menu-item-104421" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-104421"><a href="https://www.cncf.io/training/cncf-endorsed-content/">CNCF Endorsed Content</a></li> <li id="menu-item-71689" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71689"><a href="https://www.cncf.io/training/certification/software-conformance/">Certified Kubernetes</a></li> <li id="menu-item-72642" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72642"><a href="https://www.cncf.io/training/certification/cnf/">CNF</a></li> <li id="menu-item-72641" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72641"><a href="https://www.cncf.io/training/certification/kcsp/">KCSP</a></li> </ul></div><div class="menu-footer_04-container"><ul id="menu-footer_04" class="menu"><li id="menu-item-71697" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71697 lf-menu-title">Community</li> <li id="menu-item-71698" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71698"><a href="https://www.cncf.io/enduser/">End User Community</a></li> <li id="menu-item-71699" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71699"><a href="https://www.cncf.io/events/">Events We’ll Be At</a></li> <li id="menu-item-71701" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71701"><a href="https://www.cncf.io/case-studies/">Case Studies</a></li> <li id="menu-item-72643" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72643"><a href="https://www.cncf.io/humans-of-cloud-native/">Humans of Cloud Native</a></li> <li id="menu-item-120508" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-120508"><a href="https://www.cncf.io/heroes/">The Cloud Native Heroes Challenge</a></li> <li id="menu-item-71726" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71726"><div class="lf-menu-divider"></div></li> <li id="menu-item-71700" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71700"><a href="https://www.cncf.io/online-programs/">Online Programs</a></li> <li id="menu-item-71704" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71704"><a href="https://www.cncf.io/kubeweekly/">KubeWeekly</a></li> <li id="menu-item-71705" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71705"><a href="https://community.cncf.io"><span class="lf-external-link">Community Groups</span></a></li> <li id="menu-item-71706" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71706"><a href="https://www.cncf.io/phippy/">Phippy &#038; Friends</a></li> <li id="menu-item-71707" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71707"><a href="https://glossary.cncf.io"><span class="lf-external-link">Cloud Native Glossary</span></a></li> <li id="menu-item-71727" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71727"><div class="lf-menu-divider"></div></li> <li id="menu-item-71708" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71708"><a href="https://jobs.cncf.io"><span class="lf-external-link">Job Board</span></a></li> <li id="menu-item-71709" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71709"><a href="https://slack.cncf.io/"><span class="lf-external-link">Slack</span></a></li> <li id="menu-item-71710" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71710"><a href="https://lists.cncf.io/g/main/subgroups"><span class="lf-external-link">Mailing Lists</span></a></li> <li id="menu-item-71711" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71711"><a href="https://store.cncf.io"><span class="lf-external-link">Store</span></a></li> <li id="menu-item-71712" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71712"><a href="https://www.cncf.io/calendar/">Calendar</a></li> </ul></div><div class="menu-footer_05-container"><ul id="menu-footer_05" class="menu"><li id="menu-item-71713" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71713 lf-menu-title">Blog & News</li> <li id="menu-item-71714" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-71714"><a href="https://www.cncf.io/blog/">Blog</a></li> <li id="menu-item-71715" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-71715"><a href="https://www.cncf.io/announcements/">Announcements</a></li> <li id="menu-item-71716" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-71716"><a href="https://www.cncf.io/news/">News</a></li> <li id="menu-item-71717" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71717"><a href="https://www.cncf.io/reports/">Reports</a></li> <li id="menu-item-71728" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71728"><div class="lf-menu-divider"></div></li> <li id="menu-item-75050" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-75050"><a href="https://www.cncf.io/brand-guidelines/">Brand Guidelines</a></li> <li id="menu-item-71719" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71719"><a href="https://github.com/cncf/artwork"><span class="lf-external-link">Project Logos</span></a></li> <li id="menu-item-71720" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71720"><a href="https://www.youtube.com/c/cloudnativefdn"><span class="lf-external-link">Videos</span></a></li> <li id="menu-item-71721" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71721"><a href="https://www.flickr.com/photos/143247548@N03/albums/"><span class="lf-external-link">Pictures</span></a></li> </ul></div> </nav> <div class="footer__cta"> <a href="https://www.cncf.io/about/join/" class="wp-block-button__link has-no-padding">Join Now</a> </div> </div> <div style="height:80px" aria-hidden="true" class="wp-block-spacer is-style-30-80"></div> <div class="lf-grid"> <div class="footer__logo-and-hub"> <a class="footer__logo show-over-1000" href="/" title="Cloud Native Computing Foundation"> <img src="https://www.cncf.io/wp-content/uploads/2022/05/CNCF_logo_white.svg" loading="lazy" width="210" height="40" alt="Cloud Native Computing Foundation"> </a> <!-- All CNCF button --> <div class="footer__hub wp-block-buttons"> <div class="wp-block-button"><a href="https://www.cncf.io/all-cncf/" class="wp-block-button__link wp-element-button">All CNCF Sites</a></div> </div> </div> <ul class="social-links"> <li class="social-twitter"><a title="Cloud Native Computing Foundation on X" href="https://twitter.com/cloudnativefdn"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 300 300" aria-label="X"><path fill="currentColor" d="M178.57 127.15 290.27 0h-26.46l-97.03 110.38L89.34 0H0l117.13 166.93L0 300.25h26.46l102.4-116.59 81.8 116.59h89.34M36.01 19.54H76.66l187.13 262.13h-40.66"/></svg> </a></li> <li class="social-github"><a title="Cloud Native Computing Foundation on Github" href="https://github.com/cncf"><svg xmlns="http://www.w3.org/2000/svg" viewbox="-0.1 0.21 24.7 24.14" aria-label="GitHub"><path fill="currentColor" d="M24.188 12.63A11.893 11.893 0 0 0 3.887 4.221a11.893 11.893 0 0 0-1.272 15.317 11.899 11.899 0 0 0 5.81 4.34 1.14 1.14 0 0 0 .612-.885c0-.654-.014-2.337-.014-2.337-.415.061-.834.09-1.253.088a2.692 2.692 0 0 1-2.722-1.837 3.22 3.22 0 0 0-1.336-1.585c-.308-.198-.379-.431-.023-.498 1.643-.308 2.064 1.853 3.16 2.198.76.236 1.58.17 2.293-.183.1-.614.44-1.165.943-1.531-2.791-.267-4.446-1.232-5.304-2.781l-.092-.174-.216-.492-.064-.176a8.34 8.34 0 0 1-.386-2.694A4.596 4.596 0 0 1 5.334 7.58a4.765 4.765 0 0 1 .207-3.43s1.208-.248 3.492 1.378c1.237-.528 4.538-.571 6.1-.117.957-.63 2.71-1.524 3.417-1.274.193.307.604 1.2.25 3.164a5.523 5.523 0 0 1 1.493 3.942 10.198 10.198 0 0 1-.305 2.444l-.103.349s-.06.165-.123.322l-.075.173c-.828 1.809-2.527 2.484-5.274 2.766.89.557 1.144 1.256 1.144 3.146s-.025 2.144-.02 2.578a1.199 1.199 0 0 0 .59.87 11.9 11.9 0 0 0 8.06-11.26z"/></svg></a></li> <li class="social-linkedin"><a title="Cloud Native Computing Foundation on LinkedIn" href="https://www.linkedin.com/company/cloud-native-computing-foundation/"><svg xmlns="http://www.w3.org/2000/svg" viewbox="-10.23 -10.23 531.96 531.96" aria-label="LinkedIn"><rect width="512" height="512" rx="0" fill="currentColor"/><circle fill="#000" cx="142" cy="138" r="37"/><path stroke="#000" stroke-width="66" d="M244 194v198M142 194v198"/><path fill="#000" d="M276 282c0-20 13-40 36-40 24 0 33 18 33 45v105h66V279c0-61-32-89-76-89-34 0-51 19-59 32"/></svg></a></li> <li class="social-instagram"><a title="Cloud Native Computing Foundation on Instagram" href="https://www.instagram.com/cloudnativecomputingfoundation/"><svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12 0c-3.26 0-3.667.015-4.947.072-1.278.06-2.148.261-2.913.558-.789.306-1.459.717-2.126 1.384s-1.079 1.336-1.384 2.126c-.297.765-.499 1.635-.558 2.913-.06 1.28-.072 1.687-.072 4.947s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558 1.28.06 1.687.072 4.947.072s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126-.667-.667-1.335-1.079-2.126-1.384-.765-.297-1.636-.499-2.913-.558-1.28-.06-1.687-.072-4.947-.072zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.76 6.162 6.162 6.162 3.405 0 6.162-2.76 6.162-6.162 0-3.405-2.76-6.162-6.162-6.162zm0 10.162c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.646-1.44-1.44s.646-1.439 1.44-1.439c.793-.001 1.44.645 1.44 1.439z"/></svg></a></li> <li class="social-wechat"><a title="Cloud Native Computing Foundation on WeChat" href="https://www.cncf.io/wechat/"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0.14 -0.17 38.02 33.02" aria-label="Wechat"><path fill="currentColor" d="M26.289 10.976a12.972 12.972 0 0 0-8.742 3.53 10.386 10.386 0 0 0-3.224 8.795c-1.326-.164-2.535-.345-3.75-.448a2.332 2.332 0 0 0-1.273.216c-1.18.666-2.311 1.418-3.652 2.255.246-1.112.405-2.087.687-3.024a1.15 1.15 0 0 0-.523-1.52C1.737 17.902.02 13.601 1.307 9.165c1.189-4.1 4.11-6.587 8.077-7.884A13.54 13.54 0 0 1 24.18 5.617a10.135 10.135 0 0 1 2.109 5.359zM10.668 9.594a1.564 1.564 0 0 0-2.095-1.472 1.52 1.52 0 0 0-.895 1.964 1.502 1.502 0 0 0 1.391.966 1.545 1.545 0 0 0 1.598-1.46v.002zm8.15-1.566a1.567 1.567 0 0 0-1.528 1.543 1.528 1.528 0 0 0 1.571 1.492 1.52 1.52 0 0 0 1.375-2.117 1.518 1.518 0 0 0-1.415-.919l-.003.001z"/><path fill="currentColor" d="M33.914 32.137c-1.075-.478-2.062-1.196-3.11-1.306-1.049-.11-2.145.494-3.24.605a10.821 10.821 0 0 1-8.781-2.864c-4.682-4.33-4.013-10.97 1.403-14.518 4.811-3.154 11.874-2.102 15.268 2.273a8.671 8.671 0 0 1-1.002 12.095c-1.046.929-1.422 1.693-.751 2.917.102.257.174.525.213.798zM21.68 20.292a1.264 1.264 0 1 0 .01-2.528 1.264 1.264 0 0 0-.01 2.528zm7.887-2.526a1.266 1.266 0 0 0-1.256 1.21 1.247 1.247 0 1 0 1.256-1.21z"/></svg></a></li> <li class="social-youtube"><a title="Cloud Native Computing Foundation on YouTube" href="https://www.youtube.com/c/cloudnativefdn"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0.21 0.27 34.45 25.07" aria-label="YouTube"><path fill="currentColor" d="M33.729 6.084s-.327-2.33-1.317-3.356a4.691 4.691 0 0 0-3.32-1.432c-4.634-.34-11.589-.34-11.589-.34h-.014s-6.954 0-11.59.342a4.692 4.692 0 0 0-3.32 1.432c-.993 1.025-1.315 3.354-1.315 3.354a52.189 52.189 0 0 0-.331 5.473v2.566c.014 1.829.125 3.656.331 5.472 0 0 .322 2.33 1.316 3.36 1.26 1.345 2.916 1.3 3.653 1.445 2.65.26 11.263.34 11.263.34s6.96-.01 11.597-.353a4.691 4.691 0 0 0 3.32-1.432c.993-1.026 1.316-3.356 1.316-3.356.206-1.817.316-3.644.33-5.473v-2.57a52.26 52.26 0 0 0-.33-5.472zM14.076 17.232V7.729l8.951 4.768-8.95 4.735z"/></svg></a></li> <li class="social-flickr"><a title="Cloud Native Computing Foundation on Flickr" href="https://www.flickr.com/photos/143247548@N03/albums"><svg xmlns="http://www.w3.org/2000/svg" viewbox="-0.35 0.34 27.82 13.45" aria-label="Flickr"><path fill="currentColor" fill-rule="evenodd" d="M12.599 7.083a6.181 6.181 0 1 1-12.363 0 6.181 6.181 0 0 1 12.363 0zm14.376 0a6.18 6.18 0 1 1-12.362 0 6.18 6.18 0 0 1 12.362 0z" clip-rule="evenodd"/></svg></a></li> <li class="social-facebook"><a title="Cloud Native Computing Foundation on Facebook" href="https://www.facebook.com/CloudNativeComputingFoundation/"><svg xmlns="http://www.w3.org/2000/svg" viewbox="-0.51 -0.26 26.45 26.45" aria-label="Facebook"><path fill="currentColor" d="M25.497 13.075c0-2.45-.698-4.848-2.011-6.911a12.765 12.765 0 0 0-5.398-4.73A12.671 12.671 0 0 0 11.008.38a12.705 12.705 0 0 0-6.529 2.95A12.827 12.827 0 0 0 .563 9.358a12.896 12.896 0 0 0-.07 7.201 12.831 12.831 0 0 0 3.801 6.103 12.709 12.709 0 0 0 6.471 3.078v-8.957H7.53v-3.708h3.235v-2.824c0-3.213 1.903-4.988 4.813-4.988.956.014 1.909.097 2.852.25V8.67h-1.607a1.83 1.83 0 0 0-1.518.497 1.854 1.854 0 0 0-.561 1.505v2.404h3.535l-.563 3.708h-2.97v8.957a12.725 12.725 0 0 0 7.697-4.337 12.87 12.87 0 0 0 3.054-8.328z"/></svg></a></li> <li class="social-bluesky"><a title="Cloud Native Computing Foundation on Bluesky" href="https://bsky.app/profile/cncf.io"><svg aria-label="Bluesky" fill="none" height="23" viewbox="0 0 26 23" width="26" xmlns="http://www.w3.org/2000/svg"><path d="m5.81085 1.81485c-2.0472-1.60851-5.410459-2.778339-5.410459 1.0236 0 .80426.438685 6.43406.658029 7.38455.95048 3.1439 4.16751 3.9482 7.09208 3.5095-5.04488.8042-6.36094 3.6557-3.5826 6.5072 5.26423 5.4835 7.6039-1.3161 8.1888-3.0708l.1462-.3656.1463.3656c.5849 1.7547 2.9245 8.5543 8.1888 3.0708 2.7783-2.8515 1.4622-5.703-3.5826-6.5072 2.9245.4387 6.1416-.3656 7.092-3.5095.2194-.95049.6581-6.58029.6581-7.38455 0-3.801939-3.3633-2.63211-5.4105-1.0236-2.8514 2.12032-5.9954 6.50717-7.0921 8.84685-1.0967-2.33968-4.2406-6.72653-7.09205-8.84685z" fill="currentColor"/></svg></a></li> <li class="social-slack"><a title="Cloud Native Computing Foundation Slack" href="https://slack.cncf.io/"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0.16 -0.03 21.19 21.19" aria-label="Slack"><path fill="currentColor" d="M4.896 13.27a2.147 2.147 0 0 1-2.141 2.142A2.147 2.147 0 0 1 .613 13.27c0-1.178.963-2.141 2.142-2.141h2.141v2.141zm1.08 0c0-1.178.962-2.141 2.141-2.141s2.142.963 2.142 2.141v5.363a2.147 2.147 0 0 1-2.142 2.141 2.147 2.147 0 0 1-2.141-2.142V13.27zm2.141-8.6a2.147 2.147 0 0 1-2.141-2.14c0-1.18.962-2.142 2.141-2.142s2.142.963 2.142 2.141v2.142H8.117zm0 1.08c1.179 0 2.141.962 2.141 2.141a2.147 2.147 0 0 1-2.141 2.142H2.755A2.147 2.147 0 0 1 .613 7.89c0-1.179.963-2.141 2.142-2.141h5.362zm8.599 2.141c0-1.179.963-2.141 2.141-2.141 1.179 0 2.143.962 2.143 2.14a2.147 2.147 0 0 1-2.142 2.142h-2.141V7.89zm-1.08 0a2.147 2.147 0 0 1-2.141 2.142 2.147 2.147 0 0 1-2.141-2.142V2.53c0-1.178.962-2.141 2.141-2.141s2.142.963 2.142 2.141v5.362zm-2.141 8.6c1.179 0 2.142.962 2.142 2.14a2.147 2.147 0 0 1-2.142 2.142 2.147 2.147 0 0 1-2.141-2.141V16.49h2.141zm0-1.08a2.147 2.147 0 0 1-2.141-2.141c0-1.179.962-2.142 2.141-2.142h5.362c1.179 0 2.142.963 2.142 2.142a2.147 2.147 0 0 1-2.142 2.142h-5.362z"/></svg></a></li> </ul> </div> <div style="height:40px" aria-hidden="true" class="wp-block-spacer show-over-1000"></div> <div class="horizontal-rule show-over-1000"></div> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> <div class="lf-grid"> <div class="footer__copyright"> <p>Copyright &copy; 2024 The Linux Foundation®. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our <a href="https://www.linuxfoundation.org/legal/trademark-usage">Trademark Usage</a> page. Linux is a registered trademark of Linus Torvalds. <a href="https://www.linuxfoundation.org/legal/privacy-policy">Privacy Policy</a> and <a href="https://www.linuxfoundation.org/legal/terms">Terms of Use</a>. </p> </div> <p class="footer__issue"> <a href="https://www.cncf.io/accessibility-statement/">Accessibility Statement</a><br> <a href="https://github.com/cncf/cncf.io/issues/new?title=Your+issue&projects=cncf/cncf.io/1&body=From+URL%3A+https%3A%2F%2Fwww.cncf.io%2Fprojects%2Fflux%2F">Submit an issue with this page</a> </p> </div> <div style="height:90px" aria-hidden="true" class="wp-block-spacer"> </div> </div> </footer> <div class="back-to-top"> <span title="Go to top"> <svg width="40" height="27" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3 23.5l17-17 17 17" stroke="#fff" stroke-width="8"/></svg> </span> </div> <style id='wp-block-group-inline-css'> .wp-block-group{box-sizing:border-box}:where(.wp-block-group.wp-block-group-is-layout-constrained){position:relative} </style> <style id='wp-block-columns-inline-css'> .wp-block-columns{align-items:normal!important;box-sizing:border-box;display:flex;flex-wrap:wrap!important}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}}.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.are-vertically-aligned-center{align-items:center}.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}@media (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:782px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{flex-grow:0}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap!important}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{flex-grow:0}:where(.wp-block-columns){margin-bottom:1.75em}:where(.wp-block-columns.has-background){padding:1.25em 2.375em}.wp-block-column{flex-grow:1;min-width:0;overflow-wrap:break-word;word-break:break-word}.wp-block-column.is-vertically-aligned-top{align-self:flex-start}.wp-block-column.is-vertically-aligned-center{align-self:center}.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}.wp-block-column.is-vertically-aligned-stretch{align-self:stretch}.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%} </style> <style id='global-styles-inline-css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #FFFFFF;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--pink-400: #d62293;--wp--preset--color--tertiary-400: #62a1ff;--wp--preset--color--gray-700: #747474;--wp--preset--color--gray-500: #c4c4c4;--wp--preset--color--gray-400: #e6e6e6;--wp--preset--color--gray-300: #eeeeee;--wp--preset--color--gray-200: #f8f8f8;--wp--preset--color--gray-100: #fcfcfc;--wp--preset--color--gray-050: #fdfdfd;--wp--preset--color--purple: #4A23CC;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 14px;--wp--preset--font-size--medium: 18px;--wp--preset--font-size--large: 20px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--extra-small: 10px;--wp--preset--font-size--normal: 16px;--wp--preset--font-size--larger: 24px;--wp--preset--font-size--extra-large: 36px;--wp--preset--font-size--extra-extra-large: 46px;--wp--preset--font-family--primary: Clarity City,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Roboto,Ubuntu,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;--wp--preset--font-family--serif: Source Serif Pro, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}.wp-block-button .wp-block-button__link{--wp--preset--color--pink-400: #d62293;--wp--preset--color--black: #000000;}:root { --wp--style--global--content-size: 1200px;--wp--style--global--wide-size: 1200px; }:where(body) { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{background-color: var(--wp--preset--color--gray-050);color: var(--wp--preset--color--black);font-family: var(--wp--preset--font-family--primary);font-weight: 400;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;text-decoration: none;}a:where(:not(.wp-element-button)){color: var(--wp--preset--color--pink-400);font-weight: 700;text-decoration: none;}h1, h2, h3, h4, h5, h6{color: var(--wp--preset--color--black);font-weight: 700;}:root :where(.wp-element-button, .wp-block-button__link){background-color: var(--wp--preset--color--pink-400);border-radius: 5px;border-width: 0;color: var(--wp--preset--color--white);font-family: inherit;font-size: 16px;font-weight: 700;letter-spacing: 0.02em;line-height: 18px;padding-top: 11px;padding-right: 40px;padding-bottom: 11px;padding-left: 40px;text-decoration: none;text-transform: uppercase;}:root :where(.wp-element-button:visited, .wp-block-button__link:visited){color: var(--wp--preset--color--white);text-decoration: none;}:root :where(.wp-element-button:hover, .wp-block-button__link:hover){background-color: #c53490;color: var(--wp--preset--color--white);text-decoration: none;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-pink-400-color{color: var(--wp--preset--color--pink-400) !important;}.has-tertiary-400-color{color: var(--wp--preset--color--tertiary-400) !important;}.has-gray-700-color{color: var(--wp--preset--color--gray-700) !important;}.has-gray-500-color{color: var(--wp--preset--color--gray-500) !important;}.has-gray-400-color{color: var(--wp--preset--color--gray-400) !important;}.has-gray-300-color{color: var(--wp--preset--color--gray-300) !important;}.has-gray-200-color{color: var(--wp--preset--color--gray-200) !important;}.has-gray-100-color{color: var(--wp--preset--color--gray-100) !important;}.has-gray-050-color{color: var(--wp--preset--color--gray-050) !important;}.has-purple-color{color: var(--wp--preset--color--purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-pink-400-background-color{background-color: var(--wp--preset--color--pink-400) !important;}.has-tertiary-400-background-color{background-color: var(--wp--preset--color--tertiary-400) !important;}.has-gray-700-background-color{background-color: var(--wp--preset--color--gray-700) !important;}.has-gray-500-background-color{background-color: var(--wp--preset--color--gray-500) !important;}.has-gray-400-background-color{background-color: var(--wp--preset--color--gray-400) !important;}.has-gray-300-background-color{background-color: var(--wp--preset--color--gray-300) !important;}.has-gray-200-background-color{background-color: var(--wp--preset--color--gray-200) !important;}.has-gray-100-background-color{background-color: var(--wp--preset--color--gray-100) !important;}.has-gray-050-background-color{background-color: var(--wp--preset--color--gray-050) !important;}.has-purple-background-color{background-color: var(--wp--preset--color--purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-pink-400-border-color{border-color: var(--wp--preset--color--pink-400) !important;}.has-tertiary-400-border-color{border-color: var(--wp--preset--color--tertiary-400) !important;}.has-gray-700-border-color{border-color: var(--wp--preset--color--gray-700) !important;}.has-gray-500-border-color{border-color: var(--wp--preset--color--gray-500) !important;}.has-gray-400-border-color{border-color: var(--wp--preset--color--gray-400) !important;}.has-gray-300-border-color{border-color: var(--wp--preset--color--gray-300) !important;}.has-gray-200-border-color{border-color: var(--wp--preset--color--gray-200) !important;}.has-gray-100-border-color{border-color: var(--wp--preset--color--gray-100) !important;}.has-gray-050-border-color{border-color: var(--wp--preset--color--gray-050) !important;}.has-purple-border-color{border-color: var(--wp--preset--color--purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-extra-small-font-size{font-size: var(--wp--preset--font-size--extra-small) !important;}.has-normal-font-size{font-size: var(--wp--preset--font-size--normal) !important;}.has-larger-font-size{font-size: var(--wp--preset--font-size--larger) !important;}.has-extra-large-font-size{font-size: var(--wp--preset--font-size--extra-large) !important;}.has-extra-extra-large-font-size{font-size: var(--wp--preset--font-size--extra-extra-large) !important;}.has-primary-font-family{font-family: var(--wp--preset--font-family--primary) !important;}.has-serif-font-family{font-family: var(--wp--preset--font-family--serif) !important;}.wp-block-button .wp-block-button__link.has-pink-400-color{color: var(--wp--preset--color--pink-400) !important;}.wp-block-button .wp-block-button__link.has-black-color{color: var(--wp--preset--color--black) !important;}.wp-block-button .wp-block-button__link.has-pink-400-background-color{background-color: var(--wp--preset--color--pink-400) !important;}.wp-block-button .wp-block-button__link.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.wp-block-button .wp-block-button__link.has-pink-400-border-color{border-color: var(--wp--preset--color--pink-400) !important;}.wp-block-button .wp-block-button__link.has-black-border-color{border-color: var(--wp--preset--color--black) !important;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} </style> <script id="flying-pages-js-before"> window.FPConfig= { delay: 10, ignoreKeywords: ["\/wp-admin","\/wp-login.php","\/cart","add-to-cart","logout","#","?",".png",".jpeg",".jpg",".gif",".svg"], maxRPS: 3, hoverDelay: 50 }; </script> <script defer src="https://www.cncf.io/wp-content/plugins/flying-pages/flying-pages.min.js?ver=2.4.6" id="flying-pages-js"></script> <script id="leadin-script-loader-js-js-extra"> var leadin_wordpress = {"userRole":"visitor","pageType":"post","leadinPluginVersion":"11.1.65"}; </script> <script defer id="leadin-script-loader-js-js" data-type="lazy" data-src="https://js.hs-scripts.com/8112310.js?integration=WordPress&amp;businessUnitId=983905&amp;ver=11.1.65"></script> <script defer src="https://www.cncf.io/wp-content/themes/cncf-twenty-two/build/globals.min.js?ver=1732368213" id="global-scripts-js"></script> <script defer id="leadin-forms-v2-js" data-type="lazy" data-src="https://js.hsforms.net/forms/embed/v2.js?ver=11.1.65"></script> <script type="text/javascript" id="flying-scripts">const loadScriptsTimer=setTimeout(loadScripts,10*1000);const userInteractionEvents=["mouseover","keydown","touchstart","touchmove","wheel"];userInteractionEvents.forEach(function(event){window.addEventListener(event,triggerScriptLoader,{passive:!0})});function triggerScriptLoader(){loadScripts();clearTimeout(loadScriptsTimer);userInteractionEvents.forEach(function(event){window.removeEventListener(event,triggerScriptLoader,{passive:!0})})} function loadScripts(){document.querySelectorAll("script[data-type='lazy']").forEach(function(elem){elem.setAttribute("src",elem.getAttribute("data-src"))})}</script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-97e2229449e282c1bef","applicationID":"643908501","transactionName":"MVFSYxFWXhICUxdaXggbcVQXXl8PTEMKXVYKUQ==","queueTime":0,"applicationTime":642,"atts":"HRZRFVlMTRw=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10