From 67093374f0c639234ca09ab9344bd099dca0c037 Mon Sep 17 00:00:00 2001 From: Paolo Salvatori Date: Wed, 14 Oct 2026 16:21:53 +0200 Subject: [PATCH 1/4] Add System Requirements to the README file in the root folder --- README.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/README.md b/README.md index 87ba587..eaf164c 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,40 @@ It contains two kinds of content: - An SSH key pair at `~/.ssh/id_rsa.pub` (used to provision the AKS node pools). - For local deployments only: the [lstk CLI](https://docs.localstack.cloud/aws/developer-tools/running-localstack/lstk/), which routes Azure CLI calls to the emulator with [`lstk az`](https://docs.localstack.cloud/azure/integrations/az/). +## System & Hardware Requirements + +Before running the samples, ensure your host machine meets the recommended resource allocations. + +### Resource Allocations + +| Resource | Minimum | Recommended | Description | +|---|---|---|---| +| **Memory (RAM)** | **8 GB** | **16 GB** | ~3.3 GB for the baseline cluster & LocalStack; additional headroom for workloads | +| **Disk Space** | **20 GB** | **30 GB+** | ~6 GB for Docker container images and ~7.6 GB for persistent volumes | + +### Baseline Container Footprint + +A baseline deployment with 1 system node and 1 user node consumes approximately **3.3 GB** of memory across containers: + +* **k3d Server (Control Plane):** ~1.2 GB +* **System Node:** ~0.9 GB +* **LocalStack Azure:** ~0.6 GB +* **User Node:** ~0.5 GB (*allow ~0.5–1.0 GB per additional node*) +* **Azurite + k3d Load Balancer:** ~0.08 GB + +> [!NOTE] +> **Additional Resource Overhead:** +> In addition to the base AKS cluster and LocalStack emulator, each specific sample variation can deploy additional Azure resources, services, and Kubernetes workloads. Ensure you account for extra memory and disk capacity based on the specific sample scenario you execute. + +### Windows / WSL2 Memory Footprint + +On WSL2, process memory (`vmmemwsl`) may appear to expand significantly (e.g., up to 18 GB). This is typically caused by Linux page caching (`buff/cache`) from unpacking container images rather than active process memory (`free -h`). Because WSL does not immediately return cached memory to Windows, it can look much heavier than it actually is. To restrict or reclaim WSL memory usage, configure your `%USERPROFILE%\.wslconfig`: + +```ini +[wsl2] +memory=12GB +autoMemoryReclaim=dropcache + ## Run against LocalStack Every sample and tutorial in this repository runs unchanged against [LocalStack for Azure](https://docs.localstack.cloud/azure/), which emulates the Azure resource model locally, so you can iterate on a full deployment without incurring cloud costs. From 7590e96a374d0e869245d212e3d9c4e534911b01 Mon Sep 17 00:00:00 2001 From: Paolo Salvatori Date: Wed, 14 Oct 2026 16:34:36 +0200 Subject: [PATCH 2/4] Clarify instructions for running samples locally Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eaf164c..e1569d2 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ It contains two kinds of content: ## System & Hardware Requirements -Before running the samples, ensure your host machine meets the recommended resource allocations. +Before running the samples locally, ensure your host machine meets the recommended resource allocations. ### Resource Allocations From 8a603465b2218505f4520eb1d5ba37c33df2d261 Mon Sep 17 00:00:00 2001 From: Paolo Salvatori Date: Wed, 14 Oct 2026 16:34:51 +0200 Subject: [PATCH 3/4] Update README with WSL2 memory usage details Added information about WSL2 memory management and configuration. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e1569d2..bcbb1ad 100644 --- a/README.md +++ b/README.md @@ -47,11 +47,13 @@ A baseline deployment with 1 system node and 1 user node consumes approximately On WSL2, process memory (`vmmemwsl`) may appear to expand significantly (e.g., up to 18 GB). This is typically caused by Linux page caching (`buff/cache`) from unpacking container images rather than active process memory (`free -h`). Because WSL does not immediately return cached memory to Windows, it can look much heavier than it actually is. To restrict or reclaim WSL memory usage, configure your `%USERPROFILE%\.wslconfig`: -```ini +~~~ini [wsl2] memory=12GB -autoMemoryReclaim=dropcache +[experimental] +autoMemoryReclaim=dropcache +~~~ ## Run against LocalStack Every sample and tutorial in this repository runs unchanged against [LocalStack for Azure](https://docs.localstack.cloud/azure/), which emulates the Azure resource model locally, so you can iterate on a full deployment without incurring cloud costs. From a2fe1353947648ba86db58e8ae5c97e456501114 Mon Sep 17 00:00:00 2001 From: Paolo Salvatori Date: Wed, 14 Oct 2026 16:35:24 +0200 Subject: [PATCH 4/4] Apply suggestion from @paolosalvatori --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bcbb1ad..31e1440 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ It contains two kinds of content: - An SSH key pair at `~/.ssh/id_rsa.pub` (used to provision the AKS node pools). - For local deployments only: the [lstk CLI](https://docs.localstack.cloud/aws/developer-tools/running-localstack/lstk/), which routes Azure CLI calls to the emulator with [`lstk az`](https://docs.localstack.cloud/azure/integrations/az/). -## System & Hardware Requirements +## System Requirements Before running the samples locally, ensure your host machine meets the recommended resource allocations.