From ca16db82b04e4b15653a4110d5ab615c8c3da6c3 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Tue, 18 Jul 2023 12:03:13 -0400 Subject: [PATCH] feat: add container builds locally and through ci (#39) * add containerization builds locally & through CI * multi-platform architecture * refactors various files to improve efficiency and development experience * sets runners to be bigger for performance --------- Co-authored-by: Adriel Perkins Co-authored-by: Mitchell Phillips Co-authored-by: Patrick Paulino --- .github/workflows/build.yml | 116 +++++++++++++++-- .github/workflows/release.yml | 13 ++ .goreleaser.yaml | 121 +++++++++++++----- Dockerfile | 18 +++ Makefile | 42 +++--- Makefile.Common | 10 +- README.md | 2 +- build/.vscode/launch.json | 29 ++--- config/config.yaml | 76 +++++++++++ config/manifest.yaml | 35 +++++ .../gitproviderreceiver/documentation.md | 2 +- .../gitproviderreceiver/metadata.yaml | 2 +- testconfig/config.yaml | 53 -------- testconfig/manifest-debug.yaml | 31 ----- testconfig/manifest.yaml | 30 ----- 15 files changed, 385 insertions(+), 195 deletions(-) create mode 100644 Dockerfile create mode 100644 config/config.yaml create mode 100644 config/manifest.yaml delete mode 100644 testconfig/config.yaml delete mode 100644 testconfig/manifest-debug.yaml delete mode 100644 testconfig/manifest.yaml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index df15f44b..f382aa70 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,15 +8,18 @@ on: branches: [main] jobs: - lint: + prep-env: + name: prepare environment strategy: matrix: go: ['1.19'] - os: [ubuntu-latest, macos-latest] - name: lint - runs-on: ${{ matrix.os }} + runs-on: + group: bigger steps: - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - uses: actions/setup-go@v4 with: go-version: ${{ matrix.go }} @@ -25,16 +28,61 @@ jobs: - name: Make install-tools run: make install-tools + - name: Make cibuild + run: make cibuild + + - name: Cache directories + uses: actions/cache@v2 + with: + path: | + ~/go/bin + ./build + ./tmp + key: ${{ runner.os }}-make-${{ hashFiles('**/Makefile') }} + restore-keys: | + ${{ runner.os }}-make- + + lint: + needs: [prep-env] + strategy: + matrix: + go: ['1.19'] + name: lint + runs-on: + group: bigger + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: ${{ matrix.go }} + cache: false + + - name: Restore cache + uses: actions/cache@v2 + with: + path: | + ~/go/bin + ./build + ./tmp + key: ${{ runner.os }}-make-${{ hashFiles('**/Makefile') }} + restore-keys: | + ${{ runner.os }}-make- + - name: Make lint-all run: make lint-all build: + name: build + needs: [prep-env] strategy: matrix: go: ['1.19'] - os: [ubuntu-latest, macos-latest] - name: build - runs-on: ${{ matrix.os }} + runs-on: + group: bigger steps: - name: Check out code uses: actions/checkout@v3 @@ -44,16 +92,62 @@ jobs: - name: Set up Go uses: actions/setup-go@v4 with: - go-version: '1.19' + go-version: ${{ matrix.go }} cache: false - - name: Make cibuild - run: make cibuild + - name: Restore cache + uses: actions/cache@v2 + with: + path: | + ~/go/bin + ./build + ./tmp + key: ${{ runner.os }}-make-${{ hashFiles('**/Makefile') }} + restore-keys: | + ${{ runner.os }}-make- + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v4 + with: + distribution: goreleaser + version: latest + args: release --clean --snapshot + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + test: + needs: [prep-env] + strategy: + matrix: + go: ['1.19'] + name: test + runs-on: + group: bigger + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: ${{ matrix.go }} + cache: false + + - name: Make test-all + run: make test-all go-semantic-release: if: ${{ github.ref == 'refs/heads/main' }} needs: [lint, build] - runs-on: ubuntu-latest + runs-on: + group: bigger permissions: contents: write steps: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b4bdff4b..3be06e29 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,11 +20,24 @@ jobs: - name: Fetch all tags run: git fetch --force --tags + - name: Log in to the Container registry + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Set up Go uses: actions/setup-go@v4 with: go-version: 1.19 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Run GoReleaser uses: goreleaser/goreleaser-action@v4 with: diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 1c43c9b9..69eae245 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -1,45 +1,108 @@ +--- # This is an example .goreleaser.yml file with some sensible defaults. # Make sure to check the documentation at https://goreleaser.com before: - hooks: + hooks: # You may remove this if you don't use go modules. # - go mod tidy # you may remove this if you don't need go generate - - go generate ./... - - make cibuild + - go generate ./... + - make cibuild builds: - - dir: ./build - env: - - CGO_ENABLED=0 - goos: - - linux - - windows - - darwin + - dir: ./build + env: + - CGO_ENABLED=0 + goos: + - linux + - darwin + - windows + +dockers: + - goos: linux + goarch: '386' + image_templates: + - ghcr.io/liatrio/liatrio-otel-collector:{{ .Version }}-386 + - ghcr.io/liatrio/liatrio-otel-collector:latest-386 + extra_files: + - config/config.yaml + use: buildx + build_flag_templates: + - --pull + - --platform=linux/386 + - --label=org.opencontainers.image.created={{.Date}} + - --label=org.opencontainers.image.name={{.ProjectName}} + - --label=org.opencontainers.image.revision={{.FullCommit}} + - --label=org.opencontainers.image.version={{.Version}} + - --label=org.opencontainers.image.source={{.GitURL}} + - goos: linux + goarch: amd64 + image_templates: + - ghcr.io/liatrio/liatrio-otel-collector:{{ .Version }}-amd64 + - ghcr.io/liatrio/liatrio-otel-collector:latest-amd64 + extra_files: + - config/config.yaml + use: buildx + build_flag_templates: + - --pull + - --platform=linux/amd64 + - --label=org.opencontainers.image.created={{.Date}} + - --label=org.opencontainers.image.name={{.ProjectName}} + - --label=org.opencontainers.image.revision={{.FullCommit}} + - --label=org.opencontainers.image.version={{.Version}} + - --label=org.opencontainers.image.source={{.GitURL}} + - goos: linux + goarch: arm64 + image_templates: + - ghcr.io/liatrio/liatrio-otel-collector:{{ .Version }}-arm64 + - ghcr.io/liatrio/liatrio-otel-collector:latest-arm64 + extra_files: + - config/config.yaml + use: buildx + build_flag_templates: + - --pull + - --platform=linux/arm64 + - --label=org.opencontainers.image.created={{.Date}} + - --label=org.opencontainers.image.name={{.ProjectName}} + - --label=org.opencontainers.image.revision={{.FullCommit}} + - --label=org.opencontainers.image.version={{.Version}} + - --label=org.opencontainers.image.source={{.GitURL}} + +docker_manifests: + - name_template: liatrio/liatrio-otel-collector:{{ .Version }} + image_templates: + - liatrio/liatrio-otel-collector:{{ .Version }}-386 + - liatrio/liatrio-otel-collector:{{ .Version }}-amd64 + - liatrio/liatrio-otel-collector:{{ .Version }}-arm64 + - name_template: liatrio/liatrio-otel-collector:latest + image_templates: + - liatrio/liatrio-otel-collector:latest-386 + - liatrio/liatrio-otel-collector:latest-amd64 + - liatrio/liatrio-otel-collector:latest-arm64 archives: - - format: tar.gz + - format: tar.gz # this name template makes the OS and Arch compatible with the results of uname. - name_template: >- - {{ .ProjectName }}_ - {{- title .Os }}_ - {{- if eq .Arch "amd64" }}x86_64 - {{- else if eq .Arch "386" }}i386 - {{- else }}{{ .Arch }}{{ end }} - {{- if .Arm }}v{{ .Arm }}{{ end }} - # use zip for windows archives - format_overrides: - - goos: windows - format: zip + name_template: >- + {{ .ProjectName }}_ + {{- title .Os }}_ + {{- if eq .Arch "amd64" }}x86_64 + {{- else if eq .Arch "386" }}i386 + {{- else }}{{ .Arch }}{{ end }} + {{- if .Arm }}v{{ .Arm }}{{ end }} + # use zip for windows archives + format_overrides: + - goos: windows + format: zip checksum: - name_template: 'checksums.txt' + name_template: checksums.txt snapshot: - name_template: "{{ incpatch .Version }}-next" + name_template: '{{ incpatch .Version }}-next' changelog: - sort: asc - filters: - exclude: - - '^docs:' - - '^test:' + sort: asc + filters: + exclude: + - '^docs:' + - '^test:' # The lines beneath this are called `modelines`. See `:help modeline` # Feel free to remove those if you don't want/use them. diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..bb97207f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM alpine:3.18.2 as cacerts +RUN apk --update add --no-cache ca-certificates + +FROM scratch + +ARG BIN_PATH=liatrio-otel-collector + +ARG UID=10001 +USER ${UID} + +COPY --from=cacerts /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt +COPY --chmod=755 ${BIN_PATH} /usr/bin/liatrio-col +COPY config/config.yaml /etc/liatrio-otel/config.yaml + + +ENTRYPOINT ["/usr/bin/liatrio-col"] +CMD ["--config=/etc/liatrio-otel/config.yaml"] +EXPOSE 4317 55678 55679 diff --git a/Makefile b/Makefile index 45feaf06..6d1e25a0 100644 --- a/Makefile +++ b/Makefile @@ -24,15 +24,16 @@ endif .PHONY: build build: check-prep - $(OCB_PATH)/ocb --config testconfig/manifest.yaml + $(OCB_PATH)/ocb --config config/manifest.yaml .PHONY: build-debug build-debug: check-prep - $(OCB_PATH)/ocb --config testconfig/manifest-debug.yaml + sed 's/debug_compilation: false/debug_compilation: true/g' config/manifest.yaml > $(OCB_PATH)/manifest-debug.yaml + $(OCB_PATH)/ocb --config $(OCB_PATH)/manifest-debug.yaml .PHONY: release release: check-prep - $(OCB_PATH)/ocb --config testconfig/manifest.yaml --skip-compilation + $(OCB_PATH)/ocb --config config/manifest.yaml --skip-compilation curl -sfL https://goreleaser.com/static/run | VERSION=v$(GORELEASER_VERSION) DISTRIBUTION=oss bash \ -s -- --clean --skip-validate --skip-publish --snapshot @@ -49,10 +50,11 @@ prep: chmod +x $(OCB_PATH)/ocb cd $(OCB_PATH) && git clone --depth 1 $(OTEL_CONTRIB_REPO); \ cd opentelemetry-collector-contrib && git fetch --depth 1 origin v$(OCB_VERSION) && git checkout FETCH_HEAD; + cd $(OCB_PATH)/opentelemetry-collector-contrib/cmd/mdatagen && go install . .PHONY: run run: build - $(CUSTOM_COL_DIR)/otelcol-custom --config testconfig/config.yaml + $(CUSTOM_COL_DIR)/otelcol-custom --config config/config.yaml .PHONY: install-tools install-tools: @@ -65,25 +67,21 @@ install-tools: lint-all: $(PKG_RECEIVER_DIRS) $(PKG_RECEIVER_DIRS): - $(MAKE) -C $@ lint - -# Taken from opentelemetry-collector-contrib -.PHONY: for-all -for-all: - @echo "running $${CMD} in root" - @$${CMD} - @set -e; for dir in $(PKG_RECEIVER_DIRS); do \ - @echo "running $${CMD} in $${dir}" - (cd "$${dir}" && \ - echo "running $${CMD} in $${dir}" && \ - $${CMD} ); \ - done + $(MAKE) -j 4 -C $@ lint + +.PHONY: metagen-all +metagen-all: check-prep + cd tmp/opentelemetry-collector-contrib/cmd/mdatagen && go install . + $(MAKE) -j 4 -C $(PKG_RECEIVER_DIRS) metagen -.PHONY: metagen -metagen: check-prep - @cd tmp/opentelemetry-collector-contrib/cmd/mdatagen && go install . - @$(MAKE) for-all CMD="go generate ./..." +.PHONY: test-all +test-all: + $(MAKE) -j 4 -C $(PKG_RECEIVER_DIRS) test .PHONY: cibuild cibuild: check-prep - $(OCB_PATH)/ocb --config testconfig/manifest.yaml --skip-compilation \ No newline at end of file + $(OCB_PATH)/ocb --config config/manifest.yaml --skip-compilation + +.PHONY: dockerbuild +dockerbuild: build + docker build . -t liatrio/liatrio-otel-collector:localdev --build-arg BIN_PATH="./build/otelcol-custom" diff --git a/Makefile.Common b/Makefile.Common index 85fdbd10..6b4222ce 100644 --- a/Makefile.Common +++ b/Makefile.Common @@ -19,4 +19,12 @@ lint: .PHONY: tidy tidy: rm go.sum - go mod tidy -compat=1.19 \ No newline at end of file + go mod tidy -compat=1.19 + +.PHONY: metagen +metagen: + go generate ./... + +.PHONY: test +test: + go test -v ./... diff --git a/README.md b/README.md index e5fb4f9a..45525ee1 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ If you want to export your data to Grafana Cloud through their OTLP endpoint, there's a couple of extra things you'll need to do. 1. Run `export GRAF_USER` and `export GRAF_PAT` with your instance id and cloud api key -2. Update the [testconfig/config.yaml](./testconfig/config.yaml) file with the following: +2. Update the [config/config.yaml](./config/config.yaml) file with the following: ```yaml extensions: diff --git a/build/.vscode/launch.json b/build/.vscode/launch.json index 93ffb6aa..602025b2 100644 --- a/build/.vscode/launch.json +++ b/build/.vscode/launch.json @@ -1,17 +1,16 @@ { - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Launch Otel Collector in debug", - "type": "go", - "request": "launch", - "mode": "auto", - "program": "${fileDirname}", - "args": ["--config", "../testconfig/config.yaml"] - } - - ] + "version": "0.2.0", + "configurations": [ + { + "name": "Launch Otel Collector in debug", + "type": "go", + "request": "launch", + "mode": "auto", + "program": "${fileDirname}", + "args": [ + "--config", + "../config/config.yaml" + ] + } + ] } diff --git a/config/config.yaml b/config/config.yaml new file mode 100644 index 00000000..e2805ac5 --- /dev/null +++ b/config/config.yaml @@ -0,0 +1,76 @@ +--- +extensions: + health_check: + pprof: + endpoint: 0.0.0.0:1777 + zpages: + endpoint: 0.0.0.0:55679 + ## Uncomment below if you want to enable authentication to GitHub + ## Presume that GH_USER and GH_PAT are set as env variables. + #basicauth/github: + # client_auth: + # username: ${env:GH_USER} + # password: ${env:GH_PAT} + #basicauth/grafana: + # client_auth: + # username: ${env:GRAF_USER} + # password: ${env:GRAF_PAT} + +receivers: + otlp: + protocols: + grpc: + http: + + ## Collect own metrics based on example from OTEL Contrib Dockerfile + ## https://github.com/open-telemetry/opentelemetry-collector-releases/blob/main/configs/otelcol-contrib.yaml + prometheus: + config: + scrape_configs: + - job_name: liatrio-otel-collector + scrape_interval: 10s + static_configs: + - targets: [0.0.0.0:8888] + + gitprovider: + initial_delay: 1s + collection_interval: 60s + scrapers: + github: + github_org: ${env:GITHUB_ORG} + ## Uncomment if you want to view private authentication required + ## GitHub data or and decrease rate limiting. + #auth: + # authenticator: basicauth/github + +processors: + batch: + +exporters: + logging: + verbosity: detailed + + ## Uncomment if you want to use OTLP exportation to Grafana cloud + ## and update with your region + #otlphttp: + # auth: + # authenticator: basicauth/grafana + # endpoint: https://otlp-gateway-prod-us-central-0.grafana.net/otlp + +service: + ## Add basicauth/* if you want to use basic auth extensions + extensions: [health_check, pprof, zpages] + pipelines: + metrics: + receivers: [otlp, gitprovider] + processors: [batch] + exporters: [logging] + + traces: + receivers: [otlp] + processors: [batch] + exporters: [logging] + + telemetry: + logs: + level: debug diff --git a/config/manifest.yaml b/config/manifest.yaml new file mode 100644 index 00000000..4f25d215 --- /dev/null +++ b/config/manifest.yaml @@ -0,0 +1,35 @@ +--- +dist: + name: otelcol-custom + description: Basic OTel Collector distribution for Developers + otelcol_version: 0.81.0 + # version: 0.81.0 + output_path: ./build + debug_compilation: false + +extensions: + - gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.81.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.81.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.81.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.81.0 + +exporters: + - gomod: go.opentelemetry.io/collector/exporter/loggingexporter v0.81.0 + - gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.81.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/jaegerexporter v0.81.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.81.0 + +processors: + - gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.81.0 + +receivers: + - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.81.0 + - gomod: github.com/liatrio/liatrio-otel-collector/pkg/receiver/gitproviderreceiver v0.1.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.81.0 + + +replaces: + - github.com/liatrio/liatrio-otel-collector/pkg/receiver/gitproviderreceiver => ../pkg/receiver/gitproviderreceiver/ + ## TODO: remove this line once v0.82.0 fixes the amiguous imports of confmap & knadh/kaonf/maps + ## for now must use v0.80.0 for this package. + - go.opentelemetry.io/collector/confmap => go.opentelemetry.io/collector/confmap v0.80.0 diff --git a/pkg/receiver/gitproviderreceiver/documentation.md b/pkg/receiver/gitproviderreceiver/documentation.md index 363dca74..d88e98cb 100644 --- a/pkg/receiver/gitproviderreceiver/documentation.md +++ b/pkg/receiver/gitproviderreceiver/documentation.md @@ -82,5 +82,5 @@ Time the PR has been open | Name | Description | Values | Enabled | | ---- | ----------- | ------ | ------- | -| git.vendor.name | | Any Str | true | +| git.vendor.name | The name of the Git vendor/provider (ie. GitHub / GitLab) | Any Str | true | | organization.name | Git Organization or Project Name | Any Str | true | diff --git a/pkg/receiver/gitproviderreceiver/metadata.yaml b/pkg/receiver/gitproviderreceiver/metadata.yaml index d37e07bc..c40d1172 100644 --- a/pkg/receiver/gitproviderreceiver/metadata.yaml +++ b/pkg/receiver/gitproviderreceiver/metadata.yaml @@ -17,7 +17,7 @@ resource_attributes: type: string git.vendor.name: enabled: true - description: + description: The name of the Git vendor/provider (ie. GitHub / GitLab) type: string # github, gitlab, bitbucket, gittea diff --git a/testconfig/config.yaml b/testconfig/config.yaml deleted file mode 100644 index 9eb8183a..00000000 --- a/testconfig/config.yaml +++ /dev/null @@ -1,53 +0,0 @@ ---- -extensions: - basicauth/github: - client_auth: - username: ${env:GH_USER} - password: ${env:GH_PAT} - #basicauth/grafana: - # client_auth: - # username: ${env:GRAF_USER} - # password: ${env:GRAF_PAT} - -receivers: - otlp: - protocols: - grpc: - - gitprovider: - initial_delay: 1s - collection_interval: 60s - scrapers: - github: - github_org: liatrio - auth: - authenticator: basicauth/github - -processors: -exporters: - logging: - verbosity: detailed - - #otlphttp: - # auth: - # authenticator: basicauth/grafana - # endpoint: https://otlp-gateway-prod-us-central-0.grafana.net/otlp - - - jaeger: - endpoint: localhost:14250 - tls: - insecure: true - -service: - extensions: [basicauth/github] - #extensions: [basicauth/github, basicauth/grafana] - pipelines: - metrics: - receivers: [otlp, gitprovider] - processors: [] - exporters: [logging] - #exporters: [logging, otlphttp] - telemetry: - logs: - level: debug diff --git a/testconfig/manifest-debug.yaml b/testconfig/manifest-debug.yaml deleted file mode 100644 index e18970ee..00000000 --- a/testconfig/manifest-debug.yaml +++ /dev/null @@ -1,31 +0,0 @@ ---- -dist: - name: otelcol-custom - description: Basic OTel Collector distribution for Developers - otelcol_version: 0.81.0 - # version: 0.81.0 - output_path: ./build - debug_compilation: true - -extensions: - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.81.0 - -exporters: - - gomod: go.opentelemetry.io/collector/exporter/loggingexporter v0.81.0 - - gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.81.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/jaegerexporter v0.81.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.81.0 - -processors: - - gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.81.0 - -receivers: - - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.81.0 - - gomod: github.com/liatrio/liatrio-otel-collector/pkg/receiver/gitproviderreceiver v0.1.0 - - -replaces: - - github.com/liatrio/liatrio-otel-collector/pkg/receiver/gitproviderreceiver => ../pkg/receiver/gitproviderreceiver/ - ## TODO: remove this line once v0.82.0 fixes the amiguous imports of confmap & knadh/kaonf/maps - ## for now must use v0.80.0 for this package. - - go.opentelemetry.io/collector/confmap => go.opentelemetry.io/collector/confmap v0.80.0 \ No newline at end of file diff --git a/testconfig/manifest.yaml b/testconfig/manifest.yaml deleted file mode 100644 index addda3a6..00000000 --- a/testconfig/manifest.yaml +++ /dev/null @@ -1,30 +0,0 @@ -dist: - name: otelcol-custom - description: Basic OTel Collector distribution for Developers - otelcol_version: 0.81.0 - # version: 0.81.0 - output_path: ./build - debug_compilation: false - -extensions: - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.81.0 - -exporters: - - gomod: go.opentelemetry.io/collector/exporter/loggingexporter v0.81.0 - - gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.81.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/jaegerexporter v0.81.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.81.0 - -processors: - - gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.81.0 - -receivers: - - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.81.0 - - gomod: github.com/liatrio/liatrio-otel-collector/pkg/receiver/gitproviderreceiver v0.1.0 - - -replaces: - - github.com/liatrio/liatrio-otel-collector/pkg/receiver/gitproviderreceiver => ../pkg/receiver/gitproviderreceiver/ - ## TODO: remove this line once v0.82.0 fixes the amiguous imports of confmap & knadh/kaonf/maps - ## for now must use v0.80.0 for this package. - - go.opentelemetry.io/collector/confmap => go.opentelemetry.io/collector/confmap v0.80.0 \ No newline at end of file