Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature: add supports for zipkin-dependencies job as a k8s cronjob #11

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

meveno
Copy link

@meveno meveno commented Feb 1, 2024

Feel free to suggest some changes

Regards

@codefromthecrypt
Copy link
Member

sorry I accidentally wasn't watching this repo. looking now

Copy link
Member

@codefromthecrypt codefromthecrypt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general, the config approach is the same for mysql or cassandra, (prefixed variables associated to the storage type should be re-used for the dependency job)

one thing needed is how to test this here, as the job is something easy to get wrong by accident. I assume this is "out sourcing" the cron part to k8s itself, in this case, it should be changing the entrypoint also to prevent the container from using its cron. You can look at this

https://github.com/openzipkin/zipkin/tree/master/docker/examples#elasticsearch

Probably the best thing before starting this would be to add a better test, that generates a trace.. like this in a separate PR https://github.com/openzipkin/brave-example/blob/14a408d0bf2197bfc24e2d8935256e2508ad2d30/build-bin/docker-compose.base.yml

Then, this a test for dependencies could layer on that, and once the trace is readable, run the dependnecies job and see if the dependency endpoint has the "frontend" -> "backend" link

@codefromthecrypt
Copy link
Member

#13 will backfill a basic test.

@codefromthecrypt
Copy link
Member

I think to help I'll try to get a test for elasticsearch config in the first place, then doing something like this will be easier to verify. I'll plug at this slowly unless you beat me to it!

@codefromthecrypt
Copy link
Member

ok #17 sets up the baseline to test this #17

Here's the jist of things needed to land this reliably:

  1. make sure the dependencies job is overriding "command" to "start-zipkin-dependencies", so it doesn't also start its own cron
  2. update schema for the new values
  3. make ci/elasticsearch-values.yaml extend dependencies-values.yaml
  4. change test/test-connection to invoke the dependencies container when the storage type isn't mem, between calling the frontend and reading back the dependencies links

I'll wait on you to tell me how comfortable you feel with these steps, and forgive me not eyeballing some change I didn't think about.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants