-
Notifications
You must be signed in to change notification settings - Fork 12
Annotations
You can customize your resources with annotations in your Services.
Annotations and labels are all under the romulus/
namespace by default. That namespace can be configured with the --annotations-prefix
flag.
If your service defines more than one port, then annotations specific for that port are defined as follows: romulus/<port_name>.<annotation>
For most route part annotations you can define regexp values with |expression|
, e.g. romulus/path: |/foo/.*|
, romulus/methods: |(GET|PUT)|
Items of type bool
must be strings parseable by strconv.ParseBool
Items of type int
must be strings parseable by strconv.Atoi
Items of type json
must be a valid json string Unmarshalable by encoding/json
ROUTE PARTS
annotations | description |
---|---|
romulus/host |
string Host route part |
romulus/path |
string Path route part |
romulus/prefix |
string Path Prefix route part. If given, this is prefered over path in vulcand
|
romulus/methods |
string HTTP Method route matcher. Format: method1; method2; ...
|
romulus/headers |
string HTTP Header route matcher. Format: header1=value; header2=value; ...
|
FRONTEND SETTINGS
annotations | description |
---|---|
romulus/pass_host_header |
bool Pass Host header on to backends untouched. Default: true
|
romulus/trust_forward_headers |
bool Pass X-Forward headers on to backends untouched. Default: true
|
romulus/max_req_size |
string Maximum request size. Format follows kubernetes resource quantities. Default: 1Mi
|
romulus/max_resp_size |
string Maximum response size. Format follows kubernetes resource quantities. Defaults: 1Mi
|
romulus/frontend_settings |
json object JSON representation of specific settings for your loadbalancer's frontend implementation. Will overwrite other settings. |
BACKEND SETTINGS
annotations | description |
---|---|
romulus/failover_expression |
string Expression defining when to failover to the next backend server. See your loadbalancer documentation for syntax |
romulus/websocket |
bool Is this a websocket service? |
romulus/backend_settings |
json object JSON representation of specific settings for your loadbalancer's backend implementation. Will overwrite other settings. |
VULCAND SPECIFIC
annotations | description |
---|---|
romulus/dial_timeout |
string Socket connect timeout. Must be parseable by time.ParseDuration
|
romulus/read_timeout |
string Socket read timeout. Must be parseable by time.ParseDuration
|
romulus/max_idle_conns_per_host |
int Number of idle connections to be kept per host |
romulus/redirect_to_ssl |
bool Use redirect middleware to force connections to redirect to https |
romulus/trace |
json array Enable trace middleware and use array as Headers in configuration. e.g. ["User-Agent", "Content-Type"]
|
romulus/auth |
string Enable simple basic auth middleware. Format: username:password
|
romulus/maintenance |
string Enable circuitbreaker middleware that activates if over 90% of backend response codes are between 500 - 600. The provided string is used as the circuit breaker response body. |
romulus/middleware.<id> |
json object Enable custom middleware, with Marshalled config |
TRAEFIK SPECIFIC
annotations | description |
---|---|
romulus/loadbalancer_method |
string Set loadbalancer method to drr or wrr
|