Skip to content

Commit

Permalink
feat: kbcli support report (#3793)
Browse files Browse the repository at this point in the history
  • Loading branch information
shanshanying authored Jun 28, 2023
1 parent b26db02 commit e790ec2
Show file tree
Hide file tree
Showing 21 changed files with 2,064 additions and 49 deletions.
8 changes: 8 additions & 0 deletions docs/user_docs/cli/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,14 @@ Provides utilities for interacting with plugins.
* [kbcli plugin upgrade](kbcli_plugin_upgrade.md) - Upgrade kbcli or kubectl plugins


## [report](kbcli_report.md)

report kubeblocks or cluster info.

* [kbcli report cluster](kbcli_report_cluster.md) - Report Cluster information
* [kbcli report kubeblocks](kbcli_report_kubeblocks.md) - Report KubeBlocks information, including deployments, events, logs, etc.


## [version](kbcli_version.md)

Print the version information, include kubernetes, KubeBlocks and kbcli version.
Expand Down
1 change: 1 addition & 0 deletions docs/user_docs/cli/kbcli.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ kbcli [flags]
* [kbcli options](kbcli_options.md) - Print the list of flags inherited by all commands.
* [kbcli playground](kbcli_playground.md) - Bootstrap or destroy a playground KubeBlocks in local host or cloud.
* [kbcli plugin](kbcli_plugin.md) - Provides utilities for interacting with plugins.
* [kbcli report](kbcli_report.md) - report kubeblocks or cluster info.
* [kbcli version](kbcli_version.md) - Print the version information, include kubernetes, KubeBlocks and kbcli version.

#### Go Back to [CLI Overview](cli.md) Homepage.
Expand Down
44 changes: 44 additions & 0 deletions docs/user_docs/cli/kbcli_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
title: kbcli report
---

report kubeblocks or cluster info.

### Options

```
-h, --help help for report
```

### Options inherited from parent commands

```
--as string Username to impersonate for the operation. User could be a regular user or a service account in a namespace.
--as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
--as-uid string UID to impersonate for the operation.
--cache-dir string Default cache directory (default "$HOME/.kube/cache")
--certificate-authority string Path to a cert file for the certificate authority
--client-certificate string Path to a client certificate file for TLS
--client-key string Path to a client key file for TLS
--cluster string The name of the kubeconfig cluster to use
--context string The name of the kubeconfig context to use
--disable-compression If true, opt-out of response compression for all requests to the server
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
--kubeconfig string Path to the kubeconfig file to use for CLI requests.
--match-server-version Require server version to match client version
-n, --namespace string If present, the namespace scope for this CLI request
--request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
-s, --server string The address and port of the Kubernetes API server
--tls-server-name string Server name to use for server certificate validation. If it is not provided, the hostname used to contact the server is used
--token string Bearer token for authentication to the API server
--user string The name of the kubeconfig user to use
```

### SEE ALSO


* [kbcli report cluster](kbcli_report_cluster.md) - Report Cluster information
* [kbcli report kubeblocks](kbcli_report_kubeblocks.md) - Report KubeBlocks information, including deployments, events, logs, etc.

#### Go Back to [CLI Overview](cli.md) Homepage.

78 changes: 78 additions & 0 deletions docs/user_docs/cli/kbcli_report_cluster.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
title: kbcli report cluster
---

Report Cluster information

```
kbcli report cluster NAME [-f file] [-with-logs] [-mask] [flags]
```

### Examples

```
# report KubeBlocks status
kbcli report cluster mycluster
# report KubeBlocks cluster information to file
kbcli report cluster mycluster -f filename
# report KubeBlocks cluster information with logs
kbcli report cluster mycluster --with-logs
# report KubeBlocks cluster information with logs and mask sensitive info
kbcli report cluster mycluster --with-logs --mask
# report KubeBlocks cluster information with logs since 1 hour ago
kbcli report cluster mycluster --with-logs --since 1h
# report KubeBlocks cluster information with logs since given time
kbcli report cluster mycluster --with-logs --since-time 2023-05-23T00:00:00Z
# report KubeBlocks cluster information with logs for all containers
kbcli report cluster mycluster --with-logs --all-containers
```

### Options

```
--all-containers Get all containers' logs in the pod(s). Byt default, only the main container (the first container) will have logs recorded.
-f, --file string zip file for output
-h, --help help for cluster
--mask mask sensitive info for secrets and configmaps (default true)
-o, --output string Output format. One of: json|yaml. (default "json")
--since duration Only return logs newer than a relative duration like 5s, 2m, or 3h. Defaults to all logs. Only one of since-time / since may be used.
--since-time string Only return logs after a specific date (RFC3339). Defaults to all logs. Only one of since-time / since may be used.
--with-logs include pod logs
```

### Options inherited from parent commands

```
--as string Username to impersonate for the operation. User could be a regular user or a service account in a namespace.
--as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
--as-uid string UID to impersonate for the operation.
--cache-dir string Default cache directory (default "$HOME/.kube/cache")
--certificate-authority string Path to a cert file for the certificate authority
--client-certificate string Path to a client certificate file for TLS
--client-key string Path to a client key file for TLS
--cluster string The name of the kubeconfig cluster to use
--context string The name of the kubeconfig context to use
--disable-compression If true, opt-out of response compression for all requests to the server
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
--kubeconfig string Path to the kubeconfig file to use for CLI requests.
--match-server-version Require server version to match client version
-n, --namespace string If present, the namespace scope for this CLI request
--request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
-s, --server string The address and port of the Kubernetes API server
--tls-server-name string Server name to use for server certificate validation. If it is not provided, the hostname used to contact the server is used
--token string Bearer token for authentication to the API server
--user string The name of the kubeconfig user to use
```

### SEE ALSO

* [kbcli report](kbcli_report.md) - report kubeblocks or cluster info.

#### Go Back to [CLI Overview](cli.md) Homepage.

69 changes: 69 additions & 0 deletions docs/user_docs/cli/kbcli_report_kubeblocks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
title: kbcli report kubeblocks
---

Report KubeBlocks information, including deployments, events, logs, etc.

```
kbcli report kubeblocks [-f file] [--with-logs] [--mask] [flags]
```

### Examples

```
# report KubeBlocks status
kbcli report kubeblocks
# report KubeBlocks information to file
kbcli report kubeblocks -f filename
# report KubeBlocks information with logs
kbcli report kubeblocks --with-logs
# report KubeBlocks information with logs and mask sensitive info
kbcli report kubeblocks --with-logs --mask
```

### Options

```
--all-containers Get all containers' logs in the pod(s). Byt default, only the main container (the first container) will have logs recorded.
-f, --file string zip file for output
-h, --help help for kubeblocks
--mask mask sensitive info for secrets and configmaps (default true)
-o, --output string Output format. One of: json|yaml. (default "json")
--since duration Only return logs newer than a relative duration like 5s, 2m, or 3h. Defaults to all logs. Only one of since-time / since may be used.
--since-time string Only return logs after a specific date (RFC3339). Defaults to all logs. Only one of since-time / since may be used.
--with-logs include pod logs
```

### Options inherited from parent commands

```
--as string Username to impersonate for the operation. User could be a regular user or a service account in a namespace.
--as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
--as-uid string UID to impersonate for the operation.
--cache-dir string Default cache directory (default "$HOME/.kube/cache")
--certificate-authority string Path to a cert file for the certificate authority
--client-certificate string Path to a client certificate file for TLS
--client-key string Path to a client key file for TLS
--cluster string The name of the kubeconfig cluster to use
--context string The name of the kubeconfig context to use
--disable-compression If true, opt-out of response compression for all requests to the server
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
--kubeconfig string Path to the kubeconfig file to use for CLI requests.
--match-server-version Require server version to match client version
-n, --namespace string If present, the namespace scope for this CLI request
--request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
-s, --server string The address and port of the Kubernetes API server
--tls-server-name string Server name to use for server certificate validation. If it is not provided, the hostname used to contact the server is used
--token string Bearer token for authentication to the API server
--user string The name of the kubeconfig user to use
```

### SEE ALSO

* [kbcli report](kbcli_report.md) - report kubeblocks or cluster info.

#### Go Back to [CLI Overview](cli.md) Homepage.

2 changes: 2 additions & 0 deletions internal/cli/cmd/cli.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ import (
"github.com/apecloud/kubeblocks/internal/cli/cmd/options"
"github.com/apecloud/kubeblocks/internal/cli/cmd/playground"
"github.com/apecloud/kubeblocks/internal/cli/cmd/plugin"
"github.com/apecloud/kubeblocks/internal/cli/cmd/report"
"github.com/apecloud/kubeblocks/internal/cli/cmd/version"
"github.com/apecloud/kubeblocks/internal/cli/types"
"github.com/apecloud/kubeblocks/internal/cli/util"
Expand Down Expand Up @@ -181,6 +182,7 @@ A Command Line Interface for KubeBlocks`,
plugin.NewPluginCmd(ioStreams),
fault.NewFaultCmd(f, ioStreams),
builder.NewBuilderCmd(f, ioStreams),
report.NewReportCmd(f, ioStreams),
)

filters := []string{"options"}
Expand Down
Loading

0 comments on commit e790ec2

Please sign in to comment.