PageSourceSearch

https://gravitate-health.github.io/assets/js/0756e512.bb3d0682.js

js gravitate-health.github.io collected 2026-10-03 09:18:04 UTC 6,998 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8510],{2224:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"kubernetes-deployment","title":"Kubernetes & Helm","description":"FOSPS uses Kubernetes (k8s) as the underlying orchestration technology and Helm Charts as the packaging system for deploying components.","source":"@site/ref/kubernetes-deployment.md","sourceDirName":".","slug":"/kubernetes-deployment","permalink":"/reference/kubernetes-deployment","draft":false,"unlisted":false,"editUrl":"https://github.com/gravitate-health/gravitate-health.github.io/tree/main/ref/kubernetes-deployment.md","tags":[{"inline":true,"label":"platform","permalink":"/reference/tags/platform"},{"inline":true,"label":"deployment","permalink":"/reference/tags/deployment"},{"inline":true,"label":"kubernetes","permalink":"/reference/tags/kubernetes"},{"inline":true,"label":"helm","permalink":"/reference/tags/helm"}],"version":"current","sidebarPosition":16,"frontMatter":{"sidebar_position":16,"title":"Kubernetes & Helm","tags":["platform","deployment","kubernetes","helm"]},"sidebar":"tutorialSidebar","previous":{"title":"Connectors","permalink":"/reference/connectors"},"next":{"title":"Istio Service Mesh","permalink":"/reference/istio"}}');var t=n(4848),i=n(8453);const l={sidebar_position:16,title:"Kubernetes & Helm",tags:["platform","deployment","kubernetes","helm"]},c="Kubernetes Deployment & Helm Charts",o={},a=[{value:"Kubernetes (k8s)",id:"kubernetes-k8s",level:2},{value:"Helm Charts",id:"helm-charts",level:2},{value:"Service Discovery Labels",id:"service-discovery-labels",level:2},{value:"Preprocessor Discovery",id:"preprocessor-discovery",level:3},{value:"Connector Discovery",id:"connector-discovery",level:3},{value:"Deployment Architecture",id:"deployment-architecture",level:2},{value:"Network Management",id:"network-management",level:2},{value:"Related Concepts",id:"related-concepts",level:2}];function d(e){const r={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"kubernetes-deployment--helm-charts",children:"Kubernetes Deployment & Helm Charts"})}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.a,{href:"/reference/fosps",children:"FOSPS"})," uses ",(0,t.jsx)(r.strong,{children:"Kubernetes (k8s)"})," as the underlying orchestration technology and ",(0,t.jsx)(r.strong,{children:"Helm Charts"})," as the packaging system for deploying components."]}),"\n",(0,t.jsx)(r.h2,{id:"kubernetes-k8s",children:"Kubernetes (k8s)"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"Kubernetes"})," provides:"]}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsx)(r.li,{children:"Container orchestration"}),"\n",(0,t.jsx)(r.li,{children:"Service discovery"}),"\n",(0,t.jsx)(r.li,{children:"Load balancing"}),"\n",(0,t.jsx)(r.li,{children:"Self-healing capabilities"}),"\n",(0,t.jsx)(r.li,{children:"Horizontal scaling"}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"helm-charts",children:"Helm Charts"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.strong,{children:"Helm Charts"})," are used to:"]}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsx)(r.li,{children:"Package FOSPS components"}),"\n",(0,t.jsx)(r.li,{children:"Define deployment configurations"}),"\n",(0,t.jsx)(r.li,{children:"Manage dependencies"}),"\n",(0,t.jsx)(r.li,{children:"Version control deployments"}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"service-discovery-labels",children:"Service Discovery Labels"}),"\n",(0,t.jsx)(r.p,{children:"FOSPS uses Kubernetes labels for auto-discovery of components:"}),"\n",(0,t.jsx)(r.h3,{id:"preprocessor-discovery",children:"Preprocessor Discovery"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-yaml",children:"eu.gravitate-health.fosps.preprocessing=true\n"})}),"\n",(0,t.jsxs)(r.p,{children:["Used by ",(0,t.jsx)(r.a,{href:"/reference/focusing-manager",children:"Focusing Manager"})," to discover ",(0,t.jsx)(r.a,{href:"/reference/preprocessor",children:"Preprocessors"}),"."]}),"\n",(0,t.jsx)(r.h3,{id:"connector-discovery",children:"Connector Discovery"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-yaml",children:"eu.gravitate-health.fosps.connector=true\n"})}),"\n",(0,t.jsxs)(r.p,{children:["Used to identify ",(0,t.jsx)(r.a,{href:"/reference/connectors",children:"Connectors"})," for data retrieval."]}),"\n",(0,t.jsx)(r.h2,{id:"deployment-architecture",children:"Deployment Architecture"}),"\n",(0,t.jsxs)(r.p,{children:["All ",(0,t.jsx)(r.a,{href:"/reference/architectural-layers",children:"architectural layers"})," are deployed via Kubernetes:"]}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.strong,{children:"App Layer"}),": Frontend deployments with ingress rules"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.strong,{children:"Service Layer"}),": Microservices with service mesh integration"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.strong,{children:"Data Layer"}),": Stateful sets for ",(0,t.jsx)(r.a,{href:"/reference/fhir-server",children:"FHIR Servers"})]}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"network-management",children:"Network Management"}),"\n",(0,t.jsxs)(r.p,{children:["Kubernetes networking is enhanced by ",(0,t.jsx)(r.a,{href:"/reference/istio",children:"Istio Service Mesh"})," for:"]}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsx)(r.li,{children:"Traffic control"}),"\n",(0,t.jsx)(r.li,{children:"Security policies"}),"\n",(0,t.jsx)(r.li,{children:"Service-to-service communication"}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"related-concepts",children:"Related Concepts"}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.a,{href:"/reference/fosps",children:"FOSPS"})," - Overall platform"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.a,{href:"/reference/istio",children:"Istio"})," - Service mesh layer"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.a,{href:"/reference/architectural-layers",children:"Architectural Layers"})," - Component structure"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.a,{href:"/reference/preprocessor",children:"Preprocessor"})," - Discoverable services"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.a,{href:"/reference/connectors",children:"Connectors"})," - Discoverable modules"]}),"\n"]})]})}function h(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,r,n)=>{n.d(r,{R:()=>l,x:()=>c});var s=n(6540);const t={},i=s.createContext(t);function l(e){const r=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),s.createElement(i.Provider,{value:r},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.