From 96cfb4a25e4a8aad699e546cac1c0b2b7710d37a Mon Sep 17 00:00:00 2001 From: goshado <goshatoo@gmail.com> Date: Tue, 25 Oct 2022 10:53:20 +0300 Subject: [PATCH 1/3] fix of payload serlization in sensor --- Dockerfile | 21 ++++++++++++++++++++- Makefile | 6 +++--- controllers/sensor/resource.go | 16 ++++++++++++++++ go.mod | 7 +++++++ go.sum | 14 ++++++++++++++ sensors/cmd/start.go | 5 +++++ sensors/triggers/params.go | 2 +- 7 files changed, 66 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 64a6658d40..c7350c4035 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,23 @@ ARG ARCH=$TARGETARCH + +FROM golang:1.18.4-alpine3.16 as builder + +RUN go env -w GONOSUMDB="github.com/Rookout/GoSDK" +RUN go env -w GOPROXY="https://proxy.golang.org,https://rookout.jfrog.io/artifactory/api/go/rookout-go,direct" + +RUN apk add --no-cache gcc musl-dev build-base zlib-static + +WORKDIR /app +ADD go.mod go.sum ./ +RUN go mod download +ADD . . + +# We get the full GoSDK package explicitly so it would register it in the go.sum +# We do it after getting all of the project's files so the go.mod and go.sum will not be overwritten with the stub package +RUN go get -d github.com/Rookout/GoSDK@v0.1.27 + +RUN go build -tags=alpine314,rookout_static -gcflags='all=-N -l' -o /app/dist/argo-events ./cmd + #################################################################################################### # base #################################################################################################### @@ -14,7 +33,7 @@ RUN wget -q https://github.com/argoproj/argo-workflows/releases/download/${ARGO_ RUN gunzip -f argo-linux-${ARCH}.gz RUN chmod +x argo-linux-${ARCH} RUN mv ./argo-linux-${ARCH} /usr/local/bin/argo -COPY dist/argo-events-linux-${ARCH} /bin/argo-events +COPY --from=builder /app/dist/argo-events /bin/argo-events RUN chmod +x /bin/argo-events #################################################################################################### diff --git a/Makefile b/Makefile index e7793ae6d2..5bed4ddac0 100644 --- a/Makefile +++ b/Makefile @@ -62,11 +62,11 @@ dist/$(BINARY_NAME): go build -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/$(BINARY_NAME) ./cmd dist/$(BINARY_NAME)-%: - CGO_ENABLED=0 $(GOARGS) go build -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/$(BINARY_NAME)-$* ./cmd + CGO_ENABLED=1 $(GOARGS) go build -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/$(BINARY_NAME)-$* ./cmd .PHONY: image -image: clean dist/$(BINARY_NAME)-linux-amd64 - DOCKER_BUILDKIT=1 docker build -t $(IMAGE_NAMESPACE)/$(BINARY_NAME):$(VERSION) --target $(BINARY_NAME) -f $(DOCKERFILE) . +image: #clean dist/$(BINARY_NAME)-linux-arm64 + DOCKER_BUILDKIT=1 docker buildx build --platform linux/amd64 -t goshad/argo-events:latest --target $(BINARY_NAME) -f $(DOCKERFILE) . @if [ "$(DOCKER_PUSH)" = "true" ]; then docker push $(IMAGE_NAMESPACE)/$(BINARY_NAME):$(VERSION); fi ifeq ($(K3D),true) k3d image import $(IMAGE_NAMESPACE)/$(BINARY_NAME):$(VERSION) diff --git a/controllers/sensor/resource.go b/controllers/sensor/resource.go index 4e546e8e9d..2200161602 100644 --- a/controllers/sensor/resource.go +++ b/controllers/sensor/resource.go @@ -151,6 +151,22 @@ func buildDeployment(args *AdaptorArgs, eventBus *eventbusv1alpha1.EventBus) (*a Name: "POD_NAME", ValueFrom: &corev1.EnvVarSource{FieldRef: &corev1.ObjectFieldSelector{FieldPath: "metadata.name"}}, }, + { + Name: "ROOKOUT_TOKEN", + Value: "0eef79ca620dc1dcebc31df67dff724419b70fd8032c50dbe164d878967678ea", + }, + { + Name: "ROOKOUT_REMOTE_ORIGIN", + Value: "https://github.com/argoproj/argo-events.git", + }, + { + Name: "ROOKOUT_COMMIT", + Value: "master", + }, + { + Name: "DEBUG_LOG", + Value: "true", + }, } busConfigBytes, err := json.Marshal(eventBus.Status.Config) diff --git a/go.mod b/go.mod index 32418ad96d..5c8088fa92 100644 --- a/go.mod +++ b/go.mod @@ -91,13 +91,16 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0 // indirect github.com/DataDog/zstd v1.5.0 // indirect + github.com/Rookout/GoSDK v0.1.27 // indirect github.com/andybalholm/brotli v1.0.4 // indirect github.com/apache/pulsar-client-go/oauth2 v0.0.0-20220120090717-25e59572242e // indirect github.com/danieljoos/wincred v1.0.2 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b // indirect github.com/emicklei/go-restful/v3 v3.8.0 // indirect + github.com/fallais/logrus-lumberjack-hook v0.0.0-20210917073259-3227e1ab93b0 // indirect github.com/felixge/httpsnoop v1.0.3 // indirect + github.com/go-errors/errors v1.4.1 // indirect github.com/go-openapi/spec v0.20.4 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/golang-jwt/jwt v3.2.2+incompatible // indirect @@ -107,6 +110,7 @@ require ( github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect github.com/hashicorp/errwrap v1.0.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d // indirect github.com/klauspost/cpuid/v2 v2.1.0 // indirect github.com/linkedin/goavro/v2 v2.9.8 // indirect @@ -117,8 +121,11 @@ require ( github.com/pelletier/go-toml/v2 v2.0.1 // indirect github.com/pierrec/lz4/v4 v4.1.17 // indirect github.com/pkg/errors v0.9.1 // indirect + github.com/stretchr/objx v0.4.0 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/stringprep v1.0.3 // indirect + github.com/yhirose/go-peg v0.0.0-20210804202551-de25d6753cf1 // indirect + gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 // indirect ) diff --git a/go.sum b/go.sum index f29235e78e..f66ba93c4a 100644 --- a/go.sum +++ b/go.sum @@ -157,6 +157,10 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/Rookout/GoSDK v0.1.27-stub h1:Rce5Iqp9xYIAMV92SsHX6Eq4MboMdJRDrO8mHhapR4Y= +github.com/Rookout/GoSDK v0.1.27-stub/go.mod h1:5Gn4tldWZMyhWM1u5x4klmwk52U6Ik9oGj8Xj2aRlnc= +github.com/Rookout/GoSDK v0.1.27 h1:t0C9HiNEEC0dfGspGATdHis6+OURHxt2CxBWPxAeuSg= +github.com/Rookout/GoSDK v0.1.27/go.mod h1:IYXJ5V+CeBKgUWv04dbuUrOOJc7m/2F3a2v82Wg18yI= github.com/Shopify/sarama v1.37.0 h1:WmHgUY/omLM9SCr9nhRwVhL7Kln+4RmVujW1ffZUDjs= github.com/Shopify/sarama v1.37.0/go.mod h1:smFYoF2zzSNsxF2V9MXRew2PrMfBGAJUJOA0Edd+v4s= github.com/Shopify/toxiproxy/v2 v2.5.0 h1:i4LPT+qrSlKNtQf5QliVjdP08GyAH8+BUIc9gT0eahc= @@ -340,6 +344,8 @@ github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLi github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/fallais/logrus-lumberjack-hook v0.0.0-20210917073259-3227e1ab93b0 h1:6pt47P8Q9rWTQrS7LbP91HI8hjMN4zqupFn+IkxKFvI= +github.com/fallais/logrus-lumberjack-hook v0.0.0-20210917073259-3227e1ab93b0/go.mod h1:m7ERym9P7Ic5dCEl43v3vWPC1Zn2thLbxW+o72yvlco= github.com/fasthttp/websocket v1.4.2 h1:AU/zSiIIAuJjBMf5o+vO0syGOnEfvZRu40xIhW/3RuM= github.com/fasthttp/websocket v1.4.2/go.mod h1:smsv/h4PBEBaU0XDTY5UwJTpZv69fQ0FfcLJr21mA6Y= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= @@ -377,6 +383,8 @@ github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0= github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= +github.com/go-errors/errors v1.4.1 h1:IvVlgbzSsaUNudsw5dcXSzF3EWyXTi5XrAdngnuhRyg= +github.com/go-errors/errors v1.4.1/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= @@ -750,6 +758,7 @@ github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= @@ -1248,6 +1257,8 @@ github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0 h1:6fRhSjgLCkTD3JnJxvaJ4Sj+TYblw757bqYgZaOq5ZY= github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI= +github.com/yhirose/go-peg v0.0.0-20210804202551-de25d6753cf1 h1:7iTmQ0lZwTtfm4XMgP5ezzWMDCjo7GTS0ZgCj6jpVzM= +github.com/yhirose/go-peg v0.0.0-20210804202551-de25d6753cf1/go.mod h1:q2QWLflHsZxT6ixYcXveTYicEvxGh5Uv6CnI7f7BfjQ= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/yudai/gojsondiff v1.0.0 h1:27cbfqXLVEJ1o8I6v3y9lg8Ydm53EKqHXAOMxEGlCOA= github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= @@ -1603,6 +1614,7 @@ golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211107104306-e0b2ad06fe42/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1943,6 +1955,7 @@ gopkg.in/jcmturner/gokrb5.v5 v5.3.0 h1:RS1MYApX27Hx1Xw7NECs7XxGxxrm69/4OmaRuX9kw gopkg.in/jcmturner/gokrb5.v5 v5.3.0/go.mod h1:oQz8Wc5GsctOTgCVyKad1Vw4TCWz5G6gfIQr88RPv4k= gopkg.in/jcmturner/rpc.v0 v0.0.2 h1:wBTgrbL1qmLBUPsYVCqdJiI5aJgQhexmK+JkTHPUNJI= gopkg.in/jcmturner/rpc.v0 v0.0.2/go.mod h1:NzMq6cRzR9lipgw7WxRBHNx5N8SifBuaCQsOT1kWY/E= +gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= @@ -1968,6 +1981,7 @@ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/sensors/cmd/start.go b/sensors/cmd/start.go index da6be076e9..0d83a82c2c 100644 --- a/sensors/cmd/start.go +++ b/sensors/cmd/start.go @@ -11,6 +11,7 @@ import ( "k8s.io/client-go/kubernetes" "sigs.k8s.io/controller-runtime/pkg/manager/signals" + rook "github.com/Rookout/GoSDK" argoevents "github.com/argoproj/argo-events" "github.com/argoproj/argo-events/common" "github.com/argoproj/argo-events/common/logging" @@ -21,6 +22,10 @@ import ( ) func Start() { + err := rook.Start(rook.RookOptions{Labels: map[string]string{"app": "argo-sensor"}}) + if err != nil { + fmt.Println(err) + } logger := logging.NewArgoEventsLogger().Named("sensor") kubeConfig, _ := os.LookupEnv(common.EnvVarKubeConfig) restConfig, err := common.GetClientConfig(kubeConfig) diff --git a/sensors/triggers/params.go b/sensors/triggers/params.go index 61094a7f71..3e015b47c0 100644 --- a/sensors/triggers/params.go +++ b/sensors/triggers/params.go @@ -121,7 +121,7 @@ func ApplyParams(jsonObj []byte, params []v1alpha1.TriggerParameter, events map[ } // now let's set the value - tmp, err := sjson.SetBytes(jsonObj, param.Dest, *value) + tmp, err := sjson.SetRawBytes(jsonObj, param.Dest, []byte(*value)) if err != nil { return nil, err } From 55be442143e09fb2d3b383910c70f36e0213875b Mon Sep 17 00:00:00 2001 From: goshado <goshatoo@gmail.com> Date: Tue, 25 Oct 2022 12:04:44 +0300 Subject: [PATCH 2/3] rookout added to users --- USERS.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/USERS.md b/USERS.md index 6f4e766f49..5b52e5caba 100644 --- a/USERS.md +++ b/USERS.md @@ -40,3 +40,6 @@ Organizations below are **officially** using Argo Events. Please send a PR with 1. [Yubo](https://www.yubo.live/) 1. [WooliesX](https://wooliesx.com.au/) 1. [Woolworths Group](https://www.woolworthsgroup.com.au/) +1. [Woolworths Group](https://www.woolworthsgroup.com.au/) +1. [Rookout](https://www.rookout.com/) + From 95eace0968d294fcde92d492114ee5d239eb4dc3 Mon Sep 17 00:00:00 2001 From: GoshaDo <86723475+GoshaDo@users.noreply.github.com> Date: Tue, 25 Oct 2022 12:15:34 +0300 Subject: [PATCH 3/3] Update Dockerfile --- Dockerfile | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/Dockerfile b/Dockerfile index c7350c4035..8021102d72 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,23 +1,3 @@ -ARG ARCH=$TARGETARCH - -FROM golang:1.18.4-alpine3.16 as builder - -RUN go env -w GONOSUMDB="github.com/Rookout/GoSDK" -RUN go env -w GOPROXY="https://proxy.golang.org,https://rookout.jfrog.io/artifactory/api/go/rookout-go,direct" - -RUN apk add --no-cache gcc musl-dev build-base zlib-static - -WORKDIR /app -ADD go.mod go.sum ./ -RUN go mod download -ADD . . - -# We get the full GoSDK package explicitly so it would register it in the go.sum -# We do it after getting all of the project's files so the go.mod and go.sum will not be overwritten with the stub package -RUN go get -d github.com/Rookout/GoSDK@v0.1.27 - -RUN go build -tags=alpine314,rookout_static -gcflags='all=-N -l' -o /app/dist/argo-events ./cmd - #################################################################################################### # base ####################################################################################################