When installing or upgrading the Flipt Helm chart, you may encounter schema validation errors like:
helm install flipt flipt/flipt-v2 -f values.yamlError: INSTALLATION FAILED: values don't meet the specifications of the schema(s) in the following chart(s):flipt-v2:- autoscaling: Additional property targetMemoryUtilizationPercentage is not allowed- resources: Additional property limits is not allowed- resources: Additional property requests is not allowed
This happens when the chart’s JSON schema doesn’t cover all valid configuration options. To work around this, skip schema validation (requires Helm 3.13+):
--skip-schema-validation bypasses chart schema checks entirely. Use it as a
temporary workaround while tracking upstream schema fixes in
flipt-io/helm-charts — typos in
your values.yaml will no longer be caught automatically when this flag is
set.
Set license.machine_id or the FLIPT_LICENSE_MACHINE_ID environment variable to a stable value for the deployment. Use the same value across restarts for the same licensed deployment.For Helm deployments, set the environment variable from a Kubernetes Secret:
If you cannot configure FLIPT_LICENSE_MACHINE_ID, you can mount the Kubernetes node’s /etc/machine-id into the Flipt container by adding these values to your values.yaml:
This mounts the host node’s machine ID into the container, allowing the license system to identify the machine.
This workaround depends on hostPath volumes and a node filesystem. It won’t
work in environments that don’t allow hostPath (for example, many managed
serverless node offerings such as EKS Fargate). Prefer
FLIPT_LICENSE_MACHINE_ID when possible.
Flipt needs a writable directory for local state. If you see read-only filesystem errors or Flipt fails to start with write permission errors, you likely need to configure persistence.
The path in your Flipt storage backend configuration refers to the path inside the container, not on the host. It must match where the PersistentVolumeClaim is mounted.The Helm chart mounts the PVC at /var/opt/flipt by default. Your storage backend configuration should use this path:
flipt: config: storage: my-storage: backend: type: local path: /var/opt/flipt
Do not use a relative path like "." for the backend path. This writes to the
container’s working directory, which may be read-only. Always use the absolute
path where the PVC is mounted.
When deploying Flipt via ArgoCD, FluxCD, or other GitOps tools, you should not commit sensitive values (license keys, Git access tokens) to your Git repository inside values.yaml.
Using Kubernetes Secrets with Environment Variable Substitution
Flipt supports environment variable substitution in configuration values using the ${env:VAR_NAME} syntax. Combined with the Helm chart’s envFrom support, this lets you keep secrets out of your values file.Step 1: Create a Kubernetes Secret containing your sensitive values:
Or use External Secrets Operator to sync from your cloud provider’s secret manager (GCP Secret Manager, AWS Secrets Manager, Azure Key Vault, HashiCorp Vault).Step 2: Reference the Secret in your values.yaml:
envFrom: - secretRef: name: flipt-secrets
Step 3: Use environment variable references in your Flipt configuration:
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Flipt","colors":{"primary":"#7C3AED","light":"#BA97F5","dark":"#4F3292"},"logo":{"light":"https://mintcdn.com/flipt/DEE1Qcfhk5tfKCOi/logo/light-logo.svg?fit=max\u0026auto=format\u0026n=DEE1Qcfhk5tfKCOi\u0026q=85\u0026s=a6aa20ecf9af822ec8f6786b13555d76","dark":"https://mintcdn.com/flipt/DEE1Qcfhk5tfKCOi/logo/dark-logo.svg?fit=max\u0026auto=format\u0026n=DEE1Qcfhk5tfKCOi\u0026q=85\u0026s=74c8d34f5f0e2577e2bfd72dbd3ea254"},"favicon":"https://mintcdn.com/flipt/DEE1Qcfhk5tfKCOi/favicon.svg?fit=max\u0026auto=format\u0026n=DEE1Qcfhk5tfKCOi\u0026q=85\u0026s=7aaeb0cac086fb85002ba070f5ddbc32","api":{"openapi":["https://raw.githubusercontent.com/flipt-io/flipt/main/openapi.yaml","https://raw.githubusercontent.com/flipt-io/flipt/refs/heads/v2/rpc/flipt/openapi.yaml","https://raw.githubusercontent.com/flipt-io/flipt/refs/heads/v2/rpc/v2/environments/openapi.yaml","https://raw.githubusercontent.com/flipt-io/flipt/refs/heads/v2/rpc/v2/evaluation/openapi.yaml"],"playground":{"display":"simple"},"mdx":{"auth":{"method":"bearer"},"server":"http://localhost:8080"}},"background":{"image":"https://mintcdn.com/flipt/VG7J2soXPDNctRM3/background.png?fit=max\u0026auto=format\u0026n=VG7J2soXPDNctRM3\u0026q=85\u0026s=5009659e8144412bf683a7e68d47c78c","color":{"dark":"#121212"}},"navbar":{},"footer":{"socials":{"website":"https://www.flipt.io/","twitter":"https://twitter.com/flipt_io","discord":"https://www.flipt.io/discord","github":"https://git.new/flipt"}},"seo":{"metatags":{"og:type":"website","og:site_name":"Flipt Docs"},"indexing":"all"},"integrations":{"ga4":{"measurementId":"G-Q8MF5LZSNS"}},"banner":{"content":"🎉 **New:** MCP server for Flipt v2. Let AI assistants manage and evaluate your feature flags. [Learn more](https://docs.flipt.io/v2/tooling/model-context-protocol).","dismissible":true},"contextual":{"options":["copy","view","mcp"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"flipt","hasAudioNarration":false,"actualSubdomain":"flipt","customDomains":["docs.flipt.io"],"gitSource":{"type":"github","owner":"flipt-io","repo":"docs","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad75505fe4769c03a8abf10","collectionId":"a1277b49-034c-4184-8f4e-3c299845f295","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad75505fe4769c03a8abf10"},"feedback":{"thumbs":true,"edits":true},"entitlements":{},"buildId":"6ad75505fe4769c03a8abf10","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"v1","count":112},{"language":"default","tag":"Documentation","count":109},{"language":"default","tag":"API Reference","count":83},{"language":"default","tag":"v2","count":81},{"language":"default","tag":"Guides","count":25},{"language":"default","tag":"Configuration","count":23},{"language":"default","tag":"CLI","count":22},{"language":"default","tag":"Authentication","count":20},{"language":"default","tag":"Commands","count":20},{"language":"default","tag":"Operations Guides","count":17}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"v2/guides/operations/deployment/kubernetes-troubleshooting","slug":"/v2/guides/operations/deployment/kubernetes-troubleshooting","pageMetadata":{"title":"Kubernetes Troubleshooting","description":"Common issues and solutions when deploying Flipt v2 to Kubernetes","href":"/v2/guides/operations/deployment/kubernetes-troubleshooting"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Common issues and solutions when deploying Flipt v2 to Kubernetes\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`This guide covers common issues encountered when deploying Flipt v2 to Kubernetes using the official Helm chart, along with their solutions.`}),`\n`,_jsx(Heading,{level:`2`,id:`helm-schema-validation-errors`,children:`Helm Schema Validation Errors`}),`\n`,_jsx(_components.p,{children:`When installing or upgrading the Flipt Helm chart, you may encounter schema validation errors like:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`helm install flipt flipt/flipt-v2 -f values.yaml`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Error: INSTALLATION FAILED: values don't meet the specifications of the schema(s) in the following chart(s):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`flipt-v2:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- autoscaling: Additional property targetMemoryUtilizationPercentage is not allowed`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- resources: Additional property limits is not allowed`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- resources: Additional property requests is not allowed`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`This happens when the chart’s JSON schema doesn’t cover all valid configuration options. To work around this, skip schema validation (requires Helm 3.13+):`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`helm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` flipt`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` flipt/flipt-v2`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` values.yaml`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --skip-schema-validation`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Or for upgrades:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`helm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` upgrade`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` flipt`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` flipt/flipt-v2`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` values.yaml`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --skip-schema-validation`})]}),`\n`]})})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`--skip-schema-validation`}),` bypasses chart schema checks entirely. Use it as a\ntemporary workaround while tracking upstream schema fixes in\n`,_jsx(_components.a,{href:`https://github.com/flipt-io/helm-charts`,children:`flipt-io/helm-charts`}),` — typos in\nyour `,_jsx(_components.code,{children:`values.yaml`}),` will no longer be caught automatically when this flag is\nset.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`machine-id-not-found-license-validation`,children:`Machine ID Not Found (License Validation)`}),`\n`,_jsx(_components.p,{children:`When running Flipt Pro on containerd-based Kubernetes clusters (such as GKE or modern EKS), you may see:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`license is invalid; additional features are disabled.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`{\"error\": \"machineid: machineid: no machine-id found\"}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`3`,id:`why-this-happens`,children:`Why This Happens`}),`\n`,_jsx(_components.p,{children:`Flipt uses a machine fingerprint for license validation. The fingerprinting library reads from:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`/var/lib/dbus/machine-id`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`/etc/machine-id`})}),`\n`,_jsxs(_components.li,{children:[`Docker-specific paths in `,_jsx(_components.code,{children:`/proc/self/cgroup`}),` and `,_jsx(_components.code,{children:`/proc/self/mountinfo`})]}),`\n`]}),`\n`,_jsx(_components.p,{children:`In containerd-based environments (GKE, EKS with containerd, etc.), none of these files exist inside the container because:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The Flipt container image is Alpine-based and doesn’t include dbus`}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`/etc/machine-id`}),` is not present in minimal container images`]}),`\n`,_jsx(_components.li,{children:`The Docker-specific fallback paths don’t match containerd’s format`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`solution-configure-a-stable-machine-id`,children:`Solution: Configure a Stable Machine ID`}),`\n`,_jsxs(_components.p,{children:[`Set `,_jsx(_components.code,{children:`license.machine_id`}),` or the `,_jsx(_components.code,{children:`FLIPT_LICENSE_MACHINE_ID`}),` environment variable to a stable value for the deployment. Use the same value across restarts for the same licensed deployment.`]}),`\n`,_jsx(_components.p,{children:`For Helm deployments, set the environment variable from a Kubernetes Secret:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`extraEnvVars`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`FLIPT_LICENSE_MACHINE_ID`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` valueFrom`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` secretKeyRef`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`flipt-license`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`machine-id`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/v2/configuration/licensing#machine-id-in-container-environments`,children:`Licensing`}),` for more details.`]}),`\n`,_jsx(Heading,{level:`3`,id:`legacy-workaround-mount-the-host-machine-id`,children:`Legacy Workaround: Mount the Host Machine ID`}),`\n`,_jsxs(_components.p,{children:[`If you cannot configure `,_jsx(_components.code,{children:`FLIPT_LICENSE_MACHINE_ID`}),`, you can mount the Kubernetes node’s `,_jsx(_components.code,{children:`/etc/machine-id`}),` into the Flipt container by adding these values to your `,_jsx(_components.code,{children:`values.yaml`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`extraVolumeMounts`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`machine-id`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` mountPath`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/etc/machine-id`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` readOnly`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`extraVolumes`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`machine-id`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` hostPath`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` path`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/etc/machine-id`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`This mounts the host node’s machine ID into the container, allowing the license system to identify the machine.`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`This workaround depends on `,_jsx(_components.code,{children:`hostPath`}),` volumes and a node filesystem. It won’t\nwork in environments that don’t allow `,_jsx(_components.code,{children:`hostPath`}),` (for example, many managed\nserverless node offerings such as EKS Fargate). Prefer\n`,_jsx(_components.code,{children:`FLIPT_LICENSE_MACHINE_ID`}),` when possible.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`affected-environments`,children:`Affected Environments`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Google Kubernetes Engine (GKE)`}),`\n`,_jsx(_components.li,{children:`Amazon EKS with containerd runtime`}),`\n`,_jsx(_components.li,{children:`Any Kubernetes cluster using containerd instead of Docker`}),`\n`,_jsx(_components.li,{children:`Rootless container environments`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`persistent-volume-configuration`,children:`Persistent Volume Configuration`}),`\n`,_jsx(_components.p,{children:`Flipt needs a writable directory for local state. If you see read-only filesystem errors or Flipt fails to start with write permission errors, you likely need to configure persistence.`}),`\n`,_jsx(Heading,{level:`3`,id:`enable-persistence`,children:`Enable Persistence`}),`\n`,_jsxs(_components.p,{children:[`Add the following to your `,_jsx(_components.code,{children:`values.yaml`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`persistence`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` enabled`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` storageClass`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"standard\"`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # Use your cluster's storage class`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` size`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`10Gi`})]}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Run `,_jsx(_components.code,{children:`kubectl get storageclass`}),` to see available storage classes in your\ncluster. The default varies by provider and cluster configuration.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`match-the-storage-backend-path`,children:`Match the Storage Backend Path`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`path`}),` in your Flipt storage backend configuration refers to the path `,_jsx(_components.strong,{children:`inside the container`}),`, not on the host. It must match where the PersistentVolumeClaim is mounted.`]}),`\n`,_jsxs(_components.p,{children:[`The Helm chart mounts the PVC at `,_jsx(_components.code,{children:`/var/opt/flipt`}),` by default. Your storage backend configuration should use this path:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`flipt`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` storage`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` my-storage`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` backend`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` type`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`local`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` path`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/var/opt/flipt`})]}),`\n`]})})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Do not use a relative path like `,_jsx(_components.code,{children:`\".\"`}),` for the backend path. This writes to the\ncontainer’s working directory, which may be read-only. Always use the absolute\npath where the PVC is mounted.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`secrets-management-with-gitops`,children:`Secrets Management with GitOps`}),`\n`,_jsxs(_components.p,{children:[`When deploying Flipt via ArgoCD, FluxCD, or other GitOps tools, you should not commit sensitive values (license keys, Git access tokens) to your Git repository inside `,_jsx(_components.code,{children:`values.yaml`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`using-kubernetes-secrets-with-environment-variable-substitution`,children:`Using Kubernetes Secrets with Environment Variable Substitution`}),`\n`,_jsxs(_components.p,{children:[`Flipt supports `,_jsx(_components.a,{href:`/v2/configuration/overview#environment-substitution-and-secret-references`,children:`environment variable substitution`}),` in configuration values using the `,_jsx(_components.code,{children:\"${env:VAR_NAME}\"}),` syntax. Combined with the Helm chart’s `,_jsx(_components.code,{children:`envFrom`}),` support, this lets you keep secrets out of your values file.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Step 1:`}),` Create a Kubernetes Secret containing your sensitive values:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`kubectl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` create`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` secret`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` generic`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` flipt-secrets`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --from-literal=FLIPT_LICENSE_KEY=your-license-key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --from-literal=FLIPT_GIT_ACCESS_TOKEN=your-access-token`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Or use `,_jsx(_components.a,{href:`https://external-secrets.io/`,children:`External Secrets Operator`}),` to sync from your cloud provider’s secret manager (GCP Secret Manager, AWS Secrets Manager, Azure Key Vault, HashiCorp Vault).`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Step 2:`}),` Reference the Secret in your `,_jsx(_components.code,{children:`values.yaml`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`envFrom`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`secretRef`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`flipt-secrets`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Step 3:`}),` Use environment variable references in your Flipt configuration:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`13`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`13`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`flipt`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` license`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\"${env:FLIPT_LICENSE_KEY}\"})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` credentials`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` my-git`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` type`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`access_token`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` access_token`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\"${env:FLIPT_GIT_ACCESS_TOKEN}\"})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` storage`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` my-storage`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` remote`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://github.com/your-org/flipt-config.git\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` branch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`main`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` credentials`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"my-git\"`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`This approach keeps your `,_jsx(_components.code,{children:`values.yaml`}),` free of secrets and safe to commit to Git.`]}),`\n`,_jsx(Heading,{level:`3`,id:`compatible-secret-management-tools`,children:`Compatible Secret Management Tools`}),`\n`,_jsx(_components.p,{children:`This pattern works with any tool that creates Kubernetes Secrets:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.a,{href:`https://external-secrets.io/`,children:`External Secrets Operator`})}),` — syncs secrets from GCP Secret Manager, AWS Secrets Manager, Azure Key Vault, HashiCorp Vault`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.a,{href:`https://sealed-secrets.netlify.app/`,children:`Sealed Secrets`})}),` — encrypt secrets client-side, commit encrypted `,_jsx(_components.code,{children:`SealedSecret`}),` resources to Git`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.a,{href:`https://argocd-vault-plugin.readthedocs.io/`,children:`ArgoCD Vault Plugin`})}),` — inject secrets from Vault at deploy time`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`kubectl create secret`})}),` — create secrets manually for simpler setups`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`using-individual-environment-variables`,children:`Using Individual Environment Variables`}),`\n`,_jsxs(_components.p,{children:[`If you prefer to inject secrets as individual environment variables rather than from a Secret reference, use `,_jsx(_components.code,{children:`extraEnvVars`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`extraEnvVars`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`FLIPT_LICENSE_KEY`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` valueFrom`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` secretKeyRef`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`flipt-license`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`license-key`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`FLIPT_GIT_ACCESS_TOKEN`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` valueFrom`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` secretKeyRef`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`flipt-git-creds`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`access-token`})]}),`\n`]})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Kubernetes Troubleshooting","description":"Common issues and solutions when deploying Flipt v2 to Kubernetes","href":"/v2/guides/operations/deployment/kubernetes-troubleshooting"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Helm Schema Validation Errors","slug":"helm-schema-validation-errors","depth":2,"children":[]},{"title":"Machine ID Not Found (License Validation)","slug":"machine-id-not-found-license-validation","depth":2,"children":[{"title":"Why This Happens","slug":"why-this-happens","depth":3,"children":[]},{"title":"Solution: Configure a Stable Machine ID","slug":"solution-configure-a-stable-machine-id","depth":3,"children":[]},{"title":"Legacy Workaround: Mount the Host Machine ID","slug":"legacy-workaround-mount-the-host-machine-id","depth":3,"children":[]},{"title":"Affected Environments","slug":"affected-environments","depth":3,"children":[]}]},{"title":"Persistent Volume Configuration","slug":"persistent-volume-configuration","depth":2,"children":[{"title":"Enable Persistence","slug":"enable-persistence","depth":3,"children":[]},{"title":"Match the Storage Backend Path","slug":"match-the-storage-backend-path","depth":3,"children":[]}]},{"title":"Secrets Management with GitOps","slug":"secrets-management-with-gitops","depth":2,"children":[{"title":"Using Kubernetes Secrets with Environment Variable Substitution","slug":"using-kubernetes-secrets-with-environment-variable-substitution","depth":3,"children":[]},{"title":"Compatible Secret Management Tools","slug":"compatible-secret-management-tools","depth":3,"children":[]},{"title":"Using Individual Environment Variables","slug":"using-individual-environment-variables","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/flipt/40516028525ef955/reo.js"],"subdomain":"flipt","siteName":"Flipt","title":"Kubernetes Troubleshooting - Flipt","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-04T19:31:11.273Z","originalFileLocation":"v2/guides/operations/deployment/kubernetes-troubleshooting.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Common issues and solutions when deploying Flipt v2 to Kubernetes\">\u003cmeta data-mint-head name=\"application-name\" content=\"Flipt\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/flipt/h9R5ArEC_jBN_kca/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/flipt/h9R5ArEC_jBN_kca/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/flipt/h9R5ArEC_jBN_kca/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/flipt/h9R5ArEC_jBN_kca/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/flipt/h9R5ArEC_jBN_kca/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/flipt/h9R5ArEC_jBN_kca/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/flipt/h9R5ArEC_jBN_kca/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/flipt/h9R5ArEC_jBN_kca/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/flipt/h9R5ArEC_jBN_kca/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Kubernetes Troubleshooting - Flipt\">\u003cmeta data-mint-head property=\"og:description\" content=\"Common issues and solutions when deploying Flipt v2 to Kubernetes\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Flipt Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.flipt.io/v2/guides/operations/deployment/kubernetes-troubleshooting\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://flipt.mintlify.site/_mintlify/api/og/v2?division=Deployment\u0026amp;title=Kubernetes+Troubleshooting\u0026amp;description=Common+issues+and+solutions+when+deploying+Flipt+v2+to+Kubernetes\u0026amp;theme=fab54c02540c97cd47281fa2\u0026amp;signature=1d9ad45e339a559a0efc165a50006a8e8cfef85ce01f84188f6183824df2ce9e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Kubernetes Troubleshooting - Flipt\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Common issues and solutions when deploying Flipt v2 to Kubernetes\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://flipt.mintlify.site/_mintlify/api/og/v2?division=Deployment\u0026amp;title=Kubernetes+Troubleshooting\u0026amp;description=Common+issues+and+solutions+when+deploying+Flipt+v2+to+Kubernetes\u0026amp;theme=fab54c02540c97cd47281fa2\u0026amp;signature=1d9ad45e339a559a0efc165a50006a8e8cfef85ce01f84188f6183824df2ce9e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/flipt/h9R5ArEC_jBN_kca/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Flipt\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7C3AED\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.flipt.io/v2/guides/operations/deployment/kubernetes-troubleshooting\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v2/guides/operations/deployment/kubernetes-troubleshooting.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.flipt.io/#organization\",\"name\":\"Flipt\",\"url\":\"https://docs.flipt.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/flipt/DEE1Qcfhk5tfKCOi/logo/light-logo.svg?fit=max\u0026auto=format\u0026n=DEE1Qcfhk5tfKCOi\u0026q=85\u0026s=a6aa20ecf9af822ec8f6786b13555d76\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.flipt.io#website\",\"name\":\"Flipt\",\"url\":\"https://docs.flipt.io\",\"publisher\":{\"@id\":\"https://docs.flipt.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.flipt.io/v2/guides/operations/deployment/kubernetes-troubleshooting#webpage\",\"url\":\"https://docs.flipt.io/v2/guides/operations/deployment/kubernetes-troubleshooting\",\"name\":\"Kubernetes Troubleshooting\",\"description\":\"Common issues and solutions when deploying Flipt v2 to Kubernetes\",\"dateModified\":\"2026-07-04T19:31:11.273Z\",\"isPartOf\":{\"@id\":\"https://docs.flipt.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.flipt.io/v2/guides/operations/deployment/kubernetes-troubleshooting#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.flipt.io/v2/guides/operations/deployment/kubernetes-troubleshooting#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Guides\",\"item\":\"https://docs.flipt.io/v2/guides/user/environments/branches\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Operations Guides\",\"item\":\"https://docs.flipt.io/v2/guides/operations/production\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Deployment\",\"item\":\"https://docs.flipt.io/v2/guides/operations/deployment/deploy-to-kubernetes\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Kubernetes Troubleshooting\",\"item\":\"https://docs.flipt.io/v2/guides/operations/deployment/kubernetes-troubleshooting\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.flipt.io/v2/guides/operations/deployment/kubernetes-troubleshooting#article\",\"headline\":\"Kubernetes Troubleshooting\",\"name\":\"Kubernetes Troubleshooting\",\"description\":\"Common issues and solutions when deploying Flipt v2 to Kubernetes\",\"url\":\"https://docs.flipt.io/v2/guides/operations/deployment/kubernetes-troubleshooting\",\"mainEntityOfPage\":{\"@id\":\"https://docs.flipt.io/v2/guides/operations/deployment/kubernetes-troubleshooting#webpage\"},\"dateModified\":\"2026-07-04T19:31:11.273Z\",\"publisher\":{\"@id\":\"https://docs.flipt.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.flipt.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Flipt\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Flipt","nav":{"global":null,"tabs":[{"tab":"v2","anchors":[{"anchor":"Documentation","groups":[{"group":"Getting Started","icon":"rocket","pages":[{"title":"Introduction","mode":"wide","href":"/v2/introduction"},{"title":"Quickstart","mode":"wide","href":"/v2/quickstart"},{"title":"Concepts","href":"/v2/concepts"},{"title":"Installation","mode":"wide","href":"/v2/installation"}]},{"group":"Pro Features","icon":"crown","pages":[{"title":"Flipt Pro","mode":"wide","href":"/v2/pro"},{"title":"Licensing","mode":"wide","href":"/v2/licensing"}]},{"group":"Configuration","icon":"gear","pages":[{"title":"Overview","mode":"wide","href":"/v2/configuration/overview"},{"title":"Environments","href":"/v2/configuration/environments"},{"title":"Webhooks","tag":"NEW","href":"/v2/webhooks/overview"},{"title":"Storage","href":"/v2/configuration/storage"},{"title":"Secrets","href":"/v2/configuration/secrets"},{"title":"Commit Signing","href":"/v2/configuration/commit-signing"},{"title":"Authentication","href":"/v2/configuration/authentication"},{"title":"Authorization","href":"/v2/configuration/authorization"},{"title":"Analytics","href":"/v2/configuration/analytics"},{"title":"Observability","href":"/v2/configuration/observability"},{"title":"Telemetry","href":"/v2/configuration/telemetry"},{"title":"Licensing","href":"/v2/configuration/licensing"}]},{"group":"Integration","icon":"plug","pages":[{"title":"Overview","href":"/v2/integration/overview"},{"group":"Server-Side SDKs","pages":[{"title":"REST SDKs","href":"/v2/integration/server/rest"}]},{"title":"Client-Side SDKs","href":"/v2/integration/client"},{"title":"OpenFeature","href":"/v2/integration/openfeature"}]},{"group":"CLI","icon":"terminal","pages":[{"title":"Overview","href":"/v2/cli/overview"},{"group":"Commands","pages":[{"group":"config","pages":[{"title":"config init","href":"/v2/cli/commands/config/init"},{"title":"config edit","href":"/v2/cli/commands/config/edit"}]},{"title":"evaluate","href":"/v2/cli/commands/evaluate"},{"group":"license","pages":[{"title":"license check","href":"/v2/cli/commands/license/check"},{"title":"license activate","href":"/v2/cli/commands/license/activate"}]},{"title":"migrate","href":"/v2/cli/commands/migrate"},{"title":"validate","href":"/v2/cli/commands/validate"},{"title":"server","href":"/v2/cli/commands/server"},{"title":"quickstart","href":"/v2/cli/commands/quickstart"}]}]},{"group":"Guides","icon":"book","tag":"NEW","pages":[{"group":"User Guides","pages":[{"group":"Environments","pages":[{"title":"Branching","href":"/v2/guides/user/environments/branches"},{"title":"Using Merge Proposals","href":"/v2/guides/user/environments/merge-proposals"}]}]},{"group":"Operations Guides","pages":[{"title":"Production Readiness","href":"/v2/guides/operations/production"},{"group":"Deployment","pages":[{"title":"Deploy to Kubernetes","description":"Deploy Flipt v2 to Kubernetes using our official Helm chart","href":"/v2/guides/operations/deployment/deploy-to-kubernetes"},{"title":"Kubernetes Troubleshooting","href":"/v2/guides/operations/deployment/kubernetes-troubleshooting"}]},{"group":"Authentication","pages":[{"title":"Login with GitHub","description":"Configuring Flipt v2 to enable login with GitHub via OAuth 2.0","href":"/v2/guides/operations/authentication/login-with-github"},{"title":"Login with Azure AD B2C","href":"/v2/guides/operations/authentication/login-with-azure-ad-b2c"},{"title":"Connecting Applications to Flipt","href":"/v2/guides/operations/authentication/connecting-applications"}]},{"group":"Environments","pages":[{"title":"Git Repository Initialization","href":"/v2/guides/operations/environments/git-repository-initialization"},{"title":"Git Sync with GitHub","href":"/v2/guides/operations/environments/git-sync"},{"title":"Git SCM Integration","href":"/v2/guides/operations/environments/git-scm"},{"title":"Set Up Webhooks","href":"/v2/guides/operations/environments/webhooks"},{"title":"Commit Signing Setup","href":"/v2/guides/operations/environments/commit-signing-setup"}]}]},{"group":"Migration Guides","pages":[{"title":"Flipt Cloud to Flipt v2","href":"/v2/guides/migration/cloud/flipt-cloud-to-v2"}]}]},{"group":"Tooling","icon":"hammer","tag":"NEW","pages":[{"title":"GitHub Actions","href":"/v2/tooling/github-actions"},{"title":"Model Context Protocol (MCP)","href":"/v2/tooling/model-context-protocol"}]}]},{"anchor":"API Reference","icon":"code","pages":[{"title":"API Reference","href":"/v2/reference/overview"}]},{"anchor":"Blog","icon":"newspaper","href":"https://blog.flipt.io"},{"anchor":"Discord","icon":"discord","href":"https://flipt.io/discord"},{"anchor":"GitHub","icon":"github","href":"https://git.new/flipt"}]},{"tab":"v1","pages":[{"title":"v1","href":"/v1/introduction"}]}]},"basePath":"","title":"Kubernetes Troubleshooting - Flipt","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["10e4515597"],"chunks":["BannerMarkdown-DcUtcwZ_.js","dist-CJ9Oly2E.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-C5EfhVm0.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}