Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mizhexiaoxiao/otel-operator
Opentelemetry Operator
https://github.com/mizhexiaoxiao/otel-operator
kubebuilder opentelemetry opentelemetry-collector operator
Last synced: 23 days ago
JSON representation
Opentelemetry Operator
- Host: GitHub
- URL: https://github.com/mizhexiaoxiao/otel-operator
- Owner: mizhexiaoxiao
- Created: 2023-02-22T06:58:02.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-04-03T03:53:34.000Z (almost 2 years ago)
- Last Synced: 2024-11-14T16:46:52.075Z (3 months ago)
- Topics: kubebuilder, opentelemetry, opentelemetry-collector, operator
- Language: Go
- Homepage:
- Size: 70.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# otel-operator
Opentelemetry Operator## Description
Customized operator, for reference only## Getting Started
### Running on the cluster
1. Build and push your image to the location specified by `IMG`:
```sh
make docker-build docker-push IMG=/otel-operator:tag
docker push /otel-operator:tag
```
2. Deploy the controller to the cluster with the image specified by `IMG`:```sh
make deploy IMG=/otel-operator:tag
```3. Install Instances of Custom Resources:
```sh
kubectl apply -f config/samples/
```### Undeploy controller
UnDeploy the controller to the cluster:```sh
make undeploy
```## api docs
### otel.mzx.org/v1
Resource Types:
- OpentelemetryCollector
- OpentelemetryAgent#### OpentelemetryCollector.Spec
OpenTelemetryCollectorSpec defines the desired state of OpenTelemetryCollector(deploy by statefulset)
| Name | Type | Description | Required |
| :--------------- | ----------------- | ------------------------------------------------------------ | -------- |
| image | string | Image indicates the container image to use for the OpenTelemetry Collector. | true |
| imagePullPolicy | string | ImagePullPolicy indicates the pull policy to be used for retrieving the container image (Always, Never, IfNotPresent) | false |
| imagePullSecrets | []object | Tencent cloud image download key | false |
| replicas | integer | Replicas is the number of pod instances for the underlying OpenTelemetry Collector. Format: int32 | true |
| ports | []object | ports defines the ports exposed by the pod, and the operator will infer the ports required by the service and create | false |
| resources | []object | Resources to set on the OpenTelemetry Collector pods. | false |
| config | String | Config is the raw JSON to be used as the collector's configuration. | true |
| podAnnotations | map[string]string | PodAnnotations is the set of annotations that will be attached to Collector pods | false |
| dnsPolicy | String | DNSPolicy defines how a pod's DNS will be configured(ClusterFirstWithHostNet, ClusterFirst, Default, None) | false |
| hostNetwork | boolean | HostNetwork indicates if the pod should run in the host networking namespace. | false |#### OpentelemetryAgent.Spec
OpenTelemetryAgentSpec defines the desired state of OpenTelemetryAgent(deploy by daemonset)
| Name | Type | Description | Required |
| :--------------- | ----------------- | ------------------------------------------------------------ | -------- |
| image | string | Image indicates the container image to use for the OpenTelemetry Collector. | true |
| imagePullPolicy | string | ImagePullPolicy indicates the pull policy to be used for retrieving the container image (Always, Never, IfNotPresent) | false |
| imagePullSecrets | []object | Tencent cloud image download key | false |
| ports | []object | ports defines the ports exposed by the pod, and the operator will infer the ports required by the service and create | false |
| resources | []object | Resources to set on the OpenTelemetry Collector pods. | false |
| config | String | Config is the raw JSON to be used as the collector's configuration. | true |
| podAnnotations | map[string]string | PodAnnotations is the set of annotations that will be attached to Collector pods | false |
| dnsPolicy | String | DNSPolicy defines how a pod's DNS will be configured(ClusterFirstWithHostNet, ClusterFirst, Default, None) | false |
| hostNetwork | boolean | HostNetwork indicates if the pod should run in the host networking namespace. | false |