"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[543],{3905:(e,t,o)=>{o.d(t,{Zo:()=>d,kt:()=>k});varn=o(7294);functionr(e,t,o){returntine?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}functioni(e,t){varo=Object.keys(e);if(Object.getOwnPropertySymbols){varn=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){returnObject.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}returno}functiona(e){for(vart=1;t<arguments.length;t++){varo=null!=arguments[t]?arguments[t]:{};t%2?i(Object(o),!0).forEach((function(t){r(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):i(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}returne}functions(e,t){if(null==e)return{};varo,n,r=function(e,t){if(null==e)return{};varo,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)o=i[n],t.indexOf(o)>=0||(r[o]=e[o]);returnr}(e,t);if(Object.getOwnPropertySymbols){vari=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)o=i[n],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}returnr}varl=n.createContext({}),p=function(e){vart=n.useContext(l),o=t;returne&&(o="function"==typeofe?e(t):a(a({},t),e)),o},d=function(e){vart=p(e.components);returnn.createElement(l.Provider,{value:t},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){vart=e.children;returnn.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){varo=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=p(o),h=r,k=u["".concat(l,".").concat(h)]||u[h]||c[h]||i;returno?n.createElement(k,a(a({ref:t},d),{},{components:o})):n.createElement(k,a({ref:t},d))}));functionk(e,t){varo=arguments,r=t&&t.mdxType;if("string"==typeofe||r){vari=o.length,a=newArray(i);a[0]=h;vars={};for(varlint)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[u]="string"==typeofe?e:r,a[1]=s;for(varp=2;p<i;p++)a[p]=o[p];returnn.createElement.apply(null,a)}returnn.createElement.apply(null,o)}h.displayName="MDXCreateElement"},611:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>p});varn=o(7462),r=(o(7294),o(3905));consti={},a="Introducing zrok",s={permalink:"/blog/introducing_zrok",source:"@site/blog/introducing_zrok.md",title:"Introducing zrok",description:"I'm fortunate that I've had the opportunity to work on many interesting projects throughout my career. I was one of the original developers who broke ground on the OpenZiti project back in 2017. Most of my work on OpenZiti centered on the fabric, data and control plane design, and designing abstractions that would support a lot of what became the \"edge\" layers. It's been quite exciting to watch OpenZiti blossom and grow over the years.",date:"2023-01-30T20:11:30.000Z",formattedDate:"January 30, 2023",tags:[],readingTime:4.595,hasTruncateMarker:!1,authors:[],frontMatter:{}},l={authorsImageUrls:[]},p=[{value:"Private Sharing",id:"private-sharing",level:2},{value:"Files; Repositories; Video... Decentralized",id:"files-repositories-video-decentralized",level:2},{value:"Production zrok",id:"production-zrok",level:2},{value:"Open-Source; Self-Host",id:"open-source-self-host",level:2},{value:"A Start",id:"a-start",level:2}],d={toc:p};functionu(e){let{components:t,...o}=e;return(0,r.kt)("wrapper",(0,n.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"I'm fortunate that I've had the opportunity to work on many interesting projects throughout my career. I was one of the original developers who broke ground on the ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/openziti/ziti"},"OpenZiti")," project back in 2017. Most of my work on OpenZiti centered on the ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/openziti/fabric"},"fabric"),',dataandcontrolplanedesign,anddesigningabstractionsthatwouldsupportalotofwhatbecamethe"edge"lay