From a714c834fdd5937e9c9609f1d66bade399672a4b Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 23 Oct 2025 17:13:51 +0000 Subject: [PATCH] feat: Add workspace README and status script Co-authored-by: jwieland --- WORKSPACE_README.md | 170 ++++++++++++++++++ core/snowflake-validator | 1 + core/xapi-proto | 1 + infrastructure/exabgpctl | 1 + infrastructure/go-pingdom | 1 + infrastructure/terraform-provider-pingdom | 1 + mobile/demand-manager-android | 1 + mobile/demand-manager-ios | 1 + privacy-sandbox/FLoC-Server-FKA-Gatekeeper- | 1 + .../FLoC-Server-FKA-Gatekeeper--POC | 1 + privacy-sandbox/ProprietaryCohorts | 1 + privacy-sandbox/Storage-Access-API | 1 + privacy-sandbox/fledge.polyfill | 1 + privacy-sandbox/gatekeeper-sparrow-server | 1 + privacy-sandbox/tdpp-trial | 1 + workspace-status.sh | 80 +++++++++ 16 files changed, 264 insertions(+) create mode 100644 WORKSPACE_README.md create mode 160000 core/snowflake-validator create mode 160000 core/xapi-proto create mode 160000 infrastructure/exabgpctl create mode 160000 infrastructure/go-pingdom create mode 160000 infrastructure/terraform-provider-pingdom create mode 160000 mobile/demand-manager-android create mode 160000 mobile/demand-manager-ios create mode 160000 privacy-sandbox/FLoC-Server-FKA-Gatekeeper- create mode 160000 privacy-sandbox/FLoC-Server-FKA-Gatekeeper--POC create mode 160000 privacy-sandbox/ProprietaryCohorts create mode 160000 privacy-sandbox/Storage-Access-API create mode 160000 privacy-sandbox/fledge.polyfill create mode 160000 privacy-sandbox/gatekeeper-sparrow-server create mode 160000 privacy-sandbox/tdpp-trial create mode 100755 workspace-status.sh diff --git a/WORKSPACE_README.md b/WORKSPACE_README.md new file mode 100644 index 0000000..35d820b --- /dev/null +++ b/WORKSPACE_README.md @@ -0,0 +1,170 @@ +# MagniteEngineering Multi-Repo Workspace + +This workspace contains multiple repositories from the MagniteEngineering organization, organized by functional category. + +## Workspace Structure + +``` +/workspace/ +├── README.md # 3px - Realtime data integrations (root repo) +├── real_time_data_integration.proto # Protocol buffer definitions +├── WORKSPACE_README.md # This file +│ +├── core/ # Core API and validation projects +│ ├── xapi-proto/ # ExchangeApi (xAPI) extensions for OpenRTB via protobuf +│ └── snowflake-validator/ # Snowflake data validation +│ +├── mobile/ # Mobile SDK projects +│ ├── demand-manager-ios/ # DM-specific Demo Apps for iOS integration +│ └── demand-manager-android/ # Android SDK and demos +│ +├── privacy-sandbox/ # Privacy Sandbox & Web API experiments +│ ├── fledge.polyfill/ # Fledge Trial Javascript Polyfill +│ ├── tdpp-trial/ # Turtledove++ Trial +│ ├── ProprietaryCohorts/ # Proprietary Cohorts implementation +│ ├── gatekeeper-sparrow-server/ # Gatekeeper SPARROW POC implementation +│ ├── Storage-Access-API/ # Storage Access API experiments +│ ├── FLoC-Server-FKA-Gatekeeper--POC/ # FLoC Server POC +│ └── FLoC-Server-FKA-Gatekeeper-/ # FLoC Server implementation +│ +└── infrastructure/ # Infrastructure and operations tools + ├── terraform-provider-pingdom/ # Terraform provider to manage Pingdom resources (fork) + ├── exabgpctl/ # ExaBGP wrapper and control tool (fork) + └── go-pingdom/ # Pingdom API access from Go (fork) +``` + +## Repository Categories + +### 🔧 Core Projects +These repositories contain core APIs, protocol definitions, and data validation tools. + +- **xapi-proto**: ExchangeApi (xAPI) extensions for OpenRTB via protobuf + - Location: `core/xapi-proto/` + - URL: https://github.com/MagniteEngineering/xapi-proto + +- **snowflake-validator**: Snowflake data validation tools + - Location: `core/snowflake-validator/` + - URL: https://github.com/MagniteEngineering/snowflake-validator + +### 📱 Mobile SDKs +Mobile integration projects for iOS and Android platforms. + +- **demand-manager-ios**: DM-specific Demo Applications for iOS integration + - Location: `mobile/demand-manager-ios/` + - URL: https://github.com/MagniteEngineering/demand-manager-ios + +- **demand-manager-android**: Android SDK and integration demos + - Location: `mobile/demand-manager-android/` + - URL: https://github.com/MagniteEngineering/demand-manager-android + +### 🔒 Privacy Sandbox Projects +Experimental implementations of privacy-preserving web APIs and proposals. + +- **fledge.polyfill**: Fledge Trial Javascript Polyfill + - Location: `privacy-sandbox/fledge.polyfill/` + - URL: https://github.com/MagniteEngineering/fledge.polyfill + +- **tdpp-trial**: Turtledove++ Trial implementation + - Location: `privacy-sandbox/tdpp-trial/` + - URL: https://github.com/MagniteEngineering/tdpp-trial + +- **ProprietaryCohorts**: Proprietary Cohorts implementation + - Location: `privacy-sandbox/ProprietaryCohorts/` + - URL: https://github.com/MagniteEngineering/ProprietaryCohorts + +- **gatekeeper-sparrow-server**: Gatekeeper SPARROW POC implementation + - Location: `privacy-sandbox/gatekeeper-sparrow-server/` + - URL: https://github.com/MagniteEngineering/gatekeeper-sparrow-server + +- **Storage-Access-API**: Storage Access API experiments + - Location: `privacy-sandbox/Storage-Access-API/` + - URL: https://github.com/MagniteEngineering/Storage-Access-API + +- **FLoC-Server Projects**: Federated Learning of Cohorts server implementations + - Location: `privacy-sandbox/FLoC-Server-FKA-Gatekeeper--POC/` + - Location: `privacy-sandbox/FLoC-Server-FKA-Gatekeeper-/` + - URLs: https://github.com/MagniteEngineering/FLoC-Server-FKA-Gatekeeper--POC + - URLs: https://github.com/MagniteEngineering/FLoC-Server-FKA-Gatekeeper- + +### 🏗️ Infrastructure & Operations +Infrastructure automation and monitoring tools (includes forked projects). + +- **terraform-provider-pingdom**: Terraform provider to manage Pingdom resources + - Location: `infrastructure/terraform-provider-pingdom/` + - URL: https://github.com/MagniteEngineering/terraform-provider-pingdom + - Note: Fork of russellcardullo/terraform-provider-pingdom + +- **exabgpctl**: ExaBGP wrapper and control tool + - Location: `infrastructure/exabgpctl/` + - URL: https://github.com/MagniteEngineering/exabgpctl + - Note: Fork of raddessi/exabgpctl + - Docs: https://exabgpctl.readthedocs.io/en/latest/ + +- **go-pingdom**: Pingdom API access from Go + - Location: `infrastructure/go-pingdom/` + - URL: https://github.com/MagniteEngineering/go-pingdom + - Note: Fork of russellcardullo/go-pingdom + +## Root Repository: 3px + +The workspace root contains the **3px** repository - Realtime data integrations. +- URL: https://github.com/MagniteEngineering/3px +- Branch: `cursor/connect-to-magniteinc-github-repos-ef39` + +## Working with Multiple Repositories + +### Updating All Repositories +```bash +# Update all repos at once +for dir in core/* mobile/* privacy-sandbox/* infrastructure/*; do + if [ -d "$dir/.git" ]; then + echo "Updating $dir..." + (cd "$dir" && git pull) + fi +done +``` + +### Checking Status Across Repos +```bash +# Check git status for all repos +for dir in . core/* mobile/* privacy-sandbox/* infrastructure/*; do + if [ -d "$dir/.git" ]; then + echo "=== $dir ===" + (cd "$dir" && git status -s) + fi +done +``` + +### Creating Feature Branches +```bash +# Create same-named branch across multiple repos +BRANCH_NAME="feature/your-feature" +for dir in core/* mobile/*; do + if [ -d "$dir/.git" ]; then + (cd "$dir" && git checkout -b "$BRANCH_NAME") + fi +done +``` + +## GitHub Authentication + +Authenticated as: **cursor** +- GitHub CLI installed and configured +- Organization: MagniteEngineering +- All repositories cloned via HTTPS with token authentication + +## Quick Links + +- **Organization**: https://github.com/MagniteEngineering +- **Magnite Wiki**: https://magnite.atlassian.net/wiki/spaces/techops/pages/463178722/github.com+MagniteInc+OneLogin+SSO + +## Notes + +- All repositories are public under the MagniteEngineering organization +- Infrastructure repos (terraform-provider-pingdom, exabgpctl, go-pingdom) are forks with upstream remotes configured +- Privacy Sandbox projects are experimental/POC implementations from 2020-2021 +- Mobile SDKs are actively maintained demo applications + +--- + +Last updated: 2025-10-23 diff --git a/core/snowflake-validator b/core/snowflake-validator new file mode 160000 index 0000000..5494ac0 --- /dev/null +++ b/core/snowflake-validator @@ -0,0 +1 @@ +Subproject commit 5494ac05e3937a35661442aa066193d4d9101278 diff --git a/core/xapi-proto b/core/xapi-proto new file mode 160000 index 0000000..b43b0a2 --- /dev/null +++ b/core/xapi-proto @@ -0,0 +1 @@ +Subproject commit b43b0a2f31958a52fc28b54c9b77a11fe6df00cd diff --git a/infrastructure/exabgpctl b/infrastructure/exabgpctl new file mode 160000 index 0000000..bd7e272 --- /dev/null +++ b/infrastructure/exabgpctl @@ -0,0 +1 @@ +Subproject commit bd7e27224cce5ee2615622c768eb7a37a882d01c diff --git a/infrastructure/go-pingdom b/infrastructure/go-pingdom new file mode 160000 index 0000000..4657d78 --- /dev/null +++ b/infrastructure/go-pingdom @@ -0,0 +1 @@ +Subproject commit 4657d7883867001d39eaa698033564df00f8e36c diff --git a/infrastructure/terraform-provider-pingdom b/infrastructure/terraform-provider-pingdom new file mode 160000 index 0000000..d46e33a --- /dev/null +++ b/infrastructure/terraform-provider-pingdom @@ -0,0 +1 @@ +Subproject commit d46e33a794ec6b82c5b028d79e6409ff749b38c1 diff --git a/mobile/demand-manager-android b/mobile/demand-manager-android new file mode 160000 index 0000000..71a64e8 --- /dev/null +++ b/mobile/demand-manager-android @@ -0,0 +1 @@ +Subproject commit 71a64e8a34f630393f4e251d5c97e8d4ef0d883c diff --git a/mobile/demand-manager-ios b/mobile/demand-manager-ios new file mode 160000 index 0000000..6b2045d --- /dev/null +++ b/mobile/demand-manager-ios @@ -0,0 +1 @@ +Subproject commit 6b2045dcde98e0ff51c27436e6b83e811cab5331 diff --git a/privacy-sandbox/FLoC-Server-FKA-Gatekeeper- b/privacy-sandbox/FLoC-Server-FKA-Gatekeeper- new file mode 160000 index 0000000..94b16c9 --- /dev/null +++ b/privacy-sandbox/FLoC-Server-FKA-Gatekeeper- @@ -0,0 +1 @@ +Subproject commit 94b16c96cab81f56ee9162b611e9123994e06984 diff --git a/privacy-sandbox/FLoC-Server-FKA-Gatekeeper--POC b/privacy-sandbox/FLoC-Server-FKA-Gatekeeper--POC new file mode 160000 index 0000000..4fbb918 --- /dev/null +++ b/privacy-sandbox/FLoC-Server-FKA-Gatekeeper--POC @@ -0,0 +1 @@ +Subproject commit 4fbb9185cce3f0c6b4acb5c9d8f2a78e65c8e290 diff --git a/privacy-sandbox/ProprietaryCohorts b/privacy-sandbox/ProprietaryCohorts new file mode 160000 index 0000000..9f2fa74 --- /dev/null +++ b/privacy-sandbox/ProprietaryCohorts @@ -0,0 +1 @@ +Subproject commit 9f2fa749a71d63a020e0ff0b41489c92a0ccb6b4 diff --git a/privacy-sandbox/Storage-Access-API b/privacy-sandbox/Storage-Access-API new file mode 160000 index 0000000..898ccc1 --- /dev/null +++ b/privacy-sandbox/Storage-Access-API @@ -0,0 +1 @@ +Subproject commit 898ccc1e61256033860a3a057057b2d39cf9bb23 diff --git a/privacy-sandbox/fledge.polyfill b/privacy-sandbox/fledge.polyfill new file mode 160000 index 0000000..36ae8f5 --- /dev/null +++ b/privacy-sandbox/fledge.polyfill @@ -0,0 +1 @@ +Subproject commit 36ae8f522112454fe0e8dfd056fb7b266520bfac diff --git a/privacy-sandbox/gatekeeper-sparrow-server b/privacy-sandbox/gatekeeper-sparrow-server new file mode 160000 index 0000000..2aad999 --- /dev/null +++ b/privacy-sandbox/gatekeeper-sparrow-server @@ -0,0 +1 @@ +Subproject commit 2aad99930624eac045a24369b6cacc2e051568aa diff --git a/privacy-sandbox/tdpp-trial b/privacy-sandbox/tdpp-trial new file mode 160000 index 0000000..33a454d --- /dev/null +++ b/privacy-sandbox/tdpp-trial @@ -0,0 +1 @@ +Subproject commit 33a454d917a695e99ae7e43cabcbf4480ca0071a diff --git a/workspace-status.sh b/workspace-status.sh new file mode 100755 index 0000000..87fc078 --- /dev/null +++ b/workspace-status.sh @@ -0,0 +1,80 @@ +#!/bin/bash +# Workspace Status Script +# Shows the git status of all repositories in the workspace + +echo "================================================" +echo "MagniteEngineering Multi-Repo Workspace Status" +echo "================================================" +echo "" + +check_repo() { + local dir=$1 + local name=$2 + + if [ -d "$dir/.git" ]; then + cd "$dir" + + # Get current branch + branch=$(git branch --show-current) + + # Get status + if [ -n "$(git status --porcelain)" ]; then + status="✗ MODIFIED" + else + status="✓ clean" + fi + + # Check if ahead/behind remote + local_commit=$(git rev-parse HEAD 2>/dev/null) + remote_commit=$(git rev-parse @{u} 2>/dev/null) + + if [ "$local_commit" = "$remote_commit" ]; then + sync_status="up-to-date" + elif [ -z "$remote_commit" ]; then + sync_status="no remote" + else + sync_status="diverged" + fi + + printf "%-35s | %-30s | %-12s | %s\n" "$name" "$branch" "$status" "$sync_status" + fi +} + +echo "ROOT REPOSITORY" +echo "----------------" +check_repo "/workspace" "3px (root)" +echo "" + +echo "CORE PROJECTS" +echo "-------------" +check_repo "/workspace/core/xapi-proto" "xapi-proto" +check_repo "/workspace/core/snowflake-validator" "snowflake-validator" +echo "" + +echo "MOBILE SDKS" +echo "-----------" +check_repo "/workspace/mobile/demand-manager-ios" "demand-manager-ios" +check_repo "/workspace/mobile/demand-manager-android" "demand-manager-android" +echo "" + +echo "PRIVACY SANDBOX" +echo "---------------" +check_repo "/workspace/privacy-sandbox/fledge.polyfill" "fledge.polyfill" +check_repo "/workspace/privacy-sandbox/tdpp-trial" "tdpp-trial" +check_repo "/workspace/privacy-sandbox/ProprietaryCohorts" "ProprietaryCohorts" +check_repo "/workspace/privacy-sandbox/gatekeeper-sparrow-server" "gatekeeper-sparrow-server" +check_repo "/workspace/privacy-sandbox/Storage-Access-API" "Storage-Access-API" +check_repo "/workspace/privacy-sandbox/FLoC-Server-FKA-Gatekeeper--POC" "FLoC-Server-FKA-Gatekeeper--POC" +check_repo "/workspace/privacy-sandbox/FLoC-Server-FKA-Gatekeeper-" "FLoC-Server-FKA-Gatekeeper-" +echo "" + +echo "INFRASTRUCTURE" +echo "--------------" +check_repo "/workspace/infrastructure/terraform-provider-pingdom" "terraform-provider-pingdom" +check_repo "/workspace/infrastructure/exabgpctl" "exabgpctl" +check_repo "/workspace/infrastructure/go-pingdom" "go-pingdom" +echo "" + +echo "================================================" +echo "Total repositories: 15" +echo "================================================"