Skip to main content

Overview

Before deploying Kingdom or Duchy components to GKE or EKS, ensure your development environment meets the requirements below.

Required Tools

1

Install Bazel

Install Bazel using Bazelisk. Ensure the bazel command in your path points to the Bazelisk executable.Read through the Building documentation to verify your build environment meets all requirements.
You may need to adjust Bazel commands depending on your machine configuration. Consider using Hybrid Development mode for containerized builds.
2

Install Kubernetes CLI

Install kubectl for managing Kubernetes clusters.
# Verify installation
kubectl version --client
3

Install Cloud SDKs

Install the appropriate cloud SDK for your deployment target:
# Install Google Cloud SDK
# https://cloud.google.com/sdk/docs/install
gcloud version
4

Install Terraform

Install Terraform for infrastructure provisioning.
terraform version

Cloud SDK Configuration

Google Cloud Setup

Configure the Google Cloud CLI with your project and credentials:
# Authenticate
gcloud auth login

# Set project
gcloud config set project YOUR_PROJECT_ID

# Set default region/zone
gcloud config set compute/region us-central1
gcloud config set compute/zone us-central1-a

# Configure gcloud credential helper for container registry
gcloud auth configure-docker
See Before you begin for detailed configuration.

AWS Setup

Configure the AWS CLI with your credentials:
# Configure credentials
aws configure

# Set default region
aws configure set region us-west-2

# Verify configuration
aws sts get-caller-identity

Download Source Code

Download the latest release from GitHub:
# Download from releases page
wget https://github.com/world-federation-of-advertisers/cross-media-measurement/releases/latest

# Or clone the repository
git clone https://github.com/world-federation-of-advertisers/cross-media-measurement.git
cd cross-media-measurement

Verify Setup (Optional)

Run the automated test suite to verify your environment is configured correctly:
bazel test //src/test/...
These tests are run as part of the release process. Any failures are most likely related to your machine setup rather than the code itself.

Required Permissions

GKE Deployment

Ensure you have the following Google Cloud IAM roles:
  • Kubernetes Engine Admin
  • Spanner Admin
  • Storage Admin
  • Cloud KMS Admin
  • Service Account Admin

EKS Deployment

Ensure you have the following AWS IAM permissions:
  • EKS Cluster management
  • VPC and networking management
  • RDS database management
  • S3 bucket management
  • IAM role management

Next Steps

Deploy Kingdom on GKE

Deploy Kingdom components to Google Kubernetes Engine

Deploy Duchy on GKE

Deploy Duchy components to Google Kubernetes Engine

Deploy Kingdom on EKS

Deploy Kingdom components to Amazon EKS

Deploy Duchy on EKS

Deploy Duchy components to Amazon EKS