Skip to content
HubOps / Delivery Platform — Services & Functions Catalog

HubOps / Delivery Platform — Services & Functions Catalog

Andi Lamprecht Andi Lamprecht ·· 14 min read· Draft
StatusDraft
ClassificationINTERNAL
ScopeAll HubOps microservices, Cloud Functions, supporting infrastructure, and frontend applications
Date2026-04-22
SourceAutomated deep analysis across DroneUp organization repositories

1. Executive Summary

The HubOps / Delivery platform currently spans 5 GCP projects and 2 GKE clusters due to an incomplete migration. Services are distributed as follows:

Platform LayerWhere Deployed
Compute (GKE microservices)droneup-hubops-dev (dev/sandbox/stg) and droneup-hubops-prod (prod)
Firestore / Firebasedroneup-deliveries (prod) and droneup-deliveries-dev (dev/sandbox) — legacy, never migrated
Cloud Functionsdroneup-deliveries (prod) and droneup-deliveries-dev (dev) — legacy
Abandoned projectmongodb-hubops-service — no active workloads found

Additionally, a newer Uncrew platform runs on separate GCP projects (droneup-uncrew-dev, droneup-uncrew-prod) with its own GKE clusters and represents the next-generation system.

This catalog is the service-level companion to the GCP Project Consolidation analysis. Read them together for the full migration picture.

2. GCP Projects & Environments

GCP ProjectPurposeEnvironmentsKey Resources
droneup-hubops-devHubOps primary compute (non-prod)dev, sandboxGKE, CloudSQL (PostgreSQL), PubSub, GSM, Redis (Memorystore), Shared VPC
droneup-hubops-prodHubOps primary compute (prod)prodGKE, CloudSQL (PostgreSQL), PubSub, GSM, Redis (Memorystore), Shared VPC
droneup-deliveries-devLegacy Firebase/Firestore (non-prod)dev, sandboxFirestore DB, Cloud Functions, GCS buckets, PubSub topics, Firebase Auth
droneup-deliveriesLegacy Firebase/Firestore (prod)prodFirestore DB, Cloud Functions, GCS buckets, PubSub topics, Firebase Auth
mongodb-hubops-serviceAbandoned — likely MongoDB Atlas integrationN/ANo active workloads
droneup-uncrew-devUncrew platform compute (non-prod)dev, sandbox, stgGKE, GSM, GAR
droneup-uncrew-prodUncrew platform compute (prod)prodGKE, GSM, GAR

2.1 GKE Clusters

ClusterGCP ProjectRegionIP
droneup-hubops-devdroneup-hubops-devus-east134.148.53.219
droneup-hubops-proddroneup-hubops-produs-east1104.196.59.194
droneup-uncrew-devdroneup-uncrew-devus-east1(internal)
droneup-uncrew-proddroneup-uncrew-produs-east1(internal)

3. Backend Microservices (GKE)

3.1 HubOps GKE Services (Legacy Platform)

These services run on the HubOps GKE clusters (droneup-hubops-dev / droneup-hubops-prod).

hubops-mission-service

AttributeDetails
Repositorydroneup/hubops-mission-service
FunctionCore mission lifecycle management — creation, assignment, status tracking, and event streaming for delivery missions
GKE Namespaceservices (dev, prod), services-sandbox (sandbox)
GCP Computedroneup-hubops-dev (dev/sandbox), droneup-hubops-prod (prod)
Firestore dependencydroneup-deliveries-dev (dev/sandbox), droneup-deliveries (prod) — FIREBASE_PROJECT_ID
Other dependenciesPubSub (mission events), CloudSQL

hubops-mission-planner

AttributeDetails
Repositorydroneup/hubops-mission-planner
FunctionMission route planning and optimization — calculates flight paths, waypoints, and mission parameters
GKE Namespaceservices (dev, prod)
GCP Computedroneup-hubops-dev (dev), droneup-hubops-prod (prod)
Firestore dependencydroneup-deliveries-dev (dev), droneup-deliveries (prod) — FIREBASE_PROJECT_ID

hubops-order-service

AttributeDetails
Repositorydroneup/hubops-order-service
FunctionOrder ingestion and management — receives delivery orders (e.g., from Walmart), creates corresponding missions
GKE Namespaceservices (dev, prod), services-sandbox (sandbox)
GCP Computedroneup-hubops-dev (dev/sandbox), droneup-hubops-prod (prod)
Firestore dependencydroneup-deliveries-dev (dev/sandbox), droneup-deliveries (prod) — FIREBASE_PROJECT_ID

hubops-walmart-deliveries-service

AttributeDetails
Repositorydroneup/hubops-walmart-deliveries-service
FunctionWalmart-specific delivery integration — handles Walmart order API, status callbacks, delivery-specific business logic
GKE Namespaceservices
GCP Computedroneup-hubops-dev (dev), droneup-hubops-prod (prod)
Firestore dependencydroneup-deliveries (prod) — FIRESTORE_PROJECT_ID: "droneup-deliveries-prod"
CloudSQLPostgreSQL instance (⚠️ prod DB_HOST references droneup-hubops-dev prefix — needs verification)

hubops-firestore-api

AttributeDetails
Repositorydroneup/hubops-firestore-api
FunctionFirestore read/write abstraction layer — provides a unified API for Firestore operations used by other HubOps services
GKE Namespaceservices (dev, prod), services-sandbox (sandbox)
GCP Computedroneup-hubops-dev (dev/sandbox), droneup-hubops-prod (prod)
Firestore dependencydroneup-deliveries-dev (dev/sandbox), droneup-deliveries (prod) — FIRESTORE_PROJECT_ID

hubops-reservation-service

AttributeDetails
Repositorydroneup/hubops-reservation-service
FunctionDelivery time-slot reservation — manages scheduling, availability windows, and capacity for delivery hubs
GKE Namespaceservices (dev, prod), services-sandbox (sandbox)
GCP Computedroneup-hubops-dev (dev/sandbox), droneup-hubops-prod (prod)
Firestore dependencydroneup-deliveries-dev (dev/sandbox), droneup-deliveries (prod) — FIREBASE_PROJECT_ID

hubops-weather-cache

AttributeDetails
Repositorydroneup/hubops-weather-cache
FunctionWeather data caching and retrieval — fetches and caches weather conditions for flight safety decisions
GKE Namespaceservices (dev, prod), services-sandbox (sandbox)
GCP Computedroneup-hubops-dev (dev/sandbox), droneup-hubops-prod (prod)
Firestore dependencydroneup-deliveries-dev (sandbox), droneup-deliveries (prod) — FIREBASE_PROJECT_ID

hubops-delivery-api-v2

AttributeDetails
Repositorydroneup/hubops-delivery-api-v2
FunctionPublic-facing delivery API (v2) — REST/gRPC gateway for external consumers (partners, mobile apps) to interact with delivery system
GKE Namespaceservices (dev, prod), services-sandbox (sandbox)
GCP Computedroneup-hubops-dev (dev/sandbox), droneup-hubops-prod (prod)
Firestore dependencydroneup-deliveries-dev (dev/sandbox), droneup-deliveries (prod) — FIRESTORE_PROJECT_ID

hubops-bucket-populator

AttributeDetails
Repositorydroneup/hubops-bucket-populator
FunctionGCS bucket data population — syncs/exports Firestore data to GCS buckets for analytics, reporting, and backup
GKE Namespaceservices
GCP Computedroneup-hubops-dev (dev), droneup-hubops-prod (prod)
Firestore dependencydroneup-deliveries-dev (dev), droneup-deliveries (prod) — both FIRESTORE_PROJECT_ID and FIREBASE_PROJECT_ID

hubops-control-plane

AttributeDetails
Repositorydroneup/hubops-control-plane
FunctionCentral control plane — orchestrates service-to-service communication, system health, and operational state management
GKE Namespaceservices (dev, prod), services-sandbox (sandbox)
GCP Computedroneup-hubops-dev (dev/sandbox), droneup-hubops-prod (prod)
DependenciesCloudSQL, PubSub, Redis

hubops-status-manager

AttributeDetails
Repositorydroneup/hubops-status-manager
FunctionDelivery status tracking — manages and broadcasts status updates across the platform (e.g., order picked up, in-flight, delivered)
GKE Namespaceservices
GCP Computedroneup-hubops-dev (dev), droneup-hubops-prod (prod)
DependenciesPubSub (status update topics)

hubops-systems-check

AttributeDetails
Repositorydroneup/hubops-systems-check
FunctionSystem health checks — pre-flight readiness verification, infrastructure health monitoring
LanguageGo
GKE Namespaceservices
GCP Computedroneup-hubops-dev (dev)
Firestore dependency⚠️ Hardcoded ProjectID: "droneup-deliveries-dev" in internal/database/firestore.go

hubops-gcp-functions

AttributeDetails
Repositorydroneup/hubops-gcp-functions
FunctionGKE-hosted wrapper for legacy Cloud Functions — runs Cloud Function logic as containerized services in GKE
GKE Namespaceservices
GCP Computedroneup-hubops-dev (dev)
Firebase emulatorConfigured with --project droneup-deliveries-dev

groundinfrasvc-backend

AttributeDetails
Repositorydroneup/groundinfrasvc-backend
FunctionGround infrastructure management — manages ground-side equipment (launch pads, charging stations, lockers)
GKE Namespaceservices
GCP Computedroneup-hubops-dev (dev), droneup-hubops-prod (prod)

acs-bucket-populator

AttributeDetails
Repositorydroneup/acs-bucket-populator
FunctionACS (Airspace Control System) data export — populates buckets with Firestore data for ACS analytics
GKE Namespaceservices
GCP Computedroneup-hubops-dev (sandbox), droneup-hubops-prod (prod)
Firestore dependencydroneup-deliveries-dev (sandbox), droneup-deliveries (prod) — FIRESTORE_PROJECT_ID

3.2 Uncrew GKE Services (Next-Gen Platform)

These services run on the Uncrew GKE clusters (droneup-uncrew-dev / droneup-uncrew-prod). The Uncrew platform is the next-generation system being built alongside (and eventually replacing) HubOps.

uncrew-missions-service (Mission Service)

AttributeDetails
Repositorydroneup/uncrew-missions-service
FunctionNext-gen mission management — gRPC-based mission lifecycle (create, claim, assign, start, cancel, status events). Provides MissionClaimerService, MissionRequestService, OperationalSettingsService, and OperatorService
GKE Namespaceservices (dev, prod), services-sandbox (sandbox), services-stg (stg)
GCP Computedroneup-uncrew-dev (dev/sandbox/stg), droneup-uncrew-prod (prod)
DependenciesPostgreSQL (CloudSQL), PubSub (mission-updates-topic, mission-status-updates-topic), GCS
gRPC route/mission-service via Alloy API gateway

Avatar Service

AttributeDetails
FunctionDrone telemetry, pilot commands, drone requests, and failure injection — real-time drone communication layer. Provides TelemetryService, PilotCommandService, RequestToOperatorService, FailureInjectionService
GKE Namespaceservices (dev, prod), services-sandbox (sandbox), services-stg (stg)
GCP Computedroneup-uncrew-dev (dev/sandbox/stg), droneup-uncrew-prod (prod)
gRPC route/avatar-service/{droneId} via Alloy API gateway

Inventory Service

AttributeDetails
FunctionVehicle (UAV) inventory and certificate management — tracks drone fleet, manages airworthiness certificates. Provides CertificateManagementService
GKE Namespaceservices (dev, prod), services-sandbox (sandbox), services-stg (stg)
GCP Computedroneup-uncrew-dev (dev/sandbox/stg), droneup-uncrew-prod (prod)
gRPC route/inventory-service via Alloy API gateway

Geodata Service

AttributeDetails
FunctionGeospatial data services — elevation data, airspace map tiles (MVT), and terrain analysis. Provides AirspaceMvtService (gRPC) and REST elevation APIs
GKE Namespaceservices (dev, prod), services-sandbox (sandbox), services-stg (stg)
GCP Computedroneup-uncrew-dev (dev/sandbox/stg), droneup-uncrew-prod (prod)
gRPC route/geodata-service via Alloy API gateway
REST routes/geodata-service/elevation/path, /geodata-service/elevation/points

Simulator Service

AttributeDetails
FunctionDrone flight simulation — creates and controls simulated UAVs for testing and demo purposes. Provides SimulatorControllerService
GKE Namespaceservices (dev, prod), services-sandbox (sandbox), services-stg (stg)
GCP Computedroneup-uncrew-dev (dev/sandbox/stg), droneup-uncrew-prod (prod)
gRPC route/simulator via Alloy API gateway

droneup-flight-traffic-exchanger (Traffic Service)

AttributeDetails
Repositorydroneup/droneup-flight-traffic-exchanger
FunctionReal-time air traffic surveillance — aggregates and streams live traffic observations (ADS-B, Remote ID, radar). Provides TrafficService and TalosSimulationService
GKE Namespaceservices (dev, prod), services-sandbox (sandbox), services-stg (stg)
GCP Computedroneup-uncrew-dev (dev/sandbox/stg), droneup-uncrew-prod (prod)
gRPC route/traffic-service via Alloy API gateway

droneup-notification-service (Notification Service)

AttributeDetails
Repositorydroneup/droneup-notification-service
FunctionOperator notifications — delivers real-time in-app notifications to operators. Provides NotificationService
GKE Namespaceservices (dev, prod), services-sandbox (sandbox), services-stg (stg)
GCP Computedroneup-uncrew-dev (dev/sandbox/stg), droneup-uncrew-prod (prod)
DependenciesPostgreSQL
gRPC route/notification-service via Alloy API gateway

TALOS Services (Jurisdiction / Operational Intent / Authorization / Profile / Simulation)

AttributeDetails
FunctionUTM / airspace management suite — manages airspace jurisdictions, flight authorizations, operational intents, and operator profiles. Provides JurisdictionService, ZoneService, OperationalIntentService, TalosAuthorizationService, TalosProfileService, TalosSimulationService
GKE Namespaceservices (dev, prod), services-sandbox (sandbox), services-stg (stg)
GCP Computedroneup-uncrew-dev (dev/sandbox/stg), droneup-uncrew-prod (prod)
gRPC routesJurisdiction/Zone/OI/Authorization/Profile → /mission-service; Simulation → /traffic-service via Alloy API gateway

Alloy API Gateway

AttributeDetails
FunctionUnified API gateway — routes all frontend gRPC-web and REST requests to backend services. Handles TLS termination, authentication forwarding, and service routing
Endpointsalloy.uncrew.dev.droneup.cloud:443 (dev/sandbox/stg), alloy.uncrew.prod.droneup.cloud:443 (prod)
GCP Computedroneup-uncrew-dev (dev/sandbox/stg), droneup-uncrew-prod (prod)

4. Cloud Functions (Legacy)

These Cloud Functions run directly in the legacy Firebase/Deliveries projects, not in GKE.

deliveries-live-function

AttributeDetails
GCP Projectdroneup-deliveries (prod)
RuntimeCloud Functions (Gen 1)
FunctionProduction event handler — processes PubSub events (delivery status changes, hub state), updates Firestore, and handles mobile app requests (e.g., deliveries-activeUser)
TriggersPubSub topics: email-notifications, sms-notifications, hub-active, suspensions, deliveries-live-store0001
Called byhubops-delivery-react-native mobile app via cloudfunctions.net/deliveries-activeUser URL

deliveries-dev-function

AttributeDetails
GCP Projectdroneup-deliveries-dev (dev)
RuntimeCloud Functions (Gen 1)
FunctionDev/sandbox event handler — same logic as deliveries-live-function for non-production environments
TriggersPubSub topics: deliveries-dev-store0001, email-notifications, sms-notifications, hub-active, suspensions

5. Frontend Applications

uncrew-apollo-frontend (Apollo)

AttributeDetails
Repositorydroneup/uncrew-apollo-frontend
FunctionOperator command & control web application — mission management, live map, drone telemetry, vehicle management, flight planning, airspace authorizations, jurisdictions, traffic monitoring, simulator control, settings
TechnologyReact + TypeScript (Vite), gRPC-web, Mapbox GL
GKE Namespaceservices (dev, prod), services-sandbox (sandbox), services-stg (stg)
GCP Computedroneup-uncrew-dev (dev/sandbox/stg), droneup-uncrew-prod (prod)
Endpointsapollo.uncrew.dev.droneup.cloud (dev), apollo-sandbox.uncrew.dev.droneup.cloud (sandbox), apollo-stg.uncrew.dev.droneup.cloud (stg), apollo.uncrew.prod.droneup.cloud (prod)
Docker imageus-east4-docker.pkg.dev/pe-tools-main/pe-docker/uncrew-apollo-frontend
Backend services consumedMission Service, Avatar Service, Inventory Service, Geodata Service, Simulator Service, Traffic Service, Notification Service, TALOS Services (Jurisdiction, OI, Authorization, Profile, Simulation)
AuthFrontEgg (primary), Auth0 (legacy, being migrated away)

Apollo Feature Modules:

ModulePage/RouteBackend Services UsedDescription
Main / Live Map/Mission Service, Avatar Service, Traffic Service, Geodata ServiceReal-time map showing active missions, drone positions, telemetry, and traffic
Mission Console/mission-consoleMission Service, Avatar ServicePer-mission detailed control — flight commands, telemetry monitoring, status updates
Mission Manager/mission-managerMission Service, Avatar Service, Operators ServiceOperator assignment, mission queue management, mission lifecycle actions
Mission Planner/mission-plannerMission Service (Mission Request, Operational Settings), Geodata ServiceCreate new missions with route planning, waypoint editing, site selection
Vehicle Manager — Inventory/vehicle-manager/inventoryInventory Service (Certificate Management)Drone fleet inventory, airworthiness certificate management
Vehicle Manager — Simulators/vehicle-manager/simulatorsSimulator Service, Avatar Service (Failure Injection)Create/control simulated UAVs, inject failures for testing
Authorizations (My)/authorizationsTALOS Authorization Service, TALOS Profile Service, Geodata ServiceRequest and track airspace authorizations
Authorizations (Review)/authorization-reviewTALOS Authorization ServiceReview and approve/decline authorization requests (admin)
Jurisdictions/jurisdictionsJurisdiction Service, Zone Service, Operational Intent ServiceCreate and manage airspace jurisdictions and zones
Settings/settingsOperational Settings ServiceFlight settings, site configuration, operational parameters
User Profile/profileOperators ServiceOperator profile management

hubops-delivery-react-native (Mobile App)

AttributeDetails
Repositorydroneup/hubops-delivery-react-native
FunctionDelivery driver/operator mobile app — delivery status updates, active user tracking, real-time notifications
TechnologyReact Native
Firebase dependencydroneup-deliveries (prod) / droneup-deliveries-dev (dev) — Firebase Auth, Cloud Functions (cloudfunctions.net URL)
⚠️ Hardcoded referencesChecks projectId === 'droneup-deliveries-dev' for auth URL routing in auth.api.ts and actions.ts

6. Data & Analytics Pipelines

da-composer-pipelines (Airflow DAGs)

AttributeDetails
Repositorydroneup/da-composer-pipelines
FunctionData export pipeline — Airflow DAG (hubops.py) exports Firestore data from HubOps to BigQuery for analytics and reporting
SourceSRC_PROJECT_ID = 'droneup-deliveries' (reads from Firestore in the legacy deliveries project)
DestinationBigQuery dataset
TriggerScheduled (Cloud Composer / Airflow)

7. Infrastructure & Platform Services

droneup-hubops-infrastructure

AttributeDetails
Repositorydroneup/droneup-hubops-infrastructure
FunctionTerraform IaC for HubOps GKE clusters, networking, CloudSQL, Redis, and related infrastructure
Containslegacy/droneup-deliveries* folders (old infrastructure definitions)

pe-gcp-service-accounts

AttributeDetails
Repositorydroneup/pe-gcp-service-accounts
FunctionTerraform-managed GCP service accounts and IAM role bindings across all projects
Key entriesCross-project service accounts: hubops-api@, hubops-mission-service@, hubops-weather-cache-svc-acc@, hubops-firebase-svc-account@, hubops-gcp-functions@, acs-delivery-api-*@, acs-bucket-populator*@, terraform-cloud@

pe-gcp-iam

AttributeDetails
Repositorydroneup/pe-gcp-iam
FunctionOrganization-level IAM policy management
Referencesdroneup-deliveries / droneup-deliveries-dev in live_projects / dev_projects lists

pe-tfc-automation

AttributeDetails
Repositorydroneup/pe-tfc-automation
FunctionTerraform Cloud workspace management
Referencesdu-deliveries / du-deliveries-dev legacy TFC workspaces

pe-terraform-iasc

AttributeDetails
Repositorydroneup/pe-terraform-iasc
FunctionInfrastructure-as-Code shared modules
Referencesdroneup-deliveries folder (legacy)

terraform-google-flightops

AttributeDetails
Repositorydroneup/terraform-google-flightops
FunctionTerraform module for FlightOps PubSub integration
Referencesfunction_project_name defaults referencing deliveries-live-function

terraform-google-pubsub-hubops

AttributeDetails
Repositorydroneup/terraform-google-pubsub-hubops
FunctionTerraform module for HubOps PubSub topics and subscriptions
Referencesdeliveries_project_name parameter

acs-local-compose

AttributeDetails
Repositorydroneup/acs-local-compose
FunctionLocal development docker-compose setup for ACS services
ReferencesFIRESTORE_PROJECT_ID=droneup-deliveries-dev

common-github-actions-workflows

AttributeDetails
Repositorydroneup/common-github-actions-workflows
FunctionShared CI/CD workflows — provides reusable deploy.yml workflow used by all services for GKE deployment
Used byAll Uncrew and HubOps service deployments

8. Service-to-GCP-Project Mapping Matrix

Service / Resourcedroneup-hubops-devdroneup-hubops-proddroneup-deliveries-devdroneup-deliveriesdroneup-uncrew-devdroneup-uncrew-prodmongodb-hubops-service
hubops-mission-serviceGKEGKEFirestoreFirestore
hubops-mission-plannerGKEGKEFirestoreFirestore
hubops-order-serviceGKEGKEFirestoreFirestore
hubops-walmart-deliveriesGKEGKEFirestore
hubops-firestore-apiGKEGKEFirestoreFirestore
hubops-reservation-serviceGKEGKEFirestoreFirestore
hubops-weather-cacheGKEGKEFirestoreFirestore
hubops-delivery-api-v2GKEGKEFirestoreFirestore
hubops-bucket-populatorGKEGKEFirestoreFirestore
hubops-control-planeGKEGKE
hubops-status-managerGKEGKE
hubops-systems-checkGKEFirestore¹
hubops-gcp-functionsGKEEmulator
groundinfrasvc-backendGKEGKE
acs-bucket-populatorGKEGKEFirestoreFirestore
deliveries-live-functionCF²
deliveries-dev-functionCF²
uncrew-missions-serviceGKEGKE
Avatar ServiceGKEGKE
Inventory ServiceGKEGKE
Geodata ServiceGKEGKE
Simulator ServiceGKEGKE
Traffic ServiceGKEGKE
Notification ServiceGKEGKE
TALOS ServicesGKEGKE
Alloy API GatewayGKEGKE
uncrew-apollo-frontendGKEGKE
hubops-delivery-react-nativeFirebase AuthFirebase Auth
da-composer-pipelinesFirestore export
PubSub topics✓ (legacy)✓ (legacy)
CloudSQL (PostgreSQL)✓ ³
Redis (Memorystore)
Secret Manager (GSM)
GCS Buckets
(any active workload)❌ None

¹ Hardcoded in Go source code, not configurable via environment variable ² CF = Cloud Functions (Gen 1) ³ ⚠️ Prod CloudSQL DB_HOST string contains droneup-hubops-dev prefix — investigate whether prod DB actually resides in dev project


9. Cross-Project Dependencies

The incomplete migration created a web of cross-project service account bindings. Services running in droneup-hubops-* (GKE) need IAM permissions to read/write Firestore in droneup-deliveries-*.

9.1 Production Cross-Project Service Accounts

Service Account (in droneup-hubops-prod)Role in droneup-deliveries
acs-delivery-api-prod@roles/datastore.user
acs-bucket-populator@roles/datastore.viewer
hubops-api@roles/datastore.user, roles/storage.objectAdmin, ServiceAccountPubSub
hubops-weather-cache-svc-acc@roles/datastore.user
hubops-wm-deliveries@roles/datastore.viewer
hubops-firebase-svc-account@roles/datastore.user
hubops-mission-service@roles/datastore.user
hubops-gcp-functions@roles/datastore.user, ServiceAccountPubSub
terraform-cloud@roles/admin

9.2 Dev Cross-Project Service Accounts

Service Account (in droneup-hubops-dev)Role in droneup-deliveries-dev
acs-delivery-api-dev@roles/datastore.user
acs-bucket-populator-dev@roles/datastore.viewer
hubops-api-dev@roles/datastore.user, roles/storage.objectAdmin, ServiceAccountPubSub
hubops-weather-cache-svc-acc@roles/datastore.user
terraform-cloud@roles/admin

9.3 Service Accounts Local to droneup-deliveries-dev

Service AccountPurpose
hubops-dbupdateFirestore database update operations
hubops-auth-serviceFirebase authentication
hubops-publicapi-deliveriesPublic API Firestore access
location-availability-serviceLocation/availability data in Firestore

10. Abandoned / Unused Resources

10.1 mongodb-hubops-service GCP Project

  • Status: Abandoned — no active code references found in any org repository
  • Evidence: Only appears as a string in pe-gcp-service-accounts/modules/prod/main.tf project inventory list (IAM scope, not creation/management)
  • Likely origin: Created for MongoDB Atlas ↔ GCP VPC peering during early HubOps development, never used or subsequently abandoned
  • IaC management: None found — project was likely created manually via GCP Console
  • Recommendation: Delete immediately after verifying no active resources in GCP Console

10.2 Legacy PubSub Topics (candidates for cleanup)

  • deliveries-test-store0000 in droneup-deliveries — test topic, likely unused
  • Various deliveries-*-store* topics — verify active subscribers before removing

10.3 Legacy Cloud Functions

  • deliveries-live-function and deliveries-dev-function — consider migrating to Cloud Run or GKE services

11. Recommendations

11.1 Immediate Actions (No Risk)

  1. Delete mongodb-hubops-service — verify no active GCP resources, then delete the project
  2. Audit legacy PubSub topics — identify and remove topics with zero active subscribers
  3. Verify prod CloudSQL location — confirm whether hubops-cloudsql-prod-* is actually in droneup-hubops-dev or droneup-hubops-prod

11.2 Medium-Term: Complete the Firestore Migration

The root cause of cross-project complexity is that Firestore was never migrated from droneup-deliveries* to droneup-hubops*:

  1. Export/import Firestore from droneup-deliveriesdroneup-hubops-prod and droneup-deliveries-devdroneup-hubops-dev
  2. Update all FIREBASE_PROJECT_ID / FIRESTORE_PROJECT_ID environment variables across ~15 repositories
  3. Fix hardcoded references in hubops-systems-check (Go code) and hubops-delivery-react-native (TypeScript)
  4. Migrate Cloud Functions to Cloud Run or GKE in the hubops projects
  5. Migrate Firebase Auth to hubops projects (or complete migration to FrontEgg)
  6. Move GCS buckets to hubops projects
  7. Update da-composer-pipelines Airflow DAG source project ID
  8. Remove cross-project IAM bindings from pe-gcp-service-accounts

11.3 Long-Term: Consolidate to Uncrew

The Uncrew platform (droneup-uncrew-dev/droneup-uncrew-prod) is the strategic direction. Evaluate whether HubOps services should migrate to the Uncrew clusters or whether the HubOps GKE clusters can be decommissioned once all delivery workloads move to Uncrew.

11.4 Target State

FROM (7 GCP projects):                    TO (2-4 GCP projects):
├── droneup-hubops-dev       ──┐          ├── droneup-uncrew-dev
├── droneup-hubops-prod      ──┤          │   (all dev/sandbox/stg services)
├── droneup-deliveries-dev   ──┤  ───►    │
├── droneup-deliveries       ──┤          ├── droneup-uncrew-prod
├── droneup-uncrew-dev       ──┘          │   (all prod services)
├── droneup-uncrew-prod      ──────────►  │
└── mongodb-hubops-service   ──► DELETE   └── (HubOps clusters retained only
                                               if needed for legacy delivery
                                               workloads during transition)

Companion document: GCP Project Consolidation — HubOps / Deliveries — the full migration plan and repository-level change list. Adoption of a target state should be recorded as an ADR under content/docs/HubOps/ADR/.

Last updated on