From 6c16d795e92029fa4ef33be3abfc485468cc16a8 Mon Sep 17 00:00:00 2001 From: Reactor Scram Date: Tue, 30 Jan 2024 16:31:46 -0600 Subject: [PATCH] docs(windows): Update docs for Windows VM testing / resetting files Firezone creates (#3448) --- rust/windows-client/docs/manual_testing.md | 9 +++-- rust/windows-client/docs/vm_testing.md | 40 ++++++++++++++++++++++ 2 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 rust/windows-client/docs/vm_testing.md diff --git a/rust/windows-client/docs/manual_testing.md b/rust/windows-client/docs/manual_testing.md index b5405c40f..fb8b06b68 100644 --- a/rust/windows-client/docs/manual_testing.md +++ b/rust/windows-client/docs/manual_testing.md @@ -70,11 +70,14 @@ If the client stops running while signed in, then the token may be stored in Win # Resetting state -This is a list of all the on-disk state that you need to reset to test a first-time install / first-time run of the Firezone client. +This is a list of all the on-disk state that you need to delete / reset to test a first-time install / first-time run of the Firezone client. -- `AppData/Local/dev.firezone.client/` (Config, logs, webview cache, etc.) +- Dir `%LOCALAPPDATA%/dev.firezone.client/` (Config, logs, webview cache, wintun.dll etc.) +- Dir `%PROGRAMDATA%/dev.firezone.client/` (Device ID file) +- Dir `%PROGRAMFILES%/Firezone/` (Exe and un-installer) - Registry key `Computer\HKEY_CURRENT_USER\Software\Classes\firezone-fd0020211111` (Deep link association) -- Token, in Windows Credential Manager +- Registry key `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{e9245bc1-b8c1-44ca-ab1d-c6aad4f13b9c}` (IP address and DNS server for our tunnel interface) +- Windows Credential Manager, "Windows Credentials", "Generic Credentials", `dev.firezone.client/token` # Token storage diff --git a/rust/windows-client/docs/vm_testing.md b/rust/windows-client/docs/vm_testing.md new file mode 100644 index 000000000..35afc5aa2 --- /dev/null +++ b/rust/windows-client/docs/vm_testing.md @@ -0,0 +1,40 @@ +# Testing the Firezone Windows client on a Windows server VM + +## Prepare VM + +1. Download and install Oracle VirtualBox +1. Prepare a VM with 50 GB of hard drive, 2+ GB of RAM, and 2+ CPU cores (More resources will help Windows set up faster. We can reduce resources before testing Firezone) + +## Download VM image + +Download the 64-bit ISO from + +(Server 2019 requires a sign-up: ) + +You should get this file: `SERVER_EVAL_x64FRE_en-us.iso` + +The Windows license is valid for 180 days + +## Install Windows Server + +1. In VirtualBox, mount the ISO as a CD/DVD +1. Boot the VM and use F12, then 'c' to boot from CD/DVD +1. When Windows asks what version to install, choose "Windows Server 2022 Standard Evaluation (Desktop Experience) +1. Choose "Custom" to delete the old Windows install, if any, and re-install +1. If there's any partition from a previous install, delete and recreate it +1. Tell Windows to install on the primary partition + +## Windows first-time config + +1. Allow the PC to be "discoverable by other PCs and devices on this network", this might be needed for Firezone to work +1. In the Server Manager, click "Manage", click "Server Manager Properties", check "Do not start Server Manager automatically at logon", and click "OK". Close Server Manager. +1. Make any quality-of-life changes you want such as fixing the taskbar +1. Open `https://ifconfig.net/` in Edge and clear out the Edge first-time setup +1. In the VirtualBox menu, click "Devices", click "Insert Guest Additions CD image", and then install the VirtualBox guest additions, so you can drag-and-drop files into the VM easily. +1. Perform a clean shutdown from within the Windows VM. +1. In VirtualBox, take a snapshot of the VM so you can roll back to this state after installing Firezone. + +## Testing Firezone + +1. Copy-paste an MSI built from CI/CD into the VM and install Firezone +1. Test Firezone as usual