Closed slopezz closed 2 years ago
Awesome job. /lgtm
LGTM label has been added.
/approve
[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: slopezz
The full list of commands accepted by this bot can be found here.
The pull request process is described here
Related to https://github.com/3scale-ops/saas-operator/issues/196
Adds redisshard controller suite testing (was one of the few controllers without testing)
Simplifies grafana dashboard resource by getting all defined keys directly (not necessary struct data)
Adds a whole new twemproxy grafana dashboard
TwemproxyConfig controller is the only one permitting N CustomResources on the same namespace (all the other controllers harcode resources names), where on TwemproxyConfig CR it is used directly the
InstanceName
to create the expected target ConfigMapInstanceName
+-twemproxy
(to not have collision between different CRs fighting for the resource name), although the dashboard content is exactly the same, and the same information can be extracted for any deployment with twemproxy metrics in any of the created dashboardsInstanceName
+-twemproxy
(grafana-operator uses the internal title in the json file, so need to be also unique for every GrafanaDashboard CR)TwemproxyConfig controller cannot be checked with ginkgo framework, because it needs more than a k8s API, it needs to connects to sentinel instances (which are connected to redis instances). For this reason, it has been added a simple e2e testing with kuttl tool:
kind-deploy
target, the external APIs need to be created before executing the kustomize (and vaildate they are available at API level), because for the specific case of prometheusServiceMonitor
, thekind-deploy
target was failing because once created the ServiceMonitor CRD, it was still not available at API level (https://github.com/kubernetes/kubectl/issues/1117) , but kustomize was trying to create the saas-operator ServiceMonitor failing with:/kind feature /priority important-soon /assign