add feature: java agent injector (#30)

* add feature-injector

* add license

* fix naming errors

* add configmap
* add a default configmap to save the default agent config
* when create operator, the configmap will be created

* add default annotation and validate func
* add some annotation override template
* add sidecar fields' default value
* add some func to validate the agent config annotation

* sidecar inject
* 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

* add func test

* update label

* fix lint error

* fix bug, refactor code and add feature
* 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

* fix bug

* remove validate function and add optional plugins
* remove most of the validate function and retain the functions that validate service_name and backend_service.
* add overridable annotations to use optioncal plugins.

* add optional-reporter

Co-authored-by: 吴晟 Wu Sheng <>
23 files changed
tree: 9bdf60d3b3df5af585107bf7c3f623d0f3b96a84
  1. .asf.yaml
  2. .github/
  3. .gitignore
  7. Makefile
  11. apis/
  12. build/
  13. cmd/
  14. config/
  15. controllers/
  16. dist/
  17. docs/
  18. go.mod
  19. go.sum
  20. golangci.yml
  21. hack/
  22. main.go
  23. pkg/

Apache SkyWalking Cloud on Kubernetes

A bridge project between Apache SkyWalking and Kubernetes.

SWCK is a platform for the SkyWalking user, provisions, upgrades, maintains SkyWalking relevant components, and makes them work natively on Kubernetes.


  1. Operator: Provision and maintain SkyWalking backend components.
  2. Custom Metrics Adapter: Provides custom metrics come from SkyWalking OAP cluster for autoscaling by Kubernetes HPA

Quick Start


  • To install the operator in an existing cluster, make sure you have cert-manager installed
  • Apply the manifests for the Controller and CRDs in release/config:
kubectl apply -f release/operator/config

For more details, please refer to deploy operator

Examples of the Operator

There are some instant examples to represent the functions or features of the Operator.

Custom Metrics Adapter

  • Deploy OAP server by referring to Operator Quick Start.
  • Apply the manifests for an adapter in release/adapter/config:
kubectl apply -f release/adapter/config

For more details, please read Custom metrics adapter


For developers who want to contribute to this project, see Contribution Guide


Apache 2.0 License.