Commit 96ba7a4a authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Add function to produce HAproxy backend confs

parent 3c4281b1
......@@ -91,7 +91,8 @@ int http_process(struct vtclog *vl, const char *spec, int sock, int *sfd,
char * synth_body(const char *len, int rnd);
void cmd_server_genvcl(struct vsb *vsb);
void cmd_server_gen_vcl(struct vsb *vsb);
void cmd_server_gen_haproxy_conf(struct vsb *vsb);
void vtc_loginit(char *buf, unsigned buflen);
struct vtclog *vtc_logopen(const char *id);
......
......@@ -386,7 +386,7 @@ server_wait(struct server *s)
*/
void
cmd_server_genvcl(struct vsb *vsb)
cmd_server_gen_vcl(struct vsb *vsb)
{
struct server *s;
......@@ -406,6 +406,39 @@ cmd_server_genvcl(struct vsb *vsb)
}
/**********************************************************************
* Generate VCL backend decls for our servers
*/
void
cmd_server_gen_haproxy_conf(struct vsb *vsb)
{
struct server *s;
AZ(pthread_mutex_lock(&server_mtx));
VTAILQ_FOREACH(s, &servers, list) {
if (*s->listen != '/')
VSB_printf(vsb,
"\n backend be%s\n"
"\tserver srv%s %s:%s\n",
s->name + 1, s->name + 1, s->aaddr, s->aport);
else
INCOMPL();
}
VTAILQ_FOREACH(s, &servers, list) {
if (*s->listen != '/')
VSB_printf(vsb,
"\n frontend http%s\n"
"\tuse_backend be%s\n"
"\tbind \"fd@${fe%s}\"\n",
s->name + 1, s->name + 1, s->name + 1);
else
INCOMPL();
}
AZ(pthread_mutex_unlock(&server_mtx));
}
/**********************************************************************
* Server command dispatch
*/
......
......@@ -754,7 +754,7 @@ varnish_vclbackend(struct varnish *v, const char *vcl)
VSB_printf(vsb2, "vcl %.1f;\n", v->syntax);
cmd_server_genvcl(vsb2);
cmd_server_gen_vcl(vsb2);
AZ(VSB_finish(vsb2));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment