Skip to content

Commit

Permalink
Introduce OpenTelemetry Integration chart (#258)
Browse files Browse the repository at this point in the history
* Initial chart

Signed-off-by: Matej Gera <matejgera@gmail.com>

* Add extra templates and notes file

Signed-off-by: Matej Gera <matejgera@gmail.com>

* Add CI job for smoke test

Signed-off-by: Matej Gera <matejgera@gmail.com>

* Copy dashboards

Signed-off-by: Matej Gera <matejgera@gmail.com>

* Add release job

Signed-off-by: Matej Gera <matejgera@gmail.com>

* Add k8s dashboard parmeter and clean values.yaml

Signed-off-by: Matej Gera <matejgera@gmail.com>

* Move templates to correct subdir

Signed-off-by: Matej Gera <matejgera@gmail.com>

* Add README and CHANGELOG

Signed-off-by: Matej Gera <matejgera@gmail.com>

* Fix CI paths

Signed-off-by: Matej Gera <matejgera@gmail.com>

* Fixing README and CI values

Signed-off-by: Matej Gera <matejgera@gmail.com>

* Review feedback 1st round

Signed-off-by: Matej Gera <matejgera@gmail.com>

* Bump collector version and uncomment region detector

Signed-off-by: Matej Gera <matejgera@gmail.com>

* Better chart naming

Signed-off-by: Matej Gera <matejgera@gmail.com>

* Add changelog check

Signed-off-by: Matej Gera <matejgera@gmail.com>

---------

Signed-off-by: Matej Gera <matejgera@gmail.com>
  • Loading branch information
matej-g committed Jul 27, 2023
1 parent 209cac4 commit dc764db
Show file tree
Hide file tree
Showing 23 changed files with 4,074 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ jobs:
- 'otel-agent/k8s-helm/**'
otel-infrastructure-collector:
- 'otel-infrastructure-collector/k8s-helm/**'
otel-integration:
- 'otel-integration/k8s-helm/**'
metrics-prometheus-agent:
- 'metrics/prometheus-agent/**'
metrics-prometheus-operator:
Expand All @@ -69,6 +71,9 @@ jobs:
- name: OpenTelemetry Infrastructure Collector Changelog
if: steps.filter.outputs.otel-infrastructure-collector == 'true'
run: scripts/changelog_check.sh otel-infrastructure-collector
- name: OpenTelemetry Integration Changelog
if: steps.filter.outputs.otel-integration == 'true'
run: scripts/changelog_check.sh otel-integration
- name: Prometheus Agent Changelog
if: steps.filter.outputs.metrics-prometheus-agent == 'true'
run: scripts/changelog_check.sh metrics/prometheus-agent
23 changes: 23 additions & 0 deletions .github/workflows/otel-integration-helm-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Otel Integration Helm Install Test

on:
pull_request:
paths:
- 'otel-integration/k8s-helm/**'

jobs:
collector-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Setup
uses: ./.github/actions/setup
with:
create-kind-cluster: "true"
- name: Setup Secret
run: kubectl create secret generic coralogix-keys --from-literal=PRIVATE_KEY=123
- name: Run chart-testing (install)
run: ct install --namespace default --charts otel-integration/k8s-helm
41 changes: 41 additions & 0 deletions .github/workflows/otel-integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@

name: OpenTelemetry-Integration-Chart

on:
push:
branches: master
paths:
- 'otel-integration/k8s-helm/**'

env:
CHART_VERSION: $(yq eval '.version' otel-integration/k8s-helm/Chart.yaml)
CHART_NAME: otel-integration
ARTIFACTORY_URL: https://cgx.jfrog.io/artifactory/
ARTIFACTORY_USERNAME: integrations-actions

jobs:
build:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2.4.0
-
name: Setup Helm Repo
run: |
helm repo add coralogix-charts-virtual ${{ env.ARTIFACTORY_URL }}coralogix-charts-virtual --username ${{ env.ARTIFACTORY_USERNAME }} --password ${{ secrets.ARTIFACTORY_NONUSER_ACCESS_TOKEN }}
helm repo add opentelemetry https://open-telemetry.github.io/opentelemetry-helm-charts
helm repo update
helm dependency build ./otel-integration/k8s-helm/
cd otel-integration/k8s-helm
helm package .
-
name: Setup JFrog CLI
uses: jfrog/setup-jfrog-cli@v2.1.0
with:
version: 2.12.1
-
name: use-jfrog-cli
run: |
cd otel-integration/k8s-helm
jfrog rt upload --access-token ${{ secrets.ARTIFACTORY_NONUSER_ACCESS_TOKEN }} "${{ env.CHART_NAME }}-*.tgz" coralogix-charts --url ${{ env.ARTIFACTORY_URL }}
7 changes: 7 additions & 0 deletions otel-integration/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Changelog

## OpenTelemtry-Integration

### v0.0.1 / 2023-07-21

* [FEATURE] Add new chart
3 changes: 3 additions & 0 deletions otel-integration/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# OpenTelemetry Integration

The OpenTelemetry integration projects offers a full-fledged integration to collect and export telemetry signals from your infrastructure and applications. Currently this integration is available for Kubernetes on Linux platforms, please see the [`k8s-helm`](./k8s-helm) subdirectory for installation instructions.
23 changes: 23 additions & 0 deletions otel-integration/dashboard/k8s/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
## Installation

* Copy the [otel-agent-dashboard.json](./assets/otel-agent-dashboard.json) file content
* Go to your hosted grafana
* Press the `Create` tab
* Press the `Import` tab
* Paste the copied content

### Host Metrics

![Alt text](./assets/host-metrics.png)

### Span Metrics

![Alt text](./assets/spanmetrics.png)

### Kubernetes Pod

![Alt text](./assets/kubernetes-pod.png)

### Otel Agent

![Alt text](./assets/dashboard-screenshot.jpg)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit dc764db

Please sign in to comment.