Skip to content

aws-otel-collector build fails caused by expired certificate in go.opencensus.io #2946

Open
@oleglypkan

Description

@oleglypkan

Describe the question
While trying to build aws-otel-collector-0.40.2 and aws-otel-collector-0.42.0 the build fails with because it cannot download dependent modules from go.opencensus.io due to expired TLS certificate.

Here is the build failure:

[release@99ca4b6dc892 aws-otel-collector]$ make package-rpm
cd /home/release/aws-otel-collector/tools/workflow/linters && GOBIN=/home/release/aws-otel-collector/bin go install golang.org/x/tools/cmd/goimports
cd /home/release/aws-otel-collector/tools/workflow/linters && GOBIN=/home/release/aws-otel-collector/bin go install honnef.co/go/tools/cmd/staticcheck
cd /home/release/aws-otel-collector/tools/workflow/linters && GOBIN=/home/release/aws-otel-collector/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint
cd /home/release/aws-otel-collector/tools/workflow/linters && GOBIN=/home/release/aws-otel-collector/bin go install mvdan.cc/sh/v3/cmd/shfmt
cd /home/release/aws-otel-collector/tools/workflow/linters && GOBIN=/home/release/aws-otel-collector/bin go install go.opentelemetry.io/build-tools/dbotconf
Static check finished successfully
make[1]: Entering directory '/home/release/aws-otel-collector'
Running target 'lint' in module 'testbed'
TOOL_BIN=/home/release/aws-otel-collector/bin make -C testbed lint
make[2]: Entering directory '/home/release/aws-otel-collector/testbed'
go: downloading go.opencensus.io v0.24.0
/home/release/aws-otel-collector/bin/golangci-lint run --timeout 20m --enable gosec
WARN [runner] Can't run linter goanalysis_metalinter: buildir: failed to load package : could not load export data: no export data for "go.opencensus.io/plugin/ochttp" 
ERRO Running error: can't run linter goanalysis_metalinter
buildir: failed to load package : could not load export data: no export data for "go.opencensus.io/plugin/ochttp" 
make[2]: *** [../Makefile.Common:30: lint] Error 3
make[2]: Leaving directory '/home/release/aws-otel-collector/testbed'
make[1]: *** [Makefile:48: testbed] Error 2
make[1]: Leaving directory '/home/release/aws-otel-collector'
make: *** [Makefile:196: golint] Error 2

Trying to install go.opencensus.io module manually shows that TLS certificate expired:

go install go.opencensus.io@latest
go: go.opencensus.io@latest: unrecognized import path "go.opencensus.io": https fetch: Get "https://go.opencensus.io/?go-get=1": tls: failed to verify certificate: x509: certificate has expired or is not yet valid: current time 2025-01-23T15:06:39-08:00 is after 2025-01-21T03:43:04Z

There are similar issues created for other products affected by TLS certificate (googleapis/google-cloud-go#11481, aws/aws-k8s-tester#568) but the workaround was to use this setting GOPROXY='https://proxy.golang.org,direct'. However, proxy.golang.org is blocked in our corporate environment, so this workaround does not work for us.

So my question is: is there a way to complete this build successfully despite expired certificate?

Steps to reproduce if your question is related to an action

git clone https://github.com/aws-observability/aws-otel-collector.git  
cd aws-otel-collector
make package-rpm

What did you expect to see?
The build succeeds

Environment
I am running the build on Amazon Linux 2023 EC2 instance.

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions