Improve --json behaviour with interactive prompts
- Dominant language
- Go
- Stars
- 1.1k
- Forks
- 134
- PR merge metrics
- No merged PRs in 30d
Description
**What steps did you take:**
Create an ``example.yaml`` file containing:
```
apiVersion: v1
kind: ConfigMap
metadata:
name: xxx
data:
xyz: abc
```
Run:
```
kapp deploy -a website -f example.yaml --json
```
**What happened:**
It appeared to crash and generate a Golang stack trace.
```
{
"Tables": [
{
"Content": "",
"Header": {
"age": "Age",
"conditions": "Conds.",
"kind": "Kind",
"name": "Name",
"namespace": "Namespace",
"op": "Op",
"op_strategy": "Op st.",
"reconcile_info": "Ri",
"reconcile_state": "Rs",
"wait_to": "Wait to"
},
"Rows": [
{
"age": "",
"conditions": "",
"kind": "ConfigMap",
"name": "xxx",
"namespace": "lab-carvel-ytt-01-w01-s002",
"op": "create",
"op_strategy": "",
"reconcile_info": "",
"reconcile_state": "",
"wait_to": "reconcile"
}
],
"Notes": [
"Op: 1 create, 0 delete, 0 update, 0 noop",
"Wait to: 1 reconcile, 0 delete, 0 noop"
]
}
],
"Blocks": null,
"Lines": [
"Target cluster 'https://10.96.0.1:443'"
]
}panic: Cannot ask for confirmation in JSON UI
goroutine 1 [running]:
github.com/cppforlife/go-cli-ui/ui.(*JSONUI).AskForConfirmation(0xc0003daa00, 0x1535358, 0xc000cad1d0)
github.com/cppforlife/go-cli-ui@v0.0.0-20200716203538-1e47f820817f/ui/json_ui.go:114 +0x39
github.com/cppforlife/go-cli-ui/ui.(*ConfUI).AskForConfirmation(0xc0003ebd80, 0xc0001be140, 0xc0000791a0)
github.com/cppforlife/go-cli-ui@v0.0.0-20200716203538-1e47f820817f/ui/conf_ui.go:105 +0x33
github.com/k14s/kapp/pkg/kapp/cmd/app.(*DeployOptions).Run(0xc00012cc80, 0x0, 0x0)
github.com/k14s/kapp/pkg/kapp/cmd/app/deploy.go:171 +0xc8f
github.com/k14s/kapp/pkg/kapp/cmd/app.NewDeployCmd.func1(0xc00013f340, 0xc00007df90, 0x0, 0x5, 0xc000374580, 0x1527ef0)
github.com/k14s/kapp/pkg/kapp/cmd/app/deploy.go:54 +0x2a
github.com/k14s/kapp/pkg/kapp/cmd.NewKappCmd.func1.1(0xc00013f340, 0xc00007df90, 0x0, 0x5, 0x0, 0x0)
github.com/k14s/kapp/pkg/kapp/cmd/kapp.go:126 +0xb8
github.com/cppforlife/cobrautil.WrapRunEForCmd.func1.1(0xc00013f340, 0xc00007df90, 0x0, 0x5, 0x0, 0x0)
github.com/cppforlife/cobrautil@v0.0.0-20200514214827-bb86e6965d72/misc.go:45 +0xb2
github.com/cppforlife/cobrautil.WrapRunEForCmd.func1.1(0xc00013f340, 0xc00007df90, 0x0, 0x5, 0x0, 0x0)
github.com/cppforlife/cobrautil@v0.0.0-20200514214827-bb86e6965d72/misc.go:45 +0xb2
github.com/cppforlife/cobrautil.WrapRunEForCmd.func1.1(0xc00013f340, 0xc00007df90, 0x0, 0x5, 0x0, 0x0)
github.com/cppforlife/cobrautil@v0.0.0-20200514214827-bb86e6965d72/misc.go:45 +0xb2
github.com/spf13/cobra.(*Command).execute(0xc00013f340, 0xc00007df40, 0x5, 0x5, 0xc00013f340, 0xc00007df40)
github.com/spf13/cobra@v1.1.1/command.go:850 +0x472
github.com/spf13/cobra.(*Command).ExecuteC(0xc00013e580, 0xc00013e580, 0xc0003ebd80, 0x7f73f8ce0108)
github.com/spf13/cobra@v1.1.1/command.go:958 +0x375
github.com/spf13/cobra.(*Command).Execute(...)
github.com/spf13/cobra@v1.1.1/command.go:895
main.nonExitingMain(0x0, 0x0)
github.com/k14s/kapp/cmd/kapp/kapp.go:42 +0x167
main.main()
github.com/k14s/kapp/cmd/kapp/kapp.go:21 +0x26
```
**What did you expect:**
Am not sure. I was trying to work out what the ``--json`` option actually did when it occurred, so not sure if this is expected and normal, but it sort of looks wrong.
**Anything else you would like to add:**
Nope.
**Environment:**
```
$ kapp --version
kapp version 0.37.0
```
---
Vote on this request
This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.
👍 "I would like to see this addressed as soon as possible"
👎 "There are other more important things to focus on right now"
We are also happy to receive and review Pull Requests if you want to help working on this issue.
cc @jorgemoralespou
Contributor guide
Assessment
This issue has not been assessed yet.