Skip to content

Commit b93684f

Browse files
feat: introduce edot as a separate repo sub-package
1 parent 37723d3 commit b93684f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+53172
-50175
lines changed

.ci/scripts/update-otel.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ next_stable_core=${2:-}
1818

1919
next_contrib=${3:-$next_beta_core}
2020

21-
# Get current versions from go.mod
22-
current_beta_core=$(grep 'go\.opentelemetry\.io/collector/receiver/otlpreceiver ' go.mod | cut -d' ' -f 2 || true)
23-
current_stable_core=$(grep 'go\.opentelemetry\.io/collector/confmap/provider/fileprovider ' go.mod | cut -d' ' -f 2 || true)
24-
current_contrib=$(grep 'github\.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver ' go.mod | cut -d' ' -f 2 || true)
21+
# Get current versions from internal/edot/go.mod
22+
current_beta_core=$(grep 'go\.opentelemetry\.io/collector/receiver/otlpreceiver ' internal/edot/go.mod | cut -d' ' -f 2 || true)
23+
current_stable_core=$(grep 'go\.opentelemetry\.io/collector/confmap/provider/fileprovider ' internal/edot/go.mod | cut -d' ' -f 2 || true)
24+
current_contrib=$(grep 'github\.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver ' internal/edot/go.mod | cut -d' ' -f 2 || true)
2525

2626
[[ -n "$current_beta_core" ]] || (echo "Error: couldn't find current beta core version." && exit 2)
2727
[[ -n "$current_stable_core" ]] || (echo "Error: couldn't find current stable core version" && exit 3)
@@ -30,10 +30,10 @@ current_contrib=$(grep 'github\.com/open-telemetry/opentelemetry-collector-contr
3030
echo "=> Updating core from $current_beta_core/$current_stable_core to $next_beta_core/$next_stable_core"
3131
echo "=> Updating contrib from $current_contrib to $next_contrib"
3232

33-
sed -i.bak "s/\(go\.opentelemetry\.io\/collector.*\) $current_beta_core/\1 $next_beta_core/" go.mod
34-
sed -i.bak "s/\(go\.opentelemetry\.io\/collector.*\) $current_stable_core/\1 $next_stable_core/" go.mod
35-
sed -i.bak "s/\(github\.com\/open-telemetry\/opentelemetry\-collector\-contrib\/.*\) $current_contrib/\1 $next_contrib/" go.mod
36-
rm go.mod.bak
33+
sed -i.bak "s/\(go\.opentelemetry\.io\/collector.*\) $current_beta_core/\1 $next_beta_core/" internal/edot/go.mod
34+
sed -i.bak "s/\(go\.opentelemetry\.io\/collector.*\) $current_stable_core/\1 $next_stable_core/" internal/edot/go.mod
35+
sed -i.bak "s/\(github\.com\/open-telemetry\/opentelemetry\-collector\-contrib\/.*\) $current_contrib/\1 $next_contrib/" internal/edot/go.mod
36+
rm internal/edot/go.mod.bak
3737

3838
echo "=> Running go mod tidy"
3939
go mod tidy

.ci/updatecli/updatecli-bump-golang.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,15 @@ targets:
122122
content: 'go {{ source "latestGoVersion" }}'
123123
file: wrapper/windows/archive-proxy/go.mod
124124
matchpattern: 'go \d+.\d+.\d+'
125+
update-edot-gomod-full-version:
126+
name: "Update internal/edot/go.mod version"
127+
sourceid: latestGoVersion
128+
scmid: githubConfig
129+
kind: file
130+
spec:
131+
content: 'go {{ source "latestGoVersion" }}'
132+
file: internal/edot/go.mod
133+
matchpattern: 'go \d+.\d+.\d+'
125134
update-buildkite-pipeline:
126135
name: "Update .buildkite/pipeline.yml"
127136
sourceid: latestGoVersion

.golangci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ linters:
6060
- github.com/insomniacslk/dhcp
6161
- github.com/meraki/dashboard-api-go/v3
6262
- go.opentelemetry.io/otel/exporters/prometheus
63-
replace-local: false
63+
- github.com/elastic/elastic-agent/internal/edot
64+
replace-local: true
6465
gomodguard:
6566
blocked:
6667
modules:

NOTICE-fips.txt

Lines changed: 24147 additions & 24256 deletions
Large diffs are not rendered by default.

NOTICE.txt

Lines changed: 25870 additions & 25767 deletions
Large diffs are not rendered by default.

dev-tools/mage/build.go

Lines changed: 54 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,16 @@ import (
88
"errors"
99
"fmt"
1010
"go/build"
11+
"io"
1112
"log"
1213
"os"
14+
"os/exec"
1315
"path/filepath"
1416
"regexp"
1517
"strings"
1618

1719
"github.com/josephspurrier/goversioninfo"
20+
"github.com/magefile/mage/mg"
1821
"github.com/magefile/mage/sh"
1922
"golang.org/x/text/cases"
2023
"golang.org/x/text/language"
@@ -35,6 +38,8 @@ type BuildArgs struct {
3538
Vars map[string]string // Vars that are passed as -X key=value with the ldflags.
3639
ExtraFlags []string
3740
WinMetadata bool // Add resource metadata to Windows binaries (like add the version number to the .exe properties).
41+
Package string
42+
WorkDir string
3843
}
3944

4045
// buildTagRE is a regexp to match strings like "-tags=abcd"
@@ -205,10 +210,14 @@ func Build(params BuildArgs) error {
205210
env["CGO_ENABLED"] = cgoEnabled
206211

207212
// Spec
213+
outputDir, err := filepath.Abs(filepath.Join(params.OutputDir, binaryName))
214+
if err != nil {
215+
return fmt.Errorf("failed getting absolute path for %v: %w", params.OutputDir, err)
216+
}
208217
args := []string{
209218
"build",
210219
"-o",
211-
filepath.Join(params.OutputDir, binaryName),
220+
outputDir,
212221
}
213222
args = append(args, params.ParseBuildTags()...)
214223

@@ -238,8 +247,51 @@ func Build(params BuildArgs) error {
238247
defer os.Remove(syso)
239248
}
240249

250+
if params.Package != "" {
251+
args = append(args, params.Package)
252+
}
253+
241254
log.Println("Adding build environment vars:", env)
242-
return sh.RunWith(env, "go", args...)
255+
var output io.Writer
256+
if mg.Verbose() {
257+
output = os.Stdout
258+
}
259+
return Run(env, output, os.Stderr, "go", params.WorkDir, args...)
260+
}
261+
262+
func Run(env map[string]string, stdout, stderr io.Writer, cmd string, workingDir string, args ...string) (err error) {
263+
expand := func(s string) string {
264+
s2, ok := env[s]
265+
if ok {
266+
return s2
267+
}
268+
return os.Getenv(s)
269+
}
270+
cmd = os.Expand(cmd, expand)
271+
for i := range args {
272+
args[i] = os.Expand(args[i], expand)
273+
}
274+
275+
c := exec.Command(cmd, args...)
276+
c.Env = os.Environ()
277+
for k, v := range env {
278+
c.Env = append(c.Env, k+"="+v)
279+
}
280+
c.Dir = workingDir
281+
c.Stderr = stderr
282+
c.Stdout = stdout
283+
c.Stdin = os.Stdin
284+
285+
var quoted []string
286+
for i := range args {
287+
quoted = append(quoted, fmt.Sprintf("%q", args[i]))
288+
}
289+
// To protect against logging from doing exec in global variables
290+
if mg.Verbose() {
291+
log.Println("exec:", cmd, strings.Join(quoted, " "))
292+
}
293+
err = c.Run()
294+
return err
243295
}
244296

245297
// MakeWindowsSysoFile generates a .syso file containing metadata about the

dev-tools/mage/target/update/update.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@ package update
66

77
import (
88
"fmt"
9+
"os"
910

1011
"github.com/magefile/mage/mg"
11-
"github.com/magefile/mage/sh"
1212

13+
"github.com/elastic/elastic-agent/dev-tools/mage"
1314
"github.com/elastic/elastic-agent/dev-tools/mage/target/common"
1415
)
1516

@@ -23,7 +24,15 @@ func Beats(targetVersion string) error {
2324

2425
func BeatsModule(targetVersion string) error {
2526
goArgs := []string{"get", fmt.Sprintf("%s@%s", BeatsModulePath, targetVersion)}
26-
err := sh.RunV(mg.GoCmd(), goArgs...)
27+
28+
fmt.Println("Updating beats module in edot package")
29+
err := mage.Run(nil, os.Stdout, os.Stderr, "go", "internal/edot", goArgs...)
30+
if err != nil {
31+
return err
32+
}
33+
34+
fmt.Println("Updating beats module in elastic-agent package")
35+
err = mage.Run(nil, os.Stdout, os.Stderr, "go", "", goArgs...)
2736
if err != nil {
2837
return err
2938
}

dev-tools/notice/overrides.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@
2020
{"name": "github.com/grpc-ecosystem/go-grpc-middleware/v2", "licenceFile": "LICENSE", "licenceType": "Apache-2.0"}
2121
{"name": "github.com/JohnCGriffin/overflow", "licenceFile": "README.md", "licenceType": "MIT"}
2222
{"name": "github.com/elastic/cloud-on-k8s/v2", "licenceType": "Elastic"}
23+
{"name": "github.com/elastic/elastic-agent/internal/edot", "licenceType": "Elastic"}

0 commit comments

Comments
 (0)