Code Monkey home page Code Monkey logo

apicurio-registry-operator's Introduction

Apicurio Registry Operator

Apicurio Registry Operator provides a quick and easy way to deploy and manage Apicurio Registry on Kubernetes or OpenShift.

Deployment Requirements

The Apicurio Registry Operator supports the following platform versions:

Table 1. Apicurio Registry Operator platforms
Platform Required version

Kubernetes

1.19+

OpenShift

4.6+

Build Requirements

  • Docker

  • go v1.20 (with export GO111MODULE='on', $GOPATH and $GOROOT)

  • Operator SDK v1.14

  • A running Kubernetes (Minikube) or OpenShift (Minishift) cluster with system admin access

Quickstart

This section explains how to quickly install development version of the Apicurio Registry Operator on the command line.

Note
The recommended installation option for non-development environments is OperatorHub.io. The recommended storage options are SQL or Kafka. Please visit the latest Apicurio Registry and Operator documentation.
Procedure
  1. Prepare your Kubernetes or OpenShift cluster. If you are using Minikube, run:

    minikube addons enable ingress
  2. Build the latest distribution bundle:

    make dist
    Note
    Run make without any parameters to get a help message.
  3. Follow the instructions in ./dist/README.adoc file.

Build and Deploy Apicurio Registry Operator

This section explains how to build Apicurio Registry Operator on your own and deploy it for testing and development.

Procedure
  1. Prepare your Kubernetes or OpenShift cluster. If you are using Minikube, run:

    minikube addons enable ingress
    Note
    Run export CLIENT="oc" if you are deploying to OpenShift.
  2. Choose a namespace where the Operator will be deployed:

    export NAMESPACE="apicurio-registry-operator"
    kubectl create namespace "$NAMESPACE"
  3. Choose a Docker registry where to push the operator images that you build, e.g. quay.io/foo:

    export OPERATOR_IMAGE_REPOSITORY="quay.io/foo"
  4. The following command will build the operator image, push it into your registry, and deploy it to the selected namespace in your cluster.

    make build docker-push deploy
  5. To remove the operator from your cluster, run:

    make undeploy

Deploy Apicurio Registry

After the Apicurio Registry Operator has been deployed, it can deploy an Apicurio Registry instance.

Procedure
  1. To create a new Apicurio Registry deployment, the fastest way is to use one of the example ApicurioRegistry custom resources:

    cat config/examples/resources/apicurioregistry_mem_cr.yaml | kubectl apply -f - -n "$NAMESPACE"
  2. Optionally, build the latest distribution bundle that contains additional examples:

    make dist
  3. Verify that your Apicurio Registry deployment is healthy (for Minikube). Find out the hostname of the deployed Apicurio Registry:

    kubectl get ingress -n "$NAMESPACE"
    export HOSTNAME="..."
    ./hack/modify_etc_hosts.sh "$HOSTNAME"

    and issue a request to the metrics endpoint:

    curl "http://$HOSTNAME/health"
    Note
    The in-memory deployment is not suitable for production. We recommend using SQL or Kafka persistence options for that. See the documentation for more information.

Notes

Create an issue on GitHub if you find any problems.

You can find more information on the Apicurio website.

apicurio-registry-operator's People

Contributors

ajborley avatar akoserwal avatar andyhuynh3 avatar apicurio-ci avatar carlesarnal avatar danlenar avatar dweber019 avatar ericwittmann avatar hahlawat avatar jhughes24816 avatar jjjjjones avatar jsenko avatar kumarvikramshahi avatar obabec avatar redhathameed avatar riprasad avatar rkubis avatar schen1 avatar smccarthy-ie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

apicurio-registry-operator's Issues

Capability Level 5 - AutoPilot

Auto-scaling

  • Operator can scale the operand up/out
  • Operator can scale the operand down/in

Auto-Healing

  • Operator can automatically heal an unhealthy operand

Auto-tuning

  • Operator is able to tune the operand for ideal performance

Workload optimization

  • Operator dynamically shift workloads onto the best suited nodes

Abnormality detection

  • Operator is able to learn the normal performance patterns of operand
  • Operator is able to detect abnormalities outside of normal patterns

Tasks

  • Can your operator read metrics such as requests per second or other relevant metrics and auto-scale horizontally or vertically, i.e., increasing the number of pods or resources used by pods?
  • Based on question number 1 can it scale down or decrease the number of pods or the total amount of resources used by pods?
  • Based on the deep insights built upon level 4 capabilities can your operator determine when an operand became unhealthy and take action such as redeploying, changing configurations, restoring backups etc.?
  • Again considering that with level 4 deep insights the operator has information to learn the performance baseline dynamically and can learn the best configurations for peak performance can it adjust the configurations to do so?
  • Can it move the workloads to better nodes to do so?
  • Can it detect and alert when anything is working below the learned performance baseline that can’t be corrected automatically?

Operador does not delete all resources

Same as #43

Deleteing a CR instance does not delete the registry deployment

Resources when the registry is deployed

$ oc get all
NAME                                                READY     STATUS      RESTARTS   AGE
pod/apicurio-registry-operator-6678c79b7f-rxvlb     1/1       Running     0          4m48s
pod/infinispan-registry-deployment-zgr7r-1-b2v89    1/1       Running     0          32s
pod/infinispan-registry-deployment-zgr7r-1-deploy   0/1       Completed   0          35s

NAME                                                           DESIRED   CURRENT   READY     AGE
replicationcontroller/infinispan-registry-deployment-zgr7r-1   1         1         1         35s

NAME                                         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)             AGE
service/apicurio-registry-operator-metrics   ClusterIP   172.30.179.8    <none>        8383/TCP,8686/TCP   19h
service/infinispan-registry-service-6dvx8    ClusterIP   172.30.115.61   <none>        8080/TCP            35s

NAME                                         READY     UP-TO-DATE   AVAILABLE   AGE
deployment.apps/apicurio-registry-operator   1/1       1            1           19h

NAME                                                    DESIRED   CURRENT   READY     AGE
replicaset.apps/apicurio-registry-operator-6678c79b7f   1         1         1         19h

NAME                                                                      REVISION   DESIRED   CURRENT   TRIGGERED BY
deploymentconfig.apps.openshift.io/infinispan-registry-deployment-zgr7r   1          1         1         config

NAME                                                               HOST/PORT                                                                         PATH      SERVICES                            PORT      TERMINATION   WILDCARD
route.route.openshift.io/infinispan-registry-ingress-7x8kb-9hszc   infinispan-registry.test-registry.apxxxxxxxx   /         infinispan-registry-service-6dvx8   <all>                   None

Resources after deleteing the CR instance

$ oc get all
NAME                                                READY     STATUS      RESTARTS   AGE
pod/apicurio-registry-operator-6678c79b7f-rxvlb     1/1       Running     0          6m28s
pod/infinispan-registry-deployment-zgr7r-1-b2v89    1/1       Running     0          2m12s
pod/infinispan-registry-deployment-zgr7r-1-deploy   0/1       Completed   0          2m15s

NAME                                                           DESIRED   CURRENT   READY     AGE
replicationcontroller/infinispan-registry-deployment-zgr7r-1   1         1         1         2m15s

NAME                                         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)             AGE
service/apicurio-registry-operator-metrics   ClusterIP   172.30.179.8   <none>        8383/TCP,8686/TCP   19h

NAME                                         READY     UP-TO-DATE   AVAILABLE   AGE
deployment.apps/apicurio-registry-operator   1/1       1            1           19h

NAME                                                    DESIRED   CURRENT   READY     AGE
replicaset.apps/apicurio-registry-operator-6678c79b7f   1         1         1         19h

NAME                                                                      REVISION   DESIRED   CURRENT   TRIGGERED BY
deploymentconfig.apps.openshift.io/infinispan-registry-deployment-zgr7r   1          1         1         config

Operator logs can be found here https://gist.github.com/famartinrh/837ee080b4785cca9b5718fafdba13cc

Operator fails to create ingress

I'm testing the operator using the image quay.io/jsenkorh/apicurio-registry-operator:0.0.1 and the operator fails to create the ingress.

This is the CR I'm using

kind: ApicurioRegistry
metadata:
  name: apicurio-registry-kafka
spec:
  image:
    override: docker.io/apicurio/apicurio-registry-kafka:latest-snapshot
    registry: dummy
    version: dummy
  deployment:
    route: XXXXXXXXXXXXXXXXXXXXX
  configuration:
    persistence: kafka
    kafka:
      bootstrapServers: my-cluster-kafka-bootstrap:9092

my route is different than showed :) that points to a correct name in my cluster's domain

And here the logs of the operator:

{"level":"info","ts":1589382154.3270311,"logger":"cmd","msg":"Go OS/Arch: linux/amd64"}
{"level":"info","ts":1589382154.32704,"logger":"cmd","msg":"Version of operator-sdk: v0.9.0"}
{"level":"info","ts":1589382154.327934,"logger":"leader","msg":"Trying to become the leader."}
{"level":"info","ts":1589382154.5170205,"logger":"leader","msg":"Found existing lock","LockOwner":"apicurio-registry-operator-7745b86ccb-5p99s"}
{"level":"info","ts":1589382154.52697,"logger":"leader","msg":"Not the leader. Waiting."}
{"level":"info","ts":1589382155.657537,"logger":"leader","msg":"Not the leader. Waiting."}
{"level":"info","ts":1589382158.0425,"logger":"leader","msg":"Not the leader. Waiting."}
{"level":"info","ts":1589382162.5823815,"logger":"leader","msg":"Not the leader. Waiting."}
{"level":"info","ts":1589382171.290233,"logger":"leader","msg":"Became the leader."}
{"level":"info","ts":1589382171.430243,"logger":"cmd","msg":"Registering Components."}
{"level":"info","ts":1589382171.4304914,"logger":"kubebuilder.controller","msg":"Starting EventSource","controller":"apicurioregistry-controller","source":"kind source: /, Kind="}
{"level":"info","ts":1589382171.610935,"logger":"cmd","msg":"Starting the Cmd."}
{"level":"info","ts":1589382171.7113874,"logger":"kubebuilder.controller","msg":"Starting Controller","controller":"apicurioregistry-controller"}
{"level":"info","ts":1589382171.8117168,"logger":"kubebuilder.controller","msg":"Starting workers","controller":"apicurioregistry-controller","worker count":1}
{"level":"info","ts":1589382196.2202911,"logger":"controller_apicurioregistry","msg":"ApicurioRegistryReconciler executing.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka"}
{"level":"info","ts":1589382196.2225523,"logger":"kubebuilder.controller","msg":"Starting EventSource","controller":"apicurioregistry-controller","source":"kind source: /, Kind="}
{"level":"info","ts":1589382196.3230376,"logger":"kubebuilder.controller","msg":"Starting EventSource","controller":"apicurioregistry-controller","source":"kind source: /, Kind="}
{"level":"info","ts":1589382196.4234774,"logger":"kubebuilder.controller","msg":"Starting EventSource","controller":"apicurioregistry-controller","source":"kind source: /, Kind="}
{"level":"info","ts":1589382196.6110923,"logger":"controller_apicurioregistry","msg":"New Deployment name is apicurio-registry-kafka-deployment-tjj96"}
{"level":"info","ts":1589382196.634277,"logger":"controller_apicurioregistry","msg":"New Service name is apicurio-registry-kafka-service-9ztmn"}
{"level":"error","ts":1589382196.6432755,"logger":"controller_apicurioregistry","msg":"Failed to create a new Ingress.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-cpzfd\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*IngressCF).Respond\n\tapicurio-registry/pkg/controller/apicurioregistry/ingress_cf.go:105\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:111\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382196.6433573,"logger":"controller_apicurioregistry","msg":"Error during the RESPOND phase of 'Ingress Creation' CF.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-cpzfd\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:116\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382196.6622725,"logger":"controller_apicurioregistry","msg":"Warning: Error getting Ingress.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka","error":"No ingress name in status yet.","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*HostConfigCF).Sense\n\tapicurio-registry/pkg/controller/apicurioregistry/host_cfg_cf.go:31\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:94\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"info","ts":1589382196.6623468,"logger":"controller_apicurioregistry","msg":"Updating environment variables.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka"}
{"level":"info","ts":1589382196.6814442,"logger":"controller_apicurioregistry","msg":"Environment variables updated.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka"}
{"level":"info","ts":1589382196.720412,"logger":"controller_apicurioregistry","msg":"ApicurioRegistryReconciler executing.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka"}
{"level":"error","ts":1589382196.741497,"logger":"controller_apicurioregistry","msg":"Failed to create a new Ingress.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-llzls\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*IngressCF).Respond\n\tapicurio-registry/pkg/controller/apicurioregistry/ingress_cf.go:105\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:111\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382196.7415862,"logger":"controller_apicurioregistry","msg":"Error during the RESPOND phase of 'Ingress Creation' CF.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-llzls\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:116\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382196.7502227,"logger":"controller_apicurioregistry","msg":"Warning: Error getting Ingress.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka","error":"No ingress name in status yet.","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*HostConfigCF).Sense\n\tapicurio-registry/pkg/controller/apicurioregistry/host_cfg_cf.go:31\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:94\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"info","ts":1589382196.783842,"logger":"controller_apicurioregistry","msg":"ApicurioRegistryReconciler executing.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka"}
{"level":"error","ts":1589382196.8007913,"logger":"controller_apicurioregistry","msg":"Failed to create a new Ingress.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-4j7pb\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*IngressCF).Respond\n\tapicurio-registry/pkg/controller/apicurioregistry/ingress_cf.go:105\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:111\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382196.800889,"logger":"controller_apicurioregistry","msg":"Error during the RESPOND phase of 'Ingress Creation' CF.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-4j7pb\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:116\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382196.808959,"logger":"controller_apicurioregistry","msg":"Warning: Error getting Ingress.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka","error":"No ingress name in status yet.","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*HostConfigCF).Sense\n\tapicurio-registry/pkg/controller/apicurioregistry/host_cfg_cf.go:31\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:94\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"info","ts":1589382196.9481022,"logger":"controller_apicurioregistry","msg":"ApicurioRegistryReconciler executing.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka"}
{"level":"error","ts":1589382197.1438816,"logger":"controller_apicurioregistry","msg":"Failed to create a new Ingress.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-zth7f\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*IngressCF).Respond\n\tapicurio-registry/pkg/controller/apicurioregistry/ingress_cf.go:105\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:111\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382197.1439652,"logger":"controller_apicurioregistry","msg":"Error during the RESPOND phase of 'Ingress Creation' CF.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-zth7f\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:116\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382197.5286036,"logger":"controller_apicurioregistry","msg":"Warning: Error getting Ingress.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka","error":"No ingress name in status yet.","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*HostConfigCF).Sense\n\tapicurio-registry/pkg/controller/apicurioregistry/host_cfg_cf.go:31\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:94\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"info","ts":1589382197.7467394,"logger":"controller_apicurioregistry","msg":"ApicurioRegistryReconciler executing.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka"}
{"level":"error","ts":1589382197.9395401,"logger":"controller_apicurioregistry","msg":"Failed to create a new Ingress.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-xwqlz\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*IngressCF).Respond\n\tapicurio-registry/pkg/controller/apicurioregistry/ingress_cf.go:105\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:111\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382197.9396074,"logger":"controller_apicurioregistry","msg":"Error during the RESPOND phase of 'Ingress Creation' CF.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-xwqlz\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:116\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382198.3289142,"logger":"controller_apicurioregistry","msg":"Warning: Error getting Ingress.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka","error":"No ingress name in status yet.","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*HostConfigCF).Sense\n\tapicurio-registry/pkg/controller/apicurioregistry/host_cfg_cf.go:31\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:94\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"info","ts":1589382198.548462,"logger":"controller_apicurioregistry","msg":"ApicurioRegistryReconciler executing.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka"}
{"level":"error","ts":1589382198.7412677,"logger":"controller_apicurioregistry","msg":"Failed to create a new Ingress.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-t7t5x\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*IngressCF).Respond\n\tapicurio-registry/pkg/controller/apicurioregistry/ingress_cf.go:105\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:111\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382198.7413366,"logger":"controller_apicurioregistry","msg":"Error during the RESPOND phase of 'Ingress Creation' CF.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-t7t5x\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:116\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382199.1277428,"logger":"controller_apicurioregistry","msg":"Warning: Error getting Ingress.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka","error":"No ingress name in status yet.","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*HostConfigCF).Sense\n\tapicurio-registry/pkg/controller/apicurioregistry/host_cfg_cf.go:31\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:94\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"info","ts":1589382199.3502197,"logger":"controller_apicurioregistry","msg":"ApicurioRegistryReconciler executing.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka"}
{"level":"error","ts":1589382199.5392659,"logger":"controller_apicurioregistry","msg":"Failed to create a new Ingress.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-q665f\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*IngressCF).Respond\n\tapicurio-registry/pkg/controller/apicurioregistry/ingress_cf.go:105\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:111\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382199.5393598,"logger":"controller_apicurioregistry","msg":"Error during the RESPOND phase of 'Ingress Creation' CF.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-q665f\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:116\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382199.9324536,"logger":"controller_apicurioregistry","msg":"Warning: Error getting Ingress.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka","error":"No ingress name in status yet.","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*HostConfigCF).Sense\n\tapicurio-registry/pkg/controller/apicurioregistry/host_cfg_cf.go:31\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:94\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"info","ts":1589382200.1485674,"logger":"controller_apicurioregistry","msg":"ApicurioRegistryReconciler executing.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka"}
{"level":"error","ts":1589382200.3393104,"logger":"controller_apicurioregistry","msg":"Failed to create a new Ingress.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-4gmt9\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*IngressCF).Respond\n\tapicurio-registry/pkg/controller/apicurioregistry/ingress_cf.go:105\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:111\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382200.3394048,"logger":"controller_apicurioregistry","msg":"Error during the RESPOND phase of 'Ingress Creation' CF.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-4gmt9\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:116\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382200.729456,"logger":"controller_apicurioregistry","msg":"Warning: Error getting Ingress.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka","error":"No ingress name in status yet.","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*HostConfigCF).Sense\n\tapicurio-registry/pkg/controller/apicurioregistry/host_cfg_cf.go:31\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:94\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"info","ts":1589382200.9471638,"logger":"controller_apicurioregistry","msg":"ApicurioRegistryReconciler executing.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka"}
{"level":"error","ts":1589382201.1435034,"logger":"controller_apicurioregistry","msg":"Failed to create a new Ingress.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-h778b\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*IngressCF).Respond\n\tapicurio-registry/pkg/controller/apicurioregistry/ingress_cf.go:105\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:111\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382201.143571,"logger":"controller_apicurioregistry","msg":"Error during the RESPOND phase of 'Ingress Creation' CF.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-h778b\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:116\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382201.5278492,"logger":"controller_apicurioregistry","msg":"Warning: Error getting Ingress.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka","error":"No ingress name in status yet.","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*HostConfigCF).Sense\n\tapicurio-registry/pkg/controller/apicurioregistry/host_cfg_cf.go:31\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:94\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"info","ts":1589382201.747443,"logger":"controller_apicurioregistry","msg":"ApicurioRegistryReconciler executing.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka"}
{"level":"error","ts":1589382201.9410987,"logger":"controller_apicurioregistry","msg":"Failed to create a new Ingress.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-dxv8p\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*IngressCF).Respond\n\tapicurio-registry/pkg/controller/apicurioregistry/ingress_cf.go:105\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:111\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382201.9411905,"logger":"controller_apicurioregistry","msg":"Error during the RESPOND phase of 'Ingress Creation' CF.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-dxv8p\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:116\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382202.3288717,"logger":"controller_apicurioregistry","msg":"Warning: Error getting Ingress.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka","error":"No ingress name in status yet.","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*HostConfigCF).Sense\n\tapicurio-registry/pkg/controller/apicurioregistry/host_cfg_cf.go:31\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:94\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"info","ts":1589382203.0276544,"logger":"controller_apicurioregistry","msg":"ApicurioRegistryReconciler executing.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka"}
{"level":"error","ts":1589382203.0438993,"logger":"controller_apicurioregistry","msg":"Failed to create a new Ingress.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-6g992\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*IngressCF).Respond\n\tapicurio-registry/pkg/controller/apicurioregistry/ingress_cf.go:105\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:111\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382203.0439615,"logger":"controller_apicurioregistry","msg":"Error during the RESPOND phase of 'Ingress Creation' CF.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-6g992\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:116\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382203.129574,"logger":"controller_apicurioregistry","msg":"Warning: Error getting Ingress.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka","error":"No ingress name in status yet.","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*HostConfigCF).Sense\n\tapicurio-registry/pkg/controller/apicurioregistry/host_cfg_cf.go:31\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:94\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"info","ts":1589382208.4698644,"logger":"controller_apicurioregistry","msg":"ApicurioRegistryReconciler executing.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka"}
{"level":"error","ts":1589382208.4879441,"logger":"controller_apicurioregistry","msg":"Failed to create a new Ingress.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-cs7bq\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*IngressCF).Respond\n\tapicurio-registry/pkg/controller/apicurioregistry/ingress_cf.go:105\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:111\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382208.4880152,"logger":"controller_apicurioregistry","msg":"Error during the RESPOND phase of 'Ingress Creation' CF.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-cs7bq\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:116\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382208.4950635,"logger":"controller_apicurioregistry","msg":"Warning: Error getting Ingress.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka","error":"No ingress name in status yet.","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*HostConfigCF).Sense\n\tapicurio-registry/pkg/controller/apicurioregistry/host_cfg_cf.go:31\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:94\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"info","ts":1589382212.4914646,"logger":"controller_apicurioregistry","msg":"ApicurioRegistryReconciler executing.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka"}
{"level":"error","ts":1589382212.5876446,"logger":"controller_apicurioregistry","msg":"Failed to create a new Ingress.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-9jp9t\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*IngressCF).Respond\n\tapicurio-registry/pkg/controller/apicurioregistry/ingress_cf.go:105\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:111\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382212.5877197,"logger":"controller_apicurioregistry","msg":"Error during the RESPOND phase of 'Ingress Creation' CF.","error":"ingresses.extensions \"apicurio-registry-kafka-ingress-9jp9t\" is invalid: spec.rules[0]: Forbidden: you do not have permission to set host fields in ingress rules","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:116\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1589382212.5954711,"logger":"controller_apicurioregistry","msg":"Warning: Error getting Ingress.","Request.Namespace":"registry-streams-namespace","Request.Name":"apicurio-registry-kafka","error":"No ingress name in status yet.","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*HostConfigCF).Sense\n\tapicurio-registry/pkg/controller/apicurioregistry/host_cfg_cf.go:31\ngithub.com/apicurio/apicurio-operators/apicurio-registry/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry/pkg/controller/apicurioregistry/control_loop.go:94\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}

WATCH_NAMESPACE set to operator's namespace only

In the CSV files, the WATCH_NAMESPACE environment variable is set to the operator's namespace. It would be better to make it dynamic based on OLM OperatorGroups.

rhi-operator installs the operator in one namespace and the product in another namespace and uses an OperatorGroup to configure what namespaces the operator should watch.

Example: https://github.com/redhat-integration/rhi-operator/blob/ed41ef15e28905b56fe1422f2f9c8da7958d50ac/manifests/integreatly-apicurito/7.6.0/apicuritooperator.v7.6.0.clusterserviceversion.yaml#L145-L148

Capability Level 3 - Resiliency

  • Does your operator support backup of your operand?
  • Does your operator support off cluster backup? e.g. to S3
  • Does your operator support restore of your operand through a backup?
  • Do you have documentation for how to backup and restore? Please provide a link.
  • Does your operand have a Liveness probe?
  • Does your operand have a Readiness probe which will fail if any aspect of the operand is not ready? e.g. if the connection to the database fails.
  • Does your operand support scaling?
  • Does your operand use a rolling deployment strategy?
  • Does your operator create a PodDisruptionBudget resource for your operand pods?
  • Does your operand have CPU requests and limits set?

Example provided in OLM files is not correct

The example CR provided in OLM CSV files is an invalid CR which deploys nothing and makes the operator show various errors in the logs

alm-examples: >-
      [{"apiVersion":"apicur.io/v1alpha1","kind":"ApicurioRegistry","metadata":{"name":"example-apicurioregistry"}}]

Capability Level 4 - Deep Insights

Monitoring

  • Operand exposes monitoring metrics
  • Operator exposes monitoring metrics

Alerting

  • Operand send useful alerts

Metering

  • Operator leverages Operator Framework Metering

K8s Events

  • Custom Resources contain Custom K8s events

Tasks

  • Does your operand expose monitoring metrics?
  • Does your operator expose monitoring metrics?
  • Does your operator create alerts?
  • Do you have SOPs for each alert?
  • Does your operator create critical alerts when the service is down and warning alerts for all other alerts?
  • Does your operator emit custom k8s events?
  • Does your operator create dashboards to read your operand metrics?
  • Does your operator integrate into Connected Customer Experience (CCX) for critical metrics

Operator fails creating deployment

Create default resource, manually appliying yamls, no OLM

apiVersion: apicur.io/v1alpha1
kind: ApicurioRegistry
metadata:
  name: example-apicurioregistry
spec:
  configuration:
    persistence: mem

Registry deployment fails to be created

{"level":"info","ts":1591357156.0964932,"logger":"controller_apicurioregistry","msg":"Could not create new resource.","app":"example-apicurioregistry","type":"Warning","resource":"ocp_apps.DeploymentConfig","error":"DeploymentConfig.apps.openshift.io \"example-apicurioregistry-deployment-2wwps\" is invalid: spec.template.spec.containers[0].image: Required value","target":"&DeploymentConfig{ObjectMeta:{ example-apicurioregistry-deployment- test-registry-operator    0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[app:example-apicurioregistry] map[] [] []  []},Spec:DeploymentConfigSpec{Strategy:DeploymentStrategy{Type:Rolling,CustomParams:nil,RecreateParams:nil,RollingParams:&RollingDeploymentStrategyParams{UpdatePeriodSeconds:nil,IntervalSeconds:nil,TimeoutSeconds:nil,MaxUnavailable:1,MaxSurge:1,Pre:nil,Post:nil,},Resources:{map[] map[]},Labels:map[string]string{},Annotations:map[string]string{},ActiveDeadlineSeconds:nil,},Triggers:[],Replicas:1,RevisionHistoryLimit:nil,Test:false,Paused:false,Selector:map[string]string{app: example-apicurioregistry,},Template:&v1.PodTemplateSpec{ObjectMeta:{      0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[app:example-apicurioregistry] map[] [] []  []},Spec:PodSpec{Volumes:[]Volume{},Containers:[]Container{Container{Name:example-apicurioregistry,Image:,Command:[],Args:[],WorkingDir:,Ports:[]ContainerPort{ContainerPort{Name:,HostPort:0,ContainerPort:8080,Protocol:TCP,HostIP:,},},Env:[]EnvVar{},Resources:ResourceRequirements{Limits:ResourceList{cpu: {{1 0} {<nil>} 1 DecimalSI},memory: {{1363148800 0} {<nil>} 1300Mi BinarySI},},Requests:ResourceList{cpu: {{1 -1} {<nil>}  DecimalSI},memory: {{629145600 0} {<nil>}  BinarySI},},},VolumeMounts:[]VolumeMount{},LivenessProbe:&Probe{Handler:Handler{Exec:nil,HTTPGet:&HTTPGetAction{Path:/health/live,Port:{0 8080 },Host:,Scheme:,HTTPHeaders:[]HTTPHeader{},},TCPSocket:nil,},InitialDelaySeconds:5,TimeoutSeconds:5,PeriodSeconds:10,SuccessThreshold:1,FailureThreshold:3,},ReadinessProbe:&Probe{Handler:Handler{Exec:nil,HTTPGet:&HTTPGetAction{Path:/health/ready,Port:{0 8080 },Host:,Scheme:,HTTPHeaders:[]HTTPHeader{},},TCPSocket:nil,},InitialDelaySeconds:5,TimeoutSeconds:5,PeriodSeconds:10,SuccessThreshold:1,FailureThreshold:3,},Lifecycle:nil,TerminationMessagePath:/dev/termination-log,ImagePullPolicy:Always,SecurityContext:nil,Stdin:false,StdinOnce:false,TTY:false,EnvFrom:[]EnvFromSource{},TerminationMessagePolicy:,VolumeDevices:[]VolumeDevice{},StartupProbe:nil,},},RestartPolicy:Always,TerminationGracePeriodSeconds:*30,ActiveDeadlineSeconds:nil,DNSPolicy:ClusterFirst,NodeSelector:map[string]string{},ServiceAccountName:,DeprecatedServiceAccount:,NodeName:,HostNetwork:false,HostPID:false,HostIPC:false,SecurityContext:nil,ImagePullSecrets:[]LocalObjectReference{},Hostname:,Subdomain:,Affinity:nil,SchedulerName:,InitContainers:[]Container{},AutomountServiceAccountToken:nil,Tolerations:[]Toleration{},HostAliases:[]HostAlias{},PriorityClassName:,Priority:nil,DNSConfig:nil,ShareProcessNamespace:nil,ReadinessGates:[]PodReadinessGate{},RuntimeClassName:nil,EnableServiceLinks:nil,PreemptionPolicy:nil,Overhead:ResourceList{},TopologySpreadConstraints:[]TopologySpreadConstraint{},EphemeralContainers:[]EphemeralContainer{},},},MinReadySeconds:0,},Status:DeploymentConfigStatus{LatestVersion:0,ObservedGeneration:0,Replicas:0,UpdatedReplicas:0,AvailableReplicas:0,UnavailableReplicas:0,Details:nil,Conditions:[]DeploymentCondition{},ReadyReplicas:0,},}"}

Consider listing operator in Artifact Hub

Hi! πŸ‘‹πŸ»

Have you considered listing the apicurio-registry operator directly in Artifact Hub?

At the moment it is already listed there, because the Artifact Hub team has added the community-operators repository. However, listing it yourself directly has some benefits:

  • You add your repository once, and new versions (or even new operators) committed to your git repository will be indexed automatically and listed in Artifact Hub, with no extra PRs needed.
  • You can display the Verified Publisher label in your operators, increasing their visibility and potentially the users' trust in your content.
  • Increased visibility of your organization in urls and search results. Users will be able to see your organization's description, a link to the home page and search for other content published by you.
  • If something goes wrong indexing your repository, you will be notified and you can even inspect the logs to check what went wrong.

If you decide to go ahead, you just need to sign in and add your repository from the control panel. You can add it using a single user or create an organization for it, whatever suits your needs best.

You can find some notes about the expected repository url format and repository structure in the repositories guide. There is also available an example of an operator repository already listed in Artifact Hub in the documentation. Operators are expected to be packaged using the format defined in the Operator Framework documentation to facilitate the process.

Please let me know if you have any questions or if you encounter any issue during the process πŸ™‚

Error during deployment patching on OCP

{"level":"info","ts":1589825798.065717,"logger":"controller_apicurioregistry","msg":"ApicurioRegistryReconciler executing.","Request.Namespace":"default","Request.Name":"example2-apicurioregistry"}
{"level":"error","ts":1589825798.1034932,"logger":"controller_apicurioregistry","msg":"Error during Deployment patching","Request.Namespace":"default","Request.Name":"example2-apicurioregistry","app":"example2-apicurioregistry","error":"the server could not find the requested resource","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/jsenko/projects/3scale/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/Apicurio/apicurio-registry-operator/pkg/controller/apicurioregistry.(*Patcher).patchDeployment\n\tapicurio-registry-operator/pkg/controller/apicurioregistry/patcher.go:39\ngithub.com/Apicurio/apicurio-registry-operator/pkg/controller/apicurioregistry.(*Patcher).Execute\n\tapicurio-registry-operator/pkg/controller/apicurioregistry/patcher.go:88\ngithub.com/Apicurio/apicurio-registry-operator/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry-operator/pkg/controller/apicurioregistry/control_loop.go:154\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/jsenko/projects/3scale/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}

Global rules configuration

Global rules can only be configured once the registry is deployed. It would help in some cases to have them as part of the operator configuration, at least to have a value by default.

This issue is related to Apicurio/apicurio-registry#750 but I open here to follow up the operator work if that one is implemented. Also, it would be interesting to know if there is some workaround to this.

Error when running locally

I followed the installation steps described in the README.md file:

  • Create service account, roles, and role bindings
  • Create ApicurioRegistry CRD
  • Run operator: operator-sdk run --local
  • Create ApicurioRegistry CR: oc create -f deploy/crds/apicur_v1alpha1_apicurioregistry_cr.yaml

Log:

E0603 15:56:57.751926   67102 runtime.go:78] Observed a panic: &net.DNSError{Err:"no such host", Name:"kubernetes.default.svc", Server:"127.0.0.1:53", IsTimeout:false, IsTemporary:false, IsNotFound:true} (lookup kubernetes.default.svc on 127.0.0.1:53: no such host)
goroutine 271 [running]:
k8s.io/apimachinery/pkg/util/runtime.logPanic(0x1494580, 0xc00031c1c0)
	/home/akieling/go/pkg/mod/k8s.io/[email protected]/pkg/util/runtime/runtime.go:74 +0xa3
k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0)
	/home/akieling/go/pkg/mod/k8s.io/[email protected]/pkg/util/runtime/runtime.go:48 +0x82
panic(0x1494580, 0xc00031c1c0)
	/usr/lib/golang/src/runtime/panic.go:969 +0x166
github.com/Apicurio/apicurio-registry-operator/pkg/controller/apicurioregistry.inClusterConfig(0x1516820, 0xc0003b8660, 0xc000671560)
	/home/akieling/dev/projects/apicurio/apicurio-registry-operator/pkg/controller/apicurioregistry/clients.go:40 +0x16a
github.com/Apicurio/apicurio-registry-operator/pkg/controller/apicurioregistry.NewClients(0xc000398a80, 0xc00031aa80)
	/home/akieling/dev/projects/apicurio/apicurio-registry-operator/pkg/controller/apicurioregistry/clients.go:26 +0x55
github.com/Apicurio/apicurio-registry-operator/pkg/controller/apicurioregistry.NewContext(0x1841f20, 0xc00024e9c0, 0xc00025aa80, 0x184d840, 0xc0003b85e0, 0x1854e60, 0xc0004641b0, 0x1)
	/home/akieling/dev/projects/apicurio/apicurio-registry-operator/pkg/controller/apicurioregistry/context.go:39 +0x176
github.com/Apicurio/apicurio-registry-operator/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile(0xc0004f3d10, 0xc0003e9ba0, 0x11, 0xc0003e9b80, 0x18, 0x0, 0xbfae1a7e69721039, 0xc0005ae240, 0xc0005ae128)
	/home/akieling/dev/projects/apicurio/apicurio-registry-operator/pkg/controller/apicurioregistry/control_loop.go:59 +0xf01
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc00024e9c0, 0x14bb400, 0xc0003b84a0, 0xc000587e00)
	/home/akieling/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:256 +0x161
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc00024e9c0, 0xc000587f00)
	/home/akieling/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:232 +0xae
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker(0xc00024e9c0)
	/home/akieling/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:211 +0x2b
k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1(0xc0005bc0e0)
	/home/akieling/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:152 +0x5f
k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc0005bc0e0, 0x3b9aca00, 0x0, 0x1, 0xc00058e1e0)
	/home/akieling/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:153 +0xf8
k8s.io/apimachinery/pkg/util/wait.Until(0xc0005bc0e0, 0x3b9aca00, 0xc00058e1e0)
	/home/akieling/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88 +0x4d
created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1
	/home/akieling/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:193 +0x305
panic: lookup kubernetes.default.svc on 127.0.0.1:53: no such host [recovered]
	panic: lookup kubernetes.default.svc on 127.0.0.1:53: no such host

Registry deployment cannot be updated

Once created the ApicurioRegistry CR if you modify some part affecting the registry deployment
the operator fails to update the deployment. This can be found in the operator logs

{"level":"error","ts":1590137688.0915399,"logger":"controller_apicurioregistry","msg":"Error during Deployment patching","Request.Namespace":"registry-jpa-namespace","Request.Name":"apicurio-registry-jpa","app":"apicurio-registry-jpa","error":"the server could not find the requested resource","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/home/runner/go/pkg/mod/github.com/go-logr/[email protected]/zapr.go:128\ngithub.com/Apicurio/apicurio-registry-operator/pkg/controller/apicurioregistry.(*Patcher).patchDeployment\n\tapicurio-registry-operator/pkg/controller/apicurioregistry/patcher.go:39\ngithub.com/Apicurio/apicurio-registry-operator/pkg/controller/apicurioregistry.(*Patcher).Execute\n\tapicurio-registry-operator/pkg/controller/apicurioregistry/patcher.go:88\ngithub.com/Apicurio/apicurio-registry-operator/pkg/controller/apicurioregistry.(*ApicurioRegistryReconciler).Reconcile\n\tapicurio-registry-operator/pkg/controller/apicurioregistry/control_loop.go:154\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/runner/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:215\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:158\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/home/runner/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/home/runner/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:134\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/home/runner/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/wait.go:88"}

That indicates the operator is not finding the created deployment

UT000068: Servlet path match failed

I keep getting the following error message when I try to save my schemas from Lenses.io

2020-07-20 12:56:50,888 ERROR [io.und.request] (executor-thread-11) UT005071: Undertow request failed HttpServerExchange{ POST http://apicurioregistry.lagom.apps.marlow.naboocore.com/subjects/f/versions delegate io.undertow.vertx.VertxHttpExchange@63090394}: java.lang.IllegalArgumentException: UT000068: Servlet path match failed

Can someone help me with that?

Random suffix in service name

Apicurio registry service name has random suffix after installation with operator.

When I install apicurio as described in quickstart (https://github.com/Apicurio/apicurio-registry-operator#quickstart), service name has random suffix. Service name should be constant value or a value defined in mainifest. When it has random suffix I can not use k8s dns with fixed service name.

Is it possible to configure the service name via any property or env variable?

Deployed on:
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.2", GitCommit:"cff46ab41ff0bb44d8584413b598ad8360ec1def", GitTreeState:"clean", BuildDate:"2019-01-10T23:35:51Z", GoVersion:"go1.11.4", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.2", GitCommit:"cff46ab41ff0bb44d8584413b598ad8360ec1def", GitTreeState:"clean", BuildDate:"2019-01-10T23:28:14Z", GoVersion:"go1.11.4", Compiler:"gc", Platform:"linux/amd64"}

Create GrafanaDashboards in registry namespace

GrafanaDashboard CRD represents a Grafana dashboard. It's spec section contains the exported dashboard in JSON format. The Application Monitoring Operator reads the CR and imports the dashboard into its Grafana installation.
More details: https://github.com/integr8ly/application-monitoring-operator#grafanadashboard
Example: https://github.com/syndesisio/syndesis/tree/master/install/operator/pkg/generator/assets/addons/ops

https://issues.redhat.com/browse/IPT-73

Add support for the new Quarkus configuration properties option(s)

Quarkus (as of 1.4?) supports new options for setting runtime configuration properties. Documentation can be found here:

https://quarkus.io/guides/config#overriding-properties-at-runtime

In particular, option (4) from the above link allows an application.properties file to be added in a config subdirectory. In kubernetes/openshift, this would allow us to more easily enable users to set their own configuration options by mounting a volume and mapping a ConfigMap to that config/application.properties file. This would allow configuring all sorts of Quarkus and Registry config options easily.

Warning is logged as an error message

When deploying without a route set, the following error message appears:

{"level":"error", ... ,"logger":"controller_apicurioregistry","msg":"Warning: Error getting Ingress.","Request.Namespace":"...","Request.Name":"apicurio-registry","error":"No ingress name in status yet." ... }

It should be a warning or debug level instead (as the message text says). Make sure there are no more such cases.

Default route is not valid and does not work

Tested on Openshift 4.4.
Using version 0.0.2 of the operator and this example CR will make operator create the default route

apiVersion: apicur.io/v1alpha1
kind: ApicurioRegistry
metadata:
  name: apicurio-registry-infinispan
spec:
  configuration:
    persistence: infinispan
    infinispan:
      clusterName: registry-application

The created route is like

apiVersion: route.openshift.io/v1
kind: Route
metadata:
  name: apicurio-registry-infinispan
spec:
    host: apicurio-registry-infinispan.registry-infinispan-namespace
    path: /
    to:
      kind: Service
      name: apicurio-registry-streams-service-ktqwr
      weight: 100

that hostname is not resolvable because it does not end with the cluster dns domain

Route auto-generation may pick up a wrong base host value

... if there are multiple routerCanonicalHostname values, e.g.

status:
  ingress:
    - host: >-
        example-apicurioregistry.service-registry-test.apps.***.com
      routerName: default
      conditions:
        - type: Admitted
          status: 'True'
          lastTransitionTime: '2020-06-25T14:26:21Z'
      wildcardPolicy: None
      routerCanonicalHostname: apps.***.com
    - host: >-
        example-apicurioregistry.service-registry-test.apps.***.com
      routerName: sharded
      conditions:
        - type: Admitted
          status: 'True'
          lastTransitionTime: '2020-06-25T14:26:20Z'
      wildcardPolicy: None
      routerCanonicalHostname: apps-sharded.basedomain.example.net

No Access to topic

How do I connect to a Strimzi cluster which with TLS authentication, I keep getting "no access to topic"

Questions: CR for artifacts

Is there a plan to support artifacts (e.g. a AVRO schema) as CR? This way a AVRO schema could be defined over GitOps, this would help in our organization to enable change in a more controlled way.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.