Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
d33d2cd
Rebuild initial pass at AIX to avoid complicated rebase
Jun 20, 2024
764feb4
Add goreleaser yaml file
Jun 20, 2024
ffc4438
Explicitly set config to version 2, and change the parameter that bre…
Jun 20, 2024
e66a938
Add a comment to make it clear why the backup function is emtpy
Jun 20, 2024
860e905
Make uninstall actually work, and clear up a bunch of the comments
Jun 20, 2024
aa2e238
Finalize updater service manager and updater service tests
Jun 20, 2024
5bb3c9b
Add Makefile changes
Jun 21, 2024
af6852a
Fix folder bug for aix env file
Jun 21, 2024
98ef830
Make sure storage dir exists for AIX
Jun 21, 2024
2286c32
Add protection for the --file option when the file doesn't exist
Jun 21, 2024
113ba86
Add AIX messages, and status for all, to the agent information output…
Jun 21, 2024
74a9306
Add missing escapes for double quotes inside of double quotes
Jun 25, 2024
bdee9c8
Commit actual install_unix.sh script
Dylan-M Oct 22, 2024
a8de8d1
First pass for agent 2.0 build system changes
Dylan-M Oct 22, 2024
feea469
Update AIX manifest to OTel 0.113.0
Dylan-M Nov 7, 2024
ee96e25
Bring AIX manifest in line with primary manifest
Dylan-M Nov 14, 2024
1ec87cc
Add thrift library override replacement that contains fix for AIX
Dylan-M Nov 15, 2024
7d791cc
Fix issues with agent -> collector name change
Dylan-M Dec 18, 2024
17b82c7
Update manifest for latest package versions
Dylan-M Jan 13, 2025
09739b2
Fix missing 2.0.0 changes for building releases
Dylan-M Jan 13, 2025
e3fc9ec
Update manifest to upstream 0.121.0
Dylan-M Mar 26, 2025
a62b178
Update install script to use AIX process groups
Dylan-M Mar 26, 2025
c3cba94
Update the AIX env file to the correct path and name for V2
Dylan-M Apr 2, 2025
397a905
change from respawn to once on the service to prevent endless loop
Dylan-M May 9, 2025
22b9215
update go version on aix build test
Dylan-M May 12, 2025
456d9ab
removed broken overrides for the supervisor
Dylan-M May 12, 2025
219f8dc
Update aix manifest versions
Dylan-M Jun 9, 2025
84c9929
Correct typo in the install script
Dylan-M Jun 19, 2025
6a994a9
Remove incompatible component from AIX build
Dylan-M Jun 19, 2025
651b8bd
Update Makefile and manifest to align with current standards
Dylan-M Aug 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/manual_multi_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "1.22"
go-version: 1.23.6
check-latest: true
cache-dependency-path: |
**/go.sum
Expand Down
52 changes: 40 additions & 12 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,52 +21,76 @@ builds:
tags:
- bindplane
goos:
- windows
- linux
- aix
- darwin
- linux
- windows
goarch:
- amd64
- arm64
- ppc64
- ppc64le
ignore:
- goos: windows
- goos: aix
goarch: arm64
- goos: windows
goarch: ppc64
- goos: windows
- goos: aix
goarch: arm
- goos: aix
goarch: amd64
- goos: aix
goarch: ppc64le
- goos: darwin
goarch: ppc64
- goos: darwin
goarch: ppc64le
- goos: windows
goarch: arm64
- goos: windows
goarch: ppc64
- goos: windows
goarch: ppc64le
prebuilt:
path: tmp/collector_{{ .Os }}_{{ .Arch }}{{ .Ext }}
- id: supervisor
builder: prebuilt
binary: opampsupervisor
goos:
- windows
- linux
- aix
- darwin
- linux
- windows
goarch:
- amd64
- arm64
- ppc64
- ppc64le
ignore:
- goos: windows
- goos: aix
goarch: amd64
- goos: aix
goarch: arm64
- goos: windows
goarch: ppc64
- goos: windows
- goos: aix
goarch: arm
- goos: aix
goarch: ppc64le
- goos: darwin
goarch: ppc64
- goos: darwin
goarch: ppc64le
- goos: windows
goarch: arm64
- goos: windows
goarch: ppc64
- goos: windows
goarch: ppc64le
prebuilt:
path: release_deps/supervisor_bin/opampsupervisor_{{ .Os }}_{{ .Arch }}{{ .Ext }}
ldflags:
- -s -w
- -X github.com/observiq/bindplane-agent/updater/internal/version.version=v{{ .Version }}
- -X github.com/observiq/bindplane-agent/updater/internal/version.gitHash={{ .FullCommit }}
- -X github.com/observiq/bindplane-agent/updater/internal/version.date={{ .Date }}
no_unique_dist_dir: false

# https://goreleaser.com/customization/archive/
archives:
Expand All @@ -92,6 +116,9 @@ archives:
- src: release_deps/bindplane-otel-collector
dst: "install"
strip_parent: true
- src: release_deps/bindplane-otel-collector.aix.env
dst: "install"
strip_parent: true
format_overrides:
- goos: windows
format: zip
Expand Down Expand Up @@ -507,6 +534,7 @@ blobs:

# https://goreleaser.com/customization/changelog/
changelog:
disable: false
use: github
sort: asc
groups:
Expand Down
19 changes: 18 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,12 @@ collector:
CGO_ENABLED=0 builder --config="./manifests/observIQ/manifest.yaml" --ldflags "-s -w -X github.com/observiq/bindplane-otel-collector/internal/version.version=$(VERSION)"
mkdir -p $(OUTDIR); cp ./builder/bindplane-otel-collector $(OUTDIR)/collector_$(GOOS)_$(GOARCH)$(EXT)

# Builds the agent for current GOOS/GOARCH pair (aix)
.PHONY: collector-aix
collector-aix:
CGO_ENABLED=0 builder --config="./manifests/observIQ/manifest-aix.yaml" --ldflags "-s -w -X github.com/observiq/bindplane-otel-collector/internal/version.version=$(VERSION)"
mkdir -p $(OUTDIR); cp ./builder/bindplane-otel-collector $(OUTDIR)/collector_$(GOOS)_$(GOARCH)$(EXT)

# Builds a custom distro for the current GOOS/GOARCH pair using the manifest specified
# MANIFEST = path to the manifest file for the distro to be built
# Usage: make distro MANIFEST="./manifests/custom/my_distro_manifest.yaml"
Expand All @@ -64,11 +70,17 @@ reset: kill
rm -rf agent.log effective.yaml local/supervisor_storage/ builder/

.PHONY: build-all
build-all: build-linux build-darwin build-windows
build-all: build-linux build-unix build-windows

.PHONY: build-linux
build-linux: build-linux-amd64 build-linux-arm64 build-linux-ppc64 build-linux-ppc64le

.PHONY: build-unix
build-unix: build-darwin build-aix

.PHONY: build-aix
build-aix: build-aix-ppc64

.PHONY: build-darwin
build-darwin: build-darwin-amd64 build-darwin-arm64

Expand All @@ -95,6 +107,10 @@ build-linux-arm64:
build-linux-arm:
GOOS=linux GOARCH=arm $(MAKE) collector

.PHONY: build-aix-ppc64
build-aix-ppc64:
GOOS=aix GOARCH=ppc64 $(MAKE) collector-aix

.PHONY: build-darwin-amd64
build-darwin-amd64:
GOOS=darwin GOARCH=amd64 $(MAKE) collector
Expand Down Expand Up @@ -237,6 +253,7 @@ release-prep:
@cp service/com.bindplane.otel.collector.plist release_deps/com.bindplane.otel.collector.plist
@jq ".files[] | select(.service != null)" windows/wix.json >> release_deps/windows_service.json
@cp service/bindplane-otel-collector release_deps/bindplane-otel-collector
@cp service/bindplane-otel-collector.aix.env release_deps/bindplane-otel-collector.aix.env

# Build and sign, skip release and ignore dirty git tree
.PHONY: release-test
Expand Down
2 changes: 1 addition & 1 deletion buildscripts/download-dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ curl -fL -o "$DOWNLOAD_DIR/opentelemetry-java-contrib-jmx-metrics.jar" \
# download contrib repo and manually build supervisor repos
echo "Cloning supervisor repo"
SUPERVISOR_REPO="https://github.com/open-telemetry/opentelemetry-collector-contrib.git"
PLATFORMS=("linux/amd64" "linux/arm64" "linux/ppc64" "linux/ppc64le" "darwin/amd64" "darwin/arm64" "windows/amd64")
PLATFORMS=("aix/ppc64" "linux/amd64" "linux/arm64" "linux/ppc64" "linux/ppc64le" "darwin/amd64" "darwin/arm64" "windows/amd64")

mkdir "$DOWNLOAD_DIR/supervisor_bin"
mkdir "$DOWNLOAD_DIR/opentelemetry-collector-contrib"
Expand Down
107 changes: 107 additions & 0 deletions manifests/observIQ/manifest-aix.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# This manifest is a combination of the upstream opentelemetry-collector-contrib manifest & components unique to observIQ's distribution.
# https://github.com/open-telemetry/opentelemetry-collector-releases/blob/main/distributions/otelcol-contrib/manifest.yaml
dist:
module: github.com/observiq/bindplane-agent
name: bindplane-otel-collector
description: ObservIQ's custom distro for OpenTelemetry Collector
version: "v2.0.0"
output_path: ./builder
conf_resolver:
default_uri_scheme: "env"
extensions:
- gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/ackextension v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/asapauthextension v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/awsproxy v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/jaegerencodingextension v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/zipkinencodingextension v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/headerssetterextension v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/httpforwarderextension v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/jaegerremotesampling v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/oauth2clientauthextension v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/dockerobserver v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecsobserver v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecstaskobserver v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/hostobserver v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/oidcauthextension v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampextension v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/sigv4authextension v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.131.0
- gomod: github.com/observiq/bindplane-otel-collector/extension/bindplaneextension v1.76.4
path: "./extension/bindplaneextension"
exporters:
- gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.131.0
- gomod: go.opentelemetry.io/collector/exporter/nopexporter v0.131.0
- gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.131.0
- gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.131.0
processors:
- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.131.0
- gomod: github.com/observiq/bindplane-otel-collector/processor/snapshotprocessor v1.76.4
path: "./processor/snapshotprocessor"
- gomod: github.com/observiq/bindplane-otel-collector/processor/throughputmeasurementprocessor v1.76.4
path: "./processor/throughputmeasurementprocessor"
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.131.0
- gomod: github.com/observiq/bindplane-otel-collector/processor/topologyprocessor v1.76.4
path: "./processor/topologyprocessor"
receivers:
- gomod: go.opentelemetry.io/collector/receiver/nopreceiver v0.131.0
- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/collectdreceiver v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/saphanareceiver v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver v0.131.0
- gomod: github.com/observiq/bindplane-otel-collector/receiver/pluginreceiver v1.80.1
path: "./receiver/pluginreceiver"
- gomod: github.com/observiq/bindplane-otel-collector/receiver/routereceiver v1.80.1
path: "./receiver/routereceiver"
- gomod: github.com/observiq/bindplane-otel-collector/receiver/telemetrygeneratorreceiver v1.80.1
path: "./receiver/telemetrygeneratorreceiver"
connectors:
- gomod: go.opentelemetry.io/collector/connector/forwardconnector v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/grafanacloudconnector v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/roundrobinconnector v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.131.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.131.0
providers:
- gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v1.37.0
- gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v1.37.0
- gomod: go.opentelemetry.io/collector/confmap/provider/httpprovider v1.37.0
- gomod: go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.37.0
- gomod: go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.37.0
# When adding a replace, add a comment before it to document why it's needed and when it can be removed
replaces:
# See https://github.com/google/gnostic/issues/262
- github.com/googleapis/gnostic v0.5.6 => github.com/googleapis/gnostic v0.5.5
# See https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/12322#issuecomment-1185029670
- github.com/docker/go-connections v0.4.1-0.20210727194412-58542c764a11 => github.com/docker/go-connections v0.4.0
# see https://github.com/mattn/go-ieproxy/issues/45
- github.com/mattn/go-ieproxy => github.com/mattn/go-ieproxy v0.0.1
# see https://github.com/openshift/api/pull/1515
- github.com/openshift/api => github.com/openshift/api v0.0.0-20230726162818-81f778f3b3ec
# replace for datapointcountprocessor, logcountprocessor, and spancountprocessor
- github.com/observiq/bindplane-otel-collector/receiver/routereceiver => ../receiver/routereceiver
# replace used by bindplaneextension
- github.com/observiq/bindplane-otel-collector/processor/topologyprocessor => ../processor/topologyprocessor
# replace statements for internal imports
- github.com/observiq/bindplane-agent/internal/expr => ../internal/expr
- github.com/observiq/bindplane-agent/internal/counter => ../internal/counter
- github.com/observiq/bindplane-agent/internal/report => ../internal/report
- github.com/observiq/bindplane-agent/internal/testutils => ../internal/testutils
- github.com/observiq/bindplane-agent/internal/rehydration => ../internal/rehydration
Loading
Loading