CINXE.COM

Nexxiot | 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>Nexxiot | CNCF</title> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <!-- 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/case-studies/nexxiot/" /> <meta name="description" content="Nexxiot is a TradeTech pioneer with a mission to enable easier, safer, and cleaner global transportation for all stakeholders. They deploy track and trace IoT&#8230;" /> <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="Nexxiot" /> <meta property="og:description" content="Nexxiot is a TradeTech pioneer with a mission to enable easier, safer, and cleaner global transportation for all stakeholders. They deploy track and trace IoT devices which work more than six years&#8230;" /> <meta property="og:url" content="https://www.cncf.io/case-studies/nexxiot/" /> <meta property="og:image" content="https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-1.jpg" /> <meta property="og:image:width" content="2400" /> <meta property="og:image:height" content="1254" /> <meta property="og:image:alt" content="Nexxiot tools" /> <meta property="article:published_time" content="2022-07-25T16:02:43+00:00" /> <meta property="article:modified_time" content="2023-04-03T02:49:50+00:00" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@cloudnativefdn" /> <meta name="twitter:title" content="Nexxiot" /> <meta name="twitter:description" content="Nexxiot is a TradeTech pioneer with a mission to enable easier, safer, and cleaner global transportation for all stakeholders. They deploy track and trace IoT devices which work more than six years&#8230;" /> <meta name="twitter:image" content="https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-1.jpg" /> <meta name="twitter:image:alt" content="Nexxiot tools" /> <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/case-studies/nexxiot/","url":"https://www.cncf.io/case-studies/nexxiot/","name":"Nexxiot | CNCF","description":"Nexxiot is a TradeTech pioneer with a mission to enable easier, safer, and cleaner global transportation for all stakeholders. They deploy track and trace IoT&#8230;","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,"item":"https://www.cncf.io/lf-country/europe/","name":"Country: Europe"},{"@type":"ListItem","position":3,"item":"https://www.cncf.io/lf-country/ch/","name":"Country: Switzerland"},{"@type":"ListItem","position":4,"name":"Nexxiot"}]},"potentialAction":{"@type":"ReadAction","target":"https://www.cncf.io/case-studies/nexxiot/"},"datePublished":"2022-07-25T16:02:43+00:00","dateModified":"2023-04-03T02:49:50+00:00"}]}</script> <!-- / The SEO Framework by Sybre Waaijer | 11.51ms meta | 0.14ms boot --> <link rel='dns-prefetch' href='//www.cncf.io' /> <link rel='dns-prefetch' href='//js.hs-scripts.com' /> <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' /> <link crossorigin href='//www.googletagmanager.com' rel='preconnect' /> <link crossorigin href='//www.gstatic.com' rel='preconnect' /> <link crossorigin href='//browser-update.org' rel='preconnect' /> <link crossorigin href='//js-agent.newrelic.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=1739691461' 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 id="osano-js" data-type="lazy" data-src="https://cmp.osano.com/16A0DbT9yDNIaQkvZ/c3494b1e-ff3a-436f-978d-842e9a0bed27/osano.js?ver=1"></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_case_study/75766" /><!-- 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.82--> <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 --> <meta name='referrer' content='strict-origin-when-cross-origin' /> <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.281.0.min.js.LICENSE.txt */ (()=>{var e,t,r={122:(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)}}},555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(122);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])}},217:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>b,xN:()=>v});r(860).K7.genericEvents;const n="experimental.marks",i="experimental.measures",o="experimental.resources";var a=r(993);const s=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var c=r(614),u=r(944),l=r(384),d=r(122);const f="[data-nr-mask]",g=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},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,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},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0,level:a.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,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(i)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:c.wk,inactiveMs:c.BB},session_replay:{autoStart:!0,enabled:!1,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){s(t)?e.mask_selector="".concat(t,",").concat(f):""===t||null===t?e.mask_selector=f:(0,u.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){s(t)?e.block_selector+=",".concat(t):""!==t&&(0,u.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,u.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},p={},m="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(m);if(!p[e])throw new Error("Configuration for ".concat(e," was never set"));return p[e]}function v(e,t){if(!e)throw new Error(m);p[e]=(0,d.a)(t,g());const r=(0,l.nY)(e);r&&(r.init=p[e])}function b(e,t){if(!e)throw new Error(m);var r=h(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}},371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>d});var n=r(122),i=r(384),o=r(154),a=r(324);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,harvester:void 0},l={};function d(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!l[e])throw new Error("Runtime for ".concat(e," was never set"));return l[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");l[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(l[e],"harvestCount")||Object.defineProperty(l[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=l[e])}},324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,xv:()=>n});const n="1.281.0",i="PROD",o="CDN"},154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>c,RI:()=>i,WN:()=>l,bv:()=>o,gm:()=>a,mw:()=>s,sb:()=>u});var n=r(863);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,l=((()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)())},687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>d,x3:()=>u});var n=r(836),i=r(606),o=r(860),a=r(646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};l(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 l(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function d(e="",t="feature",r=!1){if(l(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)}}))}},836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(990),o=r(371),a=r(646),s=r(607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},l={},d=!1;try{d=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=m(e),l=c.length,d=0;d<l;d++)c[d].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:h,listeners:m,context:g,buffer:function(e,t){const r=v();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!!v()[s[e]]},debugId:r,backlog:d?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:d};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]=m(e).concat(t)}function m(e){return n[e]||[]}function h(t){return l[t]=l[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),l=(0,n.Zm)();l.ee||(l.ee=u)},646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(836).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))}},606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(908);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])}},878:(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})},607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(566).bz)()},566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(154);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("")}},614:(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}},863:(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})},284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(836),i=r(154);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})))}},990:(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}},389:(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})},289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(878);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:()=>l,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>d});var n=r(154),i=r(863);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 l(e,t){a()[e]=t}function d(){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()}},843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(878);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)}},434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(836),i=r(607);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];l(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return l(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,l,d;try{a=this,o=[...arguments],l="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],l],e)}i(r+"start",[o,a,s],l,c);try{return d=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],l,c),e}finally{i(r+"end",[o,a,d],l,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 l(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},969:(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"},630:(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},344:(e,t,r)=>{"use strict";r.d(t,{G4:()=>i});var n=r(614);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},234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(836),i=r(687);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)}}},603:(e,t,r)=>{"use strict";r.d(t,{j:()=>K});var n=r(860),i=r(555),o=r(371),a=r(908),s=r(836),c=r(687),u=r(289),l=r(154),d=r(944),f=r(969),g=r(384),p=r(344);const m=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],h=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(863),b=r(614),y=r(993);var w=r(646),A=r(434);const R=new Map;function _(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,d.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,A.YM)(i),a=new w.y(s.P);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[A.Jt]||t[r];return R.set(c,a),o.inPlace(t,[r],"wrap-logger-",(()=>R.get(c))),i}function E(){const e=(0,g.pV)();m.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,d.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const x={};function N(e,t,g=!1){t||(0,c.Ak)(e,"api");const m={};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 R="api-",E=R+"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(R,n,!0,o||null===r?"session":void 0)(t,r)}function k(){}m.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,v.t)(),t,r,i],void 0,n.K7.logging,e)}(w,e,t,r)},m.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,w),_(w,e,t,{customAttributes:r,level:i})},h.forEach((e=>{m[e]=j(R,e,!0,"api")})),m.addPageAction=j(R,"addPageAction",!0,n.K7.genericEvents),m.recordCustomEvent=j(R,"recordCustomEvent",!0,n.K7.genericEvents),m.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(R,"setPageViewName",!0)()},m.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,d.R)(40,typeof t)}else(0,d.R)(39,typeof e)},m.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,d.R)(41,typeof e)},m.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,d.R)(42,typeof e)},m.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,w),w.emit("manual-start-all")}catch(e){(0,d.R)(23,e)}},m[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)},m[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)},m.interaction=function(e){return(new k).get("object"==typeof e?e:{})};const T=k.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)(E+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,w),function(){if(A.emit((o?"":"no-")+"fn-start",[(0,v.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,v.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,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,w),r?void 0:this}}function I(){r.e(296).then(r.bind(r,778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,d.R)(27,e),w.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{T[e]=j(E,e,void 0,g?n.K7.softNav:n.K7.spa)})),m.setCurrentRouteName=g?j(E,"routeName",void 0,n.K7.softNav):j(R,"routeName",!0,n.K7.spa),m.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,v.t)(),!1,r,!!x[e]],void 0,n.K7.jserrors,w)},l.RI?(0,u.GG)((()=>I()),!0):I(),m}var k=r(217),T=r(122);const j={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},I={};var S=r(284);const O=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let P=!1;function K(e,t={},r,n){let{init:a,info:c,loader_config:u,runtime:d={},exposed:f=!0}=t;d.loaderType=r;const p=(0,g.pV)();c||(a=p.init,c=p.info,u=p.loader_config),(0,k.xN)(e.agentIdentifier,a||{}),function(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");I[e]=(0,T.a)(t,j);const r=(0,g.nY)(e);r&&(r.loader_config=I[e])}(e.agentIdentifier,u||{}),c.jsAttributes??={},l.bv&&(c.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,c);const m=(0,k.D0)(e.agentIdentifier),h=[c.beacon,c.errorBeacon];P||(m.proxy.assets&&(O(m.proxy.assets),h.push(m.proxy.assets)),m.proxy.beacon&&h.push(m.proxy.beacon),E(),(0,g.US)("activatedFeatures",S.B),e.runSoftNavOverSpa&&=!0===m.soft_navigations.enabled&&m.feature_flags.includes("soft_nav")),d.denyList=[...m.ajax.deny_list||[],...m.ajax.block_internal?h:[]],d.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,d),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=N(e.agentIdentifier,n,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=f),P=!0}},374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={ajax:"ajax",genericEvents:"generic_events",jserrors:i,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"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.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.281.0.min.js",i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.281.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"),l=0;l<u.length;l++){var d=u[l];if(d.getAttribute("src")==r||d.getAttribute("data-webpack")==t+o){s=d;break}}if(!s){c=!0;var f={296:"sha512-zqOtfbjYsGTkQScey1O8Hh9fA1+m2RFxLpfv7BWqqTivgQ6iM13v6QJ4d5xykyDwx1GoMFmngC4SKpFn6VciYg=="};(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={374:0,840: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.281.0.PROD"]=self["webpackChunk:NRBA-1.281.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(374);var e=i(944),t=i(344),r=i(566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#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)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",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(217);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 l=i(603);var d=i(687),f=i(234),g=i(289),p=i(154),m=i(384);const h=e=>p.RI&&!0===(0,s.gD)(e,"privacy.cookies_enabled");function v(e){return!!(0,m.dV)().o.MO&&h(e)&&!0===(0,s.gD)(e,"session_trace.enabled")}var b=i(389);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,d.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,b.J)((()=>{(0,d.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(h(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(296).then(i.bind(i,861));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(!this.#t(this.featureName,o))return(0,d.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(296).then(i.bind(i,103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,d.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 v(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var w=i(630);class A extends y{static featureName=w.T;constructor(e,t=!0){super(e,w.T,t),this.importAggregator(e)}}var R=i(908),_=i(843),E=i(878),x=i(782),N=i(863);class k extends y{static featureName=x.T;constructor(e,t=!0){super(e,x.T,t),p.RI&&((0,_.u)((()=>(0,R.p)("docHidden",[(0,N.t)()],void 0,x.T,this.ee)),!0),(0,E.sp)("pagehide",(()=>(0,R.p)("winPagehide",[(0,N.t)()],void 0,x.T,this.ee))),this.importAggregator(e))}}var T=i(969);class j extends y{static featureName=T.TZ;constructor(e,t=!0){super(e,T.TZ,t),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,m.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,l.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,m.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,k,j],loaderType:"lite"})})()})();</script> <style> html { visibility: hidden; } </style> </head> <body class="lf_case_study-template-default single single-lf_case_study postid-75766 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 London for KubeCon + CloudNativeCon Europe · 1 - 4 April · <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/register/?utm_source=www&amp;utm_medium=subpage&amp;utm_campaign=KubeCon-EU-2025&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" decoding="async" fetchpriority="high" 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" decoding="async" 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/kcd-washington-dc-2024/" title="KCD Washington DC 2024" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" decoding="async" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2025/02/Thumbnail_KCD_DC2024_TR_original-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2025/02/Thumbnail_KCD_DC2024_TR_original-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2025/02/Thumbnail_KCD_DC2024_TR_original-300x158.jpg 300w, https://www.cncf.io/wp-content/uploads/2025/02/Thumbnail_KCD_DC2024_TR_original-1024x538.jpg 1024w, https://www.cncf.io/wp-content/uploads/2025/02/Thumbnail_KCD_DC2024_TR_original-768x403.jpg 768w, https://www.cncf.io/wp-content/uploads/2025/02/Thumbnail_KCD_DC2024_TR_original-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2025/02/Thumbnail_KCD_DC2024_TR_original-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2025/02/Thumbnail_KCD_DC2024_TR_original-1552x816.jpg 1552w, https://www.cncf.io/wp-content/uploads/2025/02/Thumbnail_KCD_DC2024_TR_original-900x473.jpg 900w, https://www.cncf.io/wp-content/uploads/2025/02/Thumbnail_KCD_DC2024_TR_original-381x200.jpg 381w, https://www.cncf.io/wp-content/uploads/2025/02/Thumbnail_KCD_DC2024_TR_original-762x400.jpg 762w, https://www.cncf.io/wp-content/uploads/2025/02/Thumbnail_KCD_DC2024_TR_original-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2025/02/Thumbnail_KCD_DC2024_TR_original-1180x620.jpg 1180w, https://www.cncf.io/wp-content/uploads/2025/02/Thumbnail_KCD_DC2024_TR_original.jpg 1800w" sizes="(max-width: 200px) 100vw, 200px" alt="KCD Washington DC 2024"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Conference Transparency category" href="https://www.cncf.io/reports/?_sft_lf-report-type=conference-transparency">Conference Transparency Report</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/reports/kcd-washington-dc-2024/" title="KCD Washington DC 2024">KCD Washington DC 2024</a> </span> <span class="main-menu-item__date">February 3, 2025</span> </div> </div> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper"> <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/?utm_source=www&#038;utm_medium=homepage&#038;utm_campaign=KubeCon-EU-2025&#038;utm_content=big-banner" title="KubeCon + CloudNativeCon Europe 2025" class="main-menu-item__link main-menu-item__event"> <!-- event start --> <div class="main-menu-item__event-overlay" style="background-color: rgba(108, 52, 131, 0.32) "> </div> <figure class="main-menu-item__event-bg-figure"> <img width="194" height="102" loading="lazy" decoding="async" class="main-menu-item__event-bg-image" src="https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-12-11-at-8.32.51 AM-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-12-11-at-8.32.51 AM-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-12-11-at-8.32.51 AM-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-12-11-at-8.32.51 AM-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-12-11-at-8.32.51 AM-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-12-11-at-8.32.51 AM-1180x620.jpg 1180w" sizes="(max-width: 200px) 100vw, 200px" alt="KubeCon + CloudNativeCon Europe 2025"> </figure> <div class="main-menu-item__event-content"> <div> <img decoding="async" loading="lazy" class="main-menu-item__event-logo" src="https://www.cncf.io/wp-content/uploads/2024/11/kceu25_white.svg" alt="KubeCon + CloudNativeCon Europe 2025" width="411" height="188"> <h4><span class="main-menu-item__event-city">London, United Kingdom</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-europe/?utm_source=www&#038;utm_medium=homepage&#038;utm_campaign=KubeCon-EU-2025&#038;utm_content=big-banner" title="KubeCon + CloudNativeCon Europe 2025">KubeCon + CloudNativeCon Europe 2025</a> </span> <span class="main-menu-item__date"> April 1-4, 2025</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-jp/" title="Cilium Project Journey Report – Japanese translation" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" decoding="async" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2025/01/cilium-p-j-jp-194x102.png" srcset="https://www.cncf.io/wp-content/uploads/2025/01/cilium-p-j-jp-194x102.png 194w, https://www.cncf.io/wp-content/uploads/2025/01/cilium-p-j-jp-300x158.png 300w, https://www.cncf.io/wp-content/uploads/2025/01/cilium-p-j-jp-1024x538.png 1024w, https://www.cncf.io/wp-content/uploads/2025/01/cilium-p-j-jp-768x403.png 768w, https://www.cncf.io/wp-content/uploads/2025/01/cilium-p-j-jp-388x204.png 388w, https://www.cncf.io/wp-content/uploads/2025/01/cilium-p-j-jp-776x408.png 776w, https://www.cncf.io/wp-content/uploads/2025/01/cilium-p-j-jp-1552x816.png 1552w, https://www.cncf.io/wp-content/uploads/2025/01/cilium-p-j-jp-900x473.png 900w, https://www.cncf.io/wp-content/uploads/2025/01/cilium-p-j-jp-381x200.png 381w, https://www.cncf.io/wp-content/uploads/2025/01/cilium-p-j-jp-761x400.png 761w, https://www.cncf.io/wp-content/uploads/2025/01/cilium-p-j-jp-590x310.png 590w, https://www.cncf.io/wp-content/uploads/2025/01/cilium-p-j-jp-1180x620.png 1180w, https://www.cncf.io/wp-content/uploads/2025/01/cilium-p-j-jp.png 1799w" sizes="(max-width: 200px) 100vw, 200px" alt="Cilium 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/cilium-project-journey-report-jp/" title="Cilium Project Journey Report – Japanese translation">Cilium Project Journey Report – Japanese translation</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/cilium-project-journey-report/" title="Cilium Project Journey Report" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" decoding="async" 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" decoding="async" 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> </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" decoding="async" 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/2025/02/12/announcing-ratify-v1-4-0-revocation-checking-with-crl-support-enhanced-out-of-box-experience-and-new-cloud-provider-support/" title="Announcing Ratify v1.4.0 &#8211; Revocation Checking with CRL Support, Enhanced Out-of-box Experience, and New Cloud Provider Support" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" decoding="async" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2020/08/Kubernetes-Config-Security-Threats-Image-of-Shark-Swimming-in-Ocean-1-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2020/08/Kubernetes-Config-Security-Threats-Image-of-Shark-Swimming-in-Ocean-1-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2020/08/Kubernetes-Config-Security-Threats-Image-of-Shark-Swimming-in-Ocean-1-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2020/08/Kubernetes-Config-Security-Threats-Image-of-Shark-Swimming-in-Ocean-1-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2020/08/Kubernetes-Config-Security-Threats-Image-of-Shark-Swimming-in-Ocean-1-1552x816.jpg 1552w, https://www.cncf.io/wp-content/uploads/2020/08/Kubernetes-Config-Security-Threats-Image-of-Shark-Swimming-in-Ocean-1-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2020/08/Kubernetes-Config-Security-Threats-Image-of-Shark-Swimming-in-Ocean-1-1180x620.jpg 1180w" sizes="(max-width: 200px) 100vw, 200px" alt="Announcing Ratify v1.4.0 &#8211; Revocation Checking with CRL Support, Enhanced Out-of-box Experience, and New Cloud Provider Support"> </a> </div> <div class="main-menu-item__text-wrapper"> <span class="main-menu-item__title"> <a href="https://www.cncf.io/blog/2025/02/12/announcing-ratify-v1-4-0-revocation-checking-with-crl-support-enhanced-out-of-box-experience-and-new-cloud-provider-support/" title="Announcing Ratify v1.4.0 &#8211; Revocation Checking with CRL Support, Enhanced Out-of-box Experience, and New Cloud Provider Support">Announcing Ratify v1.4.0 &#8211; Revocation Checking with CRL Support, Enhanced Out-of-box Experience, and New Cloud Provider Support</a> </span> <span class="main-menu-item__date">February 12, 2025</span> </div> </div> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/blog/2025/02/11/kubestronaut-in-orbit-nelson-hilario-filipe/" title="Kubestronaut in Orbit: Nelson Hilario Filipe" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" decoding="async" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2025/02/Kubestronaut-in-Orbit-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2025/02/Kubestronaut-in-Orbit-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2025/02/Kubestronaut-in-Orbit-300x158.jpg 300w, https://www.cncf.io/wp-content/uploads/2025/02/Kubestronaut-in-Orbit-1024x538.jpg 1024w, https://www.cncf.io/wp-content/uploads/2025/02/Kubestronaut-in-Orbit-768x403.jpg 768w, https://www.cncf.io/wp-content/uploads/2025/02/Kubestronaut-in-Orbit-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2025/02/Kubestronaut-in-Orbit-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2025/02/Kubestronaut-in-Orbit-900x473.jpg 900w, https://www.cncf.io/wp-content/uploads/2025/02/Kubestronaut-in-Orbit-381x200.jpg 381w, https://www.cncf.io/wp-content/uploads/2025/02/Kubestronaut-in-Orbit-762x400.jpg 762w, https://www.cncf.io/wp-content/uploads/2025/02/Kubestronaut-in-Orbit-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2025/02/Kubestronaut-in-Orbit-1180x620.jpg 1180w, https://www.cncf.io/wp-content/uploads/2025/02/Kubestronaut-in-Orbit.jpg 1200w" sizes="(max-width: 200px) 100vw, 200px" alt="Kubestronaut in Orbit: Nelson Hilario Filipe"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Kubestronaut category" href="https://www.cncf.io/blog?_sft_lf-author-category=kubestronaut">Kubestronaut Post</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/blog/2025/02/11/kubestronaut-in-orbit-nelson-hilario-filipe/" title="Kubestronaut in Orbit: Nelson Hilario Filipe">Kubestronaut in Orbit: Nelson Hilario Filipe</a> </span> <span class="main-menu-item__date">February 11, 2025</span> </div> </div> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/blog/2025/02/10/notary-project-announces-notation-v1-3-0-and-tspclient-go-v1-0-0/" title="Notary Project announces Notation v1.3.0 and tspclient-go v1.0.0!" class="main-menu-item__link"> <img decoding="async" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2020/05/notary-stacked-color.svg" alt="Notary Project announces Notation v1.3.0 and tspclient-go v1.0.0!" width="62" height="102"> </a> </div> <div class="main-menu-item__text-wrapper"> <span class="main-menu-item__title"> <a href="https://www.cncf.io/blog/2025/02/10/notary-project-announces-notation-v1-3-0-and-tspclient-go-v1-0-0/" title="Notary Project announces Notation v1.3.0 and tspclient-go v1.0.0!">Notary Project announces Notation v1.3.0 and tspclient-go v1.0.0!</a> </span> <span class="main-menu-item__date">February 10, 2025</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> <main class="case-study-single"> <article class="container wrap page-content"> <section class="hero alignfull"> <figure class="hero__figure"> <picture><source srcset="https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-1.jpg" media="(min-width: 2880px)"><source srcset="https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-1.jpg" media="(min-width: 1920px)"><source srcset="https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-1.jpg" media="(min-width: 1440px)"><source srcset="https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-1.jpg" media="(min-width: 1200px)"><source srcset="https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-1.jpg" media="(min-width: 1024px)"><source srcset="https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-1.jpg" media="(min-width: 768px)"><source srcset="https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-1.jpg" media="(min-width: 600px)"><source srcset="https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-1.jpg" media="(min-width: 414px)"><source srcset="https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-1.jpg" media="(min-width: 375px)"><source srcset="https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-1.jpg" media="(min-width: 0px)"> <img decoding="async" src="https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-1.jpg" class="hero__image" alt="Nexxiot tools"> </picture></figure> <div class="container wrap hero__text-overlay title-wrapper"> <span> <a class="parent-link has-text-color has-white-text" href="/case-studies/" title="Go to Case Studies">Case Study</a> </span> <h1 class="is-style-case-study-title">Nexxiot</h1> </div> </section> <section class="wp-block-lf-case-study-overview"> <div class="case-study-overview"> <!-- column 1 --> <div class="case-study-overview__intro"> <h2 class="is-style-opening-paragraph"> How Nexxiot runs integrated IoT hardware, software, and analytics with Cilium</h2> <h3 class="wp-block-heading">Challenge</h3> <p>Nexxiot is a TradeTech pioneer with a mission to enable easier, safer, and cleaner global transportation for all stakeholders. They deploy track and trace IoT devices which work more than six years without power supply and allow clients to monitor the location, status and conditions of their assets and cargo in real-time, anywhere in the world. As an ISO/IEC 9001 and ISO/IEC 27001 certified company, they needed to keep their clients&#8217; private asset data secure while managing service for hundreds of thousands of devices in the field.</p> <h3 class="wp-block-heading">Solution</h3> <p>Nexxiot needed highly-reliable, secure, performant, and cost efficient Kubernetes clusters. Their operations team looked for projects with simple day two operations and built in automation. They turned to Cilium as the CNI to lock down their clusters and enable resilient networking with reliable day two operations.</p> <h3 class="wp-block-heading">Impact</h3> <p>Nexxiot manages hundreds of thousands of devices in the field with their SRE team. Cilium helps them keep their clusters and data secure and available to meet their stringent customer demands.</p> </div> <!-- column 2 --> <div class="case-study-overview__meta"> <!-- logo --> <img width="1000" height="211" loading="lazy" decoding="async" class="case-study-overview__logo" src="https://www.cncf.io/wp-content/uploads/2022/07/Nexxiot-Logo-Dark.png" srcset="https://www.cncf.io/wp-content/uploads/2022/07/Nexxiot-Logo-Dark.png 1000w, https://www.cncf.io/wp-content/uploads/2022/07/Nexxiot-Logo-Dark-300x63.png 300w, https://www.cncf.io/wp-content/uploads/2022/07/Nexxiot-Logo-Dark-768x162.png 768w, https://www.cncf.io/wp-content/uploads/2022/07/Nexxiot-Logo-Dark-900x190.png 900w, https://www.cncf.io/wp-content/uploads/2022/07/Nexxiot-Logo-Dark-600x127.png 600w" sizes="auto, (max-width: 200px) 100vw, 200px" alt="Nexxiot"> <div class="case-study-overview__taxonomies"> <div class="row"> <div class="col1"> Challenges:</div> <div class="col2"> <a title="See more case studies with a Auditing challenge" href="/case-studies?_sft_lf-challenge=auditing">Auditing</a>, <a title="See more case studies with a Automation challenge" href="/case-studies?_sft_lf-challenge=automation">Automation</a>, <a title="See more case studies with a Compliance challenge" href="/case-studies?_sft_lf-challenge=compliance">Compliance</a>, <a title="See more case studies with a Security challenge" href="/case-studies?_sft_lf-challenge=security">Security</a> </div> </div> <div class="row"> <div class="col1">Industry: </div> <div class="col2"> <a title="See more case studies from Logistics" href="/case-studies?_sft_lf-industry=logistics">Logistics</a> </div> </div> <div class="row"> <div class="col1">Location: </div> <div class="col2"> <a title="See more case studies from Switzerland" href="/case-studies?_sft_lf-country=ch">Switzerland</a> </div> </div> <div class="row"> <div class="col1"> Cloud Type:</div> <div class="col2"> <a title="See more case studies with a Public cloud type" href="/case-studies?_sft_lf-cloud-type=public">Public</a> </div> </div> <div class="row"> <div class="col1"> Published:</div> <div class="col2">July 25, 2022</div> </div> </div> <!-- Project area --> <div class="case-study-overview__projects"> <p class="is-style-spaced-uppercase">Projects used</p> <div class="case-study-overview__project-icons"> <a class="case-study-overview__project-link" title="View Linkerd" href="/projects/linkerd"> <img class="case-study-overview__project-icon" loading="lazy" decoding="async" height="60" width="70" src="https://landscape.cncf.io/logos/f1940543e59719e7ce1929d7bf6004b9fc56db3a6a59a2dc6f0db16c789b28ac.svg" alt="Linkerd logo"> </a> <a class="case-study-overview__project-link" title="View Kubernetes" href="/projects/kubernetes"> <img class="case-study-overview__project-icon" loading="lazy" decoding="async" height="60" width="70" src="https://landscape.cncf.io/logos/e0303fdc381c96c1b4461ad1a2437c8f050cfb856fcb8710c9104367ca60f316.svg" alt="Kubernetes logo"> </a> <a class="case-study-overview__project-link" title="View Cilium" href="/projects/cilium"> <img class="case-study-overview__project-icon" loading="lazy" decoding="async" height="60" width="70" src="https://landscape.cncf.io/logos/6b052d96054bbe311b0429d2267d60b92b1c5e6527e6646c0bf2fc06a55e2f43.svg" alt="Cilium logo"> </a> </div> </div><!-- end of case-study-overview__projects --> <!-- Project area END --> </div><!-- end of case-study-overview__meta --> </div> </section> <section class="wp-block-lf-case-study-highlights"> <p class="case-study-title is-style-spaced-uppercase">By the numbers</p> <div class="case-study-highlights columns-three"> <!-- col 1 --> <div class="case-study-highlights__col"> <p class="case-study-highlights__heading is-style-spaced-uppercase has-large-font-size has-text-color has-purple-color"> 0 network outages</p> <p class="case-study-highlights__text has-large-font-size">200,000+ IoT devices around the world<br></p> </div> <!-- col 2 --> <div class="case-study-highlights__col"> <p class="case-study-highlights__heading is-style-spaced-uppercase has-large-font-size has-text-color has-purple-color"> One solar panel</p> <p class="case-study-highlights__text has-large-font-size">Powers an IoT device 6+ years </p> </div> <!-- col 3 --> <div class="case-study-highlights__col"> <p class="case-study-highlights__heading is-style-spaced-uppercase has-large-font-size has-text-color has-purple-color"> Every 15 minutes</p> <p class="case-study-highlights__text has-large-font-size">Asset location shared</p> </div> </div> </section> <h3 class="is-style-max-width-800 wp-block-heading">In today’s snarled supply chains, Nexxiot runs integrated IoT hardware, software, and analytics to create transparency, improve efficiency, and preserve value across supply networks.</h3> <p>The technology mitigates risks to people, infrastructure and cargo and reduces emissions and waste. It has grown from a startup to a company with over 200,000 devices in the field, ISO/IEC 9001 and ISO/IEC 27001 certifications, and many enterprises relying upon them to track their assets while keeping their data secure.</p> <p>The IoT devices work for more than six years with only a solar panel and without a power supply while providing an assets’ location every 15 minutes. They can survive rough environments, traveling around the world on freight containers and rail cars. Data is transmitted from the device to the cloud platform over mobile networks with encrypted UDP packets to save resources. Once in the cloud, the messages are stored then undergo stream or batch processing and made available to the customer through an API. Sophisticated Big Data analytics delivers business intelligence at scale to drive efficiency, process automation, and achieve sustainability targets</p> <p>To deliver their clients&#8217; experience, the team started off with running just EC2 instances, then migrated to running container workloads on AWS without Kubernetes, and are now migrating fully to Kubernetes. At every step of the way, one of the key requirements, from both customers and as an ISO/IEC 9001 and ISO/IEC 27001 certified company, was security compliance. Nexxiot needed to prove to their clients that their private data was secure. The second key requirement was operational simplicity. They needed technology that would work well on day two and every day after and provided a good migration experience.</p> <p>They originally built their clusters in CNI Chaining mode with AWS VPC CNI and Cilium for network policies thinking AWS VPC CNI would be easy to operate and well supported because it is the standard for EKS and they would just use Cilium for security. They found that the operational complexity of running two CNIs didn’t provide any benefits. By simplifying their stack to only Cilium, they were able to focus on their client’s needs rather than operational overhead.&nbsp;</p> <blockquote class="wp-block-quote is-style-smaller-quote is-layout-flow wp-block-quote-is-layout-flow"> <p>&#8220;We chose Cilium because we were looking for a simple solution, a resilient solution, and one which is ready for day two operations.&#8221;</p> <cite><strong>Alex Berger, ​​Chief Architect at Nexxiot</strong></cite></blockquote> <p>When originally evaluating CNIs, they looked for open source solutions because they liked being able to dive into the code to find and resolve problems rather than waiting for months on customer support. They found the Cilium community to be responsive and helpful and liked the <a href="https://ebpf.io/">eBPF</a> based networking model.&nbsp;</p> <p>Using Cilium as their CNI provides reliable low-latency networking with support for Kubernetes NetworkPolicies and a rich feature set. NetworkPolicies are an important piece in their Kubernetes security toolbox to achieve workload isolation.</p> <p>In addition, Cilium provides operational simplicity. Alex Berger, ​​Chief Architect at Nexxiot, explained: “By simple, I mean that we do not have 500 SREs who can fix systems every minute. We are very much focused on self healing things that will usually fix itself.</p> <p>When it comes down to day two operations, which is, of course, related to the simplicity of the architecture, it&#8217;s also relevant to be able to deploy new versions without bringing down clusters or having a significant interruption of service. We promise high availability to our clients and need to deliver on it.&nbsp;</p> <p>If you read many success stories, people often boast about how fast they implemented it. What really matters is that that system has been running for two years now and had many releases without a breakdown and that&#8217;s what we are focusing on. Having software that is not only easy and fast to deploy but also to upgrade and maintain over the years. That is exactly what we have found with Cilium. We started off with 1.9.X and now we are 1.11.X with many releases in between and it hasn’t broken our clusters. This is an important aspect that I think people often forget about.”</p> <h3 class="wp-block-heading">What is next?</h3> <blockquote class="wp-block-quote is-style-smaller-quote is-layout-flow wp-block-quote-is-layout-flow"> <p>“Nexxiot is always looking for ways to simplify their tech stack. Each component, service, and workload that we can remove from our technology stack is very important. Everything we add is a daunting task to maintain or a potential source of errors, failures, or outages.”&nbsp;</p> <cite>Alex Berger</cite></blockquote> <p>They currently run Linkerd2 and use it for workload authentication with cryptographic identity and transparent encryption via mutual TLS. Nexxiot is also looking to <a href="https://docs.cilium.io/en/v1.9/gettingstarted/kubeproxy-free/">remove kube-proxy</a> to reduce costs, RAM, and CPU consumption but are waiting for Amazon Linux to upgrade their kernel version. They also want to try minimal secure Kubernetes Linux distributions like AWS Bottlerocket when it has better support from all of the tools they use.&nbsp;</p> <p>Nexxiot has built fantastic infrastructure at very low cost without requiring massive resources and that&#8217;s only possible because “we fully automate everything from the very beginning and we will continue to build this way going forward.”</p> <p></p> <figure class="wp-block-gallery alignwide has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="2400" height="1254" data-id="75768" src="https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final.jpg" alt="Image of ipad showing Nexxiot integrated software and hardware product" class="wp-image-75768" srcset="https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final.jpg 2400w, https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-300x157.jpg 300w, https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-1024x535.jpg 1024w, https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-768x401.jpg 768w, https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-900x470.jpg 900w, https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-1800x941.jpg 1800w, https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-383x200.jpg 383w, https://www.cncf.io/wp-content/uploads/2022/07/Globe-Ipad-Final-766x400.jpg 766w" sizes="(max-width: 2400px) 100vw, 2400px" /></figure> </figure> <div style="height:80px" aria-hidden="true" class="wp-block-spacer is-style-60-100"> </div> <div class="social-share"> <p class="social-share__title">Share</p> <div class="social-share__wrapper"> <!-- linkedin --> <a aria-label="Share on Linkedin" title="Share on Linkedin" href="https://www.linkedin.com/shareArticle?mini=true&#038;url=https%3A%2F%2Fwww.cncf.io%2Fcase-studies%2Fnexxiot%2F&#038;summary=Nexxiot"><svg width="30" height="31" viewbox="0 0 30 31" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M27.758.456a2.193 2.193 0 0 1 2.204 1.804c.017.11.026.22.026.332v25.705a2.132 2.132 0 0 1-2.033 2.125H2.243c-1.066 0-1.875-.571-2.154-1.537A2.318 2.318 0 0 1 0 28.253V2.632A2.123 2.123 0 0 1 2.135.465C3.16.453 23.5.473 27.758.455ZM15.992 13.62v-1.624c0-.248-.06-.342-.328-.337-1.226.014-2.451.014-3.675 0-.293 0-.361.09-.359.368V25.69c0 .279.07.377.36.372 1.274-.012 2.546-.012 3.817 0 .284 0 .363-.082.361-.367-.01-2.292-.01-4.583 0-6.874a8.238 8.238 0 0 1 .117-1.42c.171-.968.614-1.755 1.64-2.012.328-.072.663-.103.998-.092 1.033.014 1.713.513 1.945 1.518a8.46 8.46 0 0 1 .192 1.802c.02 2.357.012 4.714 0 7.07 0 .272.07.38.36.375 1.272-.012 2.544-.012 3.817 0 .272 0 .35-.084.347-.354v-7.602a13.265 13.265 0 0 0-.29-3.088c-.326-1.384-.966-2.565-2.33-3.177a6.232 6.232 0 0 0-4.216-.35c-1.16.306-2.053 1.03-2.756 2.129Zm-7.075 5.217v-6.843c0-.253-.07-.338-.333-.335-1.288.012-2.578.012-3.87 0-.253 0-.335.065-.333.328V25.73c0 .274.101.33.343.33H8.54c.372 0 .375 0 .375-.375l.002-6.848Zm-2.26-9.095A2.603 2.603 0 1 0 4.05 7.165a2.577 2.577 0 0 0 2.605 2.577h.002Z" fill="currentColor"/></svg></a> <!-- facebook --> <a aria-label="Share on Facebook" title="Share on Facebook" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.cncf.io%2Fcase-studies%2Fnexxiot%2F&#038;t=Nexxiot"><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> <!-- x --> <a aria-label="Share on X" title="Share on X" href="https://x.com/intent/tweet?text=Nexxiot&#038;url=https%3A%2F%2Fwww.cncf.io%2Fcase-studies%2Fnexxiot%2F&#038;hashtags=cncf&#038;via=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> <!-- sendto email --> <a aria-label="Share by Email" title="Share by Email" href="mailto:?subject=Nexxiot&#038;body=https%3A%2F%2Fwww.cncf.io%2Fcase-studies%2Fnexxiot%2F"><svg fill="transparent" viewbox=".16 -.47 30.88 25.5" xmlns="http://www.w3.org/2000/svg" aria-label="Email"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"><path d="m4.97 1.675h21.315a2.672 2.672 0 0 1 2.665 2.664v15.987c0 1.466-1.2 2.665-2.665 2.665h-21.315a2.672 2.672 0 0 1 -2.664-2.665v-15.986a2.672 2.672 0 0 1 2.664-2.664z"/><path d="m28.95 4.34-13.323 9.326-13.322-9.326"/></g></svg></a> </div> </div> <div style="height:80px" aria-hidden="true" class="wp-block-spacer is-style-60-100"> </div> </article> </main> <aside class="case-study-cta"> <div class="container wrap"> <div class="wp-block-group alignfull is-style-gradient-down-section is-layout-flow wp-block-group-is-layout-flow"> <div class="wp-block-group is-style-default is-layout-flow wp-block-group-is-layout-flow"> <div class="wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-center is-image-fill has-gray-300-background-color has-background"> <div class="wp-block-media-text__content"> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-default"></div> <h2 class="wp-block-heading">Join the CNCF<br>end user community</h2> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> <p class="has-medium-font-size">Accelerate cloud native technology adoption and collaborate with peers, project maintainers and CNCF.</p> <div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div> <p class="is-style-link-cta"><a href="/enduser/" data-type="page" data-id="24491">EXPLORE THE COMMUNITY</a></p> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-default"></div> </div> <figure class="wp-block-media-text__media" style="background-image:url(/wp-content/uploads/2021/05/end-users.jpg);background-position:49% 40%"> <a href="/enduser/"><img src="/wp-content/uploads/2021/05/end-users.jpg" alt="CNCF End Users celebrate at a conference" class="wp-image-62498 size-full" /></a></figure> </div> </div> </div> </div> </aside> <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-1739822458000-2546329554", region: "", })}); </script> <div class="hbspt-form" id="hbspt-form-1739822458000-2546329554"></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; 2025 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%2Fcase-studies%2Fnexxiot%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-heading-inline-css'> h1.has-background,h2.has-background,h3.has-background,h4.has-background,h5.has-background,h6.has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg} </style> <style id='wp-block-paragraph-inline-css'> .is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg} </style> <style id='wp-block-quote-inline-css'> .wp-block-quote{box-sizing:border-box;overflow-wrap:break-word}.wp-block-quote.is-large:where(:not(.is-style-plain)),.wp-block-quote.is-style-large:where(:not(.is-style-plain)){margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large:where(:not(.is-style-plain)) p,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large:where(:not(.is-style-plain)) cite,.wp-block-quote.is-large:where(:not(.is-style-plain)) footer,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) cite,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) footer{font-size:1.125em;text-align:right}.wp-block-quote>cite{display:block} </style> <style id='wp-block-quote-theme-inline-css'> .wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote:where(.has-text-align-right){border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote:where(.has-text-align-center){border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote:where(.is-style-plain){border:none} </style> <style id='wp-block-image-inline-css'> .wp-block-image a{display:inline-block}.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}@media (prefers-reduced-motion:no-preference){.wp-block-image img.hide{visibility:hidden}.wp-block-image img.show{animation:show-content-image .4s}}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull a,.wp-block-image.alignwide a{width:100%}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image :where(figcaption){margin-bottom:1em;margin-top:.5em}.wp-block-image.is-style-circle-mask img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}:root :where(.wp-block-image.is-style-rounded img,.wp-block-image .is-style-rounded img){border-radius:9999px}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background-color:#5a5a5a40;border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;transition:opacity .2s ease;width:20px;z-index:100}.wp-lightbox-container button:focus-visible{outline:3px auto #5a5a5a40;outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:#5a5a5a40;border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .close-button{align-items:center;cursor:pointer;display:flex;justify-content:center;min-height:40px;min-width:40px;padding:0;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:9999999999}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both;visibility:visible}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active) img{animation:turn-off-visibility .25s both}@media (prefers-reduced-motion:no-preference){.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active){animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes show-content-image{0%{visibility:hidden}99%{visibility:hidden}to{visibility:visible}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}} </style> <style id='wp-block-image-theme-inline-css'> :root :where(.wp-block-image figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme :root :where(.wp-block-image figcaption){color:#ffffffa6}.wp-block-image{margin:0 0 1em} </style> <link rel='stylesheet' id='wp-block-gallery-css' href='https://www.cncf.io/wp/wp-includes/blocks/gallery/style.min.css?ver=1739691465' media='all' /> <style id='wp-block-gallery-theme-inline-css'> .blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:#ffffffa6} </style> <style id='wp-block-spacer-inline-css'> .wp-block-spacer{clear:both} </style> <style id='wp-block-media-text-inline-css'> .wp-block-media-text{box-sizing:border-box; /*!rtl:begin:ignore*/direction:ltr; /*!rtl:end:ignore*/display:grid;grid-template-columns:50% 1fr;grid-template-rows:auto}.wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr 50%}.wp-block-media-text.is-vertically-aligned-top>.wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-top>.wp-block-media-text__media{align-self:start}.wp-block-media-text.is-vertically-aligned-center>.wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-center>.wp-block-media-text__media,.wp-block-media-text>.wp-block-media-text__content,.wp-block-media-text>.wp-block-media-text__media{align-self:center}.wp-block-media-text.is-vertically-aligned-bottom>.wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-bottom>.wp-block-media-text__media{align-self:end}.wp-block-media-text>.wp-block-media-text__media{ /*!rtl:begin:ignore*/grid-column:1;grid-row:1; /*!rtl:end:ignore*/margin:0}.wp-block-media-text>.wp-block-media-text__content{direction:ltr; /*!rtl:begin:ignore*/grid-column:2;grid-row:1; /*!rtl:end:ignore*/padding:0 8%;word-break:break-word}.wp-block-media-text.has-media-on-the-right>.wp-block-media-text__media{ /*!rtl:begin:ignore*/grid-column:2;grid-row:1 /*!rtl:end:ignore*/}.wp-block-media-text.has-media-on-the-right>.wp-block-media-text__content{ /*!rtl:begin:ignore*/grid-column:1;grid-row:1 /*!rtl:end:ignore*/}.wp-block-media-text__media a{display:inline-block}.wp-block-media-text__media img,.wp-block-media-text__media video{height:auto;max-width:unset;vertical-align:middle;width:100%}.wp-block-media-text.is-image-fill>.wp-block-media-text__media{background-size:cover;height:100%;min-height:250px}.wp-block-media-text.is-image-fill>.wp-block-media-text__media>a{display:block;height:100%}.wp-block-media-text.is-image-fill>.wp-block-media-text__media img{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0}.wp-block-media-text.is-image-fill-element>.wp-block-media-text__media{height:100%;min-height:250px;position:relative}.wp-block-media-text.is-image-fill-element>.wp-block-media-text__media>a{display:block;height:100%}.wp-block-media-text.is-image-fill-element>.wp-block-media-text__media img{height:100%;object-fit:cover;position:absolute;width:100%}@media (max-width:600px){.wp-block-media-text.is-stacked-on-mobile{grid-template-columns:100%!important}.wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__media{grid-column:1;grid-row:1}.wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__content{grid-column:1;grid-row:2}} </style> <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-group-theme-inline-css'> :where(.wp-block-group.has-background){padding:1.25em 2.375em} </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;} :root :where(.wp-block-quote){border-width: 0;border-style: none;font-family: var(--wp--preset--font-family--serif);font-size: 36px;font-style: italic;font-weight: 400;letter-spacing: 0.02em;line-height: 175%;margin-top: 0;margin-right: 0;margin-bottom: 50px;margin-left: 0;padding-left: 0;} :root :where(.wp-block-quote cite){color: var(--wp--preset--color--gray-700);font-size: 18px;margin-top: 20px;} </style> <style id='core-block-supports-inline-css'> .wp-block-gallery.wp-block-gallery-1{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );} </style> <script id="flying-pages-js-before"> window.FPConfig= { delay: 15, 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.7" id="flying-pages-js"></script> <script id="leadin-script-loader-js-js-extra"> var leadin_wordpress = {"userRole":"visitor","pageType":"post","leadinPluginVersion":"11.1.82"}; </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.82"></script> <script defer src="https://www.cncf.io/wp-content/themes/cncf-twenty-two/build/globals.min.js?ver=1739691461" 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.82"></script> <script type="text/javascript" id="flying-scripts">const loadScriptsTimer=setTimeout(loadScripts,10*1000);const userInteractionEvents=['click', 'mousemove', '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":418,"atts":"HRZRFVlMTRw=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>

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