• Stars
    star
    533
  • Rank 83,238 (Top 2 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 5 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Preflight Checks and Support Bundles Framework for Kubernetes Applications

Replicated Troubleshoot

Replicated 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.

Troubleshoot provides two CLI tools as kubectl plugins (using Krew): 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).

To know more about troubleshoot, please visit: https://troubleshoot.sh/

Preflight Checks

Preflight checks are an easy-to-run set of conformance tests that can be written to verify that specific requirements in a cluster are met.

To run a sample preflight check from a sample application, install the preflight kubectl plugin:

curl https://krew.sh/preflight | bash

and run, where https://preflight.replicated.com provides an example preflight spec:

kubectl preflight https://preflight.replicated.com

NOTE this is an example. Do not use to validate real scenarios.

For more details on creating the custom resource files that drive preflight checks, visit creating preflight checks.

Support Bundle

A 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, provides k8s apps an in-cluster UI for processing support bundles and viewing analyzers (as well as support bundle collection).

To collect a sample support bundle, install the troubleshoot kubectl plugin:

curl https://krew.sh/support-bundle | bash

and run, where https://support-bundle.replicated.com provides an example support bundle spec:

kubectl support-bundle https://support-bundle.replicated.com

NOTE this is an example. Do not use to validate real scenarios.

For more details on creating the custom resource files that drive support-bundle collection, visit creating collectors and creating analyzers.

And see our other tool sbctl that makes it easier to interact with support bundles using kubectl commands you already know

Community

For questions about using Troubleshoot, how to contribute and engaging with the project in any other way, please refer to the following resources and channels.

Software Bill of Materials

A signed SBOM that includes Troubleshoot dependencies is included in each release.

  • troubleshoot-sbom.tgz contains a software bill of materials for Troubleshoot.
  • troubleshoot-sbom.tgz.sig is the digital signature for troubleshoot-sbom.tgz
  • key.pub is the public key from the key pair used to sign troubleshoot-sbom.tgz

The following example illustrates using cosign to verify that troubleshoot-sbom.tgz has not been tampered with.

$ cosign verify-blob --key key.pub --signature troubleshoot-sbom.tgz.sig troubleshoot-sbom.tgz
Verified OK

If 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 which require an additional flag --insecure-ignore-tlog=true to successfully verify SBOMs like so.

$ cosign verify-blob --key key.pub --signature troubleshoot-sbom.tgz.sig troubleshoot-sbom.tgz --insecure-ignore-tlog=true
WARNING: Skipping tlog verification is an insecure practice that lacks of transparency and auditability verification for the blob.
Verified OK

More Repositories

1

dockerfilelint

An opinionated Dockerfile linter.
JavaScript
990
star
2

kots

KOTS provides the framework, tools and integrations that enable the delivery and management of 3rd-party Kubernetes applications, a.k.a. Kubernetes Off-The-Shelf (KOTS) Software.
Go
888
star
3

kURL

Production-grade, airgapped Kubernetes installer combining upstream k8s with overlays and popular components
Shell
737
star
4

ship

A better way to deploy Kubernetes Helm charts
Go
638
star
5

ttl.sh

An anonymous & ephemeral Docker image registry
TypeScript
461
star
6

outdated

Kubectl plugin to find and report outdated images running in a Kubernetes cluster
Go
422
star
7

kotsadm

Kotsadm has been merged into the KOTS repo
JavaScript
250
star
8

unfork

Kubectl plugin to find forked Helm Charts and other K8s resources and unfork them with Kustomize
Go
145
star
9

gatekeeper

Kubernetes Operator to manage Dynamic Admission Controllers using Open Policy Agent
Go
107
star
10

krew-plugin-template

GitHub Repository Template for creating new Kubectl plugins
Go
65
star
11

kubeflare

A Kubernetes Operator to manage Cloudflare settings via a declarative Kubernetes API
Go
56
star
12

pvmigrate

Go
54
star
13

hugo-algolia

Enables search with Algolia in Hugo static sites
JavaScript
47
star
14

sbctl

Go
40
star
15

replicated

A CLI to create, edit and promote releases in Replicated
Go
34
star
16

local-volume-provider

A Velero plugin for backup/restore directly to Kubernetes volumes.
Go
32
star
17

troubleshoot.sh

JavaScript
29
star
18

fromlatest.io

JavaScript
19
star
19

embedded-cluster

Go
18
star
20

replicated-field-labs

Defines the Replicated Platform Hands-On Labs powered by the Instruqt platform
Shell
16
star
21

studio

Streamline your Replicated Application development in 3 easy steps, or your money back!
TypeScript
14
star
22

kots-sentry

Makefile
14
star
23

kurl.sh

JavaScript
11
star
24

libyaml

Go
11
star
25

replicated-lint

YAML linting tools for Replicated applications
TypeScript
8
star
26

ekco

ekco: Embedded kURL Cluster Operator
Go
8
star
27

replicated-docs

Replicated Product Documentation
JavaScript
8
star
28

replicated-starter-ship

Starter repo for managing Ship Apps in GitHub
Makefile
8
star
29

k8s-secret-generator

Go
7
star
30

enterprise-gtm-starter

Go-to-market starter project for Replicated apps
Go
7
star
31

ips

Current list of Replicated public facing IP addresses
6
star
32

replicated-actions

TypeScript
6
star
33

kots-lint

Lint a KOTS application before deploying it
Go
6
star
34

kubectl-traceroute

A kubectl plugin to diagnose and debug why a service is not responding
Go
6
star
35

homebrew-ship

Homebrew Formulae to ship binaries, powered by @replicatedhq
Ruby
6
star
36

kots.io

Docs site for KOTS
SCSS
6
star
37

vendor-docs-starter

6
star
38

help-center

Replicated help center
HTML
4
star
39

replicated-sdk

Service that allows you to embed key Replicated features alongside your application.
Go
4
star
40

ansible

Shell
4
star
41

helm-charts

Smarty
4
star
42

replicated-installer

Shell
4
star
43

troubleshoot-specs

Python
4
star
44

replicated-ci-demo

Example repo showcasing how to use the Replicated APIs and tools to manage your Replicated application YAML using git
Makefile
3
star
45

repl-yaml-samples

Resource for Replicated sample YAML's and snippets
3
star
46

replicated-automation

Shell
3
star
47

replicated-starter-helm

3
star
48

kots-helm

Smarty
3
star
49

platform-examples

Large and small examples of Replicated Platform capabilities
Smarty
3
star
50

kotsapps

Mustache
3
star
51

ledismock

Go
3
star
52

cc-qa-automation

Coding Challenge: QA Automation Engineer
Go
3
star
53

replicated-starter-kubernetes

Starter repo for developing Kubernetes applications on Replicated
Makefile
3
star
54

docs

Replicated Documentation
CSS
3
star
55

terraform-kots-eks

HCL
3
star
56

kots-cicd-demo

3
star
57

action-kots-lint

Dockerfile
2
star
58

exfilter

C
2
star
59

replicated-preview

CoffeeScript
2
star
60

homebrew-replicated

Replicated Homebrew Tap
Ruby
2
star
61

kots-default-yaml

YAML files used for new KOTS projects
2
star
62

kgrid

Go
2
star
63

kubectl-grid

Go
2
star
64

replicated-starter-swarm

Starter repo for developing Docker Swarm applications on Replicated
Makefile
2
star
65

kurlkinds

Host of kurl's Kubernetes clients and types.
Go
2
star
66

terraform-provider-replicated

Go
2
star
67

codeclimate-dockerfile

A CodeClimate engine for Dockerfilelint
JavaScript
2
star
68

action-k3s

JavaScript
2
star
69

tslint-config-replicated

TypeScript
1
star
70

replicated-action

A GitHub Action to interact with the Replicated API
Dockerfile
1
star
71

action-kots-release

Dockerfile
1
star
72

crd-to-openapischema

Go
1
star
73

grafana-kube-demo

Makefile
1
star
74

action-okteto-test

JavaScript
1
star
75

community

1
star
76

troubleshoot-preview

Go
1
star
77

superbigtool-k8s

1
star
78

velero-exec-hooks-qa

Shell
1
star
79

kURL-testgrid

Testgrid is a an automation testing platform for kURL
Go
1
star
80

kots-idp-example-app

Go
1
star
81

replicated-scripts

Python
1
star
82

vendor-schemas

1
star
83

license-create-download-worker

TypeScript
1
star
84

kustomize-demo

JavaScript
1
star
85

embedded-cluster-operator

Go
1
star
86

terraform-provider-kURL

this repo will be used as terraform provisioning a customer kurl cluster based on their kurl installer config
HCL
1
star
87

kots2helm

Go
1
star
88

ship-starter-compose

Starter repo for developing Docker Compose / Swarm application on Ship
Makefile
1
star
89

dehydrated-docker

Makefile
1
star