Skip to content

Use chart in router mode only (no workers) #135

@KlimTodrik

Description

@KlimTodrik

Proposal:

The current implementation does not allow us to use the balancer as a standalone Load Balancer. This limitation is clearly illustrated in the diagram below.

Image

In scenarios where we have regions that do not require replication, we can deploy a separate Helm Chart instance in each region. However, to connect all regions together, we need to set up a VM, install Manticore on it, and configure a distributed index whose parents consist of agents (the Ingress endpoints of each region).

This implementation is not user-friendly and is quite complex to manage within Kubernetes. You have to manually define a deployment, use a Docker image, configure it with environment variables, maintain it yourself, set up Ingress and Services, and there’s no built-in Prometheus exporter.

My proposed solution is to replace the VM component with an additional instance of the Helm Chart—configured to run only the Balancer, without any workers. The list of agents can be defined directly through values.yaml.

This approach brings all the advantages of managing infrastructure as code:

  • No manual configuration or tuning required
  • Built-in metrics support
  • Simplified agent updates
  • Easy scaling of balancer instances
  • Unified infrastructure management through the Helm Chart

Image

In short, everything is maintained through the Helm Chart, making deployment, monitoring, and scaling significantly easier and more consistent.

Checklist:

To be completed by the assignee. Check off tasks that have been completed or are not applicable.

Details
  • Implementation completed
  • Tests developed
  • Documentation updated
  • Documentation reviewed
  • OpenAPI YAML updated and issue created to rebuild clients

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions