Skip to content
albertrdixon edited this page Feb 4, 2016 · 8 revisions

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

Available annotations

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
Customize Resources
Examples
Clone this wiki locally