From 868b90355cdd6d1f0beada171fcdde1db5f63467 Mon Sep 17 00:00:00 2001 From: stdweird Date: Thu, 13 Apr 2023 11:07:12 +0200 Subject: [PATCH] metaconfig: haproxy: support acl in backend --- ncm-metaconfig/src/main/metaconfig/haproxy/backend.tt | 3 +++ ncm-metaconfig/src/main/metaconfig/haproxy/pan/schema.pan | 1 + .../src/main/metaconfig/haproxy/tests/profiles/config.pan | 1 + .../src/main/metaconfig/haproxy/tests/regexps/config/base | 1 + 4 files changed, 6 insertions(+) diff --git a/ncm-metaconfig/src/main/metaconfig/haproxy/backend.tt b/ncm-metaconfig/src/main/metaconfig/haproxy/backend.tt index 7cf91f8b91..d1cbf095f8 100644 --- a/ncm-metaconfig/src/main/metaconfig/haproxy/backend.tt +++ b/ncm-metaconfig/src/main/metaconfig/haproxy/backend.tt @@ -7,6 +7,9 @@ mode [% bke.mode %] [% FOREACH option IN bke.options -%] option [% option %] [% END -%] +[% FOREACH aclline IN bke.acl.pairs -%] +acl [% aclline.key %] [% aclline.value %] +[% END -%] [% FOREACH httpr IN bke.item('http-request') -%] http-request [% httpr %] [% END -%] diff --git a/ncm-metaconfig/src/main/metaconfig/haproxy/pan/schema.pan b/ncm-metaconfig/src/main/metaconfig/haproxy/pan/schema.pan index ac735ce652..1eb19c181a 100644 --- a/ncm-metaconfig/src/main/metaconfig/haproxy/pan/schema.pan +++ b/ncm-metaconfig/src/main/metaconfig/haproxy/pan/schema.pan @@ -242,6 +242,7 @@ type haproxy_service_backend = { 'servers' : haproxy_service_backend_server[] 'reqrep' ? haproxy_service_reqrep[] 'http-request' ? string[] + 'acl' ? dict() }; @documentation { diff --git a/ncm-metaconfig/src/main/metaconfig/haproxy/tests/profiles/config.pan b/ncm-metaconfig/src/main/metaconfig/haproxy/tests/profiles/config.pan index a9b16ca57b..68f8b399f9 100644 --- a/ncm-metaconfig/src/main/metaconfig/haproxy/tests/profiles/config.pan +++ b/ncm-metaconfig/src/main/metaconfig/haproxy/tests/profiles/config.pan @@ -83,6 +83,7 @@ prefix 'backends/irods-bk'; "options/0" = "tcp-check"; "tcpchecks" = list("connect", "send PING\n", 'expect string \nRODS_VERSION'); "http-request/0" = "hello"; +"acl/whatif" = "match"; "reqrep/0" = dict( "pattern", 'abc\ def', # need escaped space, so single quotes "replace", '\1 \2', diff --git a/ncm-metaconfig/src/main/metaconfig/haproxy/tests/regexps/config/base b/ncm-metaconfig/src/main/metaconfig/haproxy/tests/regexps/config/base index 3fdb4323af..dd54a2e144 100644 --- a/ncm-metaconfig/src/main/metaconfig/haproxy/tests/regexps/config/base +++ b/ncm-metaconfig/src/main/metaconfig/haproxy/tests/regexps/config/base @@ -62,6 +62,7 @@ Test for config ^\s{4}default_backend\sirods-bk$ ^backend\sirods-bk$ ^\s{4}option\stcp-check$ +^\s{4}acl\swhatif\smatch$ ^\s{4}http-request\shello$ ^\s{4}tcp-check\sconnect$ ^\s{4}tcp-check\ssend\sPING$