Baragon Basics
Baragon is made up of two services:
BaragonService -- coordination service
BaragonAgentService -- applies changes on the actual load balancer
When a web service changes (i.e. upstreams added / removed), POST a BaragonRequest JSON object to BaragonService's /[contextPath]/request
endpoint like this one:
{
"loadBalancerRequestId": "4",
"loadBalancerService": {
"serviceId": "1",
"owners": ["foo"],
"serviceBasePath": "/basepath",
"loadBalancerGroups": ["loadBalancerGroupName"]
},
"addUpstreams": ["1.1.1.1:80"],
"removeUpstreams": []
}
BaragonService
will fan out the update to allBaragonAgent
s in the specifiedloadBalancerGroups
BaragonAgent
s will apply the changes on the load balancer using templates provided in its configuration and report back a Success or Failure toBaragonService
- Polling the
BaragonService
request status url (/[contextPath]/request/{loadBalancerRequestId}
) will indicate the current status of the request
Check out the API Docs for additional BaragonRequest
fields and returned values.