You may need to customize a configurationfile for eg. an openshift-router or the registry.
If the dc supports the TEMPLATE_FILE environment, you can do it in three steps, otherwise you should find
a hook to mount the file in an expected location.
First get the original configuration file and modify it as desired. In this example, we are increasing the maximum allowed connections.
# oc rsh router-xxx cat /var/lib/haproxy/conf/haproxy-config.template > haproxy-config.template # vim haproxy-config.template # modify as desired, eg. --- /var/lib/haproxy/conf/haproxy-config.template +++ /var/lib/haproxy/conf/custom/haproxy-config.template @@ -7,6 +7,7 @@ {{ $workingDir := .WorkingDir }} global # maxconn 4096 + maxconn {{env "ROUTER_MAX_CONNECTIONS" "20000"}} daemon {{ with (env "ROUTER_SYSLOG_ADDRESS" "") }} log {{.}} local1 {{env "ROUTER_LOG_LEVEL" "warning"}} @@ -39,6 +40,7 @@ defaults # maxconn 4096 + maxconn {{env "ROUTER_MAX_CONNECTIONS" "20000"}} # Add x-forwarded-for header. {{ if ne (env "ROUTER_SYSLOG_ADDRESS" "") ""}} option httplog
1- create a configmap from your new template file, eg.
2- reference the new file via the TEMPLATE_FILE environment if supported
3- use the volume feature to mount the configmap as a file
# oc create configmap router-haproxy-34 --from-file=haproxy-config.template # oc set env dc/router TEMPLATE_FILE=/var/lib/haproxy/conf/custom/haproxy-config.template # oc volume dc/router --add --overwrite \ --name=config-volume \ --mount-path=/var/lib/haproxy/conf/custom \ --source='{"configMap": { "name": "router-haproxy-34"}}'
Now verify and rollout the new config.
oc describe dc router oc rollout latest router