add feature: java agent injector#30
Conversation
|
@dashanji Glade to see this happen so soon. But the process is wrong. Before this weekend, I will select one student from the candidates, and didn't promise you will be selected. If you are selected, we will discuss the details of this feat. After that, you can move the current PR step. I suggest you transfer this to a "draft" before the above steps are done. |
@hanahmily I need to point out, from the foundation and PMC perspective, we don't care about whether this student is selected. Even it isn't, PR in public should be considered as a key point. We are going to accept this PR if it is good enough from a tech perspective. In the practice way, you could select the student you prefer, but in the open-source and the Apache way, this PR should not be asked to be drafted, which violate the transparency policy. |
All right. I would like to withdraw my statement about the candidate's selection. But I need this to be drafted because this PR is not ready to be reviewed without any design document review process. That's from the tech perspective, not my personal preference. |
It is fine from any tech requirement you need as usual. |
|
Do we have any progress here? |
|
A head up: this patch seems to assume that Java agent is the only one agent injectable, with apache/skywalking#7381 we will be able to inject Python agent too. So in this PR the label for pod |
The new design has passed, @dashanji has been writing codes. |
Updated the title according to this situation |
|
OK, after this is ready and merged, I expect the student could write up an English blog about how to use this. |
* add a default configmap to save the default agent config * when create operator, the configmap will be created
* add some annotation override template * add sidecar fields' default value * add some func to validate the agent config annotation
* users can choose different injection strategies through annotations * sidecar coverage is enabled by default, and agent coverage is the user's choice * agent.config will be overwritten by configmap * failure to inject will return an error annotation
81e2a67 to
0e01a8f
Compare
* fix naming and version. * fix the bug about inject container. * use annotations.yaml to generate configmap and overlay the value of sidecar and agent * create a controller to watch the default configmap * add function to validate configmap's key and value
|
The CI error may cause by controller-gen, the reason is the link controller-gen error. For this special case, can we delete |
It will insert the license header to generated APIs. If it causes these failures, we can remove it temporarily. Skywalking-eye will guarantee all headers exist. |
|
@dashanji What's your plan for this PR, you didn't push anything recently? |
Next , I think I will add a CRD and a controller that used to watch the injected pod and then create CR. User can get the final agent configuration through the CR. I'm still writing code currently. |
* remove most of the validate function and retain the functions that validate service_name and backend_service. * add overridable annotations to use optioncal plugins.
…k into feature-injector
|
@dashanji you need to document how to use this injector in follow-up PRs. |
OK. |

PR_Proposal.pdf