Moved the webhook interface validation code from `jaeger_webhook.go` to `jaeger_webhook_test.go` to ensure the Jaeger structure still fulfills the webhook interfaces. This change allows external projects to import the `jaeger-operator/apis/v1` package with `sigs.k8s.io/controller-runtime` library version v0.20.0, as the deprecated webhook interfaces were removed in this version.
Signed-off-by: Serge Catudal <serge.catudal@gmail.com>
* Bump go to 1.22
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Bump controller-gen
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
---------
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* fixes#2207 by adding server-url to JaegerMetricsStorageSpec as
ServerUrl for providing external prometheus service url. Added test for
verifying env variable PROMETHEUS_SERVER_URL is not empty when specifying metric storage type as prometheus for both AllInOne and Query.
Signed-off-by: Gaurav Singh <gauravsinghbr@hotmail.com>
* added empty check for ServerUrl while setting env for external
prometheus instance
Signed-off-by: Gaurav Singh <gauravsinghbr@hotmail.com>
* updated manifests by running make bundle
Signed-off-by: Gaurav Singh <gauravsinghbr@hotmail.com>
* updated api.md by running make api-docs
Signed-off-by: amerlin <antoniomerlindev@gmail.com>
* fix format of pkg/ingress/query_test.go
Signed-off-by: amerlin <antoniomerlindev@gmail.com>
* fix format of pkg/deployment/query_test.go
Signed-off-by: amerlin <antoniomerlindev@gmail.com>
* updated test TestQueryIngressClass from pkg/ingress/query_test.go by
remove empty check for ingress as it will be taken care by default
ingressclass func
Signed-off-by: amerlin <antoniomerlindev@gmail.com>
* fixed format
Signed-off-by: amerlin <antoniomerlindev@gmail.com>
---------
Signed-off-by: Gaurav Singh <gauravsinghbr@hotmail.com>
Signed-off-by: amerlin <antoniomerlindev@gmail.com>
Co-authored-by: Gaurav Singh <gauravsinghbr@hotmail.com>
* Fix the CI. Change the implementation of the method to make it easy to test
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix E2E
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Disable test #2508
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
---------
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* fixes#1568#2225
added function getIngressClass which set default or nginx ingress class to jaeger define ingress for providing loadbalancer IP.
Signed-off-by: Gaurav Singh <gauravsinghbr@hotmail.com>
* Added test for checking if ingressClass is not set then the default or nginx ingressClass is added to the jaeger ingress.
Signed-off-by: Gaurav Singh <gauravsinghbr@hotmail.com>
* Added request chenges mentioned by iblancasa re: test for checking if ingressClass is not set then the default or nginx ingressClass is added to the jaeger ingress.
Signed-off-by: Gaurav Singh <gauravsinghbr@hotmail.com>
* changed func name from getInClusterAvailableIngressClasses() to
getInClusterAvailableIngressClass() and updated manifests
Signed-off-by: Gaurav Singh <gauravsinghbr@hotmail.com>
* fixed formatting
Signed-off-by: Gaurav Singh <gauravsinghbr@hotmail.com>
---------
Signed-off-by: Gaurav Singh <gauravsinghbr@hotmail.com>
Co-authored-by: Gaurav Singh <gauravsinghbr@hotmail.com>
This PR provides default dependabot labels plus 'ok-to-test' so it doesn't need to be added by the maintainer.
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
* Release Jaeger Operator 1.52.0
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix bundle
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Simplify the tests related to the streaming strategy
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Remove test. It doesn't bring real value
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Simplify the daemonset tests
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix field
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix field
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix field
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix CI
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
---------
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Choose the newer autoscaling version by default
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Add unit test
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix format
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix CI
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
---------
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix containerImage field and remove statement about failing CI
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix CI
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix CI
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix CI
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
---------
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Regenerate ES certificated when is close to 1 day for expire
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* fix go mod/sum inconsistencies
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
---------
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Ensure oauth-proxy ImageStream is detected eventually
* move the detectOAuthProxyImageStream function out of
`autoDetectCapabilities`'s `firstRun.Do` block
* introduce a check to prevent needless api calls if
`openshift-oauth-proxy-image` is already digest-based (assuming
detection has occured)
Signed-off-by: Bram Verschueren <verschueren.bram@gmail.com>
* Protect OpenShiftOauthProxyImage with mutex
Signed-off-by: Bram Verschueren <verschueren.bram@gmail.com>
---------
Signed-off-by: Bram Verschueren <verschueren.bram@gmail.com>
EnvFrom can also be used for SecretRefs in which case the existing logic
would result in a nil pointer dereference.
Signed-off-by: Ed Cook <edward@boclips.com>
* Pass proxy env vars to operands
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
---------
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Use base image that does not require subscription
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Use centos stream
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
---------
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Protect the ESProvisioning behind a mutex
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Apply changes requested in code review
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
---------
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Refactor the autodetect module to reduce the number of writes/reads in viper
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix linting
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Move the cleaning tasks outside the autodetection
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Increase timeotus
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
---------
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Refactor the autodetect module to reduce the number of writes/reads in viper
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix linting
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Move the cleaning tasks outside the autodetection
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
---------
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Move OAuthProxy Image Stream detection to the autodetect module
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix format
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
---------
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Refactor the autodetect module to reduce the number of writes/reads in viper
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix linting
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
---------
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Expose admin port via Service
Signed-off-by: Thomas Paulin <7918983+thomaspaulin@users.noreply.github.com>
* Check for named admin port too
Signed-off-by: Thomas <7918983+thomaspaulin@users.noreply.github.com>
* Check target ports
Signed-off-by: Thomas <7918983+thomaspaulin@users.noreply.github.com>
* fix test
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* add missing port to istio e2e test
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
---------
Signed-off-by: Thomas Paulin <7918983+thomaspaulin@users.noreply.github.com>
Signed-off-by: Thomas <7918983+thomaspaulin@users.noreply.github.com>
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
Co-authored-by: Thomas Paulin <7918983+thomaspaulin@users.noreply.github.com>
* Add support for Kubernetes 1.27
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Upgrade kind and update the CI
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix format
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Use newer base version for K8S since 1.19 and 1.20 are not supported since Kind 1.17
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix usage of deprecated methods
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix K8s test environments
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Add quotes to Go version
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
---------
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* feat: add Lifecycle and TerminationGracePeriodSeconds to collector
Signed-off-by: Taj Pereira <taj@canva.com>
* fix: ran make install-tools ci
Signed-off-by: Taj Pereira <taj@canva.com>
---------
Signed-off-by: Taj Pereira <taj@canva.com>
Co-authored-by: Ben B <bongartz@klimlive.de>
* Upgrade to Golang 1.20. #2190
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Upgrade golangci-lint
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Disable deepguard. It was not used before
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
---------
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Increase reliability of the autoscaller E2E test #2223
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix some problems with the E2E test
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Add another fix
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
---------
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Upgrade to operator-sdk 1.24.0
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Upgrade to operator-sdk 1.25.0
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Upgrade to operator-sdk 1.27.0
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Upgrade otel/metric and otel/sdk/metric to 0.35.0
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Upgrade multiple dependencies
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Upgrade operator-sdk version in manifest
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Recover original timestamp
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Add workaround
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Trigger build
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Trigger build
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Port to operator-sdk 1.27.0
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Use kustomize from the installation
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix E2E test
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Trigger build
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Trigger build
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Trigger build
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix operator-sdk version in the scorecard tests
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix autogenerated files
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Add changes requested in CR
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
---------
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Port to operator-sdk 1.27.0
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Use kustomize from the installation
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix E2E test
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Trigger build
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Trigger build
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Trigger build
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
---------
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Disable generate E2E test in OCP
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Trigger Build
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Trigger Build
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* add support to run the tests on different arch
Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
* pass value of a variable
Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
* update review comments
Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
* fix examples-all-in-one-with-options query path
Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
* add retry in curl to get latest version of jaeger
Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
* support e2e tests on multi arch environment
Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
* switch to push from load in dockerx
Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
* conditional buildx support for multi arch
Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
* verify remote registry only on multi arch image
Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
* update review comments
Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
* update latest version and es version logic
Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
* * Fix errors when the service account was created before
* Fix syntax in one template
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix resources limitation to match the example
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Increase resource limitation
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix issues with older Kafka operator versions
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* limit the get of deployments to WATCH_NAMESPACE on sync
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* check on deployments webhook the namespace
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* add unit tests
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* add e2e basic test in non-cluster-wide mode
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* add new line at the end of config/namespaced/kustomization.yaml
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* include other ns in the deployment webhook test
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Fix query ingress when using streaming strategy
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Add a new test, remove redundant tests
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Remove redundant test
Signed-off-by: Kevin Earls <kearls@redhat.com>
Signed-off-by: Kevin Earls <kearls@redhat.com>
* fix for min tls version to v1.2
Signed-off-by: kangsheng89 <ks_wong_89@hotmail.com>
* add cmd option for tls version
Signed-off-by: kangsheng89 <ks_wong_89@hotmail.com>
* ciphersuites and tls version setting can be configurable
Signed-off-by: kangsheng89 <ks_wong_89@hotmail.com>
Signed-off-by: kangsheng89 <ks_wong_89@hotmail.com>
* fix https port name prefix to match istio naming convention
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* verify service port names in e2e test
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* Fix Kafka tests for old Kafka operator version
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Add changes requested in CR
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Upgrade kind, kind images and add testing for Kubernetes 1.25
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* UFix merging issue
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Make the E2E tests compatible with batchV1/Cronjobs API
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Upgrade the Kafka Operator version used for the E2E Tests from 0.23.0 to 0.30.0
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Upgrade istio from 0.11.2 to 0.15.0
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Add changes requested in CR
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix linting
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Migrate autoscaling v2beta2 to v2
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix some unit tests
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix rest of unit tests
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Increase unit test coverage
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix linting
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Apply changes requestd in CR
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Apply changes requestd in CR
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Increase code coverage
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Increase code coverage
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Cleanup and unify installation of tools
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Minor fixes
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix path to golangci-lint
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Upgrade operator-sdk to 1.23.0 and dependencies
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Upgrade generated files for operator-sdk 1.23.0
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Upgrade golangci-lint, fix reported issues and remove security make rule
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Remove not needed install script
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Remove call to removed script
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix Golang version for Jaeger Operator CI
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix Golang version for Jaeger Operator CI
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Simplify the automation to run the E2E tests
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix broken E2E generate test suite
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Move Ingress Controller and Metrics Server YAMLs to parameters
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Use golangci-lint for linting
Rebase
Signed-off-by: Ed Snible <snible@us.ibm.com>
* add golangci-lint to install tools
Signed-off-by: Ed Snible <snible@us.ibm.com>
* Allow small drops in coverage
Signed-off-by: Ed Snible <snible@us.ibm.com>
* Use Go 1.18 for linting, clean .golintci.yml removing things not needed for operator
Signed-off-by: Ed Snible <snible@us.ibm.com>
* Use nolint directive instead of suppressing context return
Signed-off-by: Ed Snible <snible@us.ibm.com>
Signed-off-by: Ed Snible <snible@us.ibm.com>
* Partial port to use logr.Logger
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Use logr.Log to ensure line consistency
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix log call after merge
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Change verbosity level and message of the log for autoprovisioned kafka
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
Co-authored-by: Ben B <bongartz@klimlive.de>
* Upgrade operator-sdk to 1.22.2
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Upgrade operator-sdk in bundle
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Improve robustness of the loading of the asserts E2E tests job
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix load of images in kind cluster
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Wait until the deployments are there again
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Fix typo
Signed-off-by: Israel Blancas <iblancasa@gmail.com>
* Skip ES E2E tests for unsupported Elasticsearch OpenShift Operator versions
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix for regular K8S
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Avoid regeneration of the ASSERT_IMG value
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix missing quotes
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix Jaeger Operator version make variable
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Typo
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Upgrade gosec to v2.9.6
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Change how gosec is installed
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix gosec warning
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix gosec warning. Remove defer for Close() in a file
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix gosec warning. Implicit memory aliasing in for loop
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix gosec warning. Potential file inclusion via variable
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Ignore gosec warning
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Avoid letting opened files. Show, at least, one message in the log
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply changes requested in CR
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix render_report_spans to not use the deployment mode.
Fix some syntax errors in ifs.
Push/load the Jaeger Operator image only if JAEGER_OLM is not true.
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add E2E test for agent-with-priority-class example (#1985)
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix call to methods and assign a new name to base tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add missing exit codes
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add removed variable
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Disable unsupported test in OpenShift
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Disable unsupported test in OpenShift and add extra time for the SA creation
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Improve skip test message
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add newline
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add E2E test for agent-with-priority-class example
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add E2E test for examples-collector-with-priority-class
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix issues with external ES
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add autoprovisioned separate template and small fixes
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add managed ES
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix replicas parameter for autoprovisioned Kafka
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add E2E test for the different scenarios supported for usign ES as storage in OpenShift
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Document render_install_elasticsearch
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Recover removed statement
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix condition
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix errors after merge
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix macro call
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Ben B <bongartz@klimlive.de>
* Check in the E2E test it is posible to access the volume when they are mounted. Other fixes to ifs
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix failing test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Updagre operator-sdk
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Update bundle
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Reduce the number of required replicas for autoscale E2E tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Upgrade scorecard images
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Use the auto provisioning Kafka example to run the E2E test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* ARemove folder for removed E2E test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Change the parameters for the autoscale test. Fix streaming-autoscale test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Remove parameter
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Improve the render_security_test macro
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix render_smoke_test macro to use secure/insecure connections
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix render_otlp_smoke_test macro to use secure/insecure connections
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix syntax error
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix typo
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add E2E test to test upgrading from an allinone Jaeger Instance to production. Related to #276
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix typo
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add upgrade-from-latest-test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix version in Docker container. Closes#1923
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add a E2E test to avoid upgrade issues
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix getting the latest release
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix YQ location
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix image version
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Rename test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
Co-authored-by: Ben B <bongartz@klimlive.de>
* Add E2E test for OTLP expose
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Improbe robustness of the tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Improve robustness of the tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Remove comment
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Remove unused parameter
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add support for custom liveness probe
Signed-off-by: ricoberger <mail@ricoberger.de>
* Run make generate
Signed-off-by: ricoberger <mail@ricoberger.de>
* Run make generate
Signed-off-by: ricoberger <mail@ricoberger.de>
* Add tests for liveness probe
Signed-off-by: ricoberger <mail@ricoberger.de>
* Run make generate and bundle
Signed-off-by: ricoberger <mail@ricoberger.de>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
Co-authored-by: Ben B <bongartz@klimlive.de>
* Fix issues with external ES
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add autoprovisioned separate template and small fixes
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix replicas parameter for autoprovisioned Kafka
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Add service annotations
Signed-off-by: herbguo <herbguo@163.com>
* make format
Signed-off-by: herbguo <herbguo@gmail.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
Co-authored-by: Ben B <bongartz@klimlive.de>
* Add E2E autoscalability test for the collector
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add E2E autoscalability test for the ingester
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add E2E autoscalability test for K8S
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Adjust the number of replicas
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add autoscalability test for K8S
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add E2E test for the Agent as a DaemonSet OpenShift example
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix function call
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Add E2E autoscalability test for the collector
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add E2E autoscalability test for the ingester
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Increase the time for the Kafka autoprovisioned timeout
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Increase the time for the Kafka autoprovisioned timeout
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Increase step number
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add E2E test for the OpenShift with-htpasswd example
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add E2E test for the OpenShift with-htpasswd example
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Improve the UI E2E Production test to cover more scenarios
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Use the makefile rules to deploy the Jaeger Operator in Kind
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix upgrade test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add E2E test for the OpenShift with-htpasswd example
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add E2E test for the OpenShift with-htpasswd example
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Small fixes for outside-cluster test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix missing make deps
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Templatize Service Account creation
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Removing superfluous message
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add retries
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Recover old test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Move the uidefinition test to the new suite
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add new checks for the ui-allinone
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Create new tool to get the tokens
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix the test for OpenShift
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Create a common script for variables
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Create a common script for variables
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Clean test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Refactor get token for OpenShift
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add production test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix CI
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix outside-cluster
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix missing variable
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix base checks
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix securty make target
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix CI
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix test for Kubernetes
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply changes requested in CR
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Start migration of the CronJobs API from batch/v1beta1 to batchv1
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Revert local changes
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Trying to stay out of rebase hell
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Try running just on k8s 1.19
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Fix lists of existing cronjobs
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Reinstate 1.23 tests
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Added test for autoDetectCronJobsVersion, cleanup
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Make lint happy
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Cleanup following Bene's comments
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Rename constants, add 1 new constant
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Fix sidecar-namespace to ensure the autoinjection is done when annotating the namespace
* Add missing README.md in sidecar-skip-webhook
* Fix sidecar-skip-webhook to not overwrite the logic when rendering
* Check the sidecar is created when the label is removed and the autoinjection is created in sidecar-skip-webhook
* Add a check for the sidecar-deployment E2E test to ensure the sidecar is removed when the annotation is removed
* Add a check for the sidecar-namespace E2E test to ensure the sidecar is removed when the annotation is removed
* Join the sidecar-deployment and sidecar-agent tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* adding priority-class for esIndexCleaner and fixing lint error
Signed-off-by: Swapnil Potnis <potnis.swapnil@gmail.com>
* reverting back the operator-sdk version and rebasing
Signed-off-by: Swapnil Potnis <potnis.swapnil@gmail.com>
* unit test case for priorityClass
Signed-off-by: Swapnil Potnis <potnis.swapnil@gmail.com>
* api doc changes
Signed-off-by: Swapnil Potnis <potnis.swapnil@gmail.com>
* changes to variable name as per required convention
Signed-off-by: Swapnil Potnis <potnis.swapnil@gmail.com>
* fixing test case failure for priorityClass
Signed-off-by: Swapnil Potnis <potnis.swapnil@gmail.com>
* changes as per review comments
Signed-off-by: Swapnil Potnis <potnis.swapnil@gmail.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Join multiple E2E test suites in one
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Templatize the name of the concurrency groups
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix Makefile rule
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Generate reports
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add reports
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix issues after merging
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix stop Kind cluster
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix YQ call
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix report generation
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Not fail when the test fails
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix path to KUTTL
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix path to KUTTL installation
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix path to KUTTL installation
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix path to KUTTL installation
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix path to Gomplate in template
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Small fixes related to gomplate path
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Set version for junitcli
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Retry downloading the Golang dendencies if someting fails
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix pull script
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Generate reports
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add reports
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix issues after merging
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix stop Kind cluster
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix YQ call
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix report generation
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Not fail when the test fails
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix path to KUTTL
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix path to KUTTL installation
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix path to KUTTL installation
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix path to KUTTL installation
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix path to Gomplate in template
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Small fixes related to gomplate path
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Set version for junitcli
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* move function to increase the revision inject package
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* use rivision annotation to trigger deployment evaluation on change
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* fix: reconcile namespace on change
Previously the namespace reconciler was called by reconcile
requests generated by the JaegerOnSync method. In #1838 the
JaegerOnSync method changes an annotation of the namespace
to call the reconcile loop. Since the reconciler was not
registered for namespace changes, those were not immediately
taken into account.
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* move deployment reconciler logic into deployment webhook
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* remove deployment controller
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* port reconciler tests to webhook
- extend tests
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* call syncOnJaegerChanges in jaeger reconciler
This change ensures that in the event of an error, e.g. when
updating a deployment or ns, syncOnJaegerChanges is executed again.
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* fix flaky unittest of deployment webhook
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* regenerate manifests and csv
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* Schedule dependabot jobs to run after 1:00 AM CET
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Change to run at 3AM CET
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Make RHOL Elasticsearch cert-management feature optional
The reason is that the cert-management is not supported on OCP 4.6.
The feature was added in RHOL 5.2 shipped on OCP 4.7.
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Rename
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Update operator-sdk to version 1.17
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Add doc chages
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Updated operator-lib, minor source updates
Signed-off-by: Kevin Earls <kearls@redhat.com>
* More updates to go version 1.17
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Improve reliability of some scripts to download third party tools #1778#1750
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix finx kind binary
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1556: add support for OpenShift in E2E tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Reduce size of E2E asserts image
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply changes requested in CR
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply changes requested in CR
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Add documentation to each E2E test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Improving descriptions
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* #1556: port some of the tests to OpenShift
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix issues requested by CI
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Increase verbosity
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Clone the tags too
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix issue with AiO after merge
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1556: fix skip_test macro
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1556: fix typo in CI
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1556: fix cloning issue
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1556: disable sec in test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1556: disable sec in test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1556: disable sec in tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1556: disable sec in tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1556: disable sec in tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1556: disable sec in tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1556: port new tests to OpenShift
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1556: fix CRD paths
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1556: fix CRD paths
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1556: recover removed scripts
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix skip external ES
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Port streaming tests to OpenShift
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Remove old rule
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix typo
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Disable checking for kind if not needed
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1556: add support for OpenShift in E2E tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply changes requested in CR
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply changes requested in CR
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* add Makefile rule to generate api docs from crd output
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* link api documentation in readme
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* install crdoc into local bin folder
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* generate crd api docs
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* Added ImagePullPolicy to JaegerCommonSpec, it is handled within the CommonSpec Merge function and then simply added to the containers created by the Jaeger Custom Resource
Signed-off-by: edenkoveshi <edenk3012@gmail.com>
* Re-generated CRD
Signed-off-by: edenkoveshi <edenk3012@gmail.com>
* Apparently it needed a 'make bundle' too
Signed-off-by: edenkoveshi <edenk3012@gmail.com>
* Changed my local Makefile to match versions
Signed-off-by: edenkoveshi <edenk3012@gmail.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* #1556: add support for OpenShift in E2E tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply changes requested in CR
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply changes requested in CR
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* - Build or pull the Docker images just when they are needed by the test
- Add some logic to not add the images to kind again (this makes the process faster)
- Add retry logic to pull external Docker images
- Remove pulling some images
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add unmerged rules
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* #127: add documentation about how to add new E2E tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix capital letter
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Make operator more resiliant to etcd defrag activity
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Automatically set num shards and replicas from references OCP ES
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix ci
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* fix rebase
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Install ES controller only if ES Kind is installed
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Reuse as much as possible
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Add test
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* move ImagePullSecrets from JaegerAgentSpec to JaegerCommonSpec
Since JaegerCommonSpec is embedded in JaegerAgentSpec it
does not change any usage or behavior. But it allows us to
use the ImagePullSecrets field in Jaeger.
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* crd generate and bundle
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* support ImagePullSecrets in all_in_one strategy
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* support ImagePullSecrets for agent, collector, ingester and query
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* consider ImagePullSecrets when merging commonspecs
Signed-off-by: Benedikt Bongartz <bongartz@klimlive.de>
* Use only the latest Kubernetes version for E2E tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Use only the latest and oldest supported Kubernetes versions for E2E tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* UFix action
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Missing parameter
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Make sure that we always use the correct operator-sdk version
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Fixed operator-sdk references
Signed-off-by: Kevin Earls <kearls@redhat.com>
* #1556: add support for OpenShift in E2E tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply changes requested in CR
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply changes requested in CR
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix lint warning
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* fixes for out of date sections
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Restore command to be one liner with added note on possibe changes
Signed-off-by: Kevin Earls <kearls@redhat.com>
* #1726: split each E2E test suite in a different workflow to make them easier to reboot
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1726: add sidecar tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* #1726: remove duplicated file
Signed-off-by: Israel Blancas <iblancas@redhat.com>
The jaeger-elasticsearch certificate will be managed by ES and will not contain Jaeger instance name.
The name will be jaeger-<es-instance-name>.
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Avoid calling k8s api for each resource kind on the cluster
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Update autodetect tests
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Use map to filter groups
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Simplify the group check
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Increase coverage for autodetect
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Split the E2E tests in suites.
Closes#1595#1575#1579
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix issue in cassandra test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* use image without prefix v
Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>
* remove addprefix in Makefile
Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>
* fix generated bundle
Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>
* Migrate simplest example
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Migrate with-badger examples
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Migrate more examples
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Migrate more examples to Kuttl
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Migrate all the example2 to KUTTL
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add missing endline
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply changes requested in https://github.com/jaegertracing/jaeger-operator/pull/1576\#discussion_r732369842
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Start kafka for the dependant example
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add missing endline
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix kafka deployment
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Remove testing the example for now since the scenario is tested in the streaming tests (this test is producing some issues due to limited resources in the CI)
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Increase Istio times
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Migrate streaming simple E2E test to KUTTL
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix streaming simple test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Templatize wait for Kafka
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Migrate streaming-with-tls to KUTTL
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Migrate all the streaming E2E tests to KUTTL
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add multiple fixes
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Remove not needed dependency in Makefile
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Increasing the number of days for the smoke test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Install kafka in the namespace where the tests are run
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix simple test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix autoprovisioning test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix streaming
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Merge stash
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add spark ES E2E test to KUTTL
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add simple ES prod test to KUTTL
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add makefile changes
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* FFirst version of the ES index cleaner test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Index cleaner tests migrated to KUTTL
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Small refactor
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Make ServiceMonitor creation optional (#1323)
Signed-off-by: Igor Wiedler <iwiedler@gitlab.com>
Co-authored-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Use CRDs to detect features in the cluster (#1608)
* Use CRDs to detect features in the cluster
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Revert
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Revert
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Revert
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply changes suggested in CR
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Igor <igorwwwwwwwwwwwwwwwwwwww@users.noreply.github.com>
Co-authored-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Co-authored-by: Pavol Loffay <p.loffay@gmail.com>
* initial fix
Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
* Fix lint errors
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix invalid memory address or nil pointer dereference error
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Unmarshall JSON only if needed
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Return strings properly when expected from HTTP requests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix All in One Ingress test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Increase robustness when waiting for an HTTP request
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix TestSidecarNamespace
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix smoketest method
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Improve robustness to unexpected HTTP codes
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply changes suggested in CR
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Jeeva Kandasamy <jkandasa@gmail.com>
* Use CRDs to detect features in the cluster
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Revert
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Revert
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Revert
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
Some checks done previously are not really important but they are making the test fail randomly.
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Migrate generate E2E test to use KUTTL
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix gomplate installation
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Remove not needed sleep
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply changes requested in https://github.com/jaegertracing/jaeger-operator/pull/1576\#discussion_r732369842
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Improve tests robustness
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply changes requested in https://github.com/jaegertracing/jaeger-operator/pull/1576\#discussion_r732369842
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* First approach
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Remove not needed files
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Autogenerate the test files
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add documentation
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix gomplate installation
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Address comments from code review
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Change default OpenShift query ingress SAR to pods in the jaeger namespace
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* fmt
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Add more tests
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix gRPC flags for OpenShift
Signed-off-by: Martin Schimandl <martin.schimandl@gmail.com>
* Add new TLS testcase
Signed-off-by: Martin Schimandl <martin.schimandl@gmail.com>
* Add testcase for explicit reporter.grpc.host-port on OpenShift
Signed-off-by: Martin Schimandl <martin.schimandl@gmail.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Add E2E testing for ES Rollover feature
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Add E2E testing for ES Rollover feature
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply changes requested in CR
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix security issue
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Ensure the data is totally stored before finishing the program
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix condition check
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Ensure the spans are received
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Apply new reporter to other tests
Signed-off-by: Israel Blancas <iblancas@redhat.com>
* Fix ES Rollover E2E test
Signed-off-by: Israel Blancas <iblancas@redhat.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Allow sidecar injection for query pod from other Jaeger instances
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Fix other if
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
* Align ES index cleaner test witch changes in 1.26
In version 1.26 the index cleaner uses creation date from index metadata
and not the date from index name so we cannot use span with old start
date to create indices.
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
Co-authored-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Validate presence of tls flags using only the prefix of the flag
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Test explicit disable tls options
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Handle flags update case
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
Co-authored-by: Juraci Paixão Kröhling <juraci@kroehling.de>
* first approach for removing sidecar when deploy annotation is set to false
Signed-off-by: Marco Freyre <marco.fz85@gmail.com>
* fixed missing condition test on sidecar/needed when deploy annotation is set to false, added method for remove sidecar when is not needed in deploy controller
Signed-off-by: Marco Freyre <marco.fz85@gmail.com>
* removeSidecar refactored as instance method
Signed-off-by: Marco Freyre <marco.fz85@gmail.com>
* inject.desired refactor
Signed-off-by: Marco Freyre <marco.fz85@gmail.com>
Co-authored-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
In order to fix https://github.com/jaegertracing/jaeger-operator/issues/1426 I have to do a new release.
We forgot to bump the Jaeger version on `version.txt`
@kevinearls @jpkrohling Could you please review?
Thanks
This PR should allow users to expose Jaeger's Query service as a NodePort at a specific port. Earlier, the Jaeger Operator did not support specifying a port value and would depend on K8s to randomly select an apt port value. This should resolve this blocker.
Resolves#1307
Additionally, changed some actions to run only for master or for pull requests for master, avoiding double run for branches pushed to this repository, as it's the case for dependabot PRs.
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
This commit adds a migration for existing CRs, moving from the deprecated jaeger.tags to collector.tags or agent.tags, according to the components being used.
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
This commit removes the support for the experimental OpenTelemetry-based Jaeger that is part of Jaeger v1, as additional binaries/images. Jaeger v2 will be completely based on OpenTelemetry and we'll have the Jaeger Operator v2 to handle this.
This also partially fixes#1378, as I needed to change the agent flags to use the new flag in order to get the test suite to pass.
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Kevin Earls <kearls@redhat.com>
This fixes#1332 Note however that TLS access for the spark dependencies job is not fully supported (see issue #294 ) in general but will work for the instance described in this issue.
Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
fixes broken es namespace on es index cleaner test on self-provision mode.
@kevinearls can you please review this? Thanks!
Signed-off-by: Jeeva Kandasamy <jkandasa@gmail.com>
* RH AMQ operator 1.6 is available now and it is not supporting for Kafka version 2.4
Supported Kafka versions are 2.5 and 2.6
* strimzi-kafka-operator 0.19.0 has 2.5 template.
Adds option to set the environment variable JAEGER_DISABLED to query or all-in-one deployment.
Closes: #1148
Signed-off-by: Simon Schneider <github@simon-schneider.eu>
The JaegerStorageSpec currently has the storage type as a string. It is changed to a typed string. This PR also includes changes in storage type in all the required files.
Resolves: #111
Signed-off-by: Sezal Agrawal <sezalagrawal@gmail.com>
many container runtimes give SYS_CHROOT by default. However, CRI-O does not give pods SYS_CHROOT by default.
Instead of relying on the default of a runtime, the pod description should request the capabilities it needs
Signed-off-by: Peter Hunt <pehunt@redhat.com>
Signed-off-by: Kevin Earls <kearls@redhat.com>
This PR reduces the number of OTEL related EVs used by tests to two, and separates their functions. If SPECIFY_OTEL_IMAGES is true the tests will explicitly add otel image names to CRs. If SPECIFY_OTEL_CONFIG is true we will remove config values that are not used by the OTEL collector or ingester.
After the release of 1.20, prior to updating the Operator Hub, I noticed that the operator-sdk didn't automatically bump some fields for 1.20.
As a result, I added a few extra sed commands to bump the versions to the release script and ran the commands separately against the existing manifests, making them up to date for 1.20.
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Unfortunately, I can't just use the Jaeger CommonSpec's securityContext as that is a `PodSecurityContext` whereas the sidecar can only have a `SecurityContext`. This required me to add an additional config option `containerSecurityContext`. This does add some redundancy as the `Jaeger.Spec.SecurityContext` is not reused.
Is `sidecarContainerSecurityContext` a better name for this config option as the other agent deployments do use the default pod security context?
Resolves#1186
This is an attempt to stabilize the injection mechanism, before this patch we created a new sidecar and compare the new sidecar with the old one. The issue with this approach is the function that creates the sidecar uses the length of `dep.Spec.Template.Spec.Containers` to derive part of the arguments (See https://github.com/jaegertracing/jaeger-operator/blob/master/pkg/inject/sidecar.go#L198) . So in the first reconciliation process it inject one sidecar, but the next reconciliation process will inject a different sidecar with an extra argument. This triggers the pod re-creation process twice.
This approach recreated the sidecar in each deployment reconciliation
This also uses patch instead of update in an effort to alleviate some errors related to the version of the resource.
Fixes#1089
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
Bumps [gopkg.in/yaml.v2](https://github.com/go-yaml/yaml) from 2.2.8 to 2.3.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="0b1645d91e"><code>0b1645d</code></a> Set the default line length to infinity (-1) (<a href="https://github-redirect.dependabot.com/go-yaml/yaml/issues/571">#571</a>)</li>
<li>See full diff in <a href="https://github.com/go-yaml/yaml/compare/v2.2.8...v2.3.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/configuring-github-dependabot-security-updates)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.4.0 to 1.7.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/spf13/viper/releases">github.com/spf13/viper's releases</a>.</em></p>
<blockquote>
<h2>v1.7.1</h2>
<p>This release contains a bugfix for environment variable expansion. See <a href="https://github-redirect.dependabot.com/spf13/viper/issues/495">#495</a> and <a href="https://github-redirect.dependabot.com/spf13/viper/issues/940">#940</a> for details.</p>
<h2>v1.7.0</h2>
<p>This release mostly contains bug and security fixes, but there are a few new features as well:</p>
<ul>
<li>The unmaintained <a href="https://github.com/spf13/viper/blob/HEAD/github.com/xordataexchange/crypt">https://github.com/spf13/viper/blob/HEAD/github.com/xordataexchange/crypt</a> has been replaced with <a href="https://github.com/spf13/viper/blob/HEAD/github.com/bketelsen/crypt">https://github.com/spf13/viper/blob/HEAD/github.com/bketelsen/crypt</a></li>
<li>Added firestore support as a remote config source (thanks <a href="https://github.com/alxmsl">@alxmsl</a>)</li>
</ul>
<h2>v1.6.3</h2>
<p>Fixes uninstallable library on clean GOPATH</p>
<h2>Fix extensionless config lookup</h2>
<p>This is a patch release fixing a(n edge case) bug introduced in v1.6.0</p>
<p>See <a href="https://github-redirect.dependabot.com/spf13/viper/issues/818">#818</a> and <a href="https://github-redirect.dependabot.com/spf13/viper/issues/827">#827</a> for details</p>
<h2>Fix config path lookup</h2>
<p>This is a patch release fixing a bug introduced in v1.6.0</p>
<h2>v1.6.0</h2>
<h2>Changes</h2>
<h3>Added</h3>
<ul>
<li>Global <code>UnmarshalExact</code> method</li>
<li><code>StringReplacer</code> interface for custom environment key replacing logic</li>
<li>GolangCI Lint</li>
<li>INI support</li>
<li>Key delimiter made configurable</li>
<li>Support for config files without extensions</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Moved to GitHub actions build from Travis</li>
</ul>
<h3>Fixed</h3>
<ul>
<li><code>IsSet</code> no longer returns true when an unset key has a flags bound</li>
<li><code>SafeWriteConfigAs</code> works as expected</li>
</ul>
<p><strong>Happy Holidays!</strong></p>
<h2>v1.5.0</h2>
<p>Documentation and other fixes</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3826be3135"><code>3826be3</code></a> Simplify $HOME prefix check</li>
<li><a href="ce534045f9"><code>ce53404</code></a> Fix environment variable expansion in absPathify</li>
<li><a href="13494e8047"><code>13494e8</code></a> Skipping error != nil checks in favor of the fast return.</li>
<li><a href="13df721090"><code>13df721</code></a> Add Go 1.14 to build targets</li>
<li><a href="3856c05f99"><code>3856c05</code></a> Fix: Getting the value of a StringToString pflag (<a href="https://github-redirect.dependabot.com/spf13/viper/issues/874">#874</a>)</li>
<li><a href="c6ee9808ab"><code>c6ee980</code></a> fix_ini_save_error</li>
<li><a href="c42a305a4b"><code>c42a305</code></a> Update gorilla dependency (<a href="https://github-redirect.dependabot.com/spf13/viper/issues/899">#899</a>)</li>
<li><a href="e34fb51dd7"><code>e34fb51</code></a> Add mentioned in awesome badge</li>
<li><a href="7eea3718bf"><code>7eea371</code></a> Remove go version badge</li>
<li><a href="aa8e4d4983"><code>aa8e4d4</code></a> Update badges and logo</li>
<li>Additional commits viewable in <a href="https://github.com/spf13/viper/compare/v1.4.0...v1.7.1">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/configuring-github-dependabot-security-updates)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
The dependency on vbom.nl/util is failing for pristine environments, such as the one used by 'dependabot'. This is a transitive dependency from the operator-sdk -> kubectl.
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
* Add a test of autoscaling the collector
Signed-off-by: Kevin Earls <kearls@redhat.com>
Skip unless run on OpenShift
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Remove redundant agent definition from tracegen, cleanup event logging
Signed-off-by: Kevin Earls <kearls@redhat.com>
Disabled information about services being injected into pod's environment variables.
Signed-off-by: Michael Lorant <michael.lorant@fairfaxmedia.com.au>
Co-authored-by: Michael Lorant <michael.lorant@fairfaxmedia.com.au>
This allows the operator to create Service resources for the query interface
that have a type other than ClusterIP. This is required for some ingress
controllers that only work with NodePort or LoadBalancer services.
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Add link to openshift console
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Fixed some code style comments, allow reconciliation process continue if consoleLink apply fails
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Add jaeger instance name to the link text
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* update href on jaeger controller
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* return a copy of the consolelink instead of modify the argument when the href is updated
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* add consolelink tests for all strategies
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* avoid warning, set namespace on consolelink CR
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* change consolelink location to NamespaceDashboard
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* change update href function, move update to strategy
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Fix console links when creating two jaeger same name in different namespaces, improve log messages, fix some code style issues
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Fix some tests, improve readability of others with comments
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Name function to derivate consolelink name, and use it on tests
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
SDK_VERSION in Makefile refered to an older version, and the struct
framework.TestCtx is now a deprecated alias for framework.Context.
Updates #1125
Signed-off-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
* Log warning events on failed tests to help debug PVC and other issues
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Update message to restart tests
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Change message to clarify that this is a warning event
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Only print header if there is at least one Warning event
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Create and mount service CA via ConfigMap
Fixes#1123
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
* Fixed comments in the service CA code
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Deploy trusted CA config map in OpenShift when agent injected into a different namespace than the jaeger instance
Signed-off-by: Gary Brown <gary@brownuk.com>
As is, the readme doesn't seem to work, and creates a jaeger whose status will never be updated...
Signed-off-by: therealmitchconnors <mitchconnors@gmail.com>
* Add OTEL config to all-in-one
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Remove yaml
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* exclude openapi from coverage
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Add test for error path
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Migrate Ingress from API extensions/v1beta1 to networking.k8s.io/v1beta1
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Add network.k8s.io ingress api detection
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Add client layer for decide which version of API ingress to use
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Ingress new/old api tests
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Set used api when the client is created, minor format issues
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Fix lint issues
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Change the API detection to run once at start
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Avoid string assertion on viper.get
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Update tests to run with jaeger and otel collectors
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Add CI changes, update to pick collector based on EV setting
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Fix mangling of variable name
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Remove unneeded otel options
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Clean up in response to PR comments
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Remove unneeded export
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Make sure truncated labels are valid
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Move trim to truncate function
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Add CLI command jaeger-operator generate to generate manifests
Defaults to stdin/stdout
Examples:
jaeger-operator generate --jaeger-all-in-one-image localimage --cr ./deploy/examples/all-in-one-with-options.yaml | kubectl apply -f -
cat jaeger.yaml | podman run jaeger-operator generate > manifest.yaml
Fixes#375
Signed-off-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
* Add missing TypeMeta for corev1.ServiceAccount
Signed-off-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
* Add e2e tests for `jaeger-operator generate`
Signed-off-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
* Avoid command line flag duplication
Signed-off-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
* Fixup - allow EOF on stdin
Signed-off-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
* README: Explain generate subcommand
Signed-off-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
* Generate command description: update
Signed-off-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
* Strategy: Test that All includes all types
Signed-off-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
* Remove solved TODOs
Signed-off-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
* Use AllInOneSmokeTest for e2e CLI generate
Signed-off-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
* Fix tag name in README
Signed-off-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
* Update docs
Signed-off-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
* Use require.No* for better error message in e2e test
Signed-off-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
* Update docs, mark as experimental
Signed-off-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
* Minor refactor/cleanup
Signed-off-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
Co-authored-by: Carl Henrik Lunde <carl.henrik.lunde@sparebank1.no>
* Use ES operator 4.4
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Update versions
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Remove proxy and update p8s
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Update TestDeleteResource to work with OLM installed operators
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Fail if jaeger operator is not found
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Remove unneeded declaration
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Handle normalization of host:port addresses in operator upgrade for 1.18
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Enable grpc on agent insteat of tchannel
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Address comments, improve readability
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Remove specific collector port support for upgrade to 0.18
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Put all collector migrations on a single function
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Make 1.18 upgrade test pass
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Format issues fixed
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Update upgrade 1.18 tests
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Use semver on the upgrade process
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* More tests
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Simplify upgrade ManagedInstance function, address comments
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Address some small changes
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Create function that parse semver and sort it
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Validate to upper versions and update tests
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Improve logging messages
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Change version to initialized on version package init
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Panic on semver parsing failure, more log messages improvments
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Move some stuff to versions main.go, added tests
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Change one log field name
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* More movements, little improvments
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* ES index cleaner and rollover cronjobs were adding image to persisted CR
Updated the dependencies image so not persisted
Signed-off-by: Gary Brown <gary@brownuk.com>
* Fix e2e tests
Signed-off-by: Gary Brown <gary@brownuk.com>
* Add comment about not using util.ImageName
Signed-off-by: Gary Brown <gary@brownuk.com>
* Allow oauth proxy imagestream to be used by specifying the namespace/name
Signed-off-by: Gary Brown <gary@brownuk.com>
* Add ImageStream type only to the Scheme
Signed-off-by: Gary Brown <gary@brownuk.com>
Signed-off-by: Kevin Earls <kearls@redhat.com>
Add debugging code
Signed-off-by: Kevin Earls <kearls@redhat.com>
More debugging
Signed-off-by: Kevin Earls <kearls@redhat.com>
More debugging
Signed-off-by: Kevin Earls <kearls@redhat.com>
Even more debugging
Signed-off-by: Kevin Earls <kearls@redhat.com>
Remove skip
Signed-off-by: Kevin Earls <kearls@redhat.com>
Fix ES virtual memory
Signed-off-by: Kevin Earls <kearls@redhat.com>
More debugging -- see how much disk space we're using
Signed-off-by: Kevin Earls <kearls@redhat.com>
Yet even more debugging
Signed-off-by: Kevin Earls <kearls@redhat.com>
Set threshold_enabled to false
Signed-off-by: Kevin Earls <kearls@redhat.com>
Check system wide disk space usage
Signed-off-by: Kevin Earls <kearls@redhat.com>
Try setting threshold enabled via environment variable
Signed-off-by: Kevin Earls <kearls@redhat.com>
Cleanup, remove debugging code
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Retry if update of vertx deployment fails
Signed-off-by: Kevin Earls <kearls@redhat.com>
Retry after redirect to login screen
Signed-off-by: Kevin Earls <kearls@redhat.com>
Only print status if not 200
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Clean up, remove unrelated code
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Restore smoketest changes
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Try minikube 1.6.2
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Try minikube v1.3.1
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Don't fail on failure of dns pods to start --make sure to get log
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Try minikube 1.5.2, kubernetes 1.16.2
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Need to set minikube version in 2 places
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Try with ubuntu-xenial
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Try with ubuntu 16.94
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Try with ubuntu 16.04
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Try minikube 1.5.2/k8s 1.16.2
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Remove wait for add-on-manager, it no longer exists
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Add back the rest of the test groups
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Cleanup waits
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Added auto-scale to the ingester
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Use an interface as an argument to autoscale
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Simplified the autoscaling append on stream strategy
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Add ingester autoscale tests
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Introduce hpaLabels method as part of component interface for autoscaling
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Rename spec to commonSpec on autoscaling component interface
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
* Fix autodetect restarting platform from OpenShift to Kubernetes
Signed-off-by: Gary Brown <gary@brownuk.com>
* Add extra check
Signed-off-by: Gary Brown <gary@brownuk.com>
* Further change to trigger tests
Signed-off-by: Gary Brown <gary@brownuk.com>
* Add separate test suite for openshift only examples
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Fixed spelling on message
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Remove extra space
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Remove test that requires deploying es-operator
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Don't start es either
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Pass namespace when searching for insecure endpoint
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Undo parameter rename
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Verify namespace when finding routes
Signed-off-by: Kevin Earls <kearls@redhat.com>
Add test to verify changes to the findRoute function
Signed-off-by: Kevin Earls <kearls@redhat.com>
TestFindRoute should only run on OpenShift
Signed-off-by: Kevin Earls <kearls@redhat.com>
Use a longer instance name to force truncation, and make sure to compare against truncated names
Signed-off-by: Kevin Earls <kearls@redhat.com>
Minor fixes
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Fixed import
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Only use 1 cassandra replica to avoid CI failures on minikube
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Increase replicas to minimum of 2
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Skip TestBusinessApp test until #974 is fixed
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Use routes instead of port-forwarding where possible to improve test reliability
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Add security exception
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Use ingress for smoketest where possible
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Simplify check for insecure endpoint
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Make lint happy
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Make lint happy and rerun tests
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Added workaround for operator deployment timeouts until #947 is fixed
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Avoid possible race condition with cassandra
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Increase test timeout until #947 is fixed
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Update tests to cover new Kafka CLI flags
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Updated tests to cover new Kafka CLI flags
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Improve comment
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Really fix the comment this time
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Follow up changes to PR #909
Signed-off-by: Andy Elliott <andye@yambay.com>
* Unexported func, internal only required
Signed-off-by: Andy Elliott <andye@yambay.com>
* Add http- prefix to collector service port names
Signed-off-by: Gary Brown <gary@brownuk.com>
* Remove tchannel prefix
Signed-off-by: Gary Brown <gary@brownuk.com>
If the job does not succeed within that duration
it transitions into a permanent error state.
That change is expected to smoothen deployment in
in environments where Cassandra takes a little less
predictable amount of time until it is available.
So far, in those environments the deadline of just
two minutes hits in frequently and then a human needs
to re-schedule the job to address a the underlying
usually *transient* problem which is more likely
to heal itself automatically with this patch.
Also see
https://github.com/jaegertracing/jaeger-kubernetes/pull/125https://github.com/jaegertracing/jaeger-kubernetes/issues/32
Signed-off-by: Dr. Jan-Philip Gehrcke <jp@opstrace.com>
A Horizontal Pod Autoscaler (HPA) was added in this PR, along with a new MinReplicas and MaxReplicas. With that, the collector should now automatically scale up and down based on the CPU and/or memory consumption. When none of the new properties are specified, the minimum amount of replicas is 1, while the maximum number of replicas is 100. The HPA configuration is added only when the deployment strategy is either production or streaming.
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
* Increase timeout for cassandra example
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Fix silly oversight
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Increase timeout to avoid test failures
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Base timeout on default
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Support self provisioned ES in streaming strategy
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Move ES cert generation to controller
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Fix nits
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Fix assignment
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Add basic oauth test
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Add error check; remove redundant code
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Add check of status code and fix order of arguments in require statement
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Remove debugging code
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Retry rather than fail if http request fails as this is an environment rather than product issue
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Revert "Retry rather than fail if http request fails as this is an environment rather than product issue"
I'll resubmit this as part of another PR
This reverts commit 1be504d33a.
Signed-off-by: Kevin Earls <kearls@redhat.com>
Cassandra pods need sometimes more than 2 minutes to bootstrap. When
this happens, the Cassandra Schema job is failing, and prevents further
deployment of Jaeger components.
By allowing to define a custom timeout for this job, we can circumvent
this problem.
Resolves#818
Signed-off-by: Alexandre Figura <arugifa@users.noreply.github.com>
* Add test case to increasing replicas
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Prevent port forwarding to terminating pod
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Check err on exiting wait loop; wait for cassandra to avoid race condition
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Remove extraneous blank line
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Don't validate images when using OLM
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Add TODOs to reinstate skipped tests when possible
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Temporary fix for test until Jaeger PR1414 is in a release we are using
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Remove debugging code
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Pass only specified options to spark dependencies
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* generate
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* fmt
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Update description to point to jaegertracing.io docs, and remove the example as atleast one is made available via the alm-examples via the operatorhub.io website
Signed-off-by: Gary Brown <gary@brownuk.com>
* Address review comments
Signed-off-by: Gary Brown <gary@brownuk.com>
* Fix comment
Signed-off-by: Gary Brown <gary@brownuk.com>
* Fix comment
Signed-off-by: Gary Brown <gary@brownuk.com>
Add default prometheus annotations to be inserted at sidecar in case the deployment don't have any
Signed-off-by: Nivaldo Melo <nivaldogmelo@gmail.com>
* Bring jaeger operator repo inline with contributing guidelines in main Jaeger repo
Signed-off-by: Gary Brown <gary@brownuk.com>
* Update year
Signed-off-by: Gary Brown <gary@brownuk.com>
* Update streaming test to download CRs, use version 0.12.1
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Add security exception for kubectl command
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Use Elasticsearch operator 4.2 by default and add CI for 4.1
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Use kubectl
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Fix review comments
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Remove outdatted config for old SDK
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Add commonSpec to other jobs (es-index-cleaner, es-rollover, cassandra-create-schema)
Signed-off-by: Gary Brown <gary@brownuk.com>
* Refactor
Signed-off-by: Gary Brown <gary@brownuk.com>
* Remove cassandra create schema job for now
Signed-off-by: Gary Brown <gary@brownuk.com>
* When using OLM we still need to create and delete the cluster
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Always create and delete the kafka namespace when installing via OLM
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Explicitly delete kafka operator before deleting project
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Update tests to permit running with operators installed via OperatorHub
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Update comments, don't undeploy kafka or es-operator when using operatorhub
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Add format verification for tests, and apply it
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Applied changes to make lint happy
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Don't run e2e tests with unit tests
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Add test for elasticsearch index prefixes
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Change test name
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Deploy production ready self provisioned ES by default
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Parse resources
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Fixes
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Remove comment
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Always deploy client,data nodes with master node
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Fix number of shards
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Further simplify smoke test
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Use proper name parameter for smoke test
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Simplify usage of smoke test by having it do port forwarding
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Improve smoke test names
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Make executeSmokeTest private
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Use random ports when port forwarding
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Change random port number generation to ensure we get an unused port
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Create 2nd port forward to avoid disconnect errors
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Move randomPortNumber method to port_forward.go
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Fix imports and url creation
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Add cleanup targets for CI jobs
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Update to take advantage of existing clean target
Signed-off-by: Kevin Earls <kearls@redhat.com>
* Update README to reference operator documentation on jaegertracing.io
Signed-off-by: Gary Brown <gary@brownuk.com>
* Updated to include Juca's suggestion for basic getting started
Signed-off-by: Gary Brown <gary@brownuk.com>
* Convert other adoc files to md
Signed-off-by: Gary Brown <gary@brownuk.com>
* Add () around links
Signed-off-by: Gary Brown <gary@brownuk.com>
* Use zero redundancy when number of ES nodes is 1
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
* Add test
Signed-off-by: Pavol Loffay <ploffay@redhat.com>
Thanks submitting your Operator. Please check below list before you create your Pull Request.
### New Submissions
* [x] Are you familiar with our [contribution guidelines](https://github.com/operator-framework/community-operators/blob/master/docs/contributing-via-pr.md)?
* [x] Have you [packaged and deployed](https://github.com/operator-framework/community-operators/blob/master/docs/testing-operators.md) your Operator for Operator Framework?
* [x] Have you tested your Operator with all Custom Resource Definitions?
* [x] Have you tested your Operator in all supported [installation modes](https://github.com/operator-framework/operator-lifecycle-manager/blob/master/doc/design/building-your-csv.md#operator-metadata)?
* [x] Have you considered whether you want use [semantic versioning order](https://github.com/operator-framework/community-operators/blob/master/docs/operator-ci-yaml.md#semver-mode)?
* [x] Is your submission [signed](https://github.com/operator-framework/community-operators/blob/master/docs/contributing-prerequisites.md#sign-your-work)?
* [x] Is operator [icon](https://github.com/operator-framework/community-operators/blob/master/docs/packaging-operator.md#operator-icon) set?
### Updates to existing Operators
* [x] Did you create a `ci.yaml` file according to the [update instructions](https://github.com/operator-framework/community-operators/blob/master/docs/operator-ci-yaml.md)?
* [x] Is your new CSV pointing to the previous version with the `replaces` property if you chose `replaces-mode` via the `updateGraph` property in `ci.yaml`?
* [x] Is your new CSV referenced in the [appropriate channel](https://github.com/operator-framework/community-operators/blob/master/docs/packaging-operator.md#channels) defined in the `package.yaml` or `annotations.yaml` ?
* [ ] Have you tested an update to your Operator when deployed via OLM?
* [x] Is your submission [signed](https://github.com/operator-framework/community-operators/blob/master/docs/contributing-prerequisites.md#sign-your-work)?
### Your submission should not
* [x] Modify more than one operator
* [x] Modify an Operator you don't own
* [x] Rename an operator - please remove and add with a different name instead
* [x] Submit operators to both `upstream-community-operators` and `community-operators` at once
* [x] Modify any files outside the above mentioned folders
* [x] Contain more than one commit. **Please squash your commits.**
### Operator Description must contain (in order)
1. [x] Description about the managed Application and where to find more information
2. [x] Features and capabilities of your Operator and how to use it
3. [x] Any manual steps about potential pre-requisites for using your Operator
### Operator Metadata should contain
* [x] Human readable name and 1-liner description about your Operator
* [x] One of the pre-defined [capability levels](https://github.com/operator-framework/operator-courier/blob/4d1a25d2c8d52f7de6297ec18d8afd6521236aa2/operatorcourier/validate.py#L556)<sup>2</sup>
* [x] Links to the maintainer, source code and documentation
* [x] Example templates for all Custom Resource Definitions intended to be used
* [x] A quadratic logo
Remember that you can preview your CSV [here](https://operatorhub.io/preview).
--
<sup>1</sup> If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
<sup>2</sup> For more information see [here](https://sdk.operatorframework.io/docs/overview/#operator-capability-level)
Thanks submitting your Operator. Please check below list before you create your Pull Request.
### New Submissions
* [ ] Are you familiar with our [contribution guidelines](https://github.com/operator-framework/community-operators/blob/master/docs/contributing-via-pr.md)?
* [ ] Have you [packaged and deployed](https://github.com/operator-framework/community-operators/blob/master/docs/testing-operators.md) your Operator for Operator Framework?
* [ ] Have you tested your Operator with all Custom Resource Definitions?
* [ ] Have you tested your Operator in all supported [installation modes](https://github.com/operator-framework/operator-lifecycle-manager/blob/master/doc/design/building-your-csv.md#operator-metadata)?
* [ ] Have you considered whether you want use [semantic versioning order](https://github.com/operator-framework/community-operators/blob/master/docs/operator-ci-yaml.md#semver-mode)?
* [ ] Is your submission [signed](https://github.com/operator-framework/community-operators/blob/master/docs/contributing-prerequisites.md#sign-your-work)?
* [ ] Is operator [icon](https://github.com/operator-framework/community-operators/blob/master/docs/packaging-operator.md#operator-icon) set?
### Updates to existing Operators
* [ ] Did you create a `ci.yaml` file according to the [update instructions](https://github.com/operator-framework/community-operators/blob/master/docs/operator-ci-yaml.md)?
* [ ] Is your new CSV pointing to the previous version with the `replaces` property if you chose `replaces-mode` via the `updateGraph` property in `ci.yaml`?
* [ ] Is your new CSV referenced in the [appropriate channel](https://github.com/operator-framework/community-operators/blob/master/docs/packaging-operator.md#channels) defined in the `package.yaml` or `annotations.yaml` ?
* [ ] Have you tested an update to your Operator when deployed via OLM?
* [ ] Is your submission [signed](https://github.com/operator-framework/community-operators/blob/master/docs/contributing-prerequisites.md#sign-your-work)?
### Your submission should not
* [ ] Modify more than one operator
* [ ] Modify an Operator you don't own
* [ ] Rename an operator - please remove and add with a different name instead
* [ ] Submit operators to both `upstream-community-operators` and `community-operators` at once
* [ ] Modify any files outside the above mentioned folders
* [ ] Contain more than one commit. **Please squash your commits.**
### Operator Description must contain (in order)
1. [ ] Description about the managed Application and where to find more information
2. [ ] Features and capabilities of your Operator and how to use it
3. [ ] Any manual steps about potential pre-requisites for using your Operator
### Operator Metadata should contain
* [ ] Human readable name and 1-liner description about your Operator
* [ ] One of the pre-defined [capability levels](https://github.com/operator-framework/operator-courier/blob/4d1a25d2c8d52f7de6297ec18d8afd6521236aa2/operatorcourier/validate.py#L556)<sup>2</sup>
* [ ] Links to the maintainer, source code and documentation
* [ ] Example templates for all Custom Resource Definitions intended to be used
* [ ] A quadratic logo
Remember that you can preview your CSV [here](https://operatorhub.io/preview).
--
<sup>1</sup> If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
<sup>2</sup> For more information see [here](https://sdk.operatorframework.io/docs/overview/#operator-capability-level)
* Bump Jaeger to 1.13 (https://github.com/jaegertracing/jaeger-operator/pull/504[#504])
* Disable the property ttlSecondsAfterFinished (https://github.com/jaegertracing/jaeger-operator/pull/503[#503])
* Set default redundancy policy to zero (https://github.com/jaegertracing/jaeger-operator/pull/501[#501])
== v1.13.0 (2019-07-02)
* Changed to always use namespace when a name is involved (https://github.com/jaegertracing/jaeger-operator/pull/485[#485])
* Sanitize names that must follow DNS naming rules (https://github.com/jaegertracing/jaeger-operator/pull/483[#483])
* Added instructions for daemonsets on OpenShift (https://github.com/jaegertracing/jaeger-operator/pull/346[#346])
* Enable completion time-to-live to be set on all jobs (https://github.com/jaegertracing/jaeger-operator/pull/407[#407])
== v1.12.1 (2019-06-06)
* Removed 'expose metrics port' to prevent 'failed to create or get service' error (https://github.com/jaegertracing/jaeger-operator/pull/462[#462])
* Add support for securityContext and serviceAccount (https://github.com/jaegertracing/jaeger-operator/pull/456[#456])
* Add install SDK goal to make (https://github.com/jaegertracing/jaeger-operator/pull/458[#458])
* Upgraded the operator-sdk version to 0.8.1 (https://github.com/jaegertracing/jaeger-operator/pull/449[#449])
* Switch to go modules from dep (https://github.com/jaegertracing/jaeger-operator/pull/449[#449])
* Do not set a default Elasticsearch image (https://github.com/jaegertracing/jaeger-operator/pull/450[#450])
* Log the operator image name when created (https://github.com/jaegertracing/jaeger-operator/pull/452[#452])
* Add label to the common spec (https://github.com/jaegertracing/jaeger-operator/pull/445[#445])
* Fix injecting volumes into rollover jobs (https://github.com/jaegertracing/jaeger-operator/pull/446[#446])
* Remove race condition by disabling esIndexCleaner till after SmokeTes… (https://github.com/jaegertracing/jaeger-operator/pull/437[#437])
* Fix runtime panic when trying to update operator controlled resources that don't have annotation or labels (https://github.com/jaegertracing/jaeger-operator/pull/433[#433])
== v1.12.0 (2019-05-22)
* Update to 1.12 and use new admin ports (https://github.com/jaegertracing/jaeger-operator/pull/425[#425])
* Use ephemeral storage for Kafka tests (https://github.com/jaegertracing/jaeger-operator/pull/419[#419])
* Fix csv example and add spec.maturity (https://github.com/jaegertracing/jaeger-operator/pull/416[#416])
* Add resources requests/limits to oauth_proxy (https://github.com/jaegertracing/jaeger-operator/pull/410[#410])
* Check that context is not nil before calling cleanup (https://github.com/jaegertracing/jaeger-operator/pull/413[#413])
* Improve error message when queries fail (https://github.com/jaegertracing/jaeger-operator/pull/402[#402])
* Add resource requirements to sidecar agent (https://github.com/jaegertracing/jaeger-operator/pull/401[#401])
* Make sure to call ctx.cleanup if perpare() fails (https://github.com/jaegertracing/jaeger-operator/pull/389[#389])
* Change how Kafka is configured for collector and ingester (https://github.com/jaegertracing/jaeger-operator/pull/390[#390])
* Use storage namespace in index cleaner test (https://github.com/jaegertracing/jaeger-operator/pull/382[#382])
* Fix rbac policy issue with blockOwnerDeletion (https://github.com/jaegertracing/jaeger-operator/pull/384[#384])
* Reinstate gosec with fix for OOM error (https://github.com/jaegertracing/jaeger-operator/pull/381[#381])
* Enhance ES index cleaner e2e test to verify indices have been removed (https://github.com/jaegertracing/jaeger-operator/pull/378[#378])
* Add owner ref on operator's service to ensure it gets deleted when op… (https://github.com/jaegertracing/jaeger-operator/pull/377[#377])
* Update CSV description to comply with guidelines (https://github.com/jaegertracing/jaeger-operator/pull/374[#374])
* Include elasticsearch statefulset nodes in availability check (https://github.com/jaegertracing/jaeger-operator/pull/371[#371])
* Fail lint goal if not empty (https://github.com/jaegertracing/jaeger-operator/pull/372[#372])
== v1.11.1 (2019-04-09)
* Include docs for common config (https://github.com/jaegertracing/jaeger-operator/pull/367[#367])
* Reinstated the registration of ES types (https://github.com/jaegertracing/jaeger-operator/pull/366[#366])
* Add support for affinity and tolerations (https://github.com/jaegertracing/jaeger-operator/pull/361[#361])
* Support injection of JAEGER_SERVICE_NAME based on app or k8s recommended labels (https://github.com/jaegertracing/jaeger-operator/pull/362[#362])
* Change ES operator apiversion (https://github.com/jaegertracing/jaeger-operator/pull/360[#360])
* Update test to run on OpenShift (https://github.com/jaegertracing/jaeger-operator/pull/350[#350])
* Add prometheus scrape 'false' annotation to headless collector service (https://github.com/jaegertracing/jaeger-operator/pull/348[#348])
* Derive agent container/host ports from options if specified (https://github.com/jaegertracing/jaeger-operator/pull/353[#353])
== v1.11.0 (2019-03-22)
=== Breaking changes
* Moved from v1alpha1 to v1 (https://github.com/jaegertracing/jaeger-operator/pull/265[#265])
* Use storage flags instead of CR properties for spark job (https://github.com/jaegertracing/jaeger-operator/pull/295[#295])
* Changed from 'size' to 'replicas' (https://github.com/jaegertracing/jaeger-operator/pull/271[#271]). "Size" will still work for the next couple of releases.
=== Other changes
* Initialise menu to include Log Out option when using OAuth Proxy (https://github.com/jaegertracing/jaeger-operator/pull/344[#344])
* Change Operator provider to CNCF (https://github.com/jaegertracing/jaeger-operator/pull/263[#263])
* Added note about the apiVersion used up to 1.10.0 (https://github.com/jaegertracing/jaeger-operator/pull/283[#283])
* Implemented a second service for the collector (https://github.com/jaegertracing/jaeger-operator/pull/339[#339])
* Enabled DNS as the service discovery mechanism for agent => collector communication (https://github.com/jaegertracing/jaeger-operator/pull/333[#333])
* Sorted the container arguments inside deployments (https://github.com/jaegertracing/jaeger-operator/pull/337[#337])
* Use client certs for elasticsearch (https://github.com/jaegertracing/jaeger-operator/pull/325[#325])
* Load back Elasticsearch certs from secrets (https://github.com/jaegertracing/jaeger-operator/pull/324[#324])
* Disable spark dependencies for self provisioned es (https://github.com/jaegertracing/jaeger-operator/pull/319[#319])
* Remove index cleaner from prod-es-deploy example (https://github.com/jaegertracing/jaeger-operator/pull/314[#314])
* Set default query timeout for provisioned ES (https://github.com/jaegertracing/jaeger-operator/pull/313[#313])
* Use storage flags instead of CR properties for spark job (https://github.com/jaegertracing/jaeger-operator/pull/295[#295])
* Change operator.yaml to use master, to keep the readme uptodate with latest version (https://github.com/jaegertracing/jaeger-operator/pull/296[#296])
* Add Elasticsearch image to CR and flag (https://github.com/jaegertracing/jaeger-operator/pull/289[#289])
* Updated to Operator SDK 0.5.0 (https://github.com/jaegertracing/jaeger-operator/pull/273[#273])
* Block until objects have been created and are ready (https://github.com/jaegertracing/jaeger-operator/pull/279[#279])
* Add rollover support (https://github.com/jaegertracing/jaeger-operator/pull/267[#267])
* Added publishing of major.minor image for the operator (https://github.com/jaegertracing/jaeger-operator/pull/274[#274])
* Use only ES data nodes to calculate shards (https://github.com/jaegertracing/jaeger-operator/pull/257[#257])
* Reinstated sidecar for query, plus small refactoring of sidecar (https://github.com/jaegertracing/jaeger-operator/pull/246[#246])
* Remove ES master certs (https://github.com/jaegertracing/jaeger-operator/pull/256[#256])
* Store back the CR only if it has changed (https://github.com/jaegertracing/jaeger-operator/pull/249[#249])
* Fixed role rule for Elasticsearch (https://github.com/jaegertracing/jaeger-operator/pull/251[#251])
* Wait for elasticsearch cluster to be up (https://github.com/jaegertracing/jaeger-operator/pull/242[#242])
== v1.10.0 (2019-02-28)
* Automatically detect when the ES operator is available (https://github.com/jaegertracing/jaeger-operator/pull/239[#239])
* Adjusted logs to be consistent across the code base (https://github.com/jaegertracing/jaeger-operator/pull/237[#237])
* Fixed deployment of Elasticsearch via its operator (https://github.com/jaegertracing/jaeger-operator/pull/234[#234])
* Set ES shards and replicas based on redundancy policy (https://github.com/jaegertracing/jaeger-operator/pull/229[#229])
* Enable JAEGER_SERVICE_NAME and JAEGER_PROPAGATION env vars to be set … (https://github.com/jaegertracing/jaeger-operator/pull/128[#128])
* Add CRD to install steps, and update cleanup instructions (https://github.com/jaegertracing/jaeger-operator/pull/129[#129])
* Rename controller to strategy (https://github.com/jaegertracing/jaeger-operator/pull/125[#125])
* Add tests for new operator-sdk related code (https://github.com/jaegertracing/jaeger-operator/pull/122[#122])
* Update README.adoc to match yaml files in deploy (https://github.com/jaegertracing/jaeger-operator/pull/124[#124])
== v1.8.1 (2018-11-21)
* Add support for UI configuration (https://github.com/jaegertracing/jaeger-operator/pull/115[#115])
* Use proper jaeger-operator version for e2e tests and remove readiness check from DaemonSet (https://github.com/jaegertracing/jaeger-operator/pull/120[#120])
* Migrate to Operator SDK 0.1.0 (https://github.com/jaegertracing/jaeger-operator/pull/116[#116])
* Fix changelog 'new features' header for 1.8 (https://github.com/jaegertracing/jaeger-operator/pull/113[#113])
== v1.8.0 (2018-11-13)
*Notable new Features*
* Query base path should be used to configure correct path in ingress (https://github.com/jaegertracing/jaeger-operator/pull/108[#108])
* Enable resources to be defined at top level and overridden at compone… (https://github.com/jaegertracing/jaeger-operator/pull/110[#110])
* Add OAuth Proxy to UI when on OpenShift (https://github.com/jaegertracing/jaeger-operator/pull/100[#100])
* Enable top level annotations to be defined (https://github.com/jaegertracing/jaeger-operator/pull/97[#97])
* Support volumes and volumeMounts (https://github.com/jaegertracing/jaeger-operator/pull/82[#82])
* Add support for OpenShift routes (https://github.com/jaegertracing/jaeger-operator/pull/93[#93])
* Enable annotations to be specified with the deployable components (https://github.com/jaegertracing/jaeger-operator/pull/86[#86])
* Add support for Cassandra create-schema job (https://github.com/jaegertracing/jaeger-operator/pull/71[#71])
* Inject sidecar in properly annotated pods (https://github.com/jaegertracing/jaeger-operator/pull/58[#58])
* Support deployment of agent as a DaemonSet (https://github.com/jaegertracing/jaeger-operator/pull/52[#52])
*Breaking changes*
* Change CRD to use lower camel case (https://github.com/jaegertracing/jaeger-operator/pull/87[#87])
* Factor out ingress from all-in-one and query, as common to both but i… (https://github.com/jaegertracing/jaeger-operator/pull/91[#91])
* Remove zipkin service (https://github.com/jaegertracing/jaeger-operator/pull/75[#75])
*Full list of commits:*
* Query base path should be used to configure correct path in ingress (https://github.com/jaegertracing/jaeger-operator/pull/108[#108])
* Enable resources to be defined at top level and overridden at compone… (https://github.com/jaegertracing/jaeger-operator/pull/110[#110])
* Fix disable-oauth-proxy example (https://github.com/jaegertracing/jaeger-operator/pull/107[#107])
* Add OAuth Proxy to UI when on OpenShift (https://github.com/jaegertracing/jaeger-operator/pull/100[#100])
* Refactor common spec elements into a single struct with common proces… (https://github.com/jaegertracing/jaeger-operator/pull/105[#105])
* Ensure 'make generate' has been executed when model changes are made (https://github.com/jaegertracing/jaeger-operator/pull/101[#101])
* Enable top level annotations to be defined (https://github.com/jaegertracing/jaeger-operator/pull/97[#97])
* Update generated code and reverted change to 'all-in-one' in CRD (https://github.com/jaegertracing/jaeger-operator/pull/98[#98])
* Support volumes and volumeMounts (https://github.com/jaegertracing/jaeger-operator/pull/82[#82])
* Update readme to include info about storage options being located in … (https://github.com/jaegertracing/jaeger-operator/pull/96[#96])
* Enable storage options to be filtered out based on specified storage … (https://github.com/jaegertracing/jaeger-operator/pull/94[#94])
* Add support for OpenShift routes (https://github.com/jaegertracing/jaeger-operator/pull/93[#93])
* Change CRD to use lower camel case (https://github.com/jaegertracing/jaeger-operator/pull/87[#87])
* Factor out ingress from all-in-one and query, as common to both but i… (https://github.com/jaegertracing/jaeger-operator/pull/91[#91])
* Fix operator SDK version as master is too unpredicatable at the moment (https://github.com/jaegertracing/jaeger-operator/pull/92[#92])
* Update generated file after new annotations field (https://github.com/jaegertracing/jaeger-operator/pull/90[#90])
* Enable annotations to be specified with the deployable components (https://github.com/jaegertracing/jaeger-operator/pull/86[#86])
* Remove zipkin service (https://github.com/jaegertracing/jaeger-operator/pull/75[#75])
* Add support for Cassandra create-schema job (https://github.com/jaegertracing/jaeger-operator/pull/71[#71])
* Fix table of contents on readme (https://github.com/jaegertracing/jaeger-operator/pull/73[#73])
* Update the Operator SDK version (https://github.com/jaegertracing/jaeger-operator/pull/69[#69])
* Add sidecar.istio.io/inject=false annotation to all-in-one, agent (da… (https://github.com/jaegertracing/jaeger-operator/pull/67[#67])
* Fix zipkin port issue (https://github.com/jaegertracing/jaeger-operator/pull/65[#65])
* Go 1.11.1 (https://github.com/jaegertracing/jaeger-operator/pull/61[#61])
* Inject sidecar in properly annotated pods (https://github.com/jaegertracing/jaeger-operator/pull/58[#58])
* Support deployment of agent as a DaemonSet (https://github.com/jaegertracing/jaeger-operator/pull/52[#52])
* Normalize options on the stub and update the normalized CR (https://github.com/jaegertracing/jaeger-operator/pull/54[#54])
* Document the disable ingress feature (https://github.com/jaegertracing/jaeger-operator/pull/55[#55])
* dep ensure (https://github.com/jaegertracing/jaeger-operator/pull/51[#51])
* Add support for JaegerIngressSpec to all-in-one
== v1.7.0 (2018-09-25)
This release brings Jaeger v1.7 to the Operator.
*Full list of commits:*
* Release v1.7.0
* Bump Jaeger to 1.7 (https://github.com/jaegertracing/jaeger-operator/pull/41[#41])
== v1.6.5 (2018-09-21)
This is our initial release based on Jaeger 1.6.
*Full list of commits:*
* Release v1.6.5
* Push the tag with the new commit to master, not the release tag
* Fix git push syntax
* Push tag to master
* Merge release commit into master (https://github.com/jaegertracing/jaeger-operator/pull/39[#39])
* feat: added missing test for elasticsearch reconciler ([#2662](https://github.com/jaegertracing/jaeger-operator/pull/2662), [@Ankit152](https://github.com/Ankit152))
## v1.61.0 (2024-09-16)
* Bump google.golang.org/grpc from 1.66.0 to 1.66.1 ([#2675](https://github.com/jaegertracing/jaeger-operator/pull/2675), [@dependabot[bot]](https://github.com/apps/dependabot))
* Bump google.golang.org/grpc from 1.65.0 to 1.66.0 ([#2670](https://github.com/jaegertracing/jaeger-operator/pull/2670), [@dependabot[bot]](https://github.com/apps/dependabot))
* Bump the opentelemetry group with 9 updates ([#2668](https://github.com/jaegertracing/jaeger-operator/pull/2668), [@dependabot[bot]](https://github.com/apps/dependabot))
## v1.60.0 (2024-08-13)
* Fix Golang version in go.mod ([#2652](https://github.com/jaegertracing/jaeger-operator/pull/2652), [@iblancasa](https://github.com/iblancasa))
## v1.60.0 (2024-08-09)
* Test on k8s 1.30 ([#2647](https://github.com/jaegertracing/jaeger-operator/pull/2647), [@pavolloffay](https://github.com/pavolloffay))
* Bump go to 1.22 and controller-gen to 1.14 ([#2646](https://github.com/jaegertracing/jaeger-operator/pull/2646), [@pavolloffay](https://github.com/pavolloffay))
## v1.59.0 (2024-08-06)
* Update compatibility matrix for v1.57.x ([#2594](https://github.com/jaegertracing/jaeger-operator/pull/2594), [@mooneeb](https://github.com/mooneeb))
* imagePullSecrets is not set for agent DaemonSet ([#2563](https://github.com/jaegertracing/jaeger-operator/pull/2563), [@antoniomerlin](https://github.com/antoniomerlin))
## v1.57.0 (2024-05-06)
## v1.55.0 (2024-03-22)
* Add server URL to JaegerMetricsStorageSpec ([#2481](https://github.com/jaegertracing/jaeger-operator/pull/2481), [@antoniomerlin](https://github.com/antoniomerlin))
* Use the host set in the Ingess field for the OpenShift Route ([#2409](https://github.com/jaegertracing/jaeger-operator/pull/2409), [@iblancasa](https://github.com/iblancasa))
* Add minimum Kubernetes and OpenShift versions ([#2492](https://github.com/jaegertracing/jaeger-operator/pull/2492), [@andreasgerstmayr](https://github.com/andreasgerstmayr))
* Choose the newer autoscaling version by default ([#2374](https://github.com/jaegertracing/jaeger-operator/pull/2374), [@iblancasa](https://github.com/iblancasa))
* Upgrade operator-sdk to 1.32.0 ([#2388](https://github.com/jaegertracing/jaeger-operator/pull/2388), [@iblancasa](https://github.com/iblancasa))
* Fix containerImage field and remove statement about failing CI ([#2386](https://github.com/jaegertracing/jaeger-operator/pull/2386), [@iblancasa](https://github.com/iblancasa))
* Fix injection: prefer jaeger in the same namespace ([#2383](https://github.com/jaegertracing/jaeger-operator/pull/2383), [@pavolloffay](https://github.com/pavolloffay))
* Support configuring images via RELATED_IMAGE_ environment variables ([#2355](https://github.com/jaegertracing/jaeger-operator/pull/2355), [@andreasgerstmayr](https://github.com/andreasgerstmayr))
* Regenerate ES certificated when is close to 1 day for expire ([#2356](https://github.com/jaegertracing/jaeger-operator/pull/2356), [@rubenvp8510](https://github.com/rubenvp8510))
* Bump actions/checkout from 3 to 4 ([#2316](https://github.com/jaegertracing/jaeger-operator/pull/2316), [@dependabot[bot]](https://github.com/apps/dependabot))
* bump grpc to 1.58.3 ([#2346](https://github.com/jaegertracing/jaeger-operator/pull/2346), [@rubenvp8510](https://github.com/rubenvp8510))
* Bump golang version to 1.21 ([#2347](https://github.com/jaegertracing/jaeger-operator/pull/2347), [@rubenvp8510](https://github.com/rubenvp8510))
* Ensure oauth-proxy ImageStream is detected eventually ([#2340](https://github.com/jaegertracing/jaeger-operator/pull/2340), [@bverschueren](https://github.com/bverschueren))
* Check if envFrom has ConfigMapRef set ([#2342](https://github.com/jaegertracing/jaeger-operator/pull/2342), [@edwardecook](https://github.com/edwardecook))
* Bump golang.org/x/net from 0.13.0 to 0.17.0 ([#2343](https://github.com/jaegertracing/jaeger-operator/pull/2343), [@dependabot[bot]](https://github.com/apps/dependabot))
* Fix issue related to new encoding in oauth-proxy image ([#2345](https://github.com/jaegertracing/jaeger-operator/pull/2345), [@iblancasa](https://github.com/iblancasa))
* Always generate new oauth-proxy password ([#2333](https://github.com/jaegertracing/jaeger-operator/pull/2333), [@pavolloffay](https://github.com/pavolloffay))
* Add v1.48.x and v1.49.x to the support map ([#2332](https://github.com/jaegertracing/jaeger-operator/pull/2332), [@ishaqkhattana](https://github.com/ishaqkhattana))
* Pass proxy env vars to operands ([#2330](https://github.com/jaegertracing/jaeger-operator/pull/2330), [@pavolloffay](https://github.com/pavolloffay))
* Protect auth delegator behind a mutex ([#2318](https://github.com/jaegertracing/jaeger-operator/pull/2318), [@iblancasa](https://github.com/iblancasa))
## v1.49.1 (2023-09-07)
* fix: protect the kafka-profision setting behind a mutex ([#2308](https://github.com/jaegertracing/jaeger-operator/pull/2308), [@iblancasa](https://github.com/iblancasa))
## v1.48.1 (2023-09-04)
* Use base image that does not require subscription (centos 9 stream) ([#2313](https://github.com/jaegertracing/jaeger-operator/pull/2313), [@pavolloffay](https://github.com/pavolloffay))
* Update go dependencies to Kubernetes 0.28.1 ([#2301](https://github.com/jaegertracing/jaeger-operator/pull/2301), [@pavolloffay](https://github.com/pavolloffay))
* Protect the ESProvisioning setting behind a mutex ([#2287](https://github.com/jaegertracing/jaeger-operator/pull/2287), [@iblancasa](https://github.com/iblancasa))
## v1.48.0 (2023-08-28)
* Remove the TokenReview after checking we can create it ([#2286](https://github.com/jaegertracing/jaeger-operator/pull/2286), [@iblancasa](https://github.com/iblancasa))
* Fix apiVersion and kind are missing in jaeger-operator generate output ([#2281](https://github.com/jaegertracing/jaeger-operator/pull/2281), [@hiteshwani29](https://github.com/hiteshwani29))
* Fix custom labels for the deployable components in production strategy ([#2277](https://github.com/jaegertracing/jaeger-operator/pull/2277), [@hiteshwani29](https://github.com/hiteshwani29))
* Ensure the OAuth Proxy image detection is run after the platform detection ([#2280](https://github.com/jaegertracing/jaeger-operator/pull/2280), [@iblancasa](https://github.com/iblancasa))
* Added changes to respect env variable set from envFrom configMaps ([#2272](https://github.com/jaegertracing/jaeger-operator/pull/2272), [@hiteshwani29](https://github.com/hiteshwani29))
* Refactor the autodetect module to reduce the number of writes/reads in viper configuration ([#2274](https://github.com/jaegertracing/jaeger-operator/pull/2274), [@iblancasa](https://github.com/iblancasa))
## v1.47.0 (2023-07-12)
* Expose admin ports for agent, collector, and query Deployments via the equivalent Service ([#2262](https://github.com/jaegertracing/jaeger-operator/pull/2262), [@thomaspaulin](https://github.com/thomaspaulin))
* update otel sdk to v1.16.0/v0.39.0 ([#2261](https://github.com/jaegertracing/jaeger-operator/pull/2261), [@frzifus](https://github.com/frzifus))
* Add support for Kubernetes 1.27 ([#2235](https://github.com/jaegertracing/jaeger-operator/pull/2235), [@iblancasa](https://github.com/iblancasa))
* Jaeger Collector Config: `Lifecycle` and `TerminationGracePeriodSeconds` ([#2242](https://github.com/jaegertracing/jaeger-operator/pull/2242), [@taj-p](https://github.com/taj-p))
## v1.46.0 (2023-06-16)
* Missing exposed port 16685 in query deployments ([#2239](https://github.com/jaegertracing/jaeger-operator/pull/2239), [@iblancasa](https://github.com/iblancasa))
* Use Golang 1.20 ([#2205](https://github.com/jaegertracing/jaeger-operator/pull/2205), [@iblancasa](https://github.com/iblancasa))
* [BugFix] Properly set imagePullPolicy and containerSecurityContext for EsIndexCleaner cronjob container ([#2224](https://github.com/jaegertracing/jaeger-operator/pull/2224), [@michalschott](https://github.com/michalschott))
* Remove resource limitation for the operator pod ([#2221](https://github.com/jaegertracing/jaeger-operator/pull/2221), [@iblancasa](https://github.com/iblancasa))
* Add PriorityClass for AllInOne strategy ([#2218](https://github.com/jaegertracing/jaeger-operator/pull/2218), [@sonofgibs](https://github.com/sonofgibs))
## v1.45.0 (2023-05-16)
## v1.44.0 (2023-04-13)
* Feat: add `NodeSelector` to jaeger collector, query, and ingestor ([#2200](https://github.com/jaegertracing/jaeger-operator/pull/2200), [@AhmedGrati](https://github.com/AhmedGrati))
## v1.43.0 (2023-02-07)
* update operator-sdk to 1.27.0 ([#2178](https://github.com/jaegertracing/jaeger-operator/pull/2178), [@iblancasa](https://github.com/iblancasa))
* Support JaegerCommonSpec in JaegerCassandraCreateSchemaSpec ([#2176](https://github.com/jaegertracing/jaeger-operator/pull/2176), [@haanhvu](https://github.com/haanhvu))
## v1.42.0 (2023-02-07)
* Upgrade Kafka Operator default version to 0.32.0 ([#2150](https://github.com/jaegertracing/jaeger-operator/pull/2150), [@iblancasa](https://github.com/iblancasa))
* Fix the Jaeger version for the Jaeger Operator 1.41.x ([#2157](https://github.com/jaegertracing/jaeger-operator/pull/2157), [@iblancasa](https://github.com/iblancasa))
1.40.0 (2022-12-23)
-------------------
* Support e2e tests on multi architecture environment ([#2139](https://github.com/jaegertracing/jaeger-operator/pull/2139), [@jkandasa](https://github.com/jkandasa))
* limit the get of deployments to WATCH_NAMESPACE on sync ([#2126](https://github.com/jaegertracing/jaeger-operator/pull/2126), [@rubenvp8510](https://github.com/rubenvp8510))
* choose first server address ([#2087](https://github.com/jaegertracing/jaeger-operator/pull/2087), [@Efrat19](https://github.com/Efrat19))
* Fix query ingress when using streaming strategy ([#2120](https://github.com/jaegertracing/jaeger-operator/pull/2120), [@kevinearls](https://github.com/kevinearls))
* Fix Liveness Probe for Ingester and Query ([#2122](https://github.com/jaegertracing/jaeger-operator/pull/2122), [@ricoberger](https://github.com/ricoberger))
* Fix for min tls version to v1.2 ([#2119](https://github.com/jaegertracing/jaeger-operator/pull/2119), [@kangsheng89](https://github.com/kangsheng89))
1.39.0 (2022-11-03)
-------------------
* Fix: svc port doesnt match istio convention ([#2101](https://github.com/jaegertracing/jaeger-operator/pull/2101), [@frzifus](https://github.com/frzifus))
1.38.1 (2022-10-11)
-------------------
* Add ability to specify es proxy resources ([#2079](https://github.com/jaegertracing/jaeger-operator/pull/2079), [@rubenvp8510](https://github.com/rubenvp8510))
* Add liveness and readiness probes to injected sidecar ([#2077](https://github.com/jaegertracing/jaeger-operator/pull/2077), [@MacroPower](https://github.com/MacroPower))
* Add http- port prefix to follow istio naming conventions ([#2075](https://github.com/jaegertracing/jaeger-operator/pull/2075), [@cnvergence](https://github.com/cnvergence))
1.38.0 (2022-09-19)
-------------------
* added pathType to ingress ([#2066](https://github.com/jaegertracing/jaeger-operator/pull/2066), [@giautm](https://github.com/giautm))
* set alias enable variable for spark cronjob ([#2061](https://github.com/jaegertracing/jaeger-operator/pull/2061), [@miyunari](https://github.com/miyunari))
* migrate autoscaling v2beta2 to v2 for Kubernetes 1.26 ([#2055](https://github.com/jaegertracing/jaeger-operator/pull/2055), [@iblancasa](https://github.com/iblancasa))
* add container security context support ([#2033](https://github.com/jaegertracing/jaeger-operator/pull/2033), [@mjnagel](https://github.com/mjnagel))
* change verbosity level and message of the log for autoprovisioned kafka ([#2026](https://github.com/jaegertracing/jaeger-operator/pull/2026), [@iblancasa](https://github.com/iblancasa))
1.37.0 (2022-08-11)
-------------------
* Upgrade operator-sdk to 1.22.2 ([#2021](https://github.com/jaegertracing/jaeger-operator/pull/2021), [@iblancasa](https://github.com/iblancasa))
* es-dependencies: support image pull secret ([#2012](https://github.com/jaegertracing/jaeger-operator/pull/2012), [@frzifus](https://github.com/frzifus))
1.36.0 (2022-07-18)
-------------------
* added flag to change webhook port ([#1991](https://github.com/jaegertracing/jaeger-operator/pull/1991), [@klubi](https://github.com/klubi))
* Upgrade operator-sdk to 1.22.0 ([#1951](https://github.com/jaegertracing/jaeger-operator/pull/1951), [@iblancasa](https://github.com/iblancasa))
* Add elasticsearch storage date format config. ([#1325](https://github.com/jaegertracing/jaeger-operator/pull/1325), [@sniperking1234](https://github.com/sniperking1234))
* Add support for custom liveness probe ([#1605](https://github.com/jaegertracing/jaeger-operator/pull/1605), [@ricoberger](https://github.com/ricoberger))
* Add service annotations ([#1526](https://github.com/jaegertracing/jaeger-operator/pull/1526), [@herbguo](https://github.com/herbguo))
1.35.0 (2022-06-16)
-------------------
* fix: point to a newer openshift oauth image 4.12 ([#1955](https://github.com/jaegertracing/jaeger-operator/pull/1955), [@frzifus](https://github.com/frzifus))
* Expose OTLP collector and allInOne ports ([#1948](https://github.com/jaegertracing/jaeger-operator/pull/1948), [@rubenvp8510](https://github.com/rubenvp8510))
* Add support for ImagePullSecrets in cronjobs ([#1935](https://github.com/jaegertracing/jaeger-operator/pull/1935), [@alexandrevilain](https://github.com/alexandrevilain))
* fix: ocp es rollover #1932 ([#1937](https://github.com/jaegertracing/jaeger-operator/pull/1937), [@frzifus](https://github.com/frzifus))
* add kafkaSecretName for collector and ingester ([#1910](https://github.com/jaegertracing/jaeger-operator/pull/1910), [@luohua13](https://github.com/luohua13))
* Add autoscalability E2E test for OpenShift ([#1936](https://github.com/jaegertracing/jaeger-operator/pull/1936), [@iblancasa](https://github.com/iblancasa))
* Fix version in Docker container. ([#1924](https://github.com/jaegertracing/jaeger-operator/pull/1924), [@iblancasa](https://github.com/iblancasa))
* Verify namespace permissions before adding ns controller ([#1914](https://github.com/jaegertracing/jaeger-operator/pull/1914), [@rubenvp8510](https://github.com/rubenvp8510))
* fix: skip dependencies on openshift platform ([#1921](https://github.com/jaegertracing/jaeger-operator/pull/1921), [@frzifus](https://github.com/frzifus))
* fix: remove common name label ([#1920](https://github.com/jaegertracing/jaeger-operator/pull/1920), [@frzifus](https://github.com/frzifus))
* Ignore not found error on 1.31.0 upgrade routine ([#1913](https://github.com/jaegertracing/jaeger-operator/pull/1913), [@rubenvp8510](https://github.com/rubenvp8510))
1.34.1 (2022-05-24)
-------------------
Fix: storage.es.tls.enabled flag not passed to es-index-cleaner ([#1896](https://github.com/jaegertracing/jaeger-operator/pull/1896), [@indigostar-kr](https://github.com/indigostar-kr))
1.34.0 (2022-05-18)
-------------------
* Fix: jaeger operator fails to parse Jaeger instance version ([#1885](https://github.com/jaegertracing/jaeger-operator/pull/1885), [@rubenvp8510](https://github.com/rubenvp8510))
* Support Kubernetes 1.24 ([#1882](https://github.com/jaegertracing/jaeger-operator/pull/1882), [@iblancasa](https://github.com/iblancasa))
* Fix: setting default Istio annotation in Pod instead of Deployment ([#1860](https://github.com/jaegertracing/jaeger-operator/pull/1860), [@cnvergence](https://github.com/cnvergence))
* Add http- prefix to port names in collector and agent services ([#1862](https://github.com/jaegertracing/jaeger-operator/pull/1862), [@cnvergence](https://github.com/cnvergence))
1.33.0 (2022-04-14)
-------------------
* Adding priority-class for esIndexCleaner ([#1732](https://github.com/jaegertracing/jaeger-operator/pull/1732), [@swapnilpotnis](https://github.com/swapnilpotnis))
* Fix: take namespace modifications into account ([#1839](https://github.com/jaegertracing/jaeger-operator/pull/1839), [@frzifus](https://github.com/frzifus))
* Replace deployment reconciler with webhook ([#1828](https://github.com/jaegertracing/jaeger-operator/pull/1828), [@frzifus](https://github.com/frzifus))
* Add managed by metric ([#1831](https://github.com/jaegertracing/jaeger-operator/pull/1831), [@rubenvp8510](https://github.com/rubenvp8510))
* Fix admissionReviews version for operator-sdk upgrade ([#1827](https://github.com/jaegertracing/jaeger-operator/pull/1827), [@kevinearls](https://github.com/kevinearls))
* Make RHOL Elasticsearch cert-management feature optional ([#1824](https://github.com/jaegertracing/jaeger-operator/pull/1824), [@pavolloffay](https://github.com/pavolloffay))
* Update the operator-sdk to v1.17.0 ([#1825](https://github.com/jaegertracing/jaeger-operator/pull/1825), [@kevinearls](https://github.com/kevinearls))
* add METRICS_STORAGE_TYPE for metrics query ([#1755](https://github.com/jaegertracing/jaeger-operator/pull/1755), [@JaredTan95](https://github.com/JaredTan95))
* Make operator more resiliant to etcd defrag activity ([#1795](https://github.com/jaegertracing/jaeger-operator/pull/1795), [@pavolloffay](https://github.com/pavolloffay))
* Automatically set num shards and replicas from referenced OCP ES ([#1737](https://github.com/jaegertracing/jaeger-operator/pull/1737), [@pavolloffay](https://github.com/pavolloffay))
* support image pull secrets ([#1740](https://github.com/jaegertracing/jaeger-operator/pull/1740), [@frzifus](https://github.com/frzifus))
* Fix webhook secret cert name ([#1772](https://github.com/jaegertracing/jaeger-operator/pull/1772), [@rubenvp8510](https://github.com/rubenvp8510))
1.31.0 (2022-02-09)
-------------------
* Fix panic caused by an invalid type assertion ([#1738](https://github.com/jaegertracing/jaeger-operator/pull/1738), [@frzifus](https://github.com/frzifus))
* Add ES autoprovisioning CR metric ([#1728](https://github.com/jaegertracing/jaeger-operator/pull/1728), [@rubenvp8510](https://github.com/rubenvp8510))
* Use Elasticsearch provisioning from OpenShift Elasticsearch operator ([#1708](https://github.com/jaegertracing/jaeger-operator/pull/1708), [@pavolloffay](https://github.com/pavolloffay))
1.30.0 (2022-01-18)
-------------------
* Only expose the query-http[s] port in the OpenShift route ([#1719](https://github.com/jaegertracing/jaeger-operator/pull/1719), [@rkukura](https://github.com/rkukura))
* Add CR Metrics for Jaeger Kind. ([#1706](https://github.com/jaegertracing/jaeger-operator/pull/1706), [@rubenvp8510](https://github.com/rubenvp8510))
* Avoid calling k8s api for each resource kind on the cluster ([#1712](https://github.com/jaegertracing/jaeger-operator/pull/1712), [@rubenvp8510](https://github.com/rubenvp8510))
* First call of autodetect should be synchronous ([#1713](https://github.com/jaegertracing/jaeger-operator/pull/1713), [@rubenvp8510](https://github.com/rubenvp8510))
* Add permissions for imagestreams ([#1714](https://github.com/jaegertracing/jaeger-operator/pull/1714), [@rubenvp8510](https://github.com/rubenvp8510))
* Restore default metrics port to avoid breaking helm ([#1703](https://github.com/jaegertracing/jaeger-operator/pull/1703), [@rubenvp8510](https://github.com/rubenvp8510))
* Add leases permissions to manifest. ([#1704](https://github.com/jaegertracing/jaeger-operator/pull/1704), [@rubenvp8510](https://github.com/rubenvp8510))
* Change spark-dependencies image to GHCR ([#1701](https://github.com/jaegertracing/jaeger-operator/pull/1701), [@pavolloffay](https://github.com/pavolloffay))
* Register ES types ([#1688](https://github.com/jaegertracing/jaeger-operator/pull/1688), [@rubenvp8510](https://github.com/rubenvp8510))
* Add support for IBM Power (ppc64le) arch ([#1672](https://github.com/jaegertracing/jaeger-operator/pull/1672), [@Abhijit-Mane](https://github.com/Abhijit-Mane))
* util.Truncate add the values to the truncated after the excess is 0 ([#1678](https://github.com/jaegertracing/jaeger-operator/pull/1678), [@mmatache](https://github.com/mmatache))
1.29.1 (2021-12-15)
-------------------
* Register oschema for openshift resources ([#1673](https://github.com/jaegertracing/jaeger-operator/pull/1673), [@rubenvp8510](https://github.com/rubenvp8510))
* Fix finding the correct instance when there are multiple jaeger instances during injecting the sidecar ([#1639](https://github.com/jaegertracing/jaeger-operator/pull/1639), [@alibo](https://github.com/alibo))
* Migrate to operator-sdk 1.13 ([#1623](https://github.com/jaegertracing/jaeger-operator/pull/1623), [@rubenvp8510](https://github.com/rubenvp8510))
1.28.0 (2021-11-08)
-------------------
* Use CRDs to detect features in the cluster ([#1608](https://github.com/jaegertracing/jaeger-operator/pull/1608), [@pavolloffay](https://github.com/pavolloffay))
* Make ServiceMonitor creation optional ([#1323](https://github.com/jaegertracing/jaeger-operator/pull/1323), [@igorwwwwwwwwwwwwwwwwwwww](https://github.com/igorwwwwwwwwwwwwwwwwwwww))
* Change default OpenShift query ingress SAR to pods in the jaeger namespace ([#1583](https://github.com/jaegertracing/jaeger-operator/pull/1583), [@pavolloffay](https://github.com/pavolloffay))
* Fix gRPC flags for OpenShift when 'reporter.grpc.host-port' is defined ([#1584](https://github.com/jaegertracing/jaeger-operator/pull/1584), [@Git-Jiro](https://github.com/Git-Jiro))
1.27.0 (2021-10-07)
-------------------
* Allow sidecar injection for query pod from other Jaeger instances ([#1569](https://github.com/jaegertracing/jaeger-operator/pull/1569), [@pavolloffay](https://github.com/pavolloffay))
* Avoid touching jaeger deps on deployment/ns controller ([#1529](https://github.com/jaegertracing/jaeger-operator/pull/1529), [@rubenvp8510](https://github.com/rubenvp8510))
1.26.0 (2021-09-30)
-------------------
* Add ingressClassName field to query ingress ([#1557](https://github.com/jaegertracing/jaeger-operator/pull/1557), [@rubenvp8510](https://github.com/rubenvp8510))
* Add disconnected annotation to csv ([#1536](https://github.com/jaegertracing/jaeger-operator/pull/1536), [@rubenvp8510](https://github.com/rubenvp8510))
1.25.0 (2021-08-08)
-------------------
* Add support repetitive arguments to operand ([#1434](https://github.com/jaegertracing/jaeger-operator/pull/1434), [@rubenvp8510](https://github.com/rubenvp8510))
* Allow TLS flags to be disabled ([#1440](https://github.com/jaegertracing/jaeger-operator/pull/1440), [@rubenvp8510](https://github.com/rubenvp8510))
* Add gRPC port for jaeger-query into its service resource ([#1521](https://github.com/jaegertracing/jaeger-operator/pull/1521), [@rubenvp8510](https://github.com/rubenvp8510))
* Sidecar removed when annotation is false ([#1508](https://github.com/jaegertracing/jaeger-operator/pull/1508), [@mfz85](https://github.com/mfz85))
* Add support for GRPC storage plugin ([#1517](https://github.com/jaegertracing/jaeger-operator/pull/1517), [@pavolloffay](https://github.com/pavolloffay))
* Fix overwritten default labels in label selectors of `Service` ([#1490](https://github.com/jaegertracing/jaeger-operator/pull/1490), [@rudeigerc](https://github.com/rudeigerc))
* Add resources requests and limits to the operator ([#1515](https://github.com/jaegertracing/jaeger-operator/pull/1515), [@brunopadz](https://github.com/brunopadz))
* Allow to pass ES_TIME_RANGE var to Spark dependencies job ([#1481](https://github.com/jaegertracing/jaeger-operator/pull/1481), [@Gr1N](https://github.com/Gr1N))
* Pass secretName to cassandra dependencies job (#1162) ([#1447](https://github.com/jaegertracing/jaeger-operator/pull/1447), [@Gerrit-K](https://github.com/Gerrit-K))
1.23.0 (2021-06-11)
-------------------
* Implement backoff limit for jobs ([#1468](https://github.com/jaegertracing/jaeger-operator/pull/1468), [@chasekiefer](https://github.com/chasekiefer))
* Remove OwnerReferences from CA configmaps ([#1467](https://github.com/jaegertracing/jaeger-operator/pull/1467), [@rubenvp8510](https://github.com/rubenvp8510))
* Promote crd to apiextensions.k8s.io/v1 ([#1456](https://github.com/jaegertracing/jaeger-operator/pull/1456), [@rubenvp8510](https://github.com/rubenvp8510))
* Add preserve unknown fields annotation to FreeForm and Options fields ([#1435](https://github.com/jaegertracing/jaeger-operator/pull/1435), [@rubenvp8510](https://github.com/rubenvp8510))
* Migrate remaining flags and some env vars to 1.22 ([#1449](https://github.com/jaegertracing/jaeger-operator/pull/1449), [@rubenvp8510](https://github.com/rubenvp8510))
* Fix override storage and ingress values when upgrade to 1.22 ([#1439](https://github.com/jaegertracing/jaeger-operator/pull/1439), [@rubenvp8510](https://github.com/rubenvp8510))
* Allow configure custom certificates to collector ([#1418](https://github.com/jaegertracing/jaeger-operator/pull/1418), [@rubenvp8510](https://github.com/rubenvp8510))
* Add support for NodePort in Jaeger Query Service ([#1394](https://github.com/jaegertracing/jaeger-operator/pull/1394), [@CSP197](https://github.com/CSP197))
1.22.0 (2021-03-16)
-------------------
* Add ability to indicate PriorityClass for collector and query ([#1413](https://github.com/jaegertracing/jaeger-operator/pull/1413), [@majidazimi](https://github.com/majidazimi))
* simplest example file should be as simplest ([#1404](https://github.com/jaegertracing/jaeger-operator/pull/1404), [@jkandasa](https://github.com/jkandasa))
* Add ability to indicate PriorityClass for agent ([#1392](https://github.com/jaegertracing/jaeger-operator/pull/1392), [@elkh510](https://github.com/elkh510))
* Migrate jaeger.tags in existing CRs ([#1380](https://github.com/jaegertracing/jaeger-operator/pull/1380), [@jpkrohling](https://github.com/jpkrohling))
1.21.3 (2021-02-09)
-------------------
* Remove support for the experimental OpenTelemetry-based Jaeger ([#1379](https://github.com/jaegertracing/jaeger-operator/pull/1379), [@jpkrohling](https://github.com/jpkrohling))
* Fix way we force es secret reconcile ([#1374](https://github.com/jaegertracing/jaeger-operator/pull/1374), [@kevinearls](https://github.com/kevinearls))
* added the codeql.yml ([#1313](https://github.com/jaegertracing/jaeger-operator/pull/1313), [@KrishnaSindhur](https://github.com/KrishnaSindhur))
* Fix service port naming convention ([#1368](https://github.com/jaegertracing/jaeger-operator/pull/1368), [@lujiajing1126](https://github.com/lujiajing1126))
* Add volumes and volume-mounts for spark dependencies ([#1359](https://github.com/jaegertracing/jaeger-operator/pull/1359), [@kevinearls](https://github.com/kevinearls))
* Create missing CA config maps on deployment controller ([#1347](https://github.com/jaegertracing/jaeger-operator/pull/1347), [@jpkrohling](https://github.com/jpkrohling))
* set non root group ([#1339](https://github.com/jaegertracing/jaeger-operator/pull/1339), [@UsaninMax](https://github.com/UsaninMax))
* Kafka 2.4 not supported by RH AMQ operator 1.6 ([#1335](https://github.com/jaegertracing/jaeger-operator/pull/1335), [@jkandasa](https://github.com/jkandasa))
* Trigger deployments reconciliation when jaeger instance is created ([#1334](https://github.com/jaegertracing/jaeger-operator/pull/1334), [@rubenvp8510](https://github.com/rubenvp8510))
* Copy common spec to avoid touching persisted CR spec ([#1333](https://github.com/jaegertracing/jaeger-operator/pull/1333), [@rubenvp8510](https://github.com/rubenvp8510))
* Try to resolve container.name from the injected agent args ([#1319](https://github.com/jaegertracing/jaeger-operator/pull/1319), [@lujiajing1126](https://github.com/lujiajing1126))
* Fix typo in CONTRIBUTING.md ([#1321](https://github.com/jaegertracing/jaeger-operator/pull/1321), [@sniperking1234](https://github.com/sniperking1234))
1.21.2 (2020-11-20)
-------------------
* Fixes jaeger version ([#1311](https://github.com/jaegertracing/jaeger-operator/pull/1311), [@rubenvp8510](https://github.com/rubenvp8510))
1.21.1 (2020-11-19)
* Update UI documentation link if is present ([#1290](https://github.com/jaegertracing/jaeger-operator/pull/1290), [@rubenvp8510](https://github.com/rubenvp8510))
1.21.0 (2020-11-17)
-------------------
* Regenerate self-provisioned ES TLS cert when it's outdated ([#1301](https://github.com/jaegertracing/jaeger-operator/pull/1301), [@kevinearls](https://github.com/kevinearls))
* Enable tolerations support in elasticsearch config ([#1296](https://github.com/jaegertracing/jaeger-operator/pull/1296), [@kevinearls](https://github.com/kevinearls))
* Update github.com/miekg/dns to v1.1.35 ([#1298](https://github.com/jaegertracing/jaeger-operator/pull/1298), [@objectiser](https://github.com/objectiser))
* Add serviceType for the collector service ([#1286](https://github.com/jaegertracing/jaeger-operator/pull/1286), [@sschne](https://github.com/sschne))
* Add env var JAEGER_DISABLED ([#1285](https://github.com/jaegertracing/jaeger-operator/pull/1285), [@sschne](https://github.com/sschne))
* Fix secret creation when using self provisioned elasticsearch instances ([#1288](https://github.com/jaegertracing/jaeger-operator/pull/1288), [@kevinearls](https://github.com/kevinearls))
* Convert storage type to typed string ([#1282](https://github.com/jaegertracing/jaeger-operator/pull/1282), [@SezalAgrawal](https://github.com/SezalAgrawal))
* Use New Admin Port Flag ([#1281](https://github.com/jaegertracing/jaeger-operator/pull/1281), [@johanavril](https://github.com/johanavril))
* Update instances status using client.Status().update interface ([#1253](https://github.com/jaegertracing/jaeger-operator/pull/1253), [@rubenvp8510](https://github.com/rubenvp8510))
* Remove gRPC host-port from being added to the CR (agent) ([#1272](https://github.com/jaegertracing/jaeger-operator/pull/1272), [@jpkrohling](https://github.com/jpkrohling))
* Sync OTEL config volume/mount and args ([#1268](https://github.com/jaegertracing/jaeger-operator/pull/1268), [@jpkrohling](https://github.com/jpkrohling))
* Publish container - dockerx should not use tag BUILD_IMAGE ([#1270](https://github.com/jaegertracing/jaeger-operator/pull/1270), [@morlay](https://github.com/morlay))
* Speed up buildx process ([#1267](https://github.com/jaegertracing/jaeger-operator/pull/1267), [@morlay](https://github.com/morlay))
* Fix the dependencies ([#1264](https://github.com/jaegertracing/jaeger-operator/pull/1264), [@faceair](https://github.com/faceair))
* Allow overriding the vertx example app image and config values ([#1259](https://github.com/jaegertracing/jaeger-operator/pull/1259), [@kevinearls](https://github.com/kevinearls))
* Simplify OTEL related environment variables ([#1255](https://github.com/jaegertracing/jaeger-operator/pull/1255), [@kevinearls](https://github.com/kevinearls))
* Adding samples for ingress hosts and annotations ([#1231](https://github.com/jaegertracing/jaeger-operator/pull/1231), [@prageethw](https://github.com/prageethw))
* Don't set kafka batch options when using otel collector ([#1227](https://github.com/jaegertracing/jaeger-operator/pull/1227), [@kevinearls](https://github.com/kevinearls))
1.20.0 (2020-09-30)
-------------------
* Added configuration for the agent's securityContext ([#1190](https://github.com/jaegertracing/jaeger-operator/pull/1190), [@chgl](https://github.com/chgl))
* Completely replace the sidecar on each reconciliation, call patch instead of update. ([#1212](https://github.com/jaegertracing/jaeger-operator/pull/1212), [@rubenvp8510](https://github.com/rubenvp8510))
* Remove sidecars of annotated namespaces when annotation is deleted ([#1209](https://github.com/jaegertracing/jaeger-operator/pull/1209), [@rubenvp8510](https://github.com/rubenvp8510))
* Create service accounts before storage dependencies/init schemas ([#1196](https://github.com/jaegertracing/jaeger-operator/pull/1196), [@pavolloffay](https://github.com/pavolloffay))
* Added 'w3c' to the injected JAEGER_PROPAGATION env var ([#1192](https://github.com/jaegertracing/jaeger-operator/pull/1192), [@chgl](https://github.com/chgl))
* Create daemonsets after services and deployments. ([#1176](https://github.com/jaegertracing/jaeger-operator/pull/1176), [@jpkrohling](https://github.com/jpkrohling))
* Add consolelink permissions to cluster role ([#1177](https://github.com/jaegertracing/jaeger-operator/pull/1177), [@rubenvp8510](https://github.com/rubenvp8510))
1.19.0 (2020-08-27)
-------------------
Breaking changes:
* None
Other noteworthy changes:
* Remove explicitly setting agent's reporter type ([#1168](https://github.com/jaegertracing/jaeger-operator/pull/1168), [@pavolloffay](https://github.com/pavolloffay))
* Apply the securityContext to the cassandraCreateSchema job ([#1167](https://github.com/jaegertracing/jaeger-operator/pull/1167), [@chgl](https://github.com/chgl))
* Disabled service links ([#1161](https://github.com/jaegertracing/jaeger-operator/pull/1161), [@mikelorant](https://github.com/mikelorant))
* Create option to specify type for Query service ([#1132](https://github.com/jaegertracing/jaeger-operator/pull/1132), [@Aneurysm9](https://github.com/Aneurysm9))
* Added missing metrics port to operator's deployment ([#1157](https://github.com/jaegertracing/jaeger-operator/pull/1157), [@jpkrohling](https://github.com/jpkrohling))
* Support custom labels in Jaeger all-in-one deployments (#629) ([#1153](https://github.com/jaegertracing/jaeger-operator/pull/1153), [@albertteoh](https://github.com/albertteoh))
* Added interactive flag for docker to fix issue 1150 ([#1154](https://github.com/jaegertracing/jaeger-operator/pull/1154), [@sundar-cs](https://github.com/sundar-cs))
* Avoid error message assertions on OS dependent errors (#716) ([#1151](https://github.com/jaegertracing/jaeger-operator/pull/1151), [@albertteoh](https://github.com/albertteoh))
* Add link to openshift console ([#1142](https://github.com/jaegertracing/jaeger-operator/pull/1142), [@rubenvp8510](https://github.com/rubenvp8510))
* Add common field to jaeger-es-rollover-create-mapping ([#1144](https://github.com/jaegertracing/jaeger-operator/pull/1144), [@lighteness](https://github.com/lighteness))
* Update downloaded SDK version and update deprecated struct name ([#1133](https://github.com/jaegertracing/jaeger-operator/pull/1133), [@chlunde](https://github.com/chlunde))
* Update x/crypto version ([#1136](https://github.com/jaegertracing/jaeger-operator/pull/1136), [@objectiser](https://github.com/objectiser))
* Fixed binding of command line flags ([#1129](https://github.com/jaegertracing/jaeger-operator/pull/1129), [@jpkrohling](https://github.com/jpkrohling))
* Updated Operator SDK to v0.18.2 ([#1126](https://github.com/jaegertracing/jaeger-operator/pull/1126), [@jpkrohling](https://github.com/jpkrohling))
* Create and mount service CA via ConfigMap ([#1124](https://github.com/jaegertracing/jaeger-operator/pull/1124), [@jpkrohling](https://github.com/jpkrohling))
* Set the grpc port name to include http(s) prefix. ([#1122](https://github.com/jaegertracing/jaeger-operator/pull/1122), [@jpkrohling](https://github.com/jpkrohling))
* Fix duplicate mount path for /etc/pki/ca-trust/extracted/pem ([#1121](https://github.com/jaegertracing/jaeger-operator/pull/1121), [@objectiser](https://github.com/objectiser))
* Adjusted gRPC options for OpenShift when TLS is enabled ([#1119](https://github.com/jaegertracing/jaeger-operator/pull/1119), [@jpkrohling](https://github.com/jpkrohling))
* Add support for imagePullSecrets to sidecar's Deployment ([#1115](https://github.com/jaegertracing/jaeger-operator/pull/1115), [@Saad-Hussain1](https://github.com/Saad-Hussain1))
* Add TraceTTL to cassandra schema spec ([#1111](https://github.com/jaegertracing/jaeger-operator/pull/1111), [@moolen](https://github.com/moolen))
* Deploy trusted CA config map in OpenShift when agent injected into a … ([#1110](https://github.com/jaegertracing/jaeger-operator/pull/1110), [@objectiser](https://github.com/objectiser))
* Mount volumes from agent spec ([#1102](https://github.com/jaegertracing/jaeger-operator/pull/1102), [@Saad-Hussain1](https://github.com/Saad-Hussain1))
* Added missing displayName to CSV 1.18.1 ([#1095](https://github.com/jaegertracing/jaeger-operator/pull/1095), [@jpkrohling](https://github.com/jpkrohling))
1.18.1 (2020-06-19)
-------------------
Breaking changes:
* None
Other noteworthy changes:
* Add trusted CA bundle support for OpenShift ([#1079](https://github.com/jaegertracing/jaeger-operator/pull/1079), [@objectiser](https://github.com/objectiser))
* create Jaeger resource in the watched namespace ([#1036](https://github.com/jaegertracing/jaeger-operator/pull/1036), [@therealmitchconnors](https://github.com/therealmitchconnors))
* Set correct branch for ES 4.4 ([#1081](https://github.com/jaegertracing/jaeger-operator/pull/1081), [@pavolloffay](https://github.com/pavolloffay))
* Add OTEL config to all-in-one ([#1080](https://github.com/jaegertracing/jaeger-operator/pull/1080), [@pavolloffay](https://github.com/pavolloffay))
1.18.0 (2020-05-15)
-------------------
Breaking changes:
Other noteworthy changes:
* Migrate Ingress from API extensions/v1beta1 to networking.k8s.io/v1beta1 ([#1039](https://github.com/jaegertracing/jaeger-operator/pull/1039), [@rubenvp8510](https://github.com/rubenvp8510))
* Make sure truncated labels are valid ([#1055](https://github.com/jaegertracing/jaeger-operator/pull/1055), [@rubenvp8510](https://github.com/rubenvp8510))
* Add CLI command to generate k8s manifests ([#1046](https://github.com/jaegertracing/jaeger-operator/pull/1046), [@chlunde](https://github.com/chlunde))
* Add OTEL config to Jaeger CR ([#1056](https://github.com/jaegertracing/jaeger-operator/pull/1056), [@pavolloffay](https://github.com/pavolloffay))
* Missing components added to func JaegerServiceAccountFor() ([#1057](https://github.com/jaegertracing/jaeger-operator/pull/1057), [@AdrieVanDijk](https://github.com/AdrieVanDijk))
* Fix typo in godoc ([#1052](https://github.com/jaegertracing/jaeger-operator/pull/1052), [@jjmengze](https://github.com/jjmengze))
* Change source of oauth-proxy image from the imagestream ([#1049](https://github.com/jaegertracing/jaeger-operator/pull/1049), [@objectiser](https://github.com/objectiser))
* Handle normalization of host:port addresses in operator upgrade for 1.18 ([#1033](https://github.com/jaegertracing/jaeger-operator/pull/1033), [@rubenvp8510](https://github.com/rubenvp8510))
* Use semver on the upgrade process ([#1034](https://github.com/jaegertracing/jaeger-operator/pull/1034), [@rubenvp8510](https://github.com/rubenvp8510))
* Do not set the default index cleaner, rollover and dependencies image in CR ([#1037](https://github.com/jaegertracing/jaeger-operator/pull/1037), [@objectiser](https://github.com/objectiser))
* Allow oauth proxy imagestream to be used by specifying the namespace/… ([#1035](https://github.com/jaegertracing/jaeger-operator/pull/1035), [@objectiser](https://github.com/objectiser))
* Added auto-scale to the ingester ([#1006](https://github.com/jaegertracing/jaeger-operator/pull/1006), [@rubenvp8510](https://github.com/rubenvp8510))
* Synch changes in cert generation script with CLO ([#1008](https://github.com/jaegertracing/jaeger-operator/pull/1008), [@pavolloffay](https://github.com/pavolloffay))
* Fix autodetect restarting platform from OpenShift to Kubernetes ([#1003](https://github.com/jaegertracing/jaeger-operator/pull/1003), [@objectiser](https://github.com/objectiser))
* Update deployment sidecar when flags change ([#961](https://github.com/jaegertracing/jaeger-operator/pull/961), [@rubenvp8510](https://github.com/rubenvp8510))
* Marked specific fields as nullable to keep backwards compatibility ([#985](https://github.com/jaegertracing/jaeger-operator/pull/985), [@jpkrohling](https://github.com/jpkrohling))
* Restored the displayName in the CSV ([#987](https://github.com/jaegertracing/jaeger-operator/pull/987), [@jpkrohling](https://github.com/jpkrohling))
* Change 'make generate' to write only a single CRD ([#978](https://github.com/jaegertracing/jaeger-operator/pull/978), [@jpkrohling](https://github.com/jpkrohling))
* Prevent operator from overriding .Spec.Replicas ([#979](https://github.com/jaegertracing/jaeger-operator/pull/979), [@jpkrohling](https://github.com/jpkrohling))
1.17.1 (2020-03-18)
-------------------
Breaking changes:
* None
Other noteworthy changes:
* No modify annotation when injecting ([#902](https://github.com/jaegertracing/jaeger-operator/pull/902), [@rubenvp8510](https://github.com/rubenvp8510))
* Add Jaeger client generated code through client-gen ([#921](https://github.com/jaegertracing/jaeger-operator/pull/921), [@rareddy](https://github.com/rareddy))
* Use non-cached CR on reconciliation ([#940](https://github.com/jaegertracing/jaeger-operator/pull/940), [@jpkrohling](https://github.com/jpkrohling))
* Add example StatefulSet with manual sidecar definition ([#949](https://github.com/jaegertracing/jaeger-operator/pull/949), [@ewohltman](https://github.com/ewohltman))
* [oc] Auto create TLS cert in collector deployment ([#914](https://github.com/jaegertracing/jaeger-operator/pull/914), [@annanay25](https://github.com/annanay25))
* Reorganized cluster roles, added rules to watch all namespaces ([#936](https://github.com/jaegertracing/jaeger-operator/pull/936), [@jpkrohling](https://github.com/jpkrohling))
* Replaced client.List with reader.List ([#937](https://github.com/jaegertracing/jaeger-operator/pull/937), [@jpkrohling](https://github.com/jpkrohling))
* Removed descriptions from CRD ([#932](https://github.com/jaegertracing/jaeger-operator/pull/932), [@jpkrohling](https://github.com/jpkrohling))
1.17.0 (2020-02-26)
-------------------
Breaking changes:
* Removed 'Size' property from components ([#850](https://github.com/jaegertracing/jaeger-operator/pull/850))
Other noteworthy changes:
* Use ubi as base image ([#924](https://github.com/jaegertracing/jaeger-operator/pull/924))
* Changed the operator to gracefully degrade when not on cluster-wide scope ([#916](https://github.com/jaegertracing/jaeger-operator/pull/916))
* Updated admin-port for the Agent ([#922](https://github.com/jaegertracing/jaeger-operator/pull/922))
* Limit some properties to use at most 63 chars ([#904](https://github.com/jaegertracing/jaeger-operator/pull/904))
* Add http- prefix to collector service port names ([#911](https://github.com/jaegertracing/jaeger-operator/pull/911))
* Change query service portname to 'http-query' ([#909](https://github.com/jaegertracing/jaeger-operator/pull/909))
* Disable agent injection to jaeger instances and when false value is used ([#903](https://github.com/jaegertracing/jaeger-operator/pull/903))
* Per namespace agent injection ([#897](https://github.com/jaegertracing/jaeger-operator/pull/897))
* Preserve generated cookie secret on the reconciliation process ([#883](https://github.com/jaegertracing/jaeger-operator/pull/883))
* Updated the business-application example ([#693](https://github.com/jaegertracing/jaeger-operator/pull/693))
* Add support for TLS on ingress ([#681](https://github.com/jaegertracing/jaeger-operator/pull/681))
* Add support to SuccessfulJobsHistoryLimit ([#621](https://github.com/jaegertracing/jaeger-operator/pull/621))
* Add prometheus annotations to sidecar's deployment ([#684](https://github.com/jaegertracing/jaeger-operator/pull/684))
* add missing grpc port ([#680](https://github.com/jaegertracing/jaeger-operator/pull/680))
* Recognize when a resource has been deleted while the operator waits ([#672](https://github.com/jaegertracing/jaeger-operator/pull/672))
* Enable the documentation URL in the default menu items to be configured via the operator CLI ([#666](https://github.com/jaegertracing/jaeger-operator/pull/666))
* Adjusted the ALM examples and operator capabilities in CSV ([#665](https://github.com/jaegertracing/jaeger-operator/pull/665))
* Bring jaeger operator repo inline with contributing guidelines in mai… ([#664](https://github.com/jaegertracing/jaeger-operator/pull/664))
* Fix error handling when getting environment variable value ([#661](https://github.com/jaegertracing/jaeger-operator/pull/661))
* Update install-sdk to work on Mac ([#660](https://github.com/jaegertracing/jaeger-operator/pull/660))
* Improved the install-sdk target ([#653](https://github.com/jaegertracing/jaeger-operator/pull/653))
* Use elasticsearch operator 4.2, add workflow for 4.1 ([#631](https://github.com/jaegertracing/jaeger-operator/pull/631))
* Load env variables in the given secretName in Spark dependencies ([#651](https://github.com/jaegertracing/jaeger-operator/pull/651))
* Use zero redundancy when number of ES nodes is 1 ([#539](https://github.com/jaegertracing/jaeger-operator/pull/539))
* Use es-operator from 4.1 branch ([#537](https://github.com/jaegertracing/jaeger-operator/pull/537))
* Reinstated the service metrics ([#530](https://github.com/jaegertracing/jaeger-operator/pull/530))
* Use ES single redundancy by default ([#531](https://github.com/jaegertracing/jaeger-operator/pull/531))
* Change replace method, to remain compatible with golang 1.11 ([#529](https://github.com/jaegertracing/jaeger-operator/pull/529))
* Avoid touching the original structure of the options. ([#523](https://github.com/jaegertracing/jaeger-operator/pull/523))
* Prevented the Operator from overriding Secrets/ImagePullSecrets on ServiceAccounts ([#526](https://github.com/jaegertracing/jaeger-operator/pull/526))
* Added support for OpenShift-specific OAuth Proxy options ([#508](https://github.com/jaegertracing/jaeger-operator/pull/508))
* Allowed usage of custom SA for OAuth Proxy ([#520](https://github.com/jaegertracing/jaeger-operator/pull/520))
* Make sure the ES operator's UUID is a valid DNS name ([#515](https://github.com/jaegertracing/jaeger-operator/pull/515))
* Set the ES node GenUUID to explicit value based on jaeger instance namespace and name ([#495](https://github.com/jaegertracing/jaeger-operator/pull/495))
* Bump Jaeger to 1.13 ([#504](https://github.com/jaegertracing/jaeger-operator/pull/504))
* Disable the property ttlSecondsAfterFinished ([#503](https://github.com/jaegertracing/jaeger-operator/pull/503))
* Set default redundancy policy to zero ([#501](https://github.com/jaegertracing/jaeger-operator/pull/501))
1.13.0 (2019-07-02)
-------------------
* Changed to always use namespace when a name is involved ([#485](https://github.com/jaegertracing/jaeger-operator/pull/485))
* Sanitize names that must follow DNS naming rules ([#483](https://github.com/jaegertracing/jaeger-operator/pull/483))
* Added instructions for daemonsets on OpenShift ([#346](https://github.com/jaegertracing/jaeger-operator/pull/346))
* Enable completion time-to-live to be set on all jobs ([#407](https://github.com/jaegertracing/jaeger-operator/pull/407))
1.12.1 (2019-06-06)
-------------------
* Removed 'expose metrics port' to prevent 'failed to create or get service' error ([#462](https://github.com/jaegertracing/jaeger-operator/pull/462))
* Add support for securityContext and serviceAccount ([#456](https://github.com/jaegertracing/jaeger-operator/pull/456))
* Add install SDK goal to make ([#458](https://github.com/jaegertracing/jaeger-operator/pull/458))
* Upgraded the operator-sdk version to 0.8.1 ([#449](https://github.com/jaegertracing/jaeger-operator/pull/449))
* Switch to go modules from dep ([#449](https://github.com/jaegertracing/jaeger-operator/pull/449))
* Do not set a default Elasticsearch image ([#450](https://github.com/jaegertracing/jaeger-operator/pull/450))
* Log the operator image name when created ([#452](https://github.com/jaegertracing/jaeger-operator/pull/452))
* Add label to the common spec ([#445](https://github.com/jaegertracing/jaeger-operator/pull/445))
* Fix injecting volumes into rollover jobs ([#446](https://github.com/jaegertracing/jaeger-operator/pull/446))
* Remove race condition by disabling esIndexCleaner till after SmokeTes… ([#437](https://github.com/jaegertracing/jaeger-operator/pull/437))
* Fix runtime panic when trying to update operator controlled resources that don't have annotation or labels ([#433](https://github.com/jaegertracing/jaeger-operator/pull/433))
1.12.0 (2019-05-22)
-------------------
* Update to 1.12 and use new admin ports ([#425](https://github.com/jaegertracing/jaeger-operator/pull/425))
* Use ephemeral storage for Kafka tests ([#419](https://github.com/jaegertracing/jaeger-operator/pull/419))
* Fix csv example and add spec.maturity ([#416](https://github.com/jaegertracing/jaeger-operator/pull/416))
* Add resources requests/limits to oauth_proxy ([#410](https://github.com/jaegertracing/jaeger-operator/pull/410))
* Check that context is not nil before calling cleanup ([#413](https://github.com/jaegertracing/jaeger-operator/pull/413))
* Improve error message when queries fail ([#402](https://github.com/jaegertracing/jaeger-operator/pull/402))
* Add resource requirements to sidecar agent ([#401](https://github.com/jaegertracing/jaeger-operator/pull/401))
* Make sure to call ctx.cleanup if perpare()) fails ([#389](https://github.com/jaegertracing/jaeger-operator/pull/389))
* Change how Kafka is configured for collector and ingester ([#390](https://github.com/jaegertracing/jaeger-operator/pull/390))
* Use storage namespace in index cleaner test ([#382](https://github.com/jaegertracing/jaeger-operator/pull/382))
* Fix rbac policy issue with blockOwnerDeletion ([#384](https://github.com/jaegertracing/jaeger-operator/pull/384))
* Reinstate gosec with fix for OOM error ([#381](https://github.com/jaegertracing/jaeger-operator/pull/381))
* Enhance ES index cleaner e2e test to verify indices have been removed ([#378](https://github.com/jaegertracing/jaeger-operator/pull/378))
* Add owner ref on operator's service to ensure it gets deleted when op… ([#377](https://github.com/jaegertracing/jaeger-operator/pull/377))
* Update CSV description to comply with guidelines ([#374](https://github.com/jaegertracing/jaeger-operator/pull/374))
* Include elasticsearch statefulset nodes in availability check ([#371](https://github.com/jaegertracing/jaeger-operator/pull/371))
* Fail lint goal if not empty ([#372](https://github.com/jaegertracing/jaeger-operator/pull/372))
1.11.1 (2019-04-09)
-------------------
* Include docs for common config ([#367](https://github.com/jaegertracing/jaeger-operator/pull/367))
* Reinstated the registration of ES types ([#366](https://github.com/jaegertracing/jaeger-operator/pull/366))
* Add support for affinity and tolerations ([#361](https://github.com/jaegertracing/jaeger-operator/pull/361))
* Support injection of JAEGER_SERVICE_NAME based on app or k8s recommended labels ([#362](https://github.com/jaegertracing/jaeger-operator/pull/362))
* Change ES operator apiversion ([#360](https://github.com/jaegertracing/jaeger-operator/pull/360))
* Update test to run on OpenShift ([#350](https://github.com/jaegertracing/jaeger-operator/pull/350))
* Add prometheus scrape 'false' annotation to headless collector service ([#348](https://github.com/jaegertracing/jaeger-operator/pull/348))
* Derive agent container/host ports from options if specified ([#353](https://github.com/jaegertracing/jaeger-operator/pull/353))
1.11.0 (2019-03-22)
-------------------
### Breaking changes
* Moved from v1alpha1 to v1 ([#265](https://github.com/jaegertracing/jaeger-operator/pull/265))
* Use storage flags instead of CR properties for spark job ([#295](https://github.com/jaegertracing/jaeger-operator/pull/295))
* Changed from 'size' to 'replicas' ([#271](https://github.com/jaegertracing/jaeger-operator/pull/271)). "Size" will still work for the next couple of releases.
### Other changes
* Initialise menu to include Log Out option when using OAuth Proxy ([#344](https://github.com/jaegertracing/jaeger-operator/pull/344))
* Change Operator provider to CNCF ([#263](https://github.com/jaegertracing/jaeger-operator/pull/263))
* Added note about the apiVersion used up to 1.10.0 ([#283](https://github.com/jaegertracing/jaeger-operator/pull/283))
* Implemented a second service for the collector ([#339](https://github.com/jaegertracing/jaeger-operator/pull/339))
* Enabled DNS as the service discovery mechanism for agent => collector communication ([#333](https://github.com/jaegertracing/jaeger-operator/pull/333))
* Sorted the container arguments inside deployments ([#337](https://github.com/jaegertracing/jaeger-operator/pull/337))
* Use client certs for elasticsearch ([#325](https://github.com/jaegertracing/jaeger-operator/pull/325))
* Load back Elasticsearch certs from secrets ([#324](https://github.com/jaegertracing/jaeger-operator/pull/324))
* Disable spark dependencies for self provisioned es ([#319](https://github.com/jaegertracing/jaeger-operator/pull/319))
* Remove index cleaner from prod-es-deploy example ([#314](https://github.com/jaegertracing/jaeger-operator/pull/314))
* Set default query timeout for provisioned ES ([#313](https://github.com/jaegertracing/jaeger-operator/pull/313))
* Use storage flags instead of CR properties for spark job ([#295](https://github.com/jaegertracing/jaeger-operator/pull/295))
* Change operator.yaml to use master, to keep the readme uptodate with latest version ([#296](https://github.com/jaegertracing/jaeger-operator/pull/296))
* Add Elasticsearch image to CR and flag ([#289](https://github.com/jaegertracing/jaeger-operator/pull/289))
* Updated to Operator SDK 0.5.0 ([#273](https://github.com/jaegertracing/jaeger-operator/pull/273))
* Block until objects have been created and are ready ([#279](https://github.com/jaegertracing/jaeger-operator/pull/279))
* Add rollover support ([#267](https://github.com/jaegertracing/jaeger-operator/pull/267))
* Added publishing of major.minor image for the operator ([#274](https://github.com/jaegertracing/jaeger-operator/pull/274))
* Use only ES data nodes to calculate shards ([#257](https://github.com/jaegertracing/jaeger-operator/pull/257))
* Reinstated sidecar for query, plus small refactoring of sidecar ([#246](https://github.com/jaegertracing/jaeger-operator/pull/246))
* Remove ES master certs ([#256](https://github.com/jaegertracing/jaeger-operator/pull/256))
* Store back the CR only if it has changed ([#249](https://github.com/jaegertracing/jaeger-operator/pull/249))
* Fixed role rule for Elasticsearch ([#251](https://github.com/jaegertracing/jaeger-operator/pull/251))
* Wait for elasticsearch cluster to be up ([#242](https://github.com/jaegertracing/jaeger-operator/pull/242))
1.10.0 (2019-02-28)
-------------------
* Automatically detect when the ES operator is available ([#239](https://github.com/jaegertracing/jaeger-operator/pull/239))
* Adjusted logs to be consistent across the code base ([#237](https://github.com/jaegertracing/jaeger-operator/pull/237))
* Fixed deployment of Elasticsearch via its operator ([#234](https://github.com/jaegertracing/jaeger-operator/pull/234))
* Set ES shards and replicas based on redundancy policy ([#229](https://github.com/jaegertracing/jaeger-operator/pull/229))
* Enable JAEGER_SERVICE_NAME and JAEGER_PROPAGATION env vars to be set … ([#128](https://github.com/jaegertracing/jaeger-operator/pull/128))
* Add CRD to install steps, and update cleanup instructions ([#129](https://github.com/jaegertracing/jaeger-operator/pull/129))
* Rename controller to strategy ([#125](https://github.com/jaegertracing/jaeger-operator/pull/125))
* Add tests for new operator-sdk related code ([#122](https://github.com/jaegertracing/jaeger-operator/pull/122))
* Update README.adoc to match yaml files in deploy ([#124](https://github.com/jaegertracing/jaeger-operator/pull/124))
1.8.1 (2018-11-21)
------------------
* Add support for UI configuration ([#115](https://github.com/jaegertracing/jaeger-operator/pull/115))
* Use proper jaeger-operator version for e2e tests and remove readiness check from DaemonSet ([#120](https://github.com/jaegertracing/jaeger-operator/pull/120))
* Migrate to Operator SDK 0.1.0 ([#116](https://github.com/jaegertracing/jaeger-operator/pull/116))
* Fix changelog 'new features' header for 1.8 ([#113](https://github.com/jaegertracing/jaeger-operator/pull/113))
1.8.0 (2018-11-13)
------------------
*Notable new Features*
* Query base path should be used to configure correct path in ingress ([#108](https://github.com/jaegertracing/jaeger-operator/pull/108))
* Enable resources to be defined at top level and overridden at compone… ([#110](https://github.com/jaegertracing/jaeger-operator/pull/110))
* Add OAuth Proxy to UI when on OpenShift ([#100](https://github.com/jaegertracing/jaeger-operator/pull/100))
* Enable top level annotations to be defined ([#97](https://github.com/jaegertracing/jaeger-operator/pull/97))
* Support volumes and volumeMounts ([#82](https://github.com/jaegertracing/jaeger-operator/pull/82))
* Add support for OpenShift routes ([#93](https://github.com/jaegertracing/jaeger-operator/pull/93))
* Enable annotations to be specified with the deployable components ([#86](https://github.com/jaegertracing/jaeger-operator/pull/86))
* Add support for Cassandra create-schema job ([#71](https://github.com/jaegertracing/jaeger-operator/pull/71))
* Inject sidecar in properly annotated pods ([#58](https://github.com/jaegertracing/jaeger-operator/pull/58))
* Support deployment of agent as a DaemonSet ([#52](https://github.com/jaegertracing/jaeger-operator/pull/52))
*Breaking changes*
* Change CRD to use lower camel case ([#87](https://github.com/jaegertracing/jaeger-operator/pull/87))
* Factor out ingress from all-in-one and query, as common to both but i… ([#91](https://github.com/jaegertracing/jaeger-operator/pull/91))
* Remove zipkin service ([#75](https://github.com/jaegertracing/jaeger-operator/pull/75))
*Full list of commits:*
* Query base path should be used to configure correct path in ingress ([#108](https://github.com/jaegertracing/jaeger-operator/pull/108))
* Enable resources to be defined at top level and overridden at compone… ([#110](https://github.com/jaegertracing/jaeger-operator/pull/110))
* Fix disable-oauth-proxy example ([#107](https://github.com/jaegertracing/jaeger-operator/pull/107))
* Add OAuth Proxy to UI when on OpenShift ([#100](https://github.com/jaegertracing/jaeger-operator/pull/100))
* Refactor common spec elements into a single struct with common proces… ([#105](https://github.com/jaegertracing/jaeger-operator/pull/105))
* Ensure 'make generate' has been executed when model changes are made ([#101](https://github.com/jaegertracing/jaeger-operator/pull/101))
* Enable top level annotations to be defined ([#97](https://github.com/jaegertracing/jaeger-operator/pull/97))
* Update generated code and reverted change to 'all-in-one' in CRD ([#98](https://github.com/jaegertracing/jaeger-operator/pull/98))
* Support volumes and volumeMounts ([#82](https://github.com/jaegertracing/jaeger-operator/pull/82))
* Update readme to include info about storage options being located in … ([#96](https://github.com/jaegertracing/jaeger-operator/pull/96))
* Enable storage options to be filtered out based on specified storage … ([#94](https://github.com/jaegertracing/jaeger-operator/pull/94))
* Add support for OpenShift routes ([#93](https://github.com/jaegertracing/jaeger-operator/pull/93))
* Change CRD to use lower camel case ([#87](https://github.com/jaegertracing/jaeger-operator/pull/87))
* Factor out ingress from all-in-one and query, as common to both but i… ([#91](https://github.com/jaegertracing/jaeger-operator/pull/91))
* Fix operator SDK version as master is too unpredicatable at the moment ([#92](https://github.com/jaegertracing/jaeger-operator/pull/92))
* Update generated file after new annotations field ([#90](https://github.com/jaegertracing/jaeger-operator/pull/90))
* Enable annotations to be specified with the deployable components ([#86](https://github.com/jaegertracing/jaeger-operator/pull/86))
* Remove zipkin service ([#75](https://github.com/jaegertracing/jaeger-operator/pull/75))
* Add support for Cassandra create-schema job ([#71](https://github.com/jaegertracing/jaeger-operator/pull/71))
* Fix table of contents on readme ([#73](https://github.com/jaegertracing/jaeger-operator/pull/73))
* Update the Operator SDK version ([#69](https://github.com/jaegertracing/jaeger-operator/pull/69))
* Add sidecar.istio.io/inject=false annotation to all-in-one, agent (da… ([#67](https://github.com/jaegertracing/jaeger-operator/pull/67))
* Fix zipkin port issue ([#65](https://github.com/jaegertracing/jaeger-operator/pull/65))
* Go 1.11.1 ([#61](https://github.com/jaegertracing/jaeger-operator/pull/61))
* Inject sidecar in properly annotated pods ([#58](https://github.com/jaegertracing/jaeger-operator/pull/58))
* Support deployment of agent as a DaemonSet ([#52](https://github.com/jaegertracing/jaeger-operator/pull/52))
* Normalize options on the stub and update the normalized CR ([#54](https://github.com/jaegertracing/jaeger-operator/pull/54))
* Document the disable ingress feature ([#55](https://github.com/jaegertracing/jaeger-operator/pull/55))
* dep ensure ([#51](https://github.com/jaegertracing/jaeger-operator/pull/51))
* Add support for JaegerIngressSpec to all-in-one
1.7.0 (2018-09-25)
------------------
This release brings Jaeger v1.7 to the Operator.
*Full list of commits:*
* Release v1.7.0
* Bump Jaeger to 1.7 ([#41](https://github.com/jaegertracing/jaeger-operator/pull/41))
1.6.5 (2018-09-21)
------------------
This is our initial release based on Jaeger 1.6.
*Full list of commits:*
* Release v1.6.5
* Push the tag with the new commit to master, not the release tag
* Fix git push syntax
* Push tag to master
* Merge release commit into master ([#39](https://github.com/jaegertracing/jaeger-operator/pull/39))
= How to Contribute to the Jaeger Operator for Kubernetes
:toc[]:
We'd love your help!
This project is link:LICENSE[Apache 2.0 licensed] and accepts contributions via GitHub pull requests. This document outlines some of the conventions on development workflow, commit message formatting, contact points and other resources to make it easier to get your contribution accepted.
We gratefully welcome improvements to documentation as well as to code.
== Certificate of Origin
By contributing to this project you agree to the link:https://developercertificate.org/[Developer Certificate of Origin] (DCO). This document was created by the Linux Kernel community and is a simple statement that you, as a contributor, have the legal right to make the contribution. See the [DCO](DCO) file for details.
== Getting Started
This project is a regular link:https://coreos.com/operators/[Kubernetes Operator] built using the Operator SDK. Refer to the Operator SDK documentation to understand the basic architecture of this operator.
=== Installing the Operator SDK command line tool
Follow the installation guidelines from link::https://github.com/operator-framework/operator-sdk[Operator SDK GitHub page] or run `make install-sdk`.
=== Developing
As usual for operators following the Operator SDK, the dependencies are checked into the source repository under the `vendor` directory. The dependencies are managed using link:https://github.com/golang/dep[`go dep`]. Refer to that project's documentation for instructions on how to add or update dependencies.
The first step is to get a local Kubernetes instance up and running. The recommended approach is using `minikube`. Refer to the Kubernetes' link:https://kubernetes.io/docs/tasks/tools/install-minikube/[documentation] for instructions on how to install it.
Once `minikube` is installed, it can be started with:
[source,bash]
----
minikube start
----
NOTE: Make sure to read the documentation to learn the performance switches that can be applied to your platform.
Once minikube has finished starting, get the Operator running:
[source,bash]
----
make run
----
At this point, a Jaeger instance can be installed:
[source,bash]
----
kubectl apply -f deploy/examples/simplest.yaml
kubectl get jaegers
kubectl get pods
----
To remove the instance:
[source,bash]
----
kubectl delete -f deploy/examples/simplest.yaml
----
Tests should be simple unit tests and/or end-to-end tests. For small changes, unit tests should be sufficient, but every new feature should be accompanied with end-to-end tests as well. Tests can be executed with:
[source,bash]
----
make test
----
NOTE: you can adjust the Docker image namespace by overriding the variable `NAMESPACE`, like: `make test NAMESPACE=quay.io/my-username`. The full Docker image name can be customized by overriding `BUILD_IMAGE` instead, like: `make test BUILD_IMAGE=quay.io/my-username/jaeger-operator:0.0.1`
Similar instructions also work for OpenShift, but the target `run-openshift` can be used instead of `run`. Make sure you are using the `default` namespace or that you are overriding the target namespace by setting `NAMESPACE`, like: `make run-openshift WATCH_NAMESPACE=myproject`
==== Model changes
The Operator SDK generates the `pkg/apis/jaegertracing/v1/zz_generated.deepcopy.go` file via the command `make generate`. This should be executed whenever there's a model change (`pkg/apis/jaegertracing/v1/jaeger_types.go`)
==== Ingress configuration
Kubernetes comes with no ingress provider by default. For development purposes, when running `minikube`, the following command can be executed to install an ingress provider:
[source,bash]
----
make ingress
----
This will install the `NGINX` ingress provider. It's recommended to wait for the ingress pods to be in the `READY` and `RUNNING` state before starting the operator. You can check it by running:
[source,bash]
----
kubectl get pods -n ingress-nginx
----
To verify that it's working, deploy the `simplest.yaml` and check the ingress routes:
[source,bash]
----
$ kubectl apply -f deploy/examples/simplest.yaml
jaeger.jaegertracing.io/simplest created
$ kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
simplest-query * 192.168.122.69 80 12s
----
Accessing the provided "address" in your web browser should display the Jaeger UI.
==== Storage configuration
There are a set of templates under the `test` directory that can be used to setup an Elasticsearch and/or Cassandra cluster. Alternatively, the following commands can be executed to install it:
[source,bash]
----
make es
make cassandra
----
==== Operator-Lifecycle-Manager Integration
The link:https://github.com/operator-framework/operator-lifecycle-manager/[Operator-Lifecycle-Manager (OLM)] can install, manage, and upgrade operators and their dependencies in a cluster.
With OLM, users can:
* Define applications as a single Kubernetes resource that encapsulates requirements and metadata
* Install applications automatically with dependency resolution or manually with nothing but kubectl
* Upgrade applications automatically with different approval policies
OLM also enforces some constraints on the components it manages in order to ensure a good user experience.
The Jaeger community provides and mantains a link:https://github.com/operator-framework/operator-lifecycle-manager/blob/master/Documentation/design/building-your-csv.md/[ClusterServiceVersion (CSV) YAML] to integrate with OLM.
Starting from operator-sdk v0.5.0, one can generate and update CSVs based on the yaml files in the deploy folder.
The Jaeger CSV can be updated to version 1.9.0 with the following command:
The generated CSV yaml should then be compared and used to update the deploy/olm-catalog/jaeger.clusterserviceversion.yaml file which represents the stable version copied to the operatorhub following each jaeger operator release. Once merged, the jaeger-operator.csv.yaml file should be removed.
The jaeger.clusterserviceversion.yaml file can then be tested with this command:
Checking for existence of spec and status blocks in CR
Checking that operator actions are reflected in status
Checking that writing into CRs has an effect
Checking for CRD resources
Checking for existence of example CRs
Checking spec descriptors
Checking status descriptors
Basic Operator:
Spec Block Exists: 1/1 points
Status Block Exist: 1/1 points
Operator actions are reflected in status: 0/1 points
Writing into CRs has an effect: 1/1 points
OLM Integration:
Owned CRDs have resources listed: 0/1 points
CRs have at least 1 example: 1/1 points
Spec fields with descriptors: 0/12 points
Status fields with descriptors: N/A (depends on an earlier test that failed)
Total Score: 4/18 points
----
==== E2E tests
The whole set of end-to-end tests can be executed via:
[source,bash]
----
$ make e2e-tests
----
The end-to-end tests are split into tags and can be executed in separate groups, such as:
[source,bash]
----
$ make e2e-tests-smoke
----
Other targets include `e2e-tests-cassandra` and `e2e-tests-elasticsearch`. Refer to the `Makefile` for an up-to-date list of targets.
If you face issues like the one below, make sure you don't have any Jaeger instances (`kubectl get jaegers`) running nor Ingresses (`kubectl get ingresses`):
[source]
----
--- FAIL: TestSmoke (316.59s)
--- FAIL: TestSmoke/smoke (316.55s)
--- FAIL: TestSmoke/smoke/daemonset (115.54s)
...
...
daemonset.go:30: timed out waiting for the condition
# How to Contribute to the Jaeger Operator for Kubernetes
We'd love your help!
This project is [Apache 2.0 licensed](LICENSE) and accepts contributions via GitHub pull requests. This document outlines some of the conventions on development workflow, commit message formatting, contact points and other resources to make it easier to get your contribution accepted.
We gratefully welcome improvements to documentation as well as to code.
This project is a regular [Kubernetes Operator](https://coreos.com/operators/) built using the Operator SDK. Refer to the Operator SDK documentation to understand the basic architecture of this operator.
## Installing the Operator SDK command line tool
Follow the installation guidelines from [Operator SDK GitHub page](https://github.com/operator-framework/operator-sdk)
## Developing
As usual for operators following the Operator SDK in recent versions, the dependencies are managed using [`go modules`](https://golang.org/doc/go1.11#modules). Refer to that project's documentation for instructions on how to add or update dependencies.
The first step is to get a local Kubernetes instance up and running. The recommended approach for development is using `minikube` with *ingress* enabled. Refer to the Kubernetes' [documentation](https://kubernetes.io/docs/tasks/tools/install-minikube/) for instructions on how to install it.
Once `minikube` is installed, it can be started with:
```sh
minikube start --addons=ingress
```
NOTE: Make sure to read the documentation to learn the performance switches that can be applied to your platform.
Log into docker (or another image registry):
```sh
docker login --username <dockerusername>
```
Once minikube has finished starting, get the Operator running:
```sh
make cert-manager
IMG=docker.io/$USER/jaeger-operator:latest make generate bundle docker push deploy
```
NOTE: If your registry username is not the same as $USER, modify the previous command before executing it. Also change *docker.io* if you are using a different image registry.
At this point, a Jaeger instance can be installed:
```sh
kubectl apply -f examples/simplest.yaml
kubectl get jaegers
kubectl get pods
```
To verify the Jaeger instance is running, execute *minikube ip* and open that address in a browser, or follow the steps below
```sh
export MINIKUBE_IP=`minikube ip`
curl http://{$MINIKUBE_IP}/api/services
```
NOTE: you may have to execute the *curl* command twice to get a non-empty result
Tests should be simple unit tests and/or end-to-end tests. For small changes, unit tests should be sufficient, but every new feature should be accompanied with end-to-end tests as well. Tests can be executed with:
```sh
make test
```
#### Cleaning up
To remove the instance:
```sh
kubectl delete -f examples/simplest.yaml
```
#### Model changes
The Operator SDK generates the `pkg/apis/jaegertracing/v1/zz_generated.*.go` files via the command `make generate`. This should be executed whenever there's a model change (`pkg/apis/jaegertracing/v1/jaeger_types.go`)
### Storage configuration
There are a set of templates under the `test` directory that can be used to setup an Elasticsearch and/or Cassandra cluster. Alternatively, the following commands can be executed to install it:
```sh
make es
make cassandra
```
### Operator-Lifecycle-Manager Integration
The [Operator-Lifecycle-Manager (OLM)](https://github.com/operator-framework/operator-lifecycle-manager/) can install, manage, and upgrade operators and their dependencies in a cluster.
With OLM, users can:
* Define applications as a single Kubernetes resource that encapsulates requirements and metadata
* Install applications automatically with dependency resolution or manually with nothing but kubectl
* Upgrade applications automatically with different approval policies
OLM also enforces some constraints on the components it manages in order to ensure a good user experience.
The Jaeger community provides and maintains a [ClusterServiceVersion (CSV) YAML](https://github.com/operator-framework/operator-lifecycle-manager/blob/master/doc/design/building-your-csv.md) to integrate with OLM.
Starting from operator-sdk v0.5.0, one can generate and update CSVs based on the yaml files in the deploy folder.
The Jaeger CSV can be updated to version 1.9.0 with the following command:
The generated CSV yaml should then be compared and used to update the `deploy/olm-catalog/jaeger.clusterserviceversion.yaml` file which represents the stable version copied to the operatorhub following each jaeger operator release. Once merged, the `jaeger-operator.csv.yaml` file should be removed.
The `jaeger.clusterserviceversion.yaml` file can then be tested with this command:
Where `<suite name>` is the name of your E2E test suite. Your E2E test suite
will be automatically indexed in the `run-e2e-tests` Makefile target.
##### render.sh
This file renders all the YAML files that are part of the E2E test. The `render.sh`
file must start with:
```bash
#!/bin/bash
source $(dirname "$0")/../render-utils.sh
```
The `render-utils.sh` file contains multiple functions to make easier to develop E2E tests and reuse logic. You can go to it and review the documentation of each one of the functions to
understand their parameters and effects.
#### Building [OCI Images](https://github.com/opencontainers/image-spec/blob/master/spec.md) for multiple arch (linux/arm64, linux/amd64)
OCI images could be built and published by [buildx](https://github.com/docker/buildx), it could be executed for local test via:
```sh
$ OPERATOR_VERSION=devel ./.ci/publish-images.sh
```
more arch support only need to change `--platform=linux/amd64,linux/arm64`
if we want to execute this in local env, need to setup buildx:
$(VECHO)git diff -s --exit-code api/v1/zz_generated.*.go ||(echo"Build failed: a model has been changed but the generated resources aren't up to date. Run 'make generate' and update your PR."&&exit 1)
$(VECHO)git diff -s --exit-code bundle config ||(echo"Build failed: the bundle, config files has been changed but the generated bundle, config files aren't up to date. Run 'make bundle' and update your PR."&& git diff &&exit 1)
$(VECHO)git diff -s --exit-code docs/api.md ||(echo"Build failed: the api.md file has been changed but the generated api.md file isn't up to date. Run 'make api-docs' and update your PR."&& git diff &&exit 1)
.PHONY:ensure-generate-is-noop
ensure-generate-is-noop:generate
@git diff -s --exit-code pkg/apis/jaegertracing/v1/zz_generated.deepcopy.go ||(echo"Build failed: a model has been changed but the deep copy functions aren't up to date. Run 'make generate' and update your PR."&&exit 1)
$(VECHO)git diff -s --exit-code .ci/.operatorhub-pr-template.md ||(echo"Build failed: the PR template for OperatorHub has changed. Sync it and try again."&&exit 1)
.PHONY:changelog
changelog:
$(ECHO)"Set env variable OAUTH_TOKEN before invoking, https://github.com/settings/tokens/new?description=GitHub%20Changelog%20Generator%20token"
$(VECHO)docker run --rm -v "${PWD}:/app" pavolloffay/gch:latest --oauth-token ${OAUTH_TOKEN} --branch main --owner jaegertracing --repo jaeger-operator
CONTROLLER_GEN=$(shell pwd)/bin/controller-gen
controller-gen:## Download controller-gen locally if necessary.
$(VECHO)./hack/install/install-controller-gen.sh
.PHONY:envtest
envtest:$(ENVTEST)## Download envtest-setup locally if necessary.
$(ENVTEST):$(LOCALBIN)
test -s $(ENVTEST)||GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest
.PHONY:bundle
bundle:manifestskustomizeoperator-sdk## Generate bundle manifests and metadata, then validate generated files.
IMPORTANT: The Jaeger Operator version is related to the version of the Jaeger components (Query, Collector, Agent) up to the minor portion. The patch version portion does *not* follow the ones from the Jaeger components. For instance, the Operator version 1.8.1 uses the Jaeger Docker images tagged with version 1.8 by default.
== Installing the operator
NOTE: The following instructions will deploy a version of the operator that is using the latest `master` version. If
you want to install a particular stable version of the operator, you will need to edit the `operator.yaml` and specify
the version as the tag in the container image - and then use the relevant `apiVersion` for the Jaeger operator.
NOTE: Make sure your `kubectl` command is properly configured to talk to a valid Kubernetes cluster. If you don't have one yet, check link:https://kubernetes.io/docs/tasks/tools/install-minikube/[`minikube`] out.
<1> This creates the namespace used by default in the deployment files.
<2> This installs the "Custom Resource Definition" for the `apiVersion: jaegertracing.io/v1`
IMPORTANT: when using a Jaeger Operator up to v1.10.0, install the CRD file `io_v1alpha1_jaeger_crd.yaml` in addition to `jaegertracing_v1_jaeger_crd.yaml`. This is because up to that version, the `apiVersion` in use was `io.jaegertracing/v1alpha1`.
If you want to install the Jaeger operator in a different namespace, you will need to edit the deployment
files to change `observability` to the required value.
At this point, there should be a `jaeger-operator` deployment available:
[source,bash]
----
$ kubectl get deployment jaeger-operator -n observability
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
jaeger-operator 1 1 1 1 48s
----
The operator is now ready to create Jaeger instances!
=== OpenShift
The instructions from the previous section also work on OpenShift. Make sure to install the RBAC rules, the CRD and the operator as a privileged user, such as `system:admin`.
<1> This creates the namespace used by default in the deployment files.
<2> This installs the "Custom Resource Definition" for the `apiVersion: jaegertracing.io/v1`
IMPORTANT: when using a Jaeger Operator up to v1.10.0, install the CRD file `io_v1alpha1_jaeger_crd.yaml` in addition to `jaegertracing_v1_jaeger_crd.yaml`. This is because up to that version, the `apiVersion` in use was `io.jaegertracing/v1alpha1`.
If you want to install the Jaeger operator in a different namespace, you will need to edit the deployment
files to change `observability` to the required value.
Once the operator is installed, grant the role `jaeger-operator` to users who should be able to install individual Jaeger instances. The following example creates a role binding allowing the user `developer` to create Jaeger instances:
[source,bash]
----
oc create \
rolebinding developer-jaeger-operator \
--role=jaeger-operator \
--user=developer
----
After the role is granted, switch back to a non-privileged user.
Jaeger Agent can be configured to be deployed as a `DaemonSet` using a `HostPort` to allow Jaeger clients in the same node to discover the agent. In OpenShift, a `HostPort` can only be set when a special security context is set. A separate service account can be used by the Jaeger Agent with the permission to bind to `HostPort`, as follows:
<1> The `SecurityContextConstraints` with the `allowHostPorts` policy
<2> The `ServiceAccount` to be used by the Jaeger Agent
<3> Adds the security policy to the service account
<4> Creates the Jaeger Instance using the `serviceAccount` created in the steps above
WARNING: without such a policy, errors like the following will prevent a `DaemonSet` to be created: `Warning FailedCreate 4s (x14 over 45s) daemonset-controller Error creating: pods "agent-as-daemonset-agent-daemonset-" is forbidden: unable to validate against any security context constraint: [spec.containers[0].securityContext.containers[0].hostPort: Invalid value: 5775: Host ports are not allowed to be used`
After a few seconds, the `DaemonSet` should be up and running:
[source,console]
----
$ oc get daemonset agent-as-daemonset-agent-daemonset
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE
agent-as-daemonset-agent-daemonset 1 1 1 1 1
----
== Creating a new Jaeger instance
Example custom resources, for different configurations of Jaeger, can be found https://github.com/jaegertracing/jaeger-operator/tree/master/deploy/examples[here].
The simplest possible way to install is by creating a YAML file like the following:
.simplest.yaml
[source,yaml]
----
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: simplest
----
The YAML file can then be used with `kubectl`:
[source,bash]
----
kubectl apply -f simplest.yaml
----
In a few seconds, a new in-memory all-in-one instance of Jaeger will be available, suitable for quick demos and development purposes. To check the instances that were created, list the `jaeger` objects:
[source,bash]
----
$ kubectl get jaeger
NAME CREATED AT
simplest 28s
----
To get the pod name, query for the pods belonging to the `simplest` Jaeger instance:
[source,bash]
----
$ kubectl get pods -l app.kubernetes.io/instance=simplest
NAME READY STATUS RESTARTS AGE
simplest-6499bb6cdd-kqx75 1/1 Running 0 2m
----
Similarly, the logs can be queried either from the pod directly using the pod name obtained from the previous example, or from all pods belonging to our instance:
<1> The default strategy is `allInOne`. The only other possible values are `production` and `streaming`.
<2> The image to use, in a regular Docker syntax
<3> The (non-storage related) options to be passed verbatim to the underlying binary. Refer to the Jaeger documentation and/or to the `--help` option from the related binary for all the available options.
<4> The option is a simple `key: value` map. In this case, we want the option `--log-level=debug` to be passed to the binary.
<5> The storage type to be used. By default it will be `memory`, but can be any other supported storage type (e.g. elasticsearch, cassandra, kafka, etc).
<6> All storage related options should be placed here, rather than under the 'allInOne' or other component options.
<7> Some options are namespaced and we can alternatively break them into nested objects. We could have specified `memory.max-traces: 100000`.
<8> By default, an ingress object is created for the query service. It can be disabled by setting its `enabled` option to `false`. If deploying on OpenShift, this will be represented by a Route object.
<9> By default, the operator assumes that agents are deployed as sidecars within the target pods. Specifying the strategy as "DaemonSet" changes that and makes the operator deploy the agent as DaemonSet. Note that your tracer client will probably have to override the "JAEGER_AGENT_HOST" env var to use the node's IP.
<10> Define annotations to be applied to all deployments (not services). These can be overridden by annotations defined on the individual components.
== Updating a Jaeger instance (experimental)
A Jaeger instance can be updated by changing the `CustomResource`, either via `kubectl edit jaeger simplest`, where `simplest` is the Jaeger's instance name, or by applying the updated YAML file via `kubectl apply -f simplest.yaml`.
IMPORTANT: the name of the Jaeger instance cannot be updated, as it's part of the identifying information for the resource
Simpler changes such as changing the replica sizes can be applied without much concern, whereas changes to the strategy should be watched closely and might potentially cause an outage for individual components (collector/query/agent).
While changing the backing storage is supported, migration of the data is not.
== Strategies
As shown in the example above, the Jaeger instance is associated with a strategy. The strategy determines the architecture to be used for the Jaeger backend.
The available strategies are described in the following sections.
=== AllInOne (Default)
This strategy is intended for development, testing and demo purposes.
The main backend components, agent, collector and query service, are all packaged into a single executable which is configured (by default) to use in-memory storage.
=== Production
The `production` strategy is intended (as the name suggests) for production environments, where long term storage of trace data is important, as well as a more scalable and highly available architecture is required. Each of the backend components is therefore separately deployed.
The agent can be injected as a sidecar on the instrumented application or as a daemonset.
The query and collector services are configured with a supported storage type - currently cassandra or elasticsearch. Multiple instances of each of these components can be provisioned as required for performance and resilience purposes.
The main additional requirement is to provide the details of the storage type and options, e.g.
[source,yaml]
----
storage:
type: elasticsearch
options:
es:
server-urls: http://elasticsearch:9200
----
=== Streaming
The `streaming` strategy is designed to augment the `production` strategy by providing a streaming capability that effectively sits between the collector and the backend storage (e.g. cassandra or elasticsearch). This provides the benefit of reducing the pressure on the backend storage, under high load situations, and enables other trace post processing capabilities to tap into the real time span data directly from the streaming platform (kafka).
The only additional information required is to provide the details for accessing the Kafka platform, which is configured in a new `ingester` component:
[source,yaml]
----
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: simple-streaming
spec:
strategy: streaming
collector:
options:
kafka: # <1>
producer:
topic: jaeger-spans
brokers: my-cluster-kafka-brokers.kafka:9092
ingester:
options:
kafka: # <1>
consumer:
topic: jaeger-spans
brokers: my-cluster-kafka-brokers.kafka:9092
ingester:
deadlockInterval: 0 # <2>
storage:
type: elasticsearch
options:
es:
server-urls: http://elasticsearch:9200
----
<1> Identifies the kafka configuration used by the collector, to produce the messages, and the ingester to consume the messages
<2> The deadlock interval can be disabled to avoid the ingester being terminated when no messages arrive within the default 1 minute period
TIP: A Kafka environment can be configured using link:https://strimzi.io/[Strimzi's Kafka operator].
== Elasticsearch storage
Under some circumstances, the Jaeger Operator can make use of the link:https://github.com/openshift/elasticsearch-operator[Elasticsearch Operator] to provision a suitable Elasticsearch cluster.
IMPORTANT: this feature is experimental and has been tested only on OpenShift clusters. Elasticsearch also requires the memory setting to be configured like `minishift ssh -- 'sudo sysctl -w vm.max_map_count=262144'`. Spark dependencies are not supported with this feature link:https://github.com/jaegertracing/jaeger-operator/issues/294[#294].
When there are no `es.server-urls` options as part of a Jaeger `production` instance and `elasticsearch` is set as the storage type, the Jaeger Operator creates an Elasticsearch cluster via the Elasticsearch Operator by creating a Custom Resource based on the configuration provided in storage section. The Elasticsearch cluster is meant to be dedicated for a single Jaeger instance.
The self-provision of an Elasticsearch cluster can be disabled by setting the flag `--es-provision` to `false`. The default value is `auto`, which will make the Jaeger Operator query the Kubernetes for its ability to handle a `Elasticsearch` custom resource. This is usually set by the Elasticsearch Operator during its installation process, so, if the Elasticsearch Operator is expected to run *after* the Jaeger Operator, the flag can be set to `true`.
IMPORTANT: At the moment there can be only one Jaeger with self-provisioned Elasticsearch instance per namespace.
== Accessing the UI
=== Kubernetes
The operator creates a Kubernetes link:https://kubernetes.io/docs/concepts/services-networking/ingress/[`ingress`] route, which is the Kubernetes' standard for exposing a service to the outside world, but it comes with no Ingress providers by default. link:https://kubernetes.github.io/ingress-nginx/deploy/#verify-installation[Check the documentation] on what's the most appropriate way to achieve that for your platform, but the following commands should provide a good start on `minikube`:
[source,bash]
----
minikube addons enable ingress
----
Once that is done, the UI can be found by querying the Ingress object:
[source,bash]
----
$ kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
simplest-query * 192.168.122.34 80 3m
----
IMPORTANT: an `Ingress` object is *not* created when the operator is running on OpenShift
In this example, the Jaeger UI is available at http://192.168.122.34
=== OpenShift
When using the `operator-openshift.yaml` resource, the Operator will automatically create a `Route` object for the query services. Check the hostname/port with the following command:
[source,bash]
----
oc get routes
----
NOTE: make sure to use `https` with the hostname/port you get from the command above, otherwise you'll see a message like: "Application is not available".
By default, the Jaeger UI is protected with OpenShift's OAuth service and any valid user is able to login. For development purposes, the user/password combination `developer/developer` can be used. To disable this feature and leave the Jaeger UI unsecured, set the Ingress property `security` to `none`:
[source,yaml]
----
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: disable-oauth-proxy
spec:
ingress:
security: none
----
== Auto injection of Jaeger Agent sidecars
The operator can also inject Jaeger Agent sidecars in `Deployment` workloads, provided that the deployment has the annotation `sidecar.jaegertracing.io/inject` with a suitable value. The values can be either `"true"` (as string), or the Jaeger instance name, as returned by `kubectl get jaegers`. When `"true"` is used, there should be exactly *one* Jaeger instance for the same namespace as the deployment, otherwise, the operator can't figure out automatically which Jaeger instance to use.
The following snippet shows a simple application that will get a sidecar injected, with the Jaeger Agent pointing to the single Jaeger instance available in the same namespace:
[source,yaml]
----
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
annotations:
"sidecar.jaegertracing.io/inject": "true" # <1>
spec:
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: acme/myapp:myversion
----
<1> Either `"true"` (as string) or the Jaeger instance name
A complete sample deployment is available at link:./deploy/examples/business-application-injected-sidecar.yaml[`deploy/examples/business-application-injected-sidecar.yaml`]
== Agent as DaemonSet
By default, the Operator expects the agents to be deployed as sidecars to the target applications. This is convenient for several purposes, like in a multi-tenant scenario or to have better load balancing, but there are scenarios where it's desirable to install the agent as a `DaemonSet`. In that case, specify the Agent's strategy to `DaemonSet`, as follows:
[source,yaml]
----
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: my-jaeger
spec:
agent:
strategy: DaemonSet
----
IMPORTANT: if you attempt to install two Jaeger instances on the same cluster with `DaemonSet` as the strategy, only *one* will end up deploying a `DaemonSet`, as the agent is required to bind to well-known ports on the node. Because of that, the second daemon set will fail to bind to those ports.
Your tracer client will then most likely need to be told where the agent is located. This is usually done by setting the env var `JAEGER_AGENT_HOST` and should be set to the value of the Kubernetes node's IP, like:
[source,yaml]
----
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
spec:
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: acme/myapp:myversion
env:
- name: JAEGER_AGENT_HOST
valueFrom:
fieldRef:
fieldPath: status.hostIP
----
== Secrets support
The Operator supports passing secrets to the Collector, Query and All-In-One deployments. This can be used for example, to pass credentials (username/password) to access the underlying storage backend (for ex: Elasticsearch).
The secrets are available as environment variables in the (Collector/Query/All-In-One) nodes.
[source,yaml]
----
storage:
type: elasticsearch
options:
es:
server-urls: http://elasticsearch:9200
secretName: jaeger-secrets
----
The secret itself would be managed outside of the `jaeger-operator` CR.
== Define sampling strategies
The operator can be used to define sampling strategies that will be supplied to tracers that have been configured
to use a remote sampler:
[source,yaml]
----
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: with-sampling
spec:
strategy: allInOne
sampling:
options:
default_strategy:
type: probabilistic
param: 50
----
This example defines a default sampling strategy that is probabilistic, with a 50% chance of the trace instances being
sampled.
Refer to the Jaeger documentation on link:https://www.jaegertracing.io/docs/latest/sampling/#collector-sampling-configuration[Collector Sampling Configuration] to see how service and endpoint sampling can be configured. The JSON representation described in that documentation can be used in the operator by converting to YAML.
== Schema migration
=== Cassandra
When the storage type is set to Cassandra, the operator will automatically create a batch job that creates the required schema for Jaeger to run. This batch job will block the Jaeger installation, so that it starts only after the schema is successfuly created. The creation of this batch job can be disabled by setting the `enabled` property to `false`:
[source,yaml]
----
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: cassandra-without-create-schema
spec:
strategy: allInOne
storage:
type: cassandra
cassandraCreateSchema:
enabled: false # <1>
----
<1> Defaults to `true`
Further aspects of the batch job can be configured as well. An example with all the possible options is shown below:
[source,yaml]
----
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: cassandra-with-create-schema
spec:
strategy: allInOne # <1>
storage:
type: cassandra
options: # <2>
cassandra:
servers: cassandra
keyspace: jaeger_v1_datacenter3
cassandraCreateSchema: # <3>
datacenter: "datacenter3"
mode: "test"
----
<1> The same works for `production` and `streaming`
<2> These options are for the regular Jaeger components, like `collector` and `query`
<3> The options for the `create-schema` job
NOTE: the default create-schema job uses `MODE=prod`, which implies a replication factor of `2`, using `NetworkTopologyStrategy` as the class, effectively meaning that at least 3 nodes are required in the Cassandra cluster. If a `SimpleStrategy` is desired, set the mode to `test`, which then sets the replication factor of `1`. Refer to the link:https://github.com/jaegertracing/jaeger/blob/master/plugin/storage/cassandra/schema/create.sh[create-schema script] for more details.
== Finer grained configuration
The custom resource can be used to define finer grained Kubernetes configuration applied to all Jaeger components or at the individual component level.
When a common definition (for all Jaeger components) is required, it is defined under the `spec` node. When the definition relates to an individual component, it is placed under the `spec/<component>` node.
* link:https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container[resources] to limit cpu and memory
* link:https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity[affinity] to determine which nodes a pod can be allocated to
* link:https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/[tolerations] in conjunction with `taints` to enable pods to avoid being repelled from a node
* link:https://kubernetes.io/docs/concepts/storage/volumes/[volumes] and volume mounts
* link:https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/[serviceAccount] to run each component with separate identity
* link:https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[securityContext] to define privileges of running components
[source,yaml]
----
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: simple-prod
spec:
strategy: production
storage:
type: elasticsearch
options:
es:
server-urls: http://elasticsearch:9200
annotations:
key1: value1
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "128Mi"
cpu: "500m"
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/e2e-az-name
operator: In
values:
- e2e-az1
- e2e-az2
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
preference:
matchExpressions:
- key: another-node-label-key
operator: In
values:
- another-node-label-value
tolerations:
- key: "key1"
operator: "Equal"
value: "value1"
effect: "NoSchedule"
- key: "key1"
operator: "Equal"
value: "value1"
effect: "NoExecute"
serviceAccount: nameOfServiceAccount
securityContext:
runAsUser: 1000
volumeMounts:
- name: config-vol
mountPath: /etc/config
volumes:
- name: config-vol
configMap:
name: log-config
items:
- key: log_level
path: log_level
----
== Removing an instance
To remove an instance, just use the `delete` command with the file used for the instance creation:
[source,bash]
----
kubectl delete -f simplest.yaml
----
Alternatively, you can remove a Jaeger instance by running:
[source,bash]
----
kubectl delete jaeger simplest
----
NOTE: deleting the instance will not remove the data from a permanent storage used with this instance. Data from in-memory instances, however, will be lost.
== Monitoring the operator
The Jaeger Operator starts a Prometheus-compatible endpoint on `0.0.0.0:8383/metrics` with internal metrics that can be used to monitor the process.
NOTE: The Jaeger Operator does not yet publish its own metrics. Rather, it makes available metrics reported by the components it uses, such as the Operator SDK.
The Jaeger Operator is an implementation of a [Kubernetes Operator](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/).
## Getting started
Firstly, ensure an [ingress-controller is deployed](https://kubernetes.github.io/ingress-nginx/deploy/). When using `minikube`, you can use the `ingress` add-on: `minikube start --addons=ingress`
Then follow the Jaeger Operator [installation instructions](https://www.jaegertracing.io/docs/latest/operator/).
Once the `jaeger-operator` deployment in the namespace `observability` is ready, create a Jaeger instance, like:
```
kubectl apply -n observability -f - <<EOF
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: simplest
EOF
```
This will create a Jaeger instance named `simplest`. The Jaeger UI is served via the `Ingress`, like:
```console
$ kubectl get -n observability ingress
NAME HOSTS ADDRESS PORTS AGE
simplest-query * 192.168.122.34 80 3m
```
In this example, the Jaeger UI is available at http://192.168.122.34.
The official documentation for the Jaeger Operator, including all its customization options, are available under the main [Jaeger Documentation](https://www.jaegertracing.io/docs/latest/operator/).
CRD-API documentation can be found [here](./docs/api.md).
## Compatibility matrix
See the compatibility matrix [here](./COMPATIBILITY.md).
### Jaeger Operator vs. Jaeger
The Jaeger Operator follows the same versioning as the operand (Jaeger) up to the minor part of the version. For example, the Jaeger Operator v1.22.2 tracks Jaeger 1.22.0. The patch part of the version indicates the patch level of the operator itself, not that of Jaeger. Whenever a new patch version is released for Jaeger, we'll release a new patch version of the operator.
### Jaeger Operator vs. Kubernetes
We strive to be compatible with the widest range of Kubernetes versions as possible, but some changes to Kubernetes itself require us to break compatibility with older Kubernetes versions, be it because of code imcompatibilities, or in the name of maintainability.
Our promise is that we'll follow what's common practice in the Kubernetes world and support N-2 versions, based on the release date of the Jaeger Operator.
For instance, when we released v1.22.0, the latest Kubernetes version was v1.20.5. As such, the minimum version of Kubernetes we support for Jaeger Operator v1.22.0 is v1.18 and we tested it with up to 1.20.
The Jaeger Operator *might* work on versions outside of the given range, but when opening new issues, please make sure to test your scenario on a supported version.
### Jaeger Operator vs. Strimzi Operator
We maintain compatibility with a set of tested Strimzi operator versions, but some changes in Strimzi operator require us to break compatibility with older versions.
The jaeger Operator *might* work on other untested versions of Strimzi Operator, but when opening new issues, please make sure to test your scenario on a supported version.
Sometimes it is preferable to generate plain manifests files instead of running an operator in a cluster. `jaeger-operator generate` generates kubernetes manifests from a given CR. In this example we apply the manifest generated by [examples/simplest.yaml](https://raw.githubusercontent.com/jaegertracing/jaeger-operator/main/examples/simplest.yaml) to the namespace `jaeger-test`:
It is recommended to deploy the operator instead of generating a static manifest.
## Jaeger V2 Operator
As the Jaeger V2 is released, it is decided that Jaeger V2 will deployed on Kubernetes using [OpenTelemetry Operator](https://github.com/open-telemetry/opentelemetry-operator). This will benefit both the users of Jaeger and OpenTelemetry. To use Jaeger V2 with OpenTelemetry Operator, the steps are as follows:
* Install the cert-manager in the existing cluster with the command:
Once done, type `localhost:8080` in the browser to interact with the UI.
[Note] There's an ongoing development in OpenTelemetry Operator where users will be able to interact directly with the UI.
### Using Jaeger with database to store traces
To use Jaeger V2 with the supported database, it is mandatory to create database deployments and they should be in `ready` state [(ref)](https://www.jaegertracing.io/docs/2.0/storage/).
Create a Kubernetes Service that exposes the database pods enabling communication between the database and Jaeger pods.
This can be achieved by creating a service in two ways, first by creating it [manually](https://kubernetes.io/docs/concepts/services-networking/service/) or second by creating it using imperative command.
1. Apply generated OLM catalog files to operatorhub.io
* Retrieve the auto-generated operator manifests, e.g. `git pull upstream master`
* Clone the https://github.com/operator-framework/community-operators[operatorhub] repo
* Apply the following changes to https://github.com/operator-framework/community-operators/tree/master/community-operators/jaeger[community-operators/jaeger] and https://github.com/operator-framework/community-operators/tree/master/upstream-community-operators/jaeger[upstream-community-operators/jaeger] in separate PRs:
- overwrite the file `jaeger-package.yaml` from `deploy/olm-catalog` in jaeger-operator repo
- copy the `jaeger.clusterserviceversion.yaml` and rename to include the version, e.g. `jaeger.<version>.clusterserviceverson.yaml`
- Get the `OAUTH_TOKEN` from [Github](https://github.com/settings/tokens/new?description=GitHub%20Changelog%20Generator%20token), select `repo:status` scope.
- Run `OAUTH_TOKEN=... make changelog`
- Remove the commits that are not relevant to users, like:
* CI or testing-specific commits (e2e, unit test, ...)
* bug fixes for problems that are not part of a release yet
* version bumps for internal dependencies
## Releasing
Steps to release a new version of the Jaeger Operator:
1. Change the `versions.txt `so that it lists the target version of the Jaeger (if it is required). **Don't touch the operator version**: it will be changed automatically in the next step.
2. Confirm that `MIN_KUBERNETES_VERSION` and `MIN_OPENSHIFT_VERSION` in the `Makefile` are still up-to-date, and update them if required.
2. Run `OPERATOR_VERSION=1.30.0 make prepare-release`, using the operator version that will be released.
3. Run the E2E tests in OpenShift as described in [the CONTRIBUTING.md](CONTRIBUTING.md#an-external-cluster-like-openshift) file. The tests will be executed automatically in Kubernetes by the GitHub Actions CI later.
4. Prepare a changelog since last release.
4. Update the release manager schedule.
5. Commit the changes and create a pull request:
```sh
git commit -sm "Preparing release v1.30.0"
```
5. Once the changes above are merged and available in `main` tag it with the desired version, prefixed with `v`, eg. `v1.30.0`
6. The GitHub Workflow will take it from here, creating a GitHub release and publishing the images
7. After the release, PRs needs to be created against the Operator Hub Community Operators repositories:
* One for the [upstream-community-operators](https://github.com/k8s-operatorhub/community-operators), used by OLM on Kubernetes.
* One for the [community-operators](https://github.com/redhat-openshift-ecosystem/community-operators-prod) used by OpenShift.
This can be done with the following steps:
- Update main `git pull git@github.com:jaegertracing/jaeger-operator.git main`
- Clone both repositories `upstream-community-operators` and `community-operators`
- Run `make operatorhub`
* If you have [`gh`](https://cli.github.com/) installed and configured, it will open the necessary PRs for you automatically.
* If you don't have it, the branches will be pushed to `origin` and you should be able to open the PR from there
## Note
After the PRs have been made it must be ensured that:
- Images listed in the ClusterServiceVersion (CSV) have a versions tag [#1682](https://github.com/jaegertracing/jaeger-operator/issues/1682)
- No `bundle` folder is included in the release
- No foreign CRs like prometheus are in the manifests
## Release managers
The operator should be released within a week after the [Jaeger release](https://github.com/jaegertracing/jaeger/blob/main/RELEASE.md#release-managers).
// FreeForm defines a common options parameter that maintains the hierarchical
// structure of the data, unlike Options which flattens the hierarchy into a
// key/value map where the hierarchy is converted to '.' separated items in the key.
// +k8s:openapi-gen=true
// FreeForm defines a common options parameter that maintains the hierarchical structure of the data, unlike Options which flattens the hierarchy into a key/value map where the hierarchy is converted to '.' separated items in the key.
typeFreeFormstruct{
json[]byte
json*[]byte`json:"-"`
}
// NewFreeForm build a new FreeForm object based on the given map
funcNewFreeForm(omap[string]interface{})FreeForm{
freeForm:=FreeForm{}
ifo!=nil{
freeForm.json,_=json.Marshal(o)
j,_:=json.Marshal(o)
freeForm.json=&j
}
returnfreeForm
}
// UnmarshalJSON implements an alternative parser for this field
func(o*FreeForm)UnmarshalJSON(b[]byte)error{
o.json=b
o.json=&b
returnnil
}
// MarshalJSON specifies how to convert this object into JSON
func(oFreeForm)MarshalJSON()([]byte,error){
iflen(o.json)==0{
ifnil==o.json{
return[]byte("{}"),nil
}
returno.json,nil
iflen(*o.json)==0{
return[]byte("{}"),nil
}
return*o.json,nil
}
// IsEmpty determines if the freeform options are empty
// JaegerCassandraCreateSchemaSpec holds the options related to the create-schema batch job
typeJaegerCassandraCreateSchemaSpecstruct{
// +optional
Enabled*bool`json:"enabled,omitempty"`
// Image specifies the container image to use to create the cassandra schema.
// The Image is used by a Kubernetes Job, defaults to the image provided through the cli flag "jaeger-cassandra-schema-image" (default: jaegertracing/jaeger-cassandra-schema).
// See here for the jaeger-provided image: https://github.com/jaegertracing/jaeger/tree/main/plugin/storage/cassandra
// +optional
Imagestring`json:"image,omitempty"`
// Datacenter is a collection of racks in the cassandra topology.
// defaults to "test"
// +optional
Datacenterstring`json:"datacenter,omitempty"`
// Mode controls the replication factor of your cassandra schema.
// Set it to "prod" (which is the default) to use the NetworkTopologyStrategy with a replication factor of 2, effectively meaning
// that at least 3 nodes are required in the cassandra cluster.
// When set to "test" the schema uses the SimpleStrategy with a replication factor of 1. You never want to do this in a production setup.
// +optional
Modestring`json:"mode,omitempty"`
// TraceTTL sets the TTL for your trace data
// +optional
TraceTTLstring`json:"traceTTL,omitempty"`
// Timeout controls the Job deadline, it defaults to 1 day.
// specify it with a value which can be parsed by time.ParseDuration, e.g. 24h or 120m.
// If the job does not succeed within that duration it transitions into a permanent error state.
// See https://github.com/jaegertracing/jaeger-kubernetes/issues/32 and
// Default implements webhook.Defaulter so a webhook will be registered for the type
func(j*Jaeger)Default(){
jaegerlog.Info("default","name",j.Name)
jaegerlog.Info("WARNING jaeger-agent is deprecated and will removed in v1.55.0. See https://github.com/jaegertracing/jaeger/issues/4739","component","agent")