Cluster creation with no sidecars specified throws a NPE
Summary
Creating a cluster from a yaml file throws a NPE if no sidecars are specified
Environment
-
StackGres version: 0.8 alpha2
-
Kubernetes version (use
kubectl version
): 1.12.10 -
Cloud provider or hardware configuration: kind
Steps to reproduce
Create a namespace "demo"
kubectl create namespace demo
Create a cluster with the following yaml:
apiVersion: stackgres.io/v1alpha1
kind: StackGresCluster
metadata:
name: stackgres
namespace: demo
spec:
instances: 2
pgVersion: "11.6"
volumeSize: 5Gi
Relevant logs and/or screenshots
The kubectl client shows the following error:
Error from server (InternalError): error when creating "cluster.yaml": Internal error occurred: admission webhook "sgcluster.stackgres-operator.stackgres" denied the request: null
2020-01-21 09:09:25,759 INFO [io.st.op.MutationResource] (vert.x-worker-thread-16) Mutating admission review b8aa24fd-3c2d-11ea-9302-0242ac110002 of kind GroupVersionKind(group=stackgres.io, kind=StackGr
esCluster, version=v1alpha1, additionalProperties={})
2020-01-21 09:09:25,760 ERROR [io.st.op.MutationResource] (vert.x-worker-thread-16) cannot proceed with request b8aa24fd-3c2d-11ea-9302-0242ac110002 cause: null: java.lang.NullPointerException
at io.stackgres.operator.mutation.cluster.DefaultPgBouncerMutator.applyDefault(DefaultPgBouncerMutator.java:28)
at io.stackgres.operator.mutation.cluster.AbstractDefaultResourceMutator.mutate(AbstractDefaultResourceMutator.java:63)
at io.stackgres.operator.mutation.cluster.AbstractDefaultResourceMutator.mutate(AbstractDefaultResourceMutator.java:25)
at io.stackgres.operator.mutation.cluster.DefaultPgBouncerMutator_ClientProxy.mutate(DefaultPgBouncerMutator_ClientProxy.zig:505)
at io.stackgres.operator.mutation.cluster.ClusterPipeline.lambda$mutate$0(ClusterPipeline.java:35)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)