1"use strict";(globalThis.webpackChunkdocumentation=globalThis.webpackChunkdocumentation||[]).push([[2990],{1468(e,n,i){i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>t,metadata:()=>l,toc:()=>d});const l=JSON.parse('{"id":"overview/modules","title":"Core Modules","description":"- ## OPAL-Server","source":"@site/docs/overview/modules.mdx","sourceDirName":"overview","slug":"/overview/modules","permalink":"/overview/modules","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_position":4,"title":"Core Modules"},"sidebar":"opalSidebar","previous":{"title":"Design","permalink":"/overview/design"},"next":{"title":"OPAL Scopes","permalink":"/overview/scopes"}}');var s=i(1684),r=i(506);const t={sidebar_position:4,title:"Core Modules"},o=void 0,c={},d=[{value:"OPAL-Server",id:"opal-server",level:2},{value:"OPAL-Client",id:"opal-client",level:2}];function a(e){const n={h2:"h2",li:"li",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.h2,{id:"opal-server",children:"OPAL-Server"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Policy","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"git-webhook"}),"\n",(0,s.jsx)(n.li,{children:"git-watcher"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Data","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"DataUpdatePublisher"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"PubSub"}),"\n",(0,s.jsx)(n.li,{children:"Publisher"}),"\n",(0,s.jsx)(n.li,{children:"API"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.h2,{id:"opal-client",children:"OPAL-Client"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"OPA-runner"}),"\n",(0,s.jsx)(n.li,{children:"PolicyStoreClient"}),"\n",(0,s.jsxs)(n.li,{children:["Policy","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"PolicyUpdater"}),"\n",(0,s.jsx)(n.li,{children:"PolicyFetcher"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Data","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"DataUpdater"}),"\n",(0,s.jsxs)(n.li,{children:["DataFetcher","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["FetchingEngine","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"FetchingProviders"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"API"}),"\n"]}),"\n"]}),"\n"]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},506(e,n,i){i.d(n,{R:()=>t,x:()=>o});var l=i(2888);const s={},r=l.createContext(s);function t(e){const n=l.useContext(r);return l.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),l.createElement(r.Provider,{value:n},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.