@@ -48,7 +48,7 @@ These core requirements capture the guiding principles behind the concepts and d
|
||||
## Overview
|
||||
|
||||
Conceptually, OPA is a collection of algorithms that answer questions about policy.
|
||||

|
||||
<img src="https://cdn.rawgit.com/open-policy-agent/opa/9f5f1e6fa68fd0ee627122b9e5c8809519e5bba8/docs/overview.svg" />
|
||||
|
||||
At a high level, using OPA involves:
|
||||
|
||||
@@ -68,7 +68,7 @@ When OPA is started for the first time it contains no policies or data. Applicat
|
||||
|
||||
Applications interact with OPA via HTTP.
|
||||
|
||||

|
||||
<img src="https://cdn.rawgit.com/open-policy-agent/opa/9f5f1e6fa68fd0ee627122b9e5c8809519e5bba8/docs/deployment.svg" />
|
||||
|
||||
## APIs
|
||||
|
||||
@@ -186,11 +186,11 @@ Conceptually, there are two kinds of documents in OPA:
|
||||
|
||||
**Virtual documents** are defined by rules inside policies. OPA computes the contents of virtual documents when callers execute queries against rules or when dependant documents are modified. Virtual documents are defined in terms of base documents and other virtual documents. Policy authors can use virtual documents to define abstractions which are useful for expressing high level policy and insulating policy from schema changes in low level data.
|
||||
|
||||

|
||||
<img src="https://cdn.rawgit.com/open-policy-agent/opa/9f5f1e6fa68fd0ee627122b9e5c8809519e5bba8/docs/data-model-dependencies.svg" />
|
||||
|
||||
When defining policies, rules are written which contain expressions that reference documents. The language that rules are written in ("Opalog") lets you reference base documents and virtual documents in exactly the same way.
|
||||
|
||||

|
||||
<img src="https://cdn.rawgit.com/open-policy-agent/opa/9f5f1e6fa68fd0ee627122b9e5c8809519e5bba8/docs/data-model-logical.svg" />
|
||||
|
||||
## <a name="policies"></a> Policies
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 8.7 KiB |
@@ -0,0 +1,3 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 368.50393 170.07874" width="368.50393pt" height="170.07874pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.5 <dc:date>2016-03-18 04:17:26 +0000</dc:date></metadata><defs><font-face font-family="Helvetica Neue" font-size="16" panose-1="2 0 5 3 0 0 0 2 0 4" units-per-em="1000" underline-position="-100" underline-thickness="50" slope="0" x-height="517" cap-height="714" ascent="951.99585" descent="-212.99744" font-weight="500"><font-face-src><font-face-name name="HelveticaNeue"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M -8 0 L 0 3 L 0 -3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>Deployment</title><rect fill="white" width="368.50393" height="170.07874"/><g><title>Layer 1</title><rect x="11.3385826" y="11.3385826" width="348.66142" height="150.23622" fill="white"/><rect x="11.3385826" y="11.3385826" width="348.66142" height="150.23622" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(16.338583 16.338583)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="0" y="15" textLength="43.84">server</tspan></text><rect x="25.511811" y="48.897638" width="93.543307" height="75.11811" fill="white"/><rect x="25.511811" y="48.897638" width="93.543307" height="75.11811" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(30.51181 77.232693)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="23.395653" y="15" textLength="36.752">opad</tspan></text><rect x="215.43307" y="34.451847" width="113.385826" height="89.5639" fill="white"/><rect x="215.43307" y="34.451847" width="113.385826" height="89.5639" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(220.43307 70.0098)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="36.140913" y="15" textLength="31.104">APP</tspan></text><rect x="223.937" y="43.664446" width="113.385826" height="89.5639" fill="white"/><rect x="223.937" y="43.664446" width="113.385826" height="89.5639" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(228.937 79.222397)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="36.140913" y="15" textLength="31.104">APP</tspan></text><rect x="232.44094" y="51.786796" width="113.385826" height="89.5639" fill="white"/><rect x="232.44094" y="51.786796" width="113.385826" height="89.5639" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(237.44094 78.120748)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="37.908913" y="15" textLength="27.568">app</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="23.244913" y="33.447998" textLength="14.816">pr</tspan><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x="37.772913" y="33.447998" textLength="42.368">ocess</tspan></text><path d="M 128.95499 86.74464 L 193.26363 87.071393 L 214.03823 87.39835" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(139.475885 63.629574)" fill="black"><tspan font-family="Helvetica Neue" font-size="16" font-weight="500" x=".368" y="15" textLength="67.264">IPC (http)</tspan></text></g></g></svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 13 KiB |