From 11e7297d437bbadf16d04e15aa061a0b84195e5d Mon Sep 17 00:00:00 2001 From: Mayank Pande Date: Fri, 4 Apr 2025 10:44:18 +0530 Subject: [PATCH 1/7] feat: updated log parser --- go.mod | 3 ++- go.sum | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a631297f..53e4ff98 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/hashicorp/golang-lru/v2 v2.0.7 github.com/jpillora/backoff v1.0.0 github.com/mdlayher/taskstats v0.0.0-20230712191918-387b3d561d14 - github.com/nudgebee/logparser v0.0.0-20241220065527-a5a0c2491668 + github.com/nudgebee/logparser v0.0.0-20250404050454-b291b9014345 github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 github.com/prometheus/client_golang v1.19.1 github.com/prometheus/common v0.55.0 @@ -45,6 +45,7 @@ require ( golang.org/x/time v0.5.0 gopkg.in/alecthomas/kingpin.v2 v2.2.6 gopkg.in/yaml.v2 v2.4.0 + gotest.tools v2.2.0+incompatible inet.af/netaddr v0.0.0-20230525184311-b8eac61e914a k8s.io/api v0.29.2 k8s.io/apimachinery v0.29.2 diff --git a/go.sum b/go.sum index d7f2f275..31ddded3 100644 --- a/go.sum +++ b/go.sum @@ -795,8 +795,8 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRW github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nudgebee/logparser v0.0.0-20241220065527-a5a0c2491668 h1:aF+gUNuXvDbNv4WLroxwIcLmdHeil0N1xCTWa0ilg6I= -github.com/nudgebee/logparser v0.0.0-20241220065527-a5a0c2491668/go.mod h1:ddmUa8en2sToRL+bBvFkuS1AHvA6Msn56v3BpLMbKoc= +github.com/nudgebee/logparser v0.0.0-20250404050454-b291b9014345 h1:VjcXkBAS5BPb0y4FucbtOFrf5iBN8kWgDu9F8M5WCcM= +github.com/nudgebee/logparser v0.0.0-20250404050454-b291b9014345/go.mod h1:ddmUa8en2sToRL+bBvFkuS1AHvA6Msn56v3BpLMbKoc= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= From 427737ef4d2de4366bce99b4cf66f2c28df34303 Mon Sep 17 00:00:00 2001 From: Mayank Pande Date: Fri, 4 Apr 2025 19:19:05 +0530 Subject: [PATCH 2/7] chore: added arm build for docker images --- .github/workflows/dev-ci.yaml | 1 + .github/workflows/prod-ci.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/dev-ci.yaml b/.github/workflows/dev-ci.yaml index c2bd8858..3424d350 100644 --- a/.github/workflows/dev-ci.yaml +++ b/.github/workflows/dev-ci.yaml @@ -29,6 +29,7 @@ jobs: - name: Build and Push Agent Image uses: docker/build-push-action@v3 + platforms: linux/amd64,linux/arm64 with: context: . file: 'Dockerfile.alpine' diff --git a/.github/workflows/prod-ci.yaml b/.github/workflows/prod-ci.yaml index 61aa7c7d..94e23197 100644 --- a/.github/workflows/prod-ci.yaml +++ b/.github/workflows/prod-ci.yaml @@ -30,6 +30,7 @@ jobs: - name: Build and Push Agent Image uses: docker/build-push-action@v3 + platforms: linux/amd64,linux/arm64 with: context: . file: 'Dockerfile.alpine' From d503e78e1a054f0207ffcd1a2d24d96c202b2ea2 Mon Sep 17 00:00:00 2001 From: Mayank Pande Date: Fri, 4 Apr 2025 19:32:20 +0530 Subject: [PATCH 3/7] chore: fix for arm image ci --- .github/workflows/dev-ci.yaml | 2 +- .github/workflows/prod-ci.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dev-ci.yaml b/.github/workflows/dev-ci.yaml index 3424d350..a568a0b7 100644 --- a/.github/workflows/dev-ci.yaml +++ b/.github/workflows/dev-ci.yaml @@ -29,8 +29,8 @@ jobs: - name: Build and Push Agent Image uses: docker/build-push-action@v3 - platforms: linux/amd64,linux/arm64 with: + platforms: linux/amd64,linux/arm64 context: . file: 'Dockerfile.alpine' push: true diff --git a/.github/workflows/prod-ci.yaml b/.github/workflows/prod-ci.yaml index 94e23197..836c0583 100644 --- a/.github/workflows/prod-ci.yaml +++ b/.github/workflows/prod-ci.yaml @@ -30,9 +30,9 @@ jobs: - name: Build and Push Agent Image uses: docker/build-push-action@v3 - platforms: linux/amd64,linux/arm64 with: context: . + platforms: linux/amd64,linux/arm64 file: 'Dockerfile.alpine' push: true tags: | From a688452cd1dd198e46281db56782be4c520b5f1a Mon Sep 17 00:00:00 2001 From: Mayank Pande Date: Fri, 4 Apr 2025 19:39:58 +0530 Subject: [PATCH 4/7] chore: fix for armci --- .github/workflows/dev-ci.yaml | 5 +++++ .github/workflows/prod-ci.yaml | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/.github/workflows/dev-ci.yaml b/.github/workflows/dev-ci.yaml index a568a0b7..a0e875d1 100644 --- a/.github/workflows/dev-ci.yaml +++ b/.github/workflows/dev-ci.yaml @@ -7,6 +7,11 @@ jobs: goreleaser: runs-on: ubuntu-latest steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Checkout uses: actions/checkout@main diff --git a/.github/workflows/prod-ci.yaml b/.github/workflows/prod-ci.yaml index 836c0583..d901721c 100644 --- a/.github/workflows/prod-ci.yaml +++ b/.github/workflows/prod-ci.yaml @@ -8,6 +8,11 @@ jobs: goreleaser: runs-on: ubuntu-latest steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Checkout uses: actions/checkout@main From d31aad882267e80ba05784656eb2db8534002a5a Mon Sep 17 00:00:00 2001 From: Mayank Pande Date: Fri, 4 Apr 2025 19:57:49 +0530 Subject: [PATCH 5/7] chore: removed build platform from dockerfile (#121) --- Dockerfile.alpine | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.alpine b/Dockerfile.alpine index 9a28122b..49be3740 100644 --- a/Dockerfile.alpine +++ b/Dockerfile.alpine @@ -1,4 +1,4 @@ -FROM --platform=linux/amd64 golang:1.23-alpine as build-stage +FROM golang:1.23-alpine as build-stage # Set destination for COPY WORKDIR /app RUN apk add --no-cache --update go gcc g++ bash git @@ -25,7 +25,7 @@ COPY ./ ./ ARG VERSION=unknown RUN CGO_ENABLED=1 go build -mod=readonly -ldflags "-X main.version=$VERSION" -o coroot-node-agent . -FROM --platform=linux/amd64 alpine:3.19 AS release-stage +FROM alpine:3.19 AS release-stage WORKDIR /app COPY --from=build-stage /app/coroot-node-agent /usr/bin/coroot-node-agent RUN chmod +x /usr/bin/coroot-node-agent From 320d445331c630f66b65e663abed4ec62dc86de4 Mon Sep 17 00:00:00 2001 From: Mayank Pande Date: Mon, 7 Apr 2025 14:50:56 +0530 Subject: [PATCH 6/7] fix: fix for invalid container id --- containers/container.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/containers/container.go b/containers/container.go index ca1f9579..8d1706b1 100644 --- a/containers/container.go +++ b/containers/container.go @@ -1,6 +1,7 @@ package containers import ( + "errors" "io" "log" "net/http" @@ -174,6 +175,10 @@ func NewContainer(id ContainerID, cg *cgroup.Cgroup, md *ContainerMetadata, pid // %s -> pod name split := strings.Split(string(id), "/") + if len(split) != 4 { + klog.Errorf("unexpected container id %s", id) + return nil, errors.New("unexpected container id") + } namespace := split[2] podName := split[3] src_workload := registry.ip_resolver.ResolvePodOwner(podName, namespace) From 0d80ec82840d28beedc4baeab20fdbc6f308e310 Mon Sep 17 00:00:00 2001 From: Mayank Pande Date: Tue, 8 Apr 2025 10:05:15 +0530 Subject: [PATCH 7/7] fix: fix for container id parsing --- containers/container.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/containers/container.go b/containers/container.go index 8d1706b1..9eea78f3 100644 --- a/containers/container.go +++ b/containers/container.go @@ -170,12 +170,8 @@ func NewContainer(id ContainerID, cg *cgroup.Cgroup, md *ContainerMetadata, pid return nil, err } defer netNs.Close() - // /k8s/%s/%s/%s split - // /k8s/ -> namespace - // %s -> pod name - split := strings.Split(string(id), "/") - if len(split) != 4 { + if len(split) < 4 { klog.Errorf("unexpected container id %s", id) return nil, errors.New("unexpected container id") }