Wait¶
Wait for a specific condition on one or many resources.
Deprecated syntax
You can specify the resource
directly instead of using apiVersion
and kind
.
This is a deprecated syntax though and will be removed in a future version.
Configuration¶
The full structure of the Wait
resource is documented here.
Features¶
Supported features | |
---|---|
Bindings support | |
Outputs support | |
Templating support | |
Operation checks support |
Clustered resources¶
When used with a clustered resource, the namespace
is ignored and is not added to the corresponding kubectl
command.
All resources¶
If you don't specify a name
or a selector
, the wait
operation will consider all
resources.
Test namespace¶
When used with a namespaced resource, Chainsaw will default the scope to the ephemeral test namespace.
All namespaces¶
When used with a namespaced resource, it is possible to consider all namespaces in the cluster by setting namespace: '*'
.
Examples¶
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
# wait all pods are ready in the test namespace
- wait:
apiVersion: v1
kind: Pod
timeout: 1m
for:
condition:
name: Ready
value: 'true'
---
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
- wait:
apiVersion: v1
kind: Pod
# wait a specific pod is ready in the test namespace
name: my-pod
timeout: 1m
for:
condition:
name: Ready
value: 'true'
---
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
- wait:
apiVersion: v1
kind: Pod
# wait all pods are ready in the namespace `foo`
namespace: foo
timeout: 1m
for:
condition:
name: Ready
value: 'true'
Label selector¶
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
- wait:
apiVersion: v1
kind: Pod
# match pods using a label selector query
selector: app=foo
timeout: 1m
for:
condition:
name: Ready
value: 'true'
Deletion¶
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
- wait:
apiVersion: v1
kind: Pod
timeout: 1m
for:
# wait for deletion
deletion: {}
Format¶
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
- wait:
apiVersion: v1
kind: Pod
format: json