1"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["11718"],{63993(e,n,t){t.r(n),t.d(n,{metadata:()=>s,default:()=>d,frontMatter:()=>a,contentTitle:()=>i,toc:()=>h,assets:()=>l});var s=JSON.parse('{"id":"platform/k8s/helm/index","title":"Helm chart","description":"The OpenBao Helm chart is the recommended way to install and configure OpenBao on Kubernetes.","source":"@site/versioned_docs/version-2.6.x/platform/k8s/helm/index.mdx","sourceDirName":"platform/k8s/helm","slug":"/platform/k8s/helm/","permalink":"/docs/2.6.x/platform/k8s/helm/","draft":false,"unlisted":false,"editUrl":"https://github.com/openbao/openbao/blob/release/2.6.x/website/content/docs/platform/k8s/helm/index.mdx","tags":[],"version":"2.6.x","frontMatter":{"sidebar_label":"Overview","description":"The OpenBao Helm chart is the recommended way to install and configure OpenBao on Kubernetes."},"sidebar":"docs","previous":{"title":"Overview","permalink":"/docs/2.6.x/platform/k8s/"},"next":{"title":"Run OpenBao on Kubernetes","permalink":"/docs/2.6.x/platform/k8s/helm/run"}}'),r=t(94686),o=t(44812);let a={sidebar_label:"Overview",description:"The OpenBao Helm chart is the recommended way to install and configure OpenBao on Kubernetes."},i="Helm chart",l={},h=[{value:"Supported kubernetes versions",id:"supported-kubernetes-versions",level:2},{value:"Using the helm chart",id:"using-the-helm-chart",level:2}];function c(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"helm-chart",children:"Helm chart"})}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Important Note:"})," This chart is not compatible with Helm 2. Please use Helm 3.6+ with this chart."]})}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.a,{href:"https://github.com/openbao/openbao-helm",children:"OpenBao Helm chart"}),"\nis the recommended way to install and configure OpenBao on Kubernetes.\nIn addition to running OpenBao itself, the Helm chart is the primary\nmethod for installing and configuring OpenBao to integrate with other\nservices such as the ",(0,r.jsx)(n.a,{href:"https://github.com/hashicorp/vault-k8s/tree/v1.4.2",children:"Vault Agent Injector"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["This page assumes general knowledge of ",(0,r.jsx)(n.a,{href:"https://helm.sh/",children:"Helm"})," and\nhow to use it. Using Helm to install OpenBao requires that Helm is\nproperly installed and configured with your Kubernetes cluster."]}),"\n",(0,r.jsx)(n.h2,{id:"supported-kubernetes-versions",children:"Supported kubernetes versions"}),"\n",(0,r.jsxs)(n.p,{children:["In line with the Kubernetes project, we support and run tests against the three\nmost recent ",(0,r.jsx)(n.a,{href:"https://kubernetes.io/releases/",children:"Kubernetes minor releases"}),". It may work with\nother versions of Kubernetes, but those are not supported or tested against."]}),"\n",(0,r.jsx)(n.h2,{id:"using-the-helm-chart",children:"Using the helm chart"}),"\n",(0,r.jsxs)(n.p,{children:["Helm must be installed and configured on your machine. Please refer to the ",(0,r.jsx)(n.a,{href:"https://helm.sh/",children:"Helm\ndocumentation"})," for more information."]}),"\n",(0,r.jsx)(n.p,{children:"To use the Helm chart, add the OpenBao helm repository and check that you have\naccess to the chart:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell-session",children:'$ helm repo add openbao https://openbao.github.io/openbao-helm\n"openbao" has been added to your repositories\n\n$ helm search repo openbao/openbao\nNAME CHART VERSION APP VERSION DESCRIPTION\nopenbao/openbao 0.4.0 v2.0.0-alpha20240329 Official OpenBao Chart\n'})}),"\n",(0,r.jsx)(n.admonition,{type:"info",children:(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Important:"})," The Helm chart is new and under significant development.\nPlease always run Helm with ",(0,r.jsx)(n.code,{children:"--dry-run"})," before any install or upgrade to verify\nchanges."]})}),"\n",(0,r.jsx)(n.p,{children:"Example chart usage:"}),"\n",(0,r.jsxs)(n.p,{children:["Installing the latest release of the OpenBao Helm chart with pods prefixed with\nthe name ",(0,r.jsx)(n.code,{children:"openbao"}),"."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell-session",children:"$ helm install openbao openbao/openbao\n"})}),"\n",(0,r.jsx)(n.p,{children:"Installing a specific version of the chart."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-sh",children:"# List the available releases\n$ helm search repo openbao/openbao -l\nNAME CHART VERSION APP VERSION DESCRIPTION\nopenbao/openbao 0.4.0 v2.0.0-alpha20240329 Official OpenBao Chart\nopenbao/openbao 0.3.0 v2.0.0-alpha20240329 Official OpenBao Chart\nopenbao/openbao 0.2.0 v2.0.0-alpha20240329 Official OpenBao Chart\n...\n\n# Install version 0.4.0\n$ helm install openbao openbao/openbao --version 0.4.0\n"})}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Security Warning:"})," By default, the chart runs in standalone mode. This\nmode uses a single OpenBao server with a file storage backend. This is a less\nsecure and less resilient installation that is ",(0,r.jsx)(n.strong,{children:"NOT"})," appropriate for a\nproduction setup. It is highly recommended to use a ",(0,r.jsx)(n.a,{href:"https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/",children:"properly secured Kubernetes\ncluster"}),",\n",(0,r.jsx)(n.a,{href:"/docs/2.6.x/platform/k8s/helm/configuration",children:"learn the available configuration\noptions"}),", and read the ",(0,r.jsx)(n.a,{href:"/docs/2.6.x/platform/k8s/helm/run#architecture",children:"production deployment\nchecklist"}),"."]})})]})}function d(e={}){let{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},44812(e,n,t){t.d(n,{R:()=>a,x:()=>i});var s=t(92990);let r={},o=s.createContext(r);function a(e){let n=s.useContext(o);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(o.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.