Managed Services

Overview of all services managed by ArgoCD on the Infra Management Cluster

This section documents all services that ArgoCD manages on the Infra Management Cluster. The hub ArgoCD instance uses a combination of Application and ApplicationSet resources to deploy and maintain infrastructure services both locally and on remote tb-platform clusters.

Service Categories

Services are organised into the following categories:

CategoryDescriptionCount
Core InfrastructureArgoCD itself, identity, and foundational services6
Observability StackMonitoring, logging, and tracing4
Gateway & NetworkingIngress, API gateway, and VPN4
GCP Config ConnectorGCP resource management via Kubernetes5
Platform ServicesBusiness and operational applications6
TB Platform ClustersServices deployed to remote clusters via ApplicationSets10

Quick Reference

Applications (Local Cluster)

These Application resources deploy services directly to the Infra Management Cluster:

ApplicationNamespaceSource TypeFile Path
argocdargocdKustomizeapps/argocd.yaml
infra-docs-portalargocdKustomizeapps/infra-services-apps.yaml
atlantisargocdKustomizeapps/infra-services-apps.yaml
webhooksargocdKustomizeapps/infra-services-apps.yaml
miscargocdKustomizeapps/infra-services-apps.yaml
dexargocdKustomizeapps/infra-services-apps.yaml
corednsargocdKustomizeapps/infra-services-apps.yaml
grafanamonitoringKustomizeapps/monitoring-services.yaml
grafana-lokigrafana-lokiHelmapps/grafana-loki.yaml
grafana-alloy-hubgrafana-alloyHelmapps/grafana-alloy.yaml
grafana-tempografana-tempoHelmapps/grafana-tempo.yaml
tailscale-operatortailscaleHelmapps/tailscale-operator.yaml
envoy-infra-titanbay-comenvoy-infra-titanbay-comHelmapps/envoy-gateway-system.yaml
envoy-infra-titanbayapis-comenvoy-infra-titanbayapis-comHelmapps/envoy-gateway-system.yaml
envoy-infra-titanbay-internalenvoy-infra-titanbay-internalHelmapps/envoy-gateway-system.yaml
envoy-gateway-infra-titanbay-comenvoy-infra-titanbayapis-comKustomizeapps/envoy-gateway.yaml
envoy-gateway-infra-titanbayapis-comenvoy-infra-titanbayapis-comKustomizeapps/envoy-gateway.yaml
envoy-gateway-infra-titanbay-internalenvoy-infra-titanbay-internalKustomizeapps/envoy-gateway.yaml
config-connector-operatorargocdKustomizeapps/config-connector.yaml
tb-platform-infraargocdKustomizeapps/config-connector.yaml
infra-mgmt-projectargocdKustomizeapps/infra-mgmt-project.yaml
infra-mgmt-vpc-projectargocdKustomizeapps/infra-mgmt-vpc-project.yaml
infra-security-projectargocdKustomizeapps/infra-security-project.yaml
netboxargocdKustomizeapps/netbox.yaml
onepassword-scim-bridgeonepasswordHelmapps/onepassword-scim-bridge.yaml
pamdbpam-systemKustomizeapps/pamdb.yaml
feeder-fund-simulatortb-opsKustomizeapps/tb-ops-apps.yaml
infra-platform-google-cas-issuercert-managerHelmapps/google-cas-issuer.yaml
cert-manager-trust-managercert-managerHelmapps/cert-manager-trust-manager.yaml

ApplicationSets (Multi-Cluster)

These ApplicationSet resources generate Applications dynamically for tb-platform clusters:

ApplicationSetTarget ClustersGenerated AppsFile Path
tb-platform-init-resourcesdev, qa, prod3application-sets/tb-platform-init.yaml
tb-platform-init-servicesdev, qa, prod3application-sets/tb-platform-init.yaml
tb-platform-environmentslocal (per env dir)dynamicapplication-sets/tb-platform-infra.yaml
tb-platform-vpc-configlocal (per vpc dir)dynamicapplication-sets/tb-platform-infra.yaml
tb-platform-external-secretsdev, qa, prod3application-sets/tb-platform-external-secrets.yaml
tb-platform-grafana-alloydev, qa, prod3application-sets/tb-platform-grafana-alloy.yaml
tb-platform-1password-operatordev, qa, prod3application-sets/tb-platform-onepassword-operator.yaml
tb-platform-config-connector-operatordev, qa, prod3application-sets/tb-platform-config-connector.yaml
tb-platform-malware-scannerdev, qa, prod3application-sets/tb-platform-malware-scanner.yaml
tb-platform-tykctldev, qa, prod3application-sets/tb-platform-tykctl.yaml
tb-platform-api-docsdev, qa, prod3application-sets/tb-platform-api-docs.yaml
tb-platform-kube-greendev, qa2application-sets/tb-platform-kube-green.yaml
tb-ops-project-environmentslocal (per env dir)dynamicapplication-sets/tb-ops-project.yaml

Directory Structure

All ArgoCD resources for the Infra Management Cluster are located under:

k8s/infra-services/argocd/overlays/infra-platform-cluster/
├── apps/                      # Application definitions
│   ├── kustomization.yaml     # Lists all Application files
│   ├── argocd.yaml            # Self-managing ArgoCD
│   ├── infra-services-apps.yaml
│   ├── monitoring-services.yaml
│   └── ...
├── application-sets/          # ApplicationSet definitions
│   ├── kustomization.yaml     # Lists all ApplicationSet files
│   ├── tb-platform-init.yaml
│   ├── tb-platform-infra.yaml
│   └── ...
├── projects/                  # AppProject definitions
│   ├── kustomization.yaml
│   ├── infra-services-project.yaml
│   ├── tb-platform-infra.yaml
│   └── ...
├── patches/                   # Kustomize patches for ArgoCD config
└── kustomization.yaml         # Main overlay kustomization

Core Infrastructure

ArgoCD (Self-Managing)

The argocd Application is the foundation - it manages ArgoCD itself plus all other Applications via the app-of-apps pattern.

  • File: apps/argocd.yaml
  • Source: k8s/infra-services/argocd/overlays/infra-platform-cluster
  • Details: ArgoCD Service

Identity & Authentication

Infrastructure Services

  • Atlantis: Terraform PR automation
  • Webhooks: Generic webhook handler
  • CoreDNS: Custom DNS for private zones

Observability Stack

ServicePurposeDeployment Type
GrafanaDashboards and visualisationKustomize
Grafana LokiLog aggregationHelm (distributed mode)
Grafana AlloyTelemetry collectionHelm
Grafana TempoDistributed tracingHelm

Gateway & Networking

The cluster runs multiple Envoy Gateway instances for different domains:

InstanceDomainPurpose
envoy-infra-titanbay-com*.infra.titanbay.comPublic infrastructure services
envoy-infra-titanbayapis-com*.infra.titanbayapis.comAPI endpoints
envoy-infra-titanbay-internalInternalInternal-only services

Tailscale Operator provides secure VPN connectivity for operators.

GCP Config Connector

Config Connector enables declarative GCP resource management:

ApplicationManages
config-connector-operatorThe Config Connector operator itself
tb-platform-infraCross-environment GCP resources
infra-mgmt-projectInfra management GCP project resources
infra-mgmt-vpc-projectVPC project resources
infra-security-projectSecurity project resources

Platform Services

ServicePurposeDetails
NetboxInfrastructure documentation and IPAMNetbox
PAM DBPrivileged Access Management for JIT database accessPAM DB
1Password SCIM BridgeUser provisioning from Google Workspace1Password SCIM Bridge
Infra Docs PortalThis documentation siteInfra Services
Feeder Fund SimulatorOps team applicationTB Ops

TB Platform Clusters (ApplicationSets)

ApplicationSets deploy services to the three tb-platform clusters (dev, qa, prod):

ServicePurpose
Init ResourcesBootstrap namespaces, RBAC, secrets
Init ServicesInitial service deployments
External SecretsSecret management operator
Grafana AlloyTelemetry collection
1Password OperatorSecret injection
Config ConnectorGCP resource management
Malware ScannerClamAV-based file scanning
TykctlTyk API Gateway management
API DocsAPI documentation portal
Kube-greenResource scheduling for cost savings

How to Update Services

For Kustomize-based Applications

  1. Edit manifests in the service’s base/ or overlays/ directory
  2. Commit and push to main
  3. ArgoCD auto-syncs the changes

For Helm-based Applications

  1. Update the valuesObject in the Application YAML
  2. Or update targetRevision for chart version upgrades
  3. Commit and push to main
  4. ArgoCD auto-syncs the changes

Adding a New Service

  1. Create the Application YAML in apps/ or ApplicationSet in application-sets/
  2. Add the file to the appropriate kustomization.yaml
  3. Commit and push to main
  4. The argocd Application will sync and create the new Application

ArgoCD (Self-Managing)

The self-referencing ArgoCD Application that manages ArgoCD and all other Applications

Infrastructure Services

Core infrastructure applications: Atlantis, Dex, CoreDNS, Webhooks, and Docs Portal

Monitoring Stack

Grafana, Loki, Alloy, and Tempo for observability

Envoy Gateway

API Gateway and ingress using Envoy Gateway with GKE Gateway API

Tailscale Operator

Kubernetes operator for Tailscale VPN connectivity

GCP Config Connector

Declarative GCP resource management via Kubernetes

Cert-Manager Extensions

Google CAS Issuer and Trust Manager for certificate management

Netbox

Infrastructure resource modelling and documentation tool

TB Platform Init

Bootstrap resources and services for tb-platform clusters

1Password SCIM Bridge

SCIM bridge for 1Password user provisioning from Google Workspace

PAM DB

Privileged Access Management for just-in-time database access via Slack

TB Platform ApplicationSets

ApplicationSets that deploy services to tb-platform clusters

TB Ops

Applications and GCP resources for the Ops and Finance teams