Cluster Configuration (Helm Chart Variables)

Root

The fully qualified host name, via which you will use to access your self-hosted instance.

The organization-level Public Key. This key MUST have permissions to create projects within your account.

The name of the MongoDB Database.

The username of the account which will be created, and then subsequently used for auth against the MongoDB cluster.

The name of the PostgreSQL database.

Cluster

Cluster Frontend Pod

Cluster Worker Pod

Cluster Horizontal Pod Autoscaler (HPA)

Cluster Static Pod Scaling

 

 

AWS

While we offer hosting of the actual cluster between either AWS or GCP, there are some configuration options that are required when using GCP as well (denoted by an [required]).

AWS ECR

AWS EKS

AWS IAM

AWS MemoryDB

It is currently recommended to setup Elasticache in-place of memory db. This can be updated within the self hosted repo, or manually.

An update is in the plans to bring this as the default.

AWS RDS

AWS S3

AWS VPC

 

 

GCP

GCP Artifact Registry

GCP CSQL

GCP GKE

GCP MemoryStore

GCP VPC

 

Atlas

 

Minimal Configuration:

{ "host": "uw.mydomain.com", "atlas_public_key": "", "mongo_db_name": "userwise", "mongo_username": "userwisemongouser", "psql_db_name": "userwise", "psql_username": "userwisepsqluser", "cluster": { "name": "userwise-hosted-cluster", "k8s_version": "1.28", "frontend_pod": { "processes": { "num_processes": 8, "num_threads_per_process": 10 }, "requests": { "cpu": 8, "memory": "8Gi", "ephemeral_storage": "2Gi" }, "limits": { "cpu": 8, "memory": "8Gi", "ephemeral_storage": "2Gi" } }, "worker_pod": { "queue_configuration": { "default_worker": 1, "player_content_send_worker": 1, "player_data_worker": 3 }, "requests": { "cpu": 5, "memory": "5Gi", "ephemeral_storage": "2Gi" }, "limits": { "cpu": 5, "memory": "5Gi", "ephemeral_storage": "2Gi" } }, "horizontal_pod_autoscaler": { "enabled": true, "min_frontend_replicas": 1, "max_frontend_replicas": 10, "frontend_cpu_threshold_percentage": 50, "min_worker_replicas": 1, "max_worker_replicas": 5, "worker_cpu_threshold_percentage": 50 }, "static_pod_scaling": { "enabled": false, "frontend_replicas": 1, "worker_replicas": 1 } }, "aws": { "cluster_hosting_enabled": false, "account_id": "784192393659", "region": "us-west-1", "certificate_arn": "", "ecr": { "repository_name": "userwise-hosted-artifacts" }, "eks": { "min_size": 1, "max_size": 3, "desired_size": 1 }, "iam": { "service_account_name": "userwise-service-account" }, "memory_db": { "cluster_name": "userwise-hosted-redis", "engine_version": "6.2", "num_shards": 1, "num_replicas_per_shard": 0 }, "rds": { "identifier": "userwise-hosted-psql", "multi_az": true, "instance_class": "db.t3.medium", "ensure_allocated_storage": 30 }, "s3": { "bucket_name": "uw-hosted-bucket" }, "vpc": { "name": "userwise-vpc", "cidr": "172.31.0.0/16", "private_subnets": ["172.31.10.0/24", "172.31.20.0/24", "172.31.30.0/24", "172.31.40.0/24"], "public_subnets": ["172.31.100.0/24", "172.31.110.0/24", "172.31.120.0/24", "172.31.130.0/24"] } }, "gcp": { "cluster_hosting_enabled": true, "project_id": "uw-project", "service_account_id": "userwise-service", "service_account_display_name": "UserWise Infra Service Account", "region": "us-central1", "artifact_registry": { "repository_name": "userwise-hosted-artifacts" }, "csql": { "tier": "db-g1-small", "instance_name": "userwise-hosted-psql", "transaction_log_retention_days": 5, "num_retained_backups": 5 }, "gke": { "monitoring_config": ["SYSTEM_COMPONENTS", "APISERVER", "CONTROLLER_MANAGER", "SCHEDULER"], "logging_config": ["SYSTEM_COMPONENTS", "APISERVER", "CONTROLLER_MANAGER", "SCHEDULER", "WORKLOADS"], "cluster_cidr": "10.90.0.0/16", "services_cidr": "10.91.0.0/16" }, "memorystore": { "instance_name": "userwise-hosted-redis", "tier": "STANDARD_HA", "memory_size_gb": 1, "redis_version": "REDIS_6_X", "persistence_mode": "RDB", "rdb_snapshot_period": "SIX_HOURS" }, "vpc": { "network_name": "userwise-vpc" } }, "atlas": { "cluster_name": "userwise-hosted-cluster", "provider": "GCP", "provider_region": "CENTRAL_US", "min_instance_size": "M10", "max_instance_size": "M60", "cidr": "172.20.0.0/18" } }

 

Powered by UserWise