From 5e120eaf90fcd75b6c6b6167f42f0dc9c0b29197 Mon Sep 17 00:00:00 2001 From: Jamil Date: Mon, 4 Mar 2024 05:03:08 -0800 Subject: [PATCH] docs: Add docs for verifying gateway upgrade on Docker (#3895) Helps troubleshoot malfunctioning gateways. When we start bumping release versions when publishing releases, we can update this to simply print the gateway version --- .../upgrading/gateway-upgrade-verify.png | Bin 0 -> 32268 bytes .../src/app/kb/administer/upgrading/_page.tsx | 6 +++++ .../src/app/kb/administer/upgrading/page.tsx | 4 +-- .../app/kb/administer/upgrading/readme.mdx | 23 ++++++++++++++++++ 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 website/public/images/kb/administer/upgrading/gateway-upgrade-verify.png create mode 100644 website/src/app/kb/administer/upgrading/_page.tsx diff --git a/website/public/images/kb/administer/upgrading/gateway-upgrade-verify.png b/website/public/images/kb/administer/upgrading/gateway-upgrade-verify.png new file mode 100644 index 0000000000000000000000000000000000000000..20141c1f0a0ae38c21ab87c765cf9173090e31d3 GIT binary patch literal 32268 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Ñxa zpJxqal_Z(_r6*$Eit`JA1E*kbh`F&JK|^XPkCc1Q?|o9+!Eun$Or&2&5OZtdn`z3j zw6)e+E6>E$#p#k~XGR;NM&m)`cv+edH4x^>2uzf8SIn$Y0g2B&BiCD!9FSGlB-EW` zBE_r1a-@%SZZEvvJ%$TCQA8QjE*`N}g7ol$r(Bhsq;UF*&LoM)K|*R}d^QVOQs7<` zHrLbTl*Z^_Y2TWpIJzX;&cYB$d)P5%Ly$)Q{Vb)XOz(JBTZ#Q37^Es~6%(l=QiP{m zsBXLzZNBw~XJdPe^n^eSL{3T6s=J1k@?!wocs6}(tvy27_HcCF<)Vj}U!%|;{zX;s z)bkaBF7SA$uO`C`GmZ2H4_lz(s*)1qr5vqG?#L_nu$zoX>Z+8pJ_y)LXu=;&LCJ2F zLR?+$c#iRHh^%GLW=(=iuxw@cowB^53*F2JZBIY&f0|XY7ryAhsQE)(&)w+5in)2V zrf8D%yhA4Zsc0*z6eWbv07yWo(gUJ_y2Md>+G?%w?V+NznnsUsUXn_W&YxN3^9Q1 z&_?0;tss*BF^NK6}LxNcD zulKwMA#r$AK)SFmYJV<%o`pX2p-8q1(~=MWFWY>C)x%(ofmm+^sg?~N>Pym0?o|>b zOICL&d#cVm@mrHJ>i@$8lb6V@3^?l#adBkwz#6PT-nrW8nJfH%-6_ob5;#~j{EGRn zk11mRrJn!%El>_tg@o(9^go{*s)(a3sMWpMU}U=ftuj-rgrlF4QvaSnluGB&nK|!+ ztn?`UFKOh-P+4+fSpP83UrO|*BcH2XmkpR^`?s_-s4R2Jr2m@u|54Yh08DAztv)Q^ z`@bJ$h?;zk13U4b`iI^~?m9Ab%HLt--bDXP+80`=th5N~f2|&J*jt4!WhNaz-V_@A zTN)=+)|eRe|5mXFRE@_S@bu6Bun<&of;3bXEhX~*vUUe{!ja}V%@@$W4fg+Jl6&D^ X%)b3nqJ+P{$1W|dAXX(}81#Pt9c6&n literal 0 HcmV?d00001 diff --git a/website/src/app/kb/administer/upgrading/_page.tsx b/website/src/app/kb/administer/upgrading/_page.tsx new file mode 100644 index 000000000..8f8abd30f --- /dev/null +++ b/website/src/app/kb/administer/upgrading/_page.tsx @@ -0,0 +1,6 @@ +"use client"; +import Content from "./readme.mdx"; + +export default function _Page() { + return ; +} diff --git a/website/src/app/kb/administer/upgrading/page.tsx b/website/src/app/kb/administer/upgrading/page.tsx index 648a9fd7f..f5246bcb7 100644 --- a/website/src/app/kb/administer/upgrading/page.tsx +++ b/website/src/app/kb/administer/upgrading/page.tsx @@ -1,4 +1,4 @@ -import Content from "./readme.mdx"; +import _Page from "./_page"; import { Metadata } from "next"; export const metadata: Metadata = { @@ -7,5 +7,5 @@ export const metadata: Metadata = { }; export default function Page() { - return ; + return <_Page />; } diff --git a/website/src/app/kb/administer/upgrading/readme.mdx b/website/src/app/kb/administer/upgrading/readme.mdx index da2d5611e..f80669eeb 100644 --- a/website/src/app/kb/administer/upgrading/readme.mdx +++ b/website/src/app/kb/administer/upgrading/readme.mdx @@ -1,5 +1,6 @@ import { HiCheck } from "react-icons/hi2"; import { TabsItem, TabsGroup } from "@/components/DocsTabs"; +import Image from "next/image"; # Upgrading Firezone @@ -59,6 +60,28 @@ Gateway, and then restarts it using the newer image with the same configuration. curl -s https://raw.githubusercontent.com/firezone/firezone/main/scripts/gateway-docker-upgrade.sh | bash ``` +### Verification + +After running the upgrade, you can verify the Gateway is running the latest +version by ensuring the sha256 hash of the pulled image matches the latest +[artifact published on GitHub](https://github.com/firezone/firezone/pkgs/container/gateway/184806062?tag=latest): + +Gateway upgrade verification + +```bash +# Get the sha256 hash of the your gateway image +> docker inspect ghcr.io/firezone/gateway:1.0 --format='{{index .RepoDigests 0}}' + +# Ensure this hash matches the latest available image above +ghcr.io/firezone/gateway@sha256:0516fa4a305fac10571238db2b7bf02e6adeda0fb5afc1fe7e8d0c4d0a93ebc6 +``` +