2017-02-22 13:41:23 +01:00
<!DOCTYPE html>
< html lang = "en" dir = "ltr" >
< head >
< meta charset = "utf-8" / >
< title > documentation:2.0:devopshandler< / title >
< meta name = "generator" content = "DokuWiki" / >
2018-05-15 21:50:12 +02:00
< meta name = "robots" content = "index,follow" / >
2017-02-22 13:41:23 +01:00
< meta name = "keywords" content = "documentation,2.0,devopshandler" / >
< link rel = "search" type = "application/opensearchdescription+xml" href = "lib/exe/opensearch.html" title = "LemonLDAP::NG" / >
< link rel = "start" href = "devopshandler.html" / >
< link rel = "contents" href = "devopshandler.html" title = "Sitemap" / >
< link rel = "stylesheet" type = "text/css" href = "lib/exe/css.php.t.bootstrap3.css" / >
<!-- //if:usedebianlibs
< link rel = "stylesheet" type = "text/css" href = "/javascript/bootstrap/css/bootstrap.min.css" / >
//elsif:useexternallibs
< link rel = "stylesheet" type = "text/css" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" > < / script >
//elsif:cssminified
< link rel = "stylesheet" type = "text/css" href = "/static/bwr/bootstrap/dist/css/bootstrap.min.css" / >
//else -->
< link rel = "stylesheet" type = "text/css" href = "/static/bwr/bootstrap/dist/css/bootstrap.css" / >
<!-- //endif -->
< script type = "text/javascript" > / * < ! [ C D A T A [ * / v a r N S = ' d o c u m e n t a t i o n : 2 . 0 ' ; v a r J S I N F O = { " i d " : " d o c u m e n t a t i o n : 2 . 0 : d e v o p s h a n d l e r " , " n a m e s p a c e " : " d o c u m e n t a t i o n : 2 . 0 " } ;
/*!]]>*/< / script >
< script type = "text/javascript" charset = "utf-8" src = "lib/exe/js.php.t.bootstrap3.js" > < / script >
<!-- //if:usedebianlibs
< script type = "text/javascript" src = "/javascript/jquery/jquery.min.js" > < / script >
//elsif:useexternallibs
< script type = "text/javascript" src = "http://code.jquery.com/jquery-2.2.0.min.js" > < / script >
//elsif:jsminified
< script type = "text/javascript" src = "/static/bwr/jquery/dist/jquery.min.js" > < / script >
//else -->
< script type = "text/javascript" src = "/static/bwr/jquery/dist/jquery.js" > < / script >
<!-- //endif -->
<!-- //if:usedebianlibs
< script type = "text/javascript" src = "/javascript/jquery-ui/jquery-ui.min.js" > < / script >
//elsif:useexternallibs
< script type = "text/javascript" src = "http://code.jquery.com/ui/1.10.4/jquery-ui.min.js" > < / script >
//elsif:jsminified
2018-03-08 13:29:31 +01:00
< script type = "text/javascript" src = "/static/bwr/jquery-ui/jquery-ui.min.js" > < / script >
2017-02-22 13:41:23 +01:00
//else -->
2018-03-08 13:29:31 +01:00
< script type = "text/javascript" src = "/static/bwr/jquery-ui/jquery-ui.js" > < / script >
2017-02-22 13:41:23 +01:00
<!-- //endif -->
< / head >
< body >
< div class = "dokuwiki export container" >
< h1 class = "sectionedit1" id = "devops_handler" > DevOps Handler< / h1 >
< div class = "level1" >
< p >
2018-06-07 13:48:21 +02:00
This handler is designed to read vhost configuration from the website itself not from LL:NG configuration. Rules and headers are set in a < strong > rules.json< / strong > file stored at the website root directory (ie < code > http://website/rules.json< / code > ). This file looks like:
2017-02-22 13:41:23 +01:00
< / p >
< dl class = "file" >
< dt > < a href = "_export/code/documentation/2.0/devopshandler/codeblock.0.code" title = "Download Snippet" class = "mediafile mf_json" > rules.json< / a > < / dt >
< dd > < pre class = "code file json" > {
" rules" : {
" ^/admin" : " $uid eq 'admin'" ,
" default" : " accept'
},
" headers" : {
" Auth-User" : " $uid"
}
}< / pre >
< / dd > < / dl >
< p >
2018-06-07 13:48:21 +02:00
If this file is not found, the default rule “accept” is applied and just “Auth-User” header is sent (Auth-User ⇒ $uid).
2017-02-22 13:41:23 +01:00
< / p >
< p >
2018-06-07 13:48:21 +02:00
No specific configuration is required except that:
2017-02-22 13:41:23 +01:00
< / p >
< ul >
2018-06-07 13:48:21 +02:00
< li class = "level1" > < div class = "li" > you have to choose this specific handler < em > (directly by using < code > VHOSTTYPE< / code > environment variable)< / em > < / div >
2017-02-22 13:41:23 +01:00
< / li >
2018-06-07 13:48:21 +02:00
< li class = "level1" > < div class = "li" > you can set the loopback < abbr title = "Uniform Resource Locator" > URL< / abbr > needed by the DevOps handler to get < code > /rules.json< / code > or use < code > RULES_< abbr title = "Uniform Resource Locator" > URL< / abbr > < / code > parameter to set JSON file path < em > (see < a href = "ssoaas.html" class = "wikilink1" title = "documentation:2.0:ssoaas" > SSO as a Service< / a > )< / em > . Default to < code > http://127.0.0.1:< server-port> < / code > < / div >
2017-02-22 13:41:23 +01:00
< / li >
< / ul >
2017-02-24 07:07:50 +01:00
< div class = "noteimportant" > Note that DevOps handler will refuse to compile rules.json if < a href = "safejail.html" class = "wikilink1" title = "documentation:2.0:safejail" > Safe Jail< / a > isn' t enabled.
< / div >
2017-02-22 13:41:23 +01:00
< p >
2018-05-15 21:50:12 +02:00
See < a href = "ssoaas.html" class = "wikilink1" title = "documentation:2.0:ssoaas" > SSO as a Service< / a > for more
2017-02-22 13:41:23 +01:00
< / p >
< / div >
2018-05-15 21:50:12 +02:00
< / div >
2017-02-22 13:41:23 +01:00
< / body >
< / html >