• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

nolar / kopf / 76
87%
main: 0%

Build:
Build:
LAST BUILD BRANCH: refactor/fix-typo
DEFAULT BRANCH: main
Ran 29 Aug 2020 11:00PM UTC
Jobs 11
Files 56
Run time 21min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
76

push

travis-ci

nolar
Store compact JSON in annotations for better presentation in kubectl

Improve how the annotations look like in `kubectl` yaml-format: as one line,
not wrapped at arbitrary spaces, making it difficult to read and debug.

It will still be wrapped at spaces in the handler's progress field, e.g. message
(which contains error/exception messages), but this happens not so often.

The behaviour of the operators during the switch is not affected: they only
compare and operate on the actual values, not their string representation.
Mass-recoding is not expected either: the existing fields will be compacted
only on the next occasion when they are written for any other reason.

Note: this is the same as `kubectl` itself stores its own annotation.

Compare the output of a command during a sample operator run:

```
kubectl get -o yaml -f examples/obj.yaml
```

Before:

```
apiVersion: zalando.org/v1
kind: KopfExample
metadata:
  annotations:
    kopf.zalando.org/last-handled-configuration: '{"spec":{"duration":"1m","field":"value","items":["item1","item2"],"x":600},"metadata":{"labels":{"somelabel":"somevalue"},"annotations":{"someannotation":"somevalue"}}}'
    kopf.zalando.org/update: '{"started": "2020-08-22T19:38:36.850462", "delayed":
      "2020-08-22T19:38:37.277965", "retries": 4, "success": false, "failure": false,
      "message": "None", "subrefs": ["update/s1", "update/s2", "update/s2/z1", "update/s2/z2",
      "update/s3", "update/s4", "update/s4/z1", "update/s4/z2"]}'
    kopf.zalando.org/update.s1: '{"started": "2020-08-22T19:38:36.851463", "stopped":
      "2020-08-22T19:38:36.853665", "retries": 1, "success": true, "failure": false}'
    kopf.zalando.org/update.s2: '{"started": "2020-08-22T19:38:36.851542", "stopped":
      "2020-08-22T19:38:37.134753", "retries": 2, "success": true, "failure": false,
      "subrefs": ["update/s2/z1", "update/s2/z2"]}'
    kopf.zalando.org/update.s2.z1: '{"started": "2020-08-22T19:38:36.997186", "stopped":
      "20... (continued)

962 of 1183 branches covered (81.32%)

Branch coverage included in aggregate %.

3406 of 3846 relevant lines covered (88.56%)

8.8 hits per line

Jobs
ID Job ID Ran Files Coverage
1 76.1 (CHANGE_MINIKUBE_NONE_USER=true KUBECONFIG=$HOME/.kube/config MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTREPORTERRORPROMPT=false MINIKUBE_IN_STYLE=true MINIKUBE_HOME=$HOME MINIKUBE_VERSION=latest KUBERNETES_VERSION=latest CLIENT=yes) 29 Aug 2020 11:00PM UTC 0
87.07
Travis Job 76.1
2 76.2 (CHANGE_MINIKUBE_NONE_USER=true KUBECONFIG=$HOME/.kube/config MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTREPORTERRORPROMPT=false MINIKUBE_IN_STYLE=true MINIKUBE_HOME=$HOME MINIKUBE_VERSION=latest KUBERNETES_VERSION=latest CLIENT=no) 29 Aug 2020 11:01PM UTC 0
86.69
Travis Job 76.2
3 76.3 (CHANGE_MINIKUBE_NONE_USER=true KUBECONFIG=$HOME/.kube/config MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTREPORTERRORPROMPT=false MINIKUBE_IN_STYLE=true MINIKUBE_HOME=$HOME MINIKUBE_VERSION=latest KUBERNETES_VERSION=v1.17.11 CLIENT=no) 29 Aug 2020 11:02PM UTC 0
86.69
Travis Job 76.3
4 76.4 (CHANGE_MINIKUBE_NONE_USER=true KUBECONFIG=$HOME/.kube/config MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTREPORTERRORPROMPT=false MINIKUBE_IN_STYLE=true MINIKUBE_HOME=$HOME MINIKUBE_VERSION=latest KUBERNETES_VERSION=v1.16.14 CLIENT=no) 29 Aug 2020 11:03PM UTC 0
86.69
Travis Job 76.4
5 76.5 (CHANGE_MINIKUBE_NONE_USER=true KUBECONFIG=$HOME/.kube/config MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTREPORTERRORPROMPT=false MINIKUBE_IN_STYLE=true MINIKUBE_HOME=$HOME MINIKUBE_VERSION=latest KUBERNETES_VERSION=v1.16.14 CLIENT=no CRDAPI=v1beta1) 29 Aug 2020 11:04PM UTC 0
86.69
Travis Job 76.5
6 76.6 (CHANGE_MINIKUBE_NONE_USER=true KUBECONFIG=$HOME/.kube/config MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTREPORTERRORPROMPT=false MINIKUBE_IN_STYLE=true MINIKUBE_HOME=$HOME MINIKUBE_VERSION=latest KUBERNETES_VERSION=v1.15.12 CLIENT=no CRDAPI=v1beta1) 29 Aug 2020 11:08PM UTC 0
86.69
Travis Job 76.6
7 76.7 (CHANGE_MINIKUBE_NONE_USER=true KUBECONFIG=$HOME/.kube/config MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTREPORTERRORPROMPT=false MINIKUBE_IN_STYLE=true MINIKUBE_HOME=$HOME MINIKUBE_VERSION=latest KUBERNETES_VERSION=v1.14.10 CLIENT=no CRDAPI=v1beta1) 29 Aug 2020 11:09PM UTC 0
86.69
Travis Job 76.7
8 76.8 (CHANGE_MINIKUBE_NONE_USER=true KUBECONFIG=$HOME/.kube/config MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTREPORTERRORPROMPT=false MINIKUBE_IN_STYLE=true MINIKUBE_HOME=$HOME MINIKUBE_VERSION=latest KUBERNETES_VERSION=v1.13.12 CLIENT=no CRDAPI=v1beta1) 29 Aug 2020 11:10PM UTC 0
86.69
Travis Job 76.8
9 76.9 (CHANGE_MINIKUBE_NONE_USER=true KUBECONFIG=$HOME/.kube/config MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTREPORTERRORPROMPT=false MINIKUBE_IN_STYLE=true MINIKUBE_HOME=$HOME MINIKUBE_VERSION=latest KUBERNETES_VERSION=latest CLIENT=yes) 29 Aug 2020 11:10PM UTC 0
87.06
Travis Job 76.9
10 76.10 (CHANGE_MINIKUBE_NONE_USER=true KUBECONFIG=$HOME/.kube/config MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTREPORTERRORPROMPT=false MINIKUBE_IN_STYLE=true MINIKUBE_HOME=$HOME MINIKUBE_VERSION=latest KUBERNETES_VERSION=latest CLIENT=no) 29 Aug 2020 11:15PM UTC 0
86.67
Travis Job 76.10
11 76.11 (CHANGE_MINIKUBE_NONE_USER=true KUBECONFIG=$HOME/.kube/config MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTREPORTERRORPROMPT=false MINIKUBE_IN_STYLE=true MINIKUBE_HOME=$HOME MINIKUBE_VERSION=latest KUBERNETES_VERSION=latest CLIENT=yes) 29 Aug 2020 11:14PM UTC 0
0.0
Travis Job 76.11
Source Files on build 76
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #76
  • 30b02c54 on github
  • Prev Build on compact-json (#32)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc