argo-workflows: argo lint fails with "invalid configuration: no configuration has been provided"
Repro steps:
Checklist:
- I’ve included the version.
- I’ve included reproduction steps.
- I’ve included the workflow YAML.
- I’ve included the logs.
What happened:
argo lint workflow.yaml
used to work in Argo v2.3.0, but it no longer works in Argo v.2.7.4
Error: time=“2020-04-21T01:50:18Z” level=fatal msg=“invalid configuration: no configuration has been provided”
What you expected to happen:
I expect argo lint
to validate my workflow
How to reproduce it (as minimally and precisely as possible):
Download Argo CLI to some hermetic environment (e.g. Docker container under build). Try running argo lint workflow.yaml
. Get error.
Anything else we need to know?:
I think argo lint
might be trying to create Kubernetes client even though it’s not needed for linting.
Environment:
- Argo version:
v2.7.4
Message from the maintainers:
If you are impacted by this bug please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 15
- Comments: 38 (31 by maintainers)
Commits related to this issue
- Downgraded the Argo CLI version to 2.4.3 See https://github.com/argoproj/argo/issues/2793 — committed to Ark-kun/pipelines by Ark-kun 4 years ago
- feat!: Add offline mode to CLI. Closes #2793 — committed to alexec/argo-workflows by alexec 4 years ago
- Upgraded Argo to v2.7.5 (#3537) * Upgraded Argo to v2.7.4 * Downgraded the Argo CLI version to 2.4.3 See https://github.com/argoproj/argo/issues/2793 * Removed the argo cli arg that had been remov... — committed to kubeflow/pipelines by Ark-kun 4 years ago
- update from master (#2) * [UI] Show step pod yaml and events in RunDetails page (#3304) * [UI Server] Pod info handler * [UI] Pod info tab in run details page * Change pod info preview to us... — committed to EngHabu/pipelines by deleted user 4 years ago
- fix(cli)!: Enable CLI to work without kube config. Closes #3383, #2793 (#3385) — committed to argoproj/argo-workflows by alexec 4 years ago
- Upgraded Argo to v2.7.5 (#3537) * Upgraded Argo to v2.7.4 * Downgraded the Argo CLI version to 2.4.3 See https://github.com/argoproj/argo/issues/2793 * Removed the argo cli arg that had been remov... — committed to Jeffwan/pipelines by Ark-kun 4 years ago
This is still a PROBLEM. Running an argo server is not acceptable for something that’s supposed to be linting. It’s not a unit test. It’s not a dry run. It’s not supposed to know if the parameters are passed in right. It’s not supposed to know about other workflows and whether or not they exist.
It just needs to lint it and make sure that no one did something like:
(real live example that I’m trying to stop from ever happening again)
This is what everyone is asking for. Not a “would this work if I launched it now?” but “did I screw up my yaml on accident?” or “did I misinterpret the docs at some point?”
Is it possible to lint templates offline?
I’m experiencing the same issue inside a dockerfile which run
argo version
is it also mandatory that argo will have a connection for using theversion
command?