{"id":13522793,"url":"https://github.com/replicatedhq/troubleshoot","last_synced_at":"2025-05-14T19:07:37.610Z","repository":{"id":35412778,"uuid":"195894190","full_name":"replicatedhq/troubleshoot","owner":"replicatedhq","description":"Preflight Checks and Support Bundles Framework for Kubernetes Applications","archived":false,"fork":false,"pushed_at":"2025-05-08T22:22:03.000Z","size":10182,"stargazers_count":553,"open_issues_count":61,"forks_count":100,"subscribers_count":22,"default_branch":"main","last_synced_at":"2025-05-08T23:18:52.771Z","etag":null,"topics":["go","golang","kubernetes","modern-on-prem","preflight","troubleshooting"],"latest_commit_sha":null,"homepage":"https://troubleshoot.sh","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/replicatedhq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":"docs/support-bundle.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-07-08T22:27:40.000Z","updated_at":"2025-04-28T19:49:59.000Z","dependencies_parsed_at":"2023-10-16T22:31:16.021Z","dependency_job_id":"83def06f-ab83-4be9-884c-92e0d2adb4aa","html_url":"https://github.com/replicatedhq/troubleshoot","commit_stats":null,"previous_names":[],"tags_count":276,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/replicatedhq%2Ftroubleshoot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/replicatedhq%2Ftroubleshoot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/replicatedhq%2Ftroubleshoot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/replicatedhq%2Ftroubleshoot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/replicatedhq","download_url":"https://codeload.github.com/replicatedhq/troubleshoot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254209859,"owners_count":22032897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","golang","kubernetes","modern-on-prem","preflight","troubleshooting"],"created_at":"2024-08-01T06:00:52.400Z","updated_at":"2025-05-14T19:07:36.813Z","avatar_url":"https://github.com/replicatedhq.png","language":"Go","funding_links":[],"categories":["golang","kubectl Plugins","OPS"],"sub_categories":["Installing plugins via awesome-kubectl-plugins"],"readme":"# Replicated Troubleshoot\n\nReplicated Troubleshoot is a framework for collecting, redacting, and analyzing highly customizable diagnostic information about a Kubernetes cluster. Troubleshoot specs are created by 3rd-party application developers/maintainers and run by cluster operators in the initial and ongoing operation of those applications.\n\nTroubleshoot provides two CLI tools as kubectl plugins (using [Krew](https://krew.dev)): `kubectl preflight` and `kubectl support-bundle`. Preflight provides pre-installation cluster conformance testing and validation (preflight checks) and support-bundle provides post-installation troubleshooting and diagnostics (support bundles).\n\nTo know more about troubleshoot, please visit: https://troubleshoot.sh/\n\n## Preflight Checks\nPreflight checks are an easy-to-run set of conformance tests that can be written to verify that specific requirements in a cluster are met.\n\nTo run a sample preflight check from a sample application, install the preflight kubectl plugin:\n\n```\ncurl https://krew.sh/preflight | bash\n```\n and run, where https://preflight.replicated.com provides an **example** preflight spec:\n\n```\nkubectl preflight https://preflight.replicated.com\n```\n\n**NOTE** this is an example. Do **not** use to validate real scenarios.\n\nFor more details on creating the custom resource files that drive preflight checks, visit [creating preflight checks](https://troubleshoot.sh/docs/preflight/introduction/).\n\n\n## Support Bundle\nA support bundle is an archive that's created in-cluster, by collecting logs and cluster information, and executing specified commands (including redaction of sensitive information). After creating a support bundle, the cluster operator will normally deliver it to the 3rd-party application vendor for analysis and disconnected debugging. Another Replicated project, [KOTS](https://github.com/replicatedhq/kots), provides k8s apps an in-cluster UI for processing support bundles and viewing analyzers (as well as support bundle collection).\n\nTo collect a sample support bundle, install the troubleshoot kubectl plugin:\n\n```\ncurl https://krew.sh/support-bundle | bash\n```\n and run, where https://support-bundle.replicated.com provides an **example** support bundle spec:\n\n```\nkubectl support-bundle https://support-bundle.replicated.com\n```\n\n**NOTE** this is an example. Do **not** use to validate real scenarios.\n\nFor more details on creating the custom resource files that drive support-bundle collection, visit [creating collectors](https://troubleshoot.sh/docs/collect/) and [creating analyzers](https://troubleshoot.sh/docs/analyze/).\n\nAnd see our other tool [sbctl](https://github.com/replicatedhq/sbctl) that makes it easier to interact with support bundles using `kubectl` commands you already know\n\n# Community\n\nFor questions about using Troubleshoot, how to contribute and engaging with the project in any other way, please refer to the following resources and channels.\n\n- [Replicated Community](https://help.replicated.com/community) forum\n- [#app-troubleshoot channel in Kubernetes Slack](https://kubernetes.slack.com/channels/app-troubleshoot)\n- [#Community meetings calendar](https://calendar.google.com/calendar/u/0?cid=Y19mMGx1aGhiZGtscGllOGo5dWpicXMwNnN1a0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t). This happen monthly but dates may change and would be kept upto date in the calendar.\n\n# Software Bill of Materials\nA signed SBOM  that includes Troubleshoot dependencies is included in each release.\n- **troubleshoot-sbom.tgz** contains a software bill of materials for Troubleshoot.\n- **troubleshoot-sbom.tgz.sig** is the digital signature for troubleshoot-sbom.tgz\n- **key.pub** is the public key from the key pair used to sign troubleshoot-sbom.tgz\n\nThe following example illustrates using [cosign](https://github.com/sigstore/cosign) to verify that **troubleshoot-sbom.tgz** has\nnot been tampered with.\n```sh\n$ cosign verify-blob --key key.pub --signature troubleshoot-sbom.tgz.sig troubleshoot-sbom.tgz\nVerified OK\n```\n\nIf you were to get an error similar to the one below, it means you are verifying an SBOM signed using cosign `v1` using a newer `v2` of the binary. This version introduced [breaking changes](https://github.com/sigstore/cosign/blob/main/CHANGELOG.md#breaking-changes) which require an additional flag `--insecure-ignore-tlog=true` to successfully verify SBOMs like so.\n```sh\n$ cosign verify-blob --key key.pub --signature troubleshoot-sbom.tgz.sig troubleshoot-sbom.tgz --insecure-ignore-tlog=true\nWARNING: Skipping tlog verification is an insecure practice that lacks of transparency and auditability verification for the blob.\nVerified OK\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freplicatedhq%2Ftroubleshoot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freplicatedhq%2Ftroubleshoot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freplicatedhq%2Ftroubleshoot/lists"}