From 0088491905c547b8a8a1b0bcf36828dd4f5a9384 Mon Sep 17 00:00:00 2001 From: Shawn Potts <77298184+spottsdd@users.noreply.github.com> Date: Thu, 3 Jul 2025 10:51:13 -0700 Subject: [PATCH 1/2] Update README.md fixed tab indent --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 868cdabf..d9af77d4 100644 --- a/README.md +++ b/README.md @@ -263,10 +263,10 @@ Run two Ads services and split traffic between them. The amount of traffic sent **How to use** 1. Add a second Ads service to the `docker-compose.yml` 1. Add and set these environment variables to the `service-proxy` service: - - `ADS_A_UPSTREAM`: Host and port for the primary (A) ads service (default: `ads:3030`) - - `ADS_B_UPSTREAM`: Host and port for the secondary (B) ads service (default: `ads-python:3030`) - - `ADS_B_PERCENT`: Percentage of traffic to route to the B (Python) ads service (default: `0`). The remainder goes to the A (Java) ads service. - - Set to a value between `0` and `100` to control the split. + - `ADS_A_UPSTREAM`: Host and port for the primary (A) ads service (default: `ads:3030`) + - `ADS_B_UPSTREAM`: Host and port for the secondary (B) ads service (default: `ads-python:3030`) + - `ADS_B_PERCENT`: Percentage of traffic to route to the B (Python) ads service (default: `0`). The remainder goes to the A (Java) ads service. + - Set to a value between `0` and `100` to control the split. 1. Start the app via `docker compose up` ## Image publication From a98c6ef11798897d907d696488252e07cbff2447 Mon Sep 17 00:00:00 2001 From: Shawn Potts Date: Fri, 4 Jul 2025 08:24:46 +0100 Subject: [PATCH 2/2] changed order of features --- README.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index d9af77d4..9ee5bd8a 100644 --- a/README.md +++ b/README.md @@ -202,6 +202,19 @@ These variables control the upstream configuration for the ads services in the N There are several features that can be enabled by setting environment variables and feature flags. +### A/B Testing Ads services + +Run two Ads services and split traffic between them. The amount of traffic sent to each service is set with a percent value. + +**How to use** +1. Add a second Ads service to the `docker-compose.yml` +1. Add and set these environment variables to the `service-proxy` service: + - `ADS_A_UPSTREAM`: Host and port for the primary (A) ads service (default: `ads:3030`) + - `ADS_B_UPSTREAM`: Host and port for the secondary (B) ads service (default: `ads-python:3030`) + - `ADS_B_PERCENT`: Percentage of traffic to route to the B (Python) ads service (default: `0`). The remainder goes to the A (Java) ads service. + - Set to a value between `0` and `100` to control the split. +1. Start the app via `docker compose up` + ### Feature flags Some capabilities are hidden behind feature flags, which can be controlled via `services/frontend/site/featureFlags.config.json`. @@ -256,19 +269,6 @@ This will swap out the product card component with a version that doesn't have t Modify this functionality in `services/frontend/components/Product/ProductCard.tsx` and `services/frontend/components/Product/ProductCard-v2.tsx`. -### A/B Testing Ads services - -Run two Ads services and split traffic between them. The amount of traffic sent to each service is set with a percent value. - -**How to use** -1. Add a second Ads service to the `docker-compose.yml` -1. Add and set these environment variables to the `service-proxy` service: - - `ADS_A_UPSTREAM`: Host and port for the primary (A) ads service (default: `ads:3030`) - - `ADS_B_UPSTREAM`: Host and port for the secondary (B) ads service (default: `ads-python:3030`) - - `ADS_B_PERCENT`: Percentage of traffic to route to the B (Python) ads service (default: `0`). The remainder goes to the A (Java) ads service. - - Set to a value between `0` and `100` to control the split. -1. Start the app via `docker compose up` - ## Image publication Images are stored in GHCR. On PR merges, only the affected services will be pushed to GHCR, using the `latest` tag. For example, if you only made changes to the `backend` service, then only the `backend` Github workflow will trigger and publish `ghcr.io/datadog/storedog/backend:latest`.