docs: add Kubernetes troubleshooting guide#393
Conversation
Cover common issues encountered deploying Flipt v2 to Kubernetes: - Helm schema validation errors (--skip-schema-validation) - Machine ID not found on containerd clusters (GKE, EKS) - Persistent volume configuration and storage backend paths - Secrets management with GitOps (ArgoCD, FluxCD) - flipt license check vs Helm values confusion Based on real deployment issues from community support.
PR Review: Kubernetes Troubleshooting GuideThis is a well-structured, practical guide that addresses real user pain points. The content is clearly grounded in actual deployment issues, and the step-by-step solutions in the Secrets Management section are excellent. A few issues to address before merging: Required: Missing language tags on code blocksPer the project writing guidelines, all code blocks need language tags. Two blocks are missing them: Line 12 — the Helm error output block has no language tag; it should use Line 45 — the license error output block has no language tag; it should also use Required: Section heading casing (line 215)The heading Recommended: Cloud Run is not Kubernetes (line 95)The "Affected Environments" list includes "Serverless container runtimes (AWS Fargate, Google Cloud Run)". Google Cloud Run is not Kubernetes and does not use the Helm chart — Cloud Run users would never encounter this issue via this path. AWS Fargate is only relevant through Amazon EKS, which is already listed. This item may confuse readers. Suggested fix: remove "Google Cloud Run" and clarify Fargate is EKS-specific, e.g. "Amazon EKS with AWS Fargate node groups". Recommended: The schema Note will go stale (lines 36–38)"The Helm chart schema is being updated to cover all valid configurations." — once the schema is fixed upstream, this sentence becomes outdated. Consider more evergreen phrasing, or link to the helm-charts issue so users can track progress themselves. Recommended: Verify
|
Apply suggested changes from PR review: add missing language tags on code blocks, fix heading casing, remove Cloud Run from affected environments, make schema note evergreen, add Helm version requirement. Also link to the troubleshooting guide from the deploy guide and installation page. Signed-off-by: Mark Phelps <209477+markphelps@users.noreply.github.com>
ReviewThis is a well-structured guide addressing real deployment pain points. The content is practical, the Mintlify components (Note, Warning, Tip) are used appropriately, and all code blocks have language tags. Navigation integration and cross-referencing are correct. A few things worth addressing before publishing: Issues1. Helm values path inconsistency The volume mount snippet places keys at the top level of extraVolumeMounts:
- name: machine-id
...
extraVolumes:
- name: machine-id
...But the secrets section places keys under flipt:
envFrom:
- secretRef: ...
extraEnvVars:
- name: FLIPT_LICENSE_KEY
...If both are intended for the same 2. The command uses 3. The The guide states: "The Skipping schema validation means Helm will no longer catch any typos or invalid keys in
4. Duplicate cross-reference in The troubleshooting guide is now linked in two places in the same file: once in the "Further Reading" resources list and once in the "Production Considerations" checklist. Linking it once (in the resources list) is sufficient; the second mention adds noise without value. 5. GitHub issue link text in Warning block The link text
6. GKE default storage class The guide states: "On GKE, the default storage class is Minor suggestions (non-blocking)
Overall this fills a real gap in the docs and is well worth merging. Addressing items 1–3 above would meaningfully improve accuracy and prevent user confusion. |
- Reword --skip-schema-validation note to clarify it bypasses all checks - Use descriptive link text for GitHub issue reference - Drop platform-specific storage class assertions in favor of kubectl - Add release name comment to kubectl exec example - Remove duplicate troubleshooting link from Production Considerations Signed-off-by: Mark Phelps <209477+markphelps@users.noreply.github.com>
PR Review: Kubernetes Troubleshooting GuideThis is a well-structured guide that addresses real-world issues users encounter. The use of Mintlify components ( Issues1. Cloud Run listed under Kubernetes affected environments Cloud Run is a serverless platform — users deploying there wouldn't be using the Flipt Helm chart described in this guide at all. Including it in the "Affected Environments" list under a Kubernetes troubleshooting guide is misleading and may send Cloud Run users down the wrong path. 2. Fargate doesn't support The current
For AWS Fargate, this isn't a policy restriction — 3. The volume definition doesn't specify a type: extraVolumes:
- name: machine-id
hostPath:
path: /etc/machine-idWithout extraVolumes:
- name: machine-id
hostPath:
path: /etc/machine-id
type: File4. The example in Step 1 puts the license key directly in the command: kubectl create secret generic flipt-secrets \
--from-literal=FLIPT_LICENSE_KEY=your-license-keyThis approach stores the secret value in the user's shell history. Consider adding a note to use 5. The "Check License Locally" section shows creating a 6. Specific Bitbucket error in the generic schema validation example The error block includes: This is very specific to a Bitbucket storage configuration and may confuse users who don't use Bitbucket storage. If this is meant to illustrate common schema errors, a more representative example (or a note that this is one user's specific configuration) would be clearer. Minor
SummaryThe content is accurate and useful. The three most important things to fix before merging are the Fargate clarification (#2), the |
PR ReviewOverall this is a well-structured guide that addresses real pain points for Kubernetes deployments. The writing is clear, the examples are practical, and linking to related upstream issues (flipt#5426, helm-charts#269, #270) is great for traceability. A few things worth addressing before merging: Missing section promised in the PR descriptionThe PR description lists five sections, but the file only has four. Section 5 ("flipt license check and Helm Values") — which was described as clarifying that
|
docs/v2/guides/operations/deployment/kubernetes-troubleshooting.mdx
Outdated
Show resolved
Hide resolved
docs/v2/guides/operations/deployment/kubernetes-troubleshooting.mdx
Outdated
Show resolved
Hide resolved
Co-authored-by: Roman Dmytrenko <rdmytrenko@gmail.com>
PR ReviewOverall this is a solid, well-structured troubleshooting guide with clear code examples and good use of Mintlify callout components. Here are my observations. Issues1. Cloud Run missing from Affected Environments The PR description lists Cloud Run as an affected environment (GKE, EKS, Fargate, Cloud Run), but it is absent from the Affected Environments list in the document. If it is a real affected platform, it should be added for completeness. 2. Redundant entries in Affected Environments The list includes both 'Amazon EKS with containerd runtime' and 'Amazon EKS with AWS Fargate node groups'. Fargate is already covered by the general 'Any Kubernetes cluster using containerd instead of Docker' bullet. Consider collapsing these, or adding a brief clarifier that distinguishes why Fargate is called out separately. 3. Helm Charts issues not linked in the document The PR description references flipt-io/helm-charts#270 and flipt-io/helm-charts#269 as related upstream fixes. Linking to these in the relevant Note/Warning callouts would help users track when the workarounds become unnecessary, similar to how flipt-io/flipt#5426 is already referenced in the Machine ID warning. Minor Suggestions4. No guidance for Helm older than 3.13 The guide says --skip-schema-validation requires Helm 3.13+, but does not say what to do on older versions. A brief note suggesting upgrading Helm or removing the unrecognized keys from values.yaml as an alternative would be helpful. 5. Guide ends without a closing section The deploy-to-kubernetes.mdx guide has a 'Next Steps' section with related resources. This guide ends abruptly after the last YAML block. Even a small 'Related' or 'See Also' section pointing back to the main Kubernetes deploy guide and configuration reference would improve the reading experience. 6. installation.mdx sentence addition The new sentence is appended inline to an existing paragraph. Since the two sentences have different scopes (happy path vs. fallback), a line break or new paragraph would improve scannability. What is Working Well
|
Summary
Adds a comprehensive Kubernetes troubleshooting guide based on real deployment issues encountered by users deploying Flipt v2 to GKE and other containerd-based clusters.
Sections
1. Helm Schema Validation Errors
--skip-schema-validationworkaround for overly strict JSON schema.2. Machine ID Not Found (License Validation)
Explains why
machineid: no machine-id foundoccurs on containerd clusters and provides thehostPathvolume mount fix. Lists affected environments (GKE, EKS, Fargate, Cloud Run).3. Persistent Volume Configuration
Covers enabling persistence, matching storage backend paths to PVC mount points, and the common mistake of using relative paths.
4. Secrets Management with GitOps
Full walkthrough of the
envFrom+${env:VAR_NAME}pattern for keeping secrets out of values.yaml. Covers External Secrets Operator, Sealed Secrets, ArgoCD Vault Plugin, and manual kubectl approaches.Navigation
Added to the Deployment group in the v2 sidebar, directly after "Deploy to Kubernetes".
Related Issues
Mintlify
0 threads from 0 users in Mintlify