diff --git a/404.html b/404.html index 13235ea4..bbeba005 100644 --- a/404.html +++ b/404.html @@ -9,7 +9,7 @@ - + diff --git a/assets/js/47881d5c.6ad35172.js b/assets/js/47881d5c.6ad35172.js new file mode 100644 index 00000000..1c9b2059 --- /dev/null +++ b/assets/js/47881d5c.6ad35172.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[826],{6285:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>h,contentTitle:()=>p,default:()=>g,frontMatter:()=>d,metadata:()=>u,toc:()=>m});var r=s(5893),t=s(1151),i=s(4908),a=s(3298),o=s(7597),l=s(1326),c=s(2753);const d={title:"Install zrok in Linux",sidebar_label:"Linux"},p=void 0,u={id:"guides/install/linux",title:"Install zrok in Linux",description:"Linux Binary",source:"@site/../docs/guides/install/linux.mdx",sourceDirName:"guides/install",slug:"/guides/install/linux",permalink:"/docs/guides/install/linux",draft:!1,unlisted:!1,editUrl:"https://github.com/openziti/zrok/blob/main/docs/../docs/guides/install/linux.mdx",tags:[],version:"current",frontMatter:{title:"Install zrok in Linux",sidebar_label:"Linux"},sidebar:"tutorialSidebar",previous:{title:"Install",permalink:"/docs/guides/install/"},next:{title:"macOS",permalink:"/docs/guides/install/macos"}},h={},m=[{value:"Linux Binary",id:"linux-binary",level:2},{value:"Install zrok from the Repository",id:"install-zrok-from-the-repository",level:2}];function x(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",...(0,t.a)(),...e.components},{Details:s}=n;return s||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"linux-binary",children:"Linux Binary"}),"\n",(0,r.jsx)(i.N,{children:(0,r.jsx)("div",{className:o.Z.downloadContainer,children:(0,r.jsx)(a.Z,{osName:"Linux",osLogo:"/img/logo-linux.svg"})})}),"\n",(0,r.jsxs)(n.p,{children:["Download the binary distribution for your Linux distribution's architecture or run the install script below to pick the correct CPU architecture automatically. For Intel and AMD 64-bit machines use the ",(0,r.jsx)(n.code,{children:"amd64"})," distribution. For Raspberry Pi use the ",(0,r.jsx)(n.code,{children:"arm64"})," distribution."]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsxs)("summary",{children:["Manually install in ",(0,r.jsx)(n.code,{children:"~/bin/zrok"})]}),(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Unarchive the distribution in a temporary directory."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"mkdir /tmp/zrok && tar -xf ./zrok*linux*.tar.gz -C /tmp/zrok\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Install the ",(0,r.jsx)(n.code,{children:"zrok"})," executable."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"mkdir -p ~/bin && install /tmp/zrok/zrok ~/bin/\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Add ",(0,r.jsx)(n.code,{children:"~/bin"})," to your shell's executable search path. Optionally add this to your ~/.zshenv to persist the change."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"PATH=~/bin:$PATH\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["With the ",(0,r.jsx)(n.code,{children:"zrok"})," executable in your path, you can then execute the ",(0,r.jsx)(n.code,{children:"zrok"})," command from your shell:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"zrok version\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-buttonless",metastring:'title="Output"',children:" _ \n _____ __ ___ | | __\n|_ / '__/ _ \\| |/ /\n / /| | | (_) | < \n/___|_| \\___/|_|\\_\\\n\nv0.4.0 [c889005]\n"})}),"\n"]}),"\n"]})]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsxs)("summary",{children:["Script to install binary in ",(0,r.jsx)(n.code,{children:"/usr/local/bin/zrok"})]}),(0,r.jsx)(n.p,{children:"This script auto-selects the correct architecture and may be helpful for Raspberry Pi users."}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"cd $(mktemp -d);\n\nZROK_VERSION=$(\n curl -sSf https://api.github.com/repos/openziti/zrok/releases/latest \\\n | jq -r '.tag_name'\n);\n\ncase $(uname -m) in\n x86_64) GOXARCH=amd64\n ;;\n aarch64|arm64) GOXARCH=arm64\n ;;\n arm*) GOXARCH=arm\n ;;\n *) echo \"ERROR: unknown arch '$(uname -m)'\" >&2\n exit 1\n ;;\nesac;\n\ncurl -sSfL \\\n \"https://github.com/openziti/zrok/releases/download/${ZROK_VERSION}/zrok_${ZROK_VERSION#v}_linux_${GOXARCH}.tar.gz\" \\\n | tar -xz -f -;\n\nsudo install -o root -g root ./zrok /usr/local/bin/;\n\nzrok version;\n"})})]}),"\n",(0,r.jsxs)(n.h2,{id:"install-zrok-from-the-repository",children:["Install ",(0,r.jsx)(n.code,{children:"zrok"})," from the Repository"]}),"\n",(0,r.jsxs)(n.p,{children:["We recommend that you install ",(0,r.jsx)(n.code,{children:"zrok"})," from the Linux package repository with the manual steps or the setup script. DEB and RPM packages are available for amd64, arm64, and armv7 architectures."]}),"\n",(0,r.jsx)(n.admonition,{type:"info",children:(0,r.jsxs)(n.p,{children:["Check out ",(0,r.jsx)(n.a,{href:"/docs/guides/frontdoor?os=Linux",children:"zrok frontdoor"})," for running ",(0,r.jsx)(n.code,{children:"zrok"})," as an always-on service."]})}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Manually set up DEB repository"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"(set -euo pipefail;\n\ncurl -sSLf https://get.openziti.io/tun/package-repos.gpg \\\n| sudo gpg --dearmor --output /usr/share/keyrings/openziti.gpg;\nsudo chmod a+r /usr/share/keyrings/openziti.gpg;\n\nsudo tee /etc/apt/sources.list.d/openziti-release.list >/dev/null </dev/null <<\\EOF;\n[OpenZitiRelease]\nname=OpenZiti Release\nbaseurl=https://packages.openziti.org/zitipax-openziti-rpm-stable/redhat/$basearch\nenabled=1\ngpgcheck=0\ngpgkey=https://packages.openziti.org/zitipax-openziti-rpm-stable/redhat/$basearch/repodata/repomd.xml.key\nrepo_gpgcheck=1\nEOF\n\nsudo dnf update;\nsudo dnf install zrok;\nzrok version;\n)\n"})})]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Script to set up DEB or RPM repository"}),(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Download the zrok install script."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"curl -sSLfo ./zrok-install.bash https://get.openziti.io/install.bash\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Inspect the script to ensure it is suitable to run as root on your system."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"less ./zrok-install.bash\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Run the script as root to add the package repo and install the ",(0,r.jsx)(n.code,{children:"zrok"})," package."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"sudo bash ./zrok-install.bash zrok\n"})}),"\n"]}),"\n"]})]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Ansible Playbook"}),(0,r.jsxs)(c.Z,{title:"Set up package repository and install zrok",children:[l.Z,"\n- name: Install zrok package\n gather_facts: false\n hosts: all \n become: true\n tasks:\n - name: Install zrok\n ansible.builtin.package:\n name: zrok\n state: present\n"]})]})]})}function g(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(x,{...e})}):x(e)}},4908:(e,n,s)=>{s.d(n,{L:()=>a,N:()=>o});var r=s(7294),t=s(5893);const i=(0,r.createContext)([]),a=()=>(0,r.useContext)(i),o=e=>{let{children:n}=e;const[s,a]=(0,r.useState)([]);return(0,r.useEffect)((()=>{(async()=>{try{const e=await fetch("https://api.github.com/repos/openziti/zrok/releases/latest");if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const n=(await e.json()).assets.map((e=>({name:e.name,url:e.browser_download_url,arch:e.name.replace(".tar.gz","").split("_")[3]})));console.log("Fetched assets:",n),a(n)}catch(e){console.error("Error fetching the release assets:",e)}})()}),[]),(0,t.jsx)(i.Provider,{value:s,children:n})}},2753:(e,n,s)=>{s.d(n,{Z:()=>a});s(7294);var r=s(1272),t=s(9286),i=s(5893);const a=e=>{let{title:n,children:s}=e;const a=s.map((e=>"string"==typeof e?e.trim():r.ZP.dump(e).trim())).join("\n\n");return(0,i.jsx)("div",{children:(0,i.jsx)(t.Z,{language:"yaml",title:n,children:a})})}},3298:(e,n,s)=>{s.d(n,{Z:()=>l});s(7294);var r=s(4908),t=s(7597),i=s(2949),a=s(5893);const o=e=>{switch(e){case"amd64":return"x86_64";case"arm64":return"ARM64";case"armv7":return"ARM";default:return e.toUpperCase()}},l=e=>{let{osName:n,osLogo:s,infoText:l,guideLink:c}=e;const{colorMode:d}=(0,i.I)(),p=(0,r.L)();console.log("Assets in DownloadCard:",p);const u=(e=>{switch(e){case"Windows":return"windows";case"macOS":return"darwin";case"Linux":return"linux";default:return""}})(n),h=p.filter((e=>e.name.includes(u)));return console.log("Filtered assets for",n,"in DownloadCard:",h),(0,a.jsxs)("div",{className:t.Z.downloadCard,children:[(0,a.jsx)("div",{className:t.Z.imgContainer,children:(0,a.jsx)("img",{src:s,alt:`${n} logo`})}),(0,a.jsx)("h3",{children:n}),h.length>0&&(0,a.jsx)("ul",{children:h.map(((e,n)=>(0,a.jsx)("li",{className:t.Z.downloadButtons,children:(0,a.jsx)("a",{href:e.url,className:t.Z.downloadLinks,children:o(e.arch)})},n)))}),c&&(0,a.jsxs)("div",{className:t.Z.cardFooter,children:[(0,a.jsx)("p",{children:l}),(0,a.jsx)("a",{href:c,children:"GUIDE"}),(0,a.jsx)("p",{})]})]})}},7597:(e,n,s)=>{s.d(n,{Z:()=>r});const r={downloadContainer:"downloadContainer_nNgj",downloadCard:"downloadCard_D_EY",cardFooter:"cardFooter_Rhom",downloadButtons:"downloadButtons_NPAP",downloadLinks:"downloadLinks_thSu",imgContainer:"imgContainer_r0QA"}},1326:(e,n,s)=>{s.d(n,{Z:()=>r});const r=[{name:"Set up zrok Package Repo",gather_facts:!0,hosts:"all",become:!0,tasks:[{name:"Set up apt repo",when:'ansible_os_family == "Debian"',block:[{name:"Install playbook dependencies","ansible.builtin.package":{name:["gnupg"],state:"present"}},{name:"Fetch armored pubkey","ansible.builtin.uri":{url:"https://get.openziti.io/tun/package-repos.gpg",return_content:"yes"},register:"armored_pubkey"},{name:"Dearmor pubkey","ansible.builtin.shell":'gpg --dearmor --output /usr/share/keyrings/openziti.gpg <<< "{{ armored_pubkey.content }}"\n',args:{creates:"/usr/share/keyrings/openziti.gpg",executable:"/bin/bash"}},{name:"Set pubkey filemode","ansible.builtin.file":{path:"/usr/share/keyrings/openziti.gpg",mode:"a+rX"}},{name:"Install OpenZiti repo deb source","ansible.builtin.copy":{dest:"/etc/apt/sources.list.d/openziti-release.list",content:"deb [signed-by=/usr/share/keyrings/openziti.gpg] https://packages.openziti.org/zitipax-openziti-deb-stable debian main\n"}},{name:"Refresh Repo Sources","ansible.builtin.apt":{update_cache:"yes",cache_valid_time:3600}}]},{name:"Set up yum repo",when:'ansible_os_family == "RedHat"',block:[{name:"Install OpenZiti repo rpm source","ansible.builtin.yum_repository":{name:"OpenZitiRelease",description:"OpenZiti Release",baseurl:"https://packages.openziti.org/zitipax-openziti-rpm-stable/redhat/$basearch",enabled:"yes",gpgkey:"https://packages.openziti.org/zitipax-openziti-rpm-stable/redhat/$basearch/repodata/repomd.xml.key",repo_gpgcheck:"yes",gpgcheck:"no"}}]}]}]}}]); \ No newline at end of file diff --git a/assets/js/47881d5c.ae1dcb33.js b/assets/js/47881d5c.ae1dcb33.js deleted file mode 100644 index e23c573c..00000000 --- a/assets/js/47881d5c.ae1dcb33.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[826],{6285:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>h,contentTitle:()=>p,default:()=>g,frontMatter:()=>d,metadata:()=>u,toc:()=>m});var r=s(5893),t=s(1151),i=s(4908),a=s(3298),o=s(7597),l=s(1326),c=s(2753);const d={title:"Install zrok in Linux",sidebar_label:"Linux"},p=void 0,u={id:"guides/install/linux",title:"Install zrok in Linux",description:"Linux Binary",source:"@site/../docs/guides/install/linux.mdx",sourceDirName:"guides/install",slug:"/guides/install/linux",permalink:"/docs/guides/install/linux",draft:!1,unlisted:!1,editUrl:"https://github.com/openziti/zrok/blob/main/docs/../docs/guides/install/linux.mdx",tags:[],version:"current",frontMatter:{title:"Install zrok in Linux",sidebar_label:"Linux"},sidebar:"tutorialSidebar",previous:{title:"Install",permalink:"/docs/guides/install/"},next:{title:"macOS",permalink:"/docs/guides/install/macos"}},h={},m=[{value:"Linux Binary",id:"linux-binary",level:2},{value:"Install zrok from the Repository",id:"install-zrok-from-the-repository",level:2}];function x(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",...(0,t.a)(),...e.components},{Details:s}=n;return s||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"linux-binary",children:"Linux Binary"}),"\n",(0,r.jsx)(i.N,{children:(0,r.jsx)("div",{className:o.Z.downloadContainer,children:(0,r.jsx)(a.Z,{osName:"Linux",osLogo:"/img/logo-linux.svg"})})}),"\n",(0,r.jsxs)(n.p,{children:["Download the binary distribution for your Linux distribution's architecture or run the install script below to pick the correct CPU architecture automatically. For Intel and AMD 64-bit machines use the ",(0,r.jsx)(n.code,{children:"amd64"})," distribution. For Raspberry Pi use the ",(0,r.jsx)(n.code,{children:"arm64"})," distribution."]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsxs)("summary",{children:["Manually install in ",(0,r.jsx)(n.code,{children:"~/bin/zrok"})]}),(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Unarchive the distribution in a temporary directory."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"mkdir /tmp/zrok && tar -xf ./zrok*linux*.tar.gz -C /tmp/zrok\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Install the ",(0,r.jsx)(n.code,{children:"zrok"})," executable."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"mkdir -p ~/bin && install /tmp/zrok/zrok ~/bin/\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Add ",(0,r.jsx)(n.code,{children:"~/bin"})," to your shell's executable search path. Optionally add this to your ~/.zshenv to persist the change."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"PATH=~/bin:$PATH\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["With the ",(0,r.jsx)(n.code,{children:"zrok"})," executable in your path, you can then execute the ",(0,r.jsx)(n.code,{children:"zrok"})," command from your shell:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"zrok version\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-buttonless",metastring:'title="Output"',children:" _ \n _____ __ ___ | | __\n|_ / '__/ _ \\| |/ /\n / /| | | (_) | < \n/___|_| \\___/|_|\\_\\\n\nv0.4.0 [c889005]\n"})}),"\n"]}),"\n"]})]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsxs)("summary",{children:["Script to install binary in ",(0,r.jsx)(n.code,{children:"/usr/local/bin/zrok"})]}),(0,r.jsx)(n.p,{children:"This script auto-selects the correct architecture, and may be helpful for Raspberry Pi users."}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"(set -euo pipefail;\n\ncd $(mktemp -d);\n\nZROK_VERSION=$(\n curl -sSf https://api.github.com/repos/openziti/zrok/releases/latest \\\n | jq -r '.tag_name'\n);\n\ncase $(uname -m) in\n x86_64) GOXARCH=amd64 ;;\n aarch64|arm64) GOXARCH=arm64 ;;\n armv7|armhf|arm) GOXARCH=arm ;;\n *) echo \"ERROR: unknown arch '$(uname -m)'\" >&2\n exit 1 ;;\nesac;\n\ncurl -sSfL \\\n \"https://github.com/openziti/zrok/releases/download/${ZROK_VERSION}/zrok_${ZROK_VERSION#v}_linux_${GOXARCH}.tar.gz\" \\\n | tar -xz -f -;\n\nsudo install -o root -g root ./zrok /usr/local/bin/;\nzrok version;\n)\n"})})]}),"\n",(0,r.jsxs)(n.h2,{id:"install-zrok-from-the-repository",children:["Install ",(0,r.jsx)(n.code,{children:"zrok"})," from the Repository"]}),"\n",(0,r.jsxs)(n.p,{children:["We recommend that you install ",(0,r.jsx)(n.code,{children:"zrok"})," from the Linux package repository with the manual steps or the setup script. DEB and RPM packages are available for amd64, arm64, and armv7 architectures."]}),"\n",(0,r.jsx)(n.admonition,{type:"info",children:(0,r.jsxs)(n.p,{children:["Check out ",(0,r.jsx)(n.a,{href:"/docs/guides/frontdoor?os=Linux",children:"zrok frontdoor"})," for running ",(0,r.jsx)(n.code,{children:"zrok"})," as an always-on service."]})}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Manually set up DEB repository"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"(set -euo pipefail;\n\ncurl -sSLf https://get.openziti.io/tun/package-repos.gpg \\\n| sudo gpg --dearmor --output /usr/share/keyrings/openziti.gpg;\nsudo chmod a+r /usr/share/keyrings/openziti.gpg;\n\nsudo tee /etc/apt/sources.list.d/openziti-release.list >/dev/null </dev/null <<\\EOF;\n[OpenZitiRelease]\nname=OpenZiti Release\nbaseurl=https://packages.openziti.org/zitipax-openziti-rpm-stable/redhat/$basearch\nenabled=1\ngpgcheck=0\ngpgkey=https://packages.openziti.org/zitipax-openziti-rpm-stable/redhat/$basearch/repodata/repomd.xml.key\nrepo_gpgcheck=1\nEOF\n\nsudo dnf update;\nsudo dnf install zrok;\nzrok version;\n)\n"})})]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Script to set up DEB or RPM repository"}),(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Download the zrok install script."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"curl -sSLfo ./zrok-install.bash https://get.openziti.io/install.bash\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Inspect the script to ensure it is suitable to run as root on your system."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"less ./zrok-install.bash\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Run the script as root to add the package repo and install the ",(0,r.jsx)(n.code,{children:"zrok"})," package."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"sudo bash ./zrok-install.bash zrok\n"})}),"\n"]}),"\n"]})]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Ansible Playbook"}),(0,r.jsxs)(c.Z,{title:"Set up package repository and install zrok",children:[l.Z,"\n- name: Install zrok package\n gather_facts: false\n hosts: all \n become: true\n tasks:\n - name: Install zrok\n ansible.builtin.package:\n name: zrok\n state: present\n"]})]})]})}function g(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(x,{...e})}):x(e)}},4908:(e,n,s)=>{s.d(n,{L:()=>a,N:()=>o});var r=s(7294),t=s(5893);const i=(0,r.createContext)([]),a=()=>(0,r.useContext)(i),o=e=>{let{children:n}=e;const[s,a]=(0,r.useState)([]);return(0,r.useEffect)((()=>{(async()=>{try{const e=await fetch("https://api.github.com/repos/openziti/zrok/releases/latest");if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const n=(await e.json()).assets.map((e=>({name:e.name,url:e.browser_download_url,arch:e.name.replace(".tar.gz","").split("_")[3]})));console.log("Fetched assets:",n),a(n)}catch(e){console.error("Error fetching the release assets:",e)}})()}),[]),(0,t.jsx)(i.Provider,{value:s,children:n})}},2753:(e,n,s)=>{s.d(n,{Z:()=>a});s(7294);var r=s(1272),t=s(9286),i=s(5893);const a=e=>{let{title:n,children:s}=e;const a=s.map((e=>"string"==typeof e?e.trim():r.ZP.dump(e).trim())).join("\n\n");return(0,i.jsx)("div",{children:(0,i.jsx)(t.Z,{language:"yaml",title:n,children:a})})}},3298:(e,n,s)=>{s.d(n,{Z:()=>l});s(7294);var r=s(4908),t=s(7597),i=s(2949),a=s(5893);const o=e=>{switch(e){case"amd64":return"x86_64";case"arm64":return"ARM64";case"armv7":return"ARM";default:return e.toUpperCase()}},l=e=>{let{osName:n,osLogo:s,infoText:l,guideLink:c}=e;const{colorMode:d}=(0,i.I)(),p=(0,r.L)();console.log("Assets in DownloadCard:",p);const u=(e=>{switch(e){case"Windows":return"windows";case"macOS":return"darwin";case"Linux":return"linux";default:return""}})(n),h=p.filter((e=>e.name.includes(u)));return console.log("Filtered assets for",n,"in DownloadCard:",h),(0,a.jsxs)("div",{className:t.Z.downloadCard,children:[(0,a.jsx)("div",{className:t.Z.imgContainer,children:(0,a.jsx)("img",{src:s,alt:`${n} logo`})}),(0,a.jsx)("h3",{children:n}),h.length>0&&(0,a.jsx)("ul",{children:h.map(((e,n)=>(0,a.jsx)("li",{className:t.Z.downloadButtons,children:(0,a.jsx)("a",{href:e.url,className:t.Z.downloadLinks,children:o(e.arch)})},n)))}),c&&(0,a.jsxs)("div",{className:t.Z.cardFooter,children:[(0,a.jsx)("p",{children:l}),(0,a.jsx)("a",{href:c,children:"GUIDE"}),(0,a.jsx)("p",{})]})]})}},7597:(e,n,s)=>{s.d(n,{Z:()=>r});const r={downloadContainer:"downloadContainer_nNgj",downloadCard:"downloadCard_D_EY",cardFooter:"cardFooter_Rhom",downloadButtons:"downloadButtons_NPAP",downloadLinks:"downloadLinks_thSu",imgContainer:"imgContainer_r0QA"}},1326:(e,n,s)=>{s.d(n,{Z:()=>r});const r=[{name:"Set up zrok Package Repo",gather_facts:!0,hosts:"all",become:!0,tasks:[{name:"Set up apt repo",when:'ansible_os_family == "Debian"',block:[{name:"Install playbook dependencies","ansible.builtin.package":{name:["gnupg"],state:"present"}},{name:"Fetch armored pubkey","ansible.builtin.uri":{url:"https://get.openziti.io/tun/package-repos.gpg",return_content:"yes"},register:"armored_pubkey"},{name:"Dearmor pubkey","ansible.builtin.shell":'gpg --dearmor --output /usr/share/keyrings/openziti.gpg <<< "{{ armored_pubkey.content }}"\n',args:{creates:"/usr/share/keyrings/openziti.gpg",executable:"/bin/bash"}},{name:"Set pubkey filemode","ansible.builtin.file":{path:"/usr/share/keyrings/openziti.gpg",mode:"a+rX"}},{name:"Install OpenZiti repo deb source","ansible.builtin.copy":{dest:"/etc/apt/sources.list.d/openziti-release.list",content:"deb [signed-by=/usr/share/keyrings/openziti.gpg] https://packages.openziti.org/zitipax-openziti-deb-stable debian main\n"}},{name:"Refresh Repo Sources","ansible.builtin.apt":{update_cache:"yes",cache_valid_time:3600}}]},{name:"Set up yum repo",when:'ansible_os_family == "RedHat"',block:[{name:"Install OpenZiti repo rpm source","ansible.builtin.yum_repository":{name:"OpenZitiRelease",description:"OpenZiti Release",baseurl:"https://packages.openziti.org/zitipax-openziti-rpm-stable/redhat/$basearch",enabled:"yes",gpgkey:"https://packages.openziti.org/zitipax-openziti-rpm-stable/redhat/$basearch/repodata/repomd.xml.key",repo_gpgcheck:"yes",gpgcheck:"no"}}]}]}]}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.ae010639.js b/assets/js/runtime~main.6f6a9d29.js similarity index 98% rename from assets/js/runtime~main.ae010639.js rename to assets/js/runtime~main.6f6a9d29.js index b5be8c43..bd514ba2 100644 --- a/assets/js/runtime~main.ae010639.js +++ b/assets/js/runtime~main.6f6a9d29.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,t,r,b,d={},c={};function f(e){var a=c[e];if(void 0!==a)return a.exports;var t=c[e]={id:e,loaded:!1,exports:{}};return d[e].call(t.exports,t,t.exports,f),t.loaded=!0,t.exports}f.m=d,f.c=c,f.amdO={},e=[],f.O=(a,t,r,b)=>{if(!t){var d=1/0;for(i=0;i=b)&&Object.keys(f.O).every((e=>f.O[e](t[o])))?t.splice(o--,1):(c=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[t,r,b]},f.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return f.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var b=Object.create(null);f.r(b);var d={};a=a||[null,t({}),t([]),t(t)];for(var c=2&r&&e;"object"==typeof c&&!~a.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,f.d(b,d),b},f.d=(e,a)=>{for(var t in a)f.o(a,t)&&!f.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce(((a,t)=>(f.f[t](e,a),a)),[])),f.u=e=>"assets/js/"+({58:"0c66edb9",826:"47881d5c",960:"b186d866",1004:"c141421f",1360:"34e1d3b9",1387:"4555b262",1889:"339d500a",2108:"288b1075",2732:"c015c796",2914:"618abc13",2992:"f2348458",3182:"6e881e32",3629:"aba21aa0",4031:"ef8afbfd",4195:"c4f5d8e4",4196:"bbbe662c",4368:"a94703ab",4778:"e1dfe4fe",4838:"75b20590",4900:"600b2345",4920:"7452427d",5327:"c304be44",5882:"d768dc0f",5889:"cda0d2e5",5893:"2da89d45",5980:"a7456010",6062:"88b6e020",6913:"b6569025",7076:"2e812224",7142:"1ba5bc99",7176:"6272ba0e",7273:"9939c4f4",7918:"17896441",7920:"1a4e3797",8156:"21880a4d",8198:"50ef9c44",8518:"a7bd4aaa",8905:"07d0b302",8938:"f888b719",8945:"bc747cac",8993:"5cd0a723",9661:"5e95c892",9714:"d9f29b48",9817:"14eb3368",9944:"ea84f538"}[e]||e)+"."+{58:"025d65ff",174:"691dcdd4",826:"ae1dcb33",960:"64871ffa",1004:"3e38baa4",1272:"43cc57fb",1360:"01c3d2bc",1387:"9af6f458",1426:"726339ca",1772:"2df7b54f",1889:"039a1491",2108:"a9435f23",2312:"2f123ece",2732:"c04c1507",2914:"60953b95",2992:"19be6454",3182:"e03d93bb",3629:"b0420849",4031:"0ccb2eb2",4195:"ef51316b",4196:"48b3d7ab",4368:"21ee911e",4778:"309e457f",4838:"3455a494",4900:"f8dd2591",4920:"29fd1dda",5327:"4a777c27",5882:"8e1de618",5889:"236e5d28",5893:"49a97a4b",5980:"37bc4934",6062:"fa69d636",6913:"e0ac939e",6945:"8e8e2060",7076:"5284992e",7142:"37030d6d",7176:"35172d6c",7273:"f1f5b859",7918:"48128ac6",7920:"56015c27",8156:"ffe0573f",8198:"5df32fc9",8518:"45274bc2",8894:"46125374",8905:"2f581655",8938:"b3481d16",8945:"975267a6",8993:"e3585e3a",9661:"d1615a49",9714:"6d24467b",9817:"038d23ea",9944:"d5db2b03"}[e]+".js",f.miniCssF=e=>{},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},b="website:",f.l=(e,a,t,d)=>{if(r[e])r[e].push(a);else{var c,o;if(void 0!==t)for(var n=document.getElementsByTagName("script"),i=0;i{c.onerror=c.onload=null,clearTimeout(s);var b=r[e];if(delete r[e],c.parentNode&&c.parentNode.removeChild(c),b&&b.forEach((e=>e(t))),a)return a(t)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),o&&document.head.appendChild(c)}},f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.p="/",f.gca=function(e){return e={17896441:"7918","0c66edb9":"58","47881d5c":"826",b186d866:"960",c141421f:"1004","34e1d3b9":"1360","4555b262":"1387","339d500a":"1889","288b1075":"2108",c015c796:"2732","618abc13":"2914",f2348458:"2992","6e881e32":"3182",aba21aa0:"3629",ef8afbfd:"4031",c4f5d8e4:"4195",bbbe662c:"4196",a94703ab:"4368",e1dfe4fe:"4778","75b20590":"4838","600b2345":"4900","7452427d":"4920",c304be44:"5327",d768dc0f:"5882",cda0d2e5:"5889","2da89d45":"5893",a7456010:"5980","88b6e020":"6062",b6569025:"6913","2e812224":"7076","1ba5bc99":"7142","6272ba0e":"7176","9939c4f4":"7273","1a4e3797":"7920","21880a4d":"8156","50ef9c44":"8198",a7bd4aaa:"8518","07d0b302":"8905",f888b719:"8938",bc747cac:"8945","5cd0a723":"8993","5e95c892":"9661",d9f29b48:"9714","14eb3368":"9817",ea84f538:"9944"}[e]||e,f.p+f.u(e)},(()=>{var e={1303:0,532:0};f.f.j=(a,t)=>{var r=f.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var b=new Promise(((t,b)=>r=e[a]=[t,b]));t.push(r[2]=b);var d=f.p+f.u(a),c=new Error;f.l(d,(t=>{if(f.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var b=t&&("load"===t.type?"missing":t.type),d=t&&t.target&&t.target.src;c.message="Loading chunk "+a+" failed.\n("+b+": "+d+")",c.name="ChunkLoadError",c.type=b,c.request=d,r[1](c)}}),"chunk-"+a,a)}},f.O.j=a=>0===e[a];var a=(a,t)=>{var r,b,d=t[0],c=t[1],o=t[2],n=0;if(d.some((a=>0!==e[a]))){for(r in c)f.o(c,r)&&(f.m[r]=c[r]);if(o)var i=o(f)}for(a&&a(t);n{"use strict";var e,a,t,r,b,d={},c={};function f(e){var a=c[e];if(void 0!==a)return a.exports;var t=c[e]={id:e,loaded:!1,exports:{}};return d[e].call(t.exports,t,t.exports,f),t.loaded=!0,t.exports}f.m=d,f.c=c,f.amdO={},e=[],f.O=(a,t,r,b)=>{if(!t){var d=1/0;for(i=0;i=b)&&Object.keys(f.O).every((e=>f.O[e](t[o])))?t.splice(o--,1):(c=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[t,r,b]},f.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return f.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var b=Object.create(null);f.r(b);var d={};a=a||[null,t({}),t([]),t(t)];for(var c=2&r&&e;"object"==typeof c&&!~a.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,f.d(b,d),b},f.d=(e,a)=>{for(var t in a)f.o(a,t)&&!f.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce(((a,t)=>(f.f[t](e,a),a)),[])),f.u=e=>"assets/js/"+({58:"0c66edb9",826:"47881d5c",960:"b186d866",1004:"c141421f",1360:"34e1d3b9",1387:"4555b262",1889:"339d500a",2108:"288b1075",2732:"c015c796",2914:"618abc13",2992:"f2348458",3182:"6e881e32",3629:"aba21aa0",4031:"ef8afbfd",4195:"c4f5d8e4",4196:"bbbe662c",4368:"a94703ab",4778:"e1dfe4fe",4838:"75b20590",4900:"600b2345",4920:"7452427d",5327:"c304be44",5882:"d768dc0f",5889:"cda0d2e5",5893:"2da89d45",5980:"a7456010",6062:"88b6e020",6913:"b6569025",7076:"2e812224",7142:"1ba5bc99",7176:"6272ba0e",7273:"9939c4f4",7918:"17896441",7920:"1a4e3797",8156:"21880a4d",8198:"50ef9c44",8518:"a7bd4aaa",8905:"07d0b302",8938:"f888b719",8945:"bc747cac",8993:"5cd0a723",9661:"5e95c892",9714:"d9f29b48",9817:"14eb3368",9944:"ea84f538"}[e]||e)+"."+{58:"025d65ff",174:"691dcdd4",826:"6ad35172",960:"64871ffa",1004:"3e38baa4",1272:"43cc57fb",1360:"01c3d2bc",1387:"9af6f458",1426:"726339ca",1772:"2df7b54f",1889:"039a1491",2108:"a9435f23",2312:"2f123ece",2732:"c04c1507",2914:"60953b95",2992:"19be6454",3182:"e03d93bb",3629:"b0420849",4031:"0ccb2eb2",4195:"ef51316b",4196:"48b3d7ab",4368:"21ee911e",4778:"309e457f",4838:"3455a494",4900:"f8dd2591",4920:"29fd1dda",5327:"4a777c27",5882:"8e1de618",5889:"236e5d28",5893:"49a97a4b",5980:"37bc4934",6062:"fa69d636",6913:"e0ac939e",6945:"8e8e2060",7076:"5284992e",7142:"37030d6d",7176:"35172d6c",7273:"f1f5b859",7918:"48128ac6",7920:"56015c27",8156:"ffe0573f",8198:"5df32fc9",8518:"45274bc2",8894:"46125374",8905:"2f581655",8938:"b3481d16",8945:"975267a6",8993:"e3585e3a",9661:"d1615a49",9714:"6d24467b",9817:"038d23ea",9944:"d5db2b03"}[e]+".js",f.miniCssF=e=>{},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},b="website:",f.l=(e,a,t,d)=>{if(r[e])r[e].push(a);else{var c,o;if(void 0!==t)for(var n=document.getElementsByTagName("script"),i=0;i{c.onerror=c.onload=null,clearTimeout(s);var b=r[e];if(delete r[e],c.parentNode&&c.parentNode.removeChild(c),b&&b.forEach((e=>e(t))),a)return a(t)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),o&&document.head.appendChild(c)}},f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.p="/",f.gca=function(e){return e={17896441:"7918","0c66edb9":"58","47881d5c":"826",b186d866:"960",c141421f:"1004","34e1d3b9":"1360","4555b262":"1387","339d500a":"1889","288b1075":"2108",c015c796:"2732","618abc13":"2914",f2348458:"2992","6e881e32":"3182",aba21aa0:"3629",ef8afbfd:"4031",c4f5d8e4:"4195",bbbe662c:"4196",a94703ab:"4368",e1dfe4fe:"4778","75b20590":"4838","600b2345":"4900","7452427d":"4920",c304be44:"5327",d768dc0f:"5882",cda0d2e5:"5889","2da89d45":"5893",a7456010:"5980","88b6e020":"6062",b6569025:"6913","2e812224":"7076","1ba5bc99":"7142","6272ba0e":"7176","9939c4f4":"7273","1a4e3797":"7920","21880a4d":"8156","50ef9c44":"8198",a7bd4aaa:"8518","07d0b302":"8905",f888b719:"8938",bc747cac:"8945","5cd0a723":"8993","5e95c892":"9661",d9f29b48:"9714","14eb3368":"9817",ea84f538:"9944"}[e]||e,f.p+f.u(e)},(()=>{var e={1303:0,532:0};f.f.j=(a,t)=>{var r=f.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var b=new Promise(((t,b)=>r=e[a]=[t,b]));t.push(r[2]=b);var d=f.p+f.u(a),c=new Error;f.l(d,(t=>{if(f.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var b=t&&("load"===t.type?"missing":t.type),d=t&&t.target&&t.target.src;c.message="Loading chunk "+a+" failed.\n("+b+": "+d+")",c.name="ChunkLoadError",c.type=b,c.request=d,r[1](c)}}),"chunk-"+a,a)}},f.O.j=a=>0===e[a];var a=(a,t)=>{var r,b,d=t[0],c=t[1],o=t[2],n=0;if(d.some((a=>0!==e[a]))){for(r in c)f.o(c,r)&&(f.m[r]=c[r]);if(o)var i=o(f)}for(a&&a(t);n