diff --git a/Dockerfile.codegen b/Dockerfile.codegen deleted file mode 100644 index 65bc99a18a4..00000000000 --- a/Dockerfile.codegen +++ /dev/null @@ -1,4 +0,0 @@ -FROM quay.io/cilium/cilium-builder:832f86bb0f7c7129c1536d5620174deeec645117@sha256:6dbac9f9eba3e20f8edad4676689aa8c11b172035fe5e25b533552f42dea4e9a -RUN --mount=type=bind,readwrite,target=/go/src/github.com/cilium/tetragon cd /go/src/github.com/cilium/tetragon && go install ./cmd/protoc-gen-go-tetragon - -#- vi:ft=dockerfile -# diff --git a/Makefile b/Makefile index 316576123b7..708e330b67b 100644 --- a/Makefile +++ b/Makefile @@ -84,7 +84,7 @@ help: @echo ' tarball - build Tetragon compressed tarball' @echo ' tarball-release - build Tetragon release tarball' @echo 'Generated files:' - @echo ' codegen - generate code based on .proto files' + @echo ' protogen - generate code based on .proto files' @echo ' crds - generate kubebuilder files' @echo 'Linting and chores:' @echo ' vendor - tidy and vendor Go modules' @@ -234,7 +234,7 @@ update-copyright: lint: golint -set_exit_status $$(go list ./...) -.PHONY: image image-operator image-test image-codegen +.PHONY: image image-operator image-test image: $(CONTAINER_ENGINE) build -t "cilium/tetragon:${DOCKER_IMAGE_TAG}" --target release --build-arg TETRAGON_VERSION=$(VERSION) . $(QUIET)echo "Push like this when ready:" @@ -250,11 +250,6 @@ image-test: image-clang $(QUIET)echo "Push like this when ready:" $(QUIET)echo "${CONTAINER_ENGINE} push cilium/tetragon-test:$(DOCKER_IMAGE_TAG)" -image-codegen: - $(CONTAINER_ENGINE) build -f Dockerfile.codegen -t "cilium/tetragon-codegen:${DOCKER_IMAGE_TAG}" . - $(QUIET)echo "Push like this when ready:" - $(QUIET)echo "${CONTAINER_ENGINE} push cilium/tetragon-codegen:$(DOCKER_IMAGE_TAG)" - .PHONY: image-clang image-clang: $(CONTAINER_ENGINE) build -f Dockerfile.clang --build-arg VERSION=1:15.0.7-0ubuntu0.22.04.1 -t "cilium/clang:${DOCKER_IMAGE_TAG}" . @@ -290,7 +285,7 @@ tarball-clean: fetch-testdata: wget -nc -P testdata/btf 'https://github.com/cilium/tetragon-testdata/raw/main/btf/vmlinux-5.4.104+' -.PHONY: crdgen generate codegen protoc-gen-go-tetragon +.PHONY: crdgen generate protogen codegen protoc-gen-go-tetragon generate: | crds crds: # Need to call vendor twice here, once before and once after generate, the reason @@ -299,7 +294,8 @@ crds: $(MAKE) -C pkg/k8s/ $(MAKE) vendor -codegen: image-codegen +codegen: | protogen +protogen: protoc-gen-go-tetragon # Need to call vendor twice here, once before and once after codegen the reason # being we need to grab changes first plus pull in whatever gets generated here. $(MAKE) vendor @@ -307,7 +303,7 @@ codegen: image-codegen $(MAKE) vendor protoc-gen-go-tetragon: - $(GO) build -gcflags=$(GO_GCFLAGS) -ldflags=$(GO_LDFLAGS) -mod=vendor -o bin/$@ ./cmd/protoc-gen-go-tetragon/ + $(GO) build -gcflags=$(GO_GCFLAGS) -ldflags=$(GO_LDFLAGS) -mod=vendor -o bin/$@ ./tools/protoc-gen-go-tetragon/ .PHONY: check ifneq (,$(findstring $(GOLANGCILINT_WANT_VERSION),$(GOLANGCILINT_VERSION))) diff --git a/api/Makefile b/api/Makefile index edcabd8895b..a016dd64007 100644 --- a/api/Makefile +++ b/api/Makefile @@ -1,8 +1,9 @@ # Copyright 2017-2020 Authors of Cilium # SPDX-License-Identifier: Apache-2.0 +# renovate: datasource=docker +BUILDER_IMAGE=quay.io/cilium/cilium-builder@sha256:a2036a3f6420647e6702695dabd2ffa4d2832db45157042d0255bdc707b8e1f2 GO ?= go -BUILDER_IMAGE=cilium/tetragon-codegen:latest .PHONY: all all: proto @@ -13,10 +14,10 @@ proto: v1 .PHONY: v1 v1: docker container run --rm \ - --volume $(CURDIR)/v1:/src \ + --volume $(CURDIR)/..:/src \ --user "$(shell id -u):$(shell id -g)" \ $(BUILDER_IMAGE) \ - make -C /src -f Makefile.protoc + make -C /src/api/v1 -f Makefile.protoc ./export-docs.sh ../docs/content/en/docs/reference/grpc-api.md .PHONY: vendor diff --git a/api/v1/Makefile.protoc b/api/v1/Makefile.protoc index 71be6ce7589..930131373ad 100644 --- a/api/v1/Makefile.protoc +++ b/api/v1/Makefile.protoc @@ -18,7 +18,7 @@ TETRAGON_PROTOC_PLUGINS := \ --plugin=$(GOPATH)/bin/protoc-gen-go \ --plugin=$(GOPATH)/bin/protoc-gen-go-grpc \ --plugin=$(GOPATH)/bin/protoc-gen-go-json \ - --plugin=$(GOPATH)/bin/protoc-gen-go-tetragon \ + --plugin=../../bin/protoc-gen-go-tetragon \ .PHONY: all all: protobuf codegen diff --git a/docs/content/en/docs/contribution-guide/development-setup.md b/docs/content/en/docs/contribution-guide/development-setup.md index 52929880c3e..66af9cb9c93 100644 --- a/docs/content/en/docs/contribution-guide/development-setup.md +++ b/docs/content/en/docs/contribution-guide/development-setup.md @@ -65,7 +65,7 @@ you will be required to re-run code generation before your PR can be accepted. To run codegen from protoc, run the following command from the root of the repository: ```shell -make codegen +make protogen ``` And to run k8s CRD generation, run the following command from the root of the repository: @@ -75,7 +75,7 @@ make crds Finally, should you wish to modify any of the resulting codegen files (ending in` .pb.go`), do not modify them directly. Instead, you can edit the files in -`cmd/protoc-gen-go-tetragon` and then re-run `make codegen`. +`cmd/protoc-gen-go-tetragon` and then re-run `make protogen`. ### Building and running a Docker image diff --git a/cmd/protoc-gen-go-tetragon/common/common.go b/tools/protoc-gen-go-tetragon/common/common.go similarity index 100% rename from cmd/protoc-gen-go-tetragon/common/common.go rename to tools/protoc-gen-go-tetragon/common/common.go diff --git a/cmd/protoc-gen-go-tetragon/eventchecker/enum.go b/tools/protoc-gen-go-tetragon/eventchecker/enum.go similarity index 98% rename from cmd/protoc-gen-go-tetragon/eventchecker/enum.go rename to tools/protoc-gen-go-tetragon/eventchecker/enum.go index 7f9ba87079a..d5c60ed557f 100644 --- a/cmd/protoc-gen-go-tetragon/eventchecker/enum.go +++ b/tools/protoc-gen-go-tetragon/eventchecker/enum.go @@ -6,7 +6,7 @@ package eventchecker import ( "fmt" - "github.com/cilium/tetragon/cmd/protoc-gen-go-tetragon/common" + "github.com/cilium/tetragon/tools/protoc-gen-go-tetragon/common" "github.com/jpillora/longestcommon" "google.golang.org/protobuf/compiler/protogen" ) diff --git a/cmd/protoc-gen-go-tetragon/eventchecker/eventchecker.go b/tools/protoc-gen-go-tetragon/eventchecker/eventchecker.go similarity index 99% rename from cmd/protoc-gen-go-tetragon/eventchecker/eventchecker.go rename to tools/protoc-gen-go-tetragon/eventchecker/eventchecker.go index f2d201a5f6e..6348a0e96fc 100644 --- a/cmd/protoc-gen-go-tetragon/eventchecker/eventchecker.go +++ b/tools/protoc-gen-go-tetragon/eventchecker/eventchecker.go @@ -6,7 +6,7 @@ package eventchecker import ( "fmt" - "github.com/cilium/tetragon/cmd/protoc-gen-go-tetragon/common" + "github.com/cilium/tetragon/tools/protoc-gen-go-tetragon/common" "google.golang.org/protobuf/compiler/protogen" ) diff --git a/cmd/protoc-gen-go-tetragon/eventchecker/field.go b/tools/protoc-gen-go-tetragon/eventchecker/field.go similarity index 99% rename from cmd/protoc-gen-go-tetragon/eventchecker/field.go rename to tools/protoc-gen-go-tetragon/eventchecker/field.go index 3de7c323137..4e9e2ae16b0 100644 --- a/cmd/protoc-gen-go-tetragon/eventchecker/field.go +++ b/tools/protoc-gen-go-tetragon/eventchecker/field.go @@ -8,8 +8,8 @@ import ( "path/filepath" "strings" - "github.com/cilium/tetragon/cmd/protoc-gen-go-tetragon/common" - "github.com/cilium/tetragon/cmd/protoc-gen-go-tetragon/imports" + "github.com/cilium/tetragon/tools/protoc-gen-go-tetragon/common" + "github.com/cilium/tetragon/tools/protoc-gen-go-tetragon/imports" "github.com/iancoleman/strcase" "google.golang.org/protobuf/compiler/protogen" "google.golang.org/protobuf/reflect/protoreflect" diff --git a/cmd/protoc-gen-go-tetragon/eventchecker/message.go b/tools/protoc-gen-go-tetragon/eventchecker/message.go similarity index 98% rename from cmd/protoc-gen-go-tetragon/eventchecker/message.go rename to tools/protoc-gen-go-tetragon/eventchecker/message.go index edc39005320..afb4d73f466 100644 --- a/cmd/protoc-gen-go-tetragon/eventchecker/message.go +++ b/tools/protoc-gen-go-tetragon/eventchecker/message.go @@ -8,7 +8,7 @@ import ( "path/filepath" "strings" - "github.com/cilium/tetragon/cmd/protoc-gen-go-tetragon/common" + "github.com/cilium/tetragon/tools/protoc-gen-go-tetragon/common" "google.golang.org/protobuf/compiler/protogen" ) diff --git a/cmd/protoc-gen-go-tetragon/eventchecker/multichecker.go b/tools/protoc-gen-go-tetragon/eventchecker/multichecker.go similarity index 99% rename from cmd/protoc-gen-go-tetragon/eventchecker/multichecker.go rename to tools/protoc-gen-go-tetragon/eventchecker/multichecker.go index 669e64e1622..206bb47352c 100644 --- a/cmd/protoc-gen-go-tetragon/eventchecker/multichecker.go +++ b/tools/protoc-gen-go-tetragon/eventchecker/multichecker.go @@ -4,7 +4,7 @@ package eventchecker import ( - "github.com/cilium/tetragon/cmd/protoc-gen-go-tetragon/common" + "github.com/cilium/tetragon/tools/protoc-gen-go-tetragon/common" "google.golang.org/protobuf/compiler/protogen" ) diff --git a/cmd/protoc-gen-go-tetragon/eventchecker/yaml.go b/tools/protoc-gen-go-tetragon/eventchecker/yaml.go similarity index 99% rename from cmd/protoc-gen-go-tetragon/eventchecker/yaml.go rename to tools/protoc-gen-go-tetragon/eventchecker/yaml.go index b8957b449db..b6b07ac59a2 100644 --- a/cmd/protoc-gen-go-tetragon/eventchecker/yaml.go +++ b/tools/protoc-gen-go-tetragon/eventchecker/yaml.go @@ -7,7 +7,7 @@ import ( "fmt" "strings" - "github.com/cilium/tetragon/cmd/protoc-gen-go-tetragon/common" + "github.com/cilium/tetragon/tools/protoc-gen-go-tetragon/common" "github.com/iancoleman/strcase" "google.golang.org/protobuf/compiler/protogen" ) diff --git a/cmd/protoc-gen-go-tetragon/generate/generate.go b/tools/protoc-gen-go-tetragon/generate/generate.go similarity index 74% rename from cmd/protoc-gen-go-tetragon/generate/generate.go rename to tools/protoc-gen-go-tetragon/generate/generate.go index a0e63633ab6..07407fdf6d0 100644 --- a/cmd/protoc-gen-go-tetragon/generate/generate.go +++ b/tools/protoc-gen-go-tetragon/generate/generate.go @@ -6,9 +6,9 @@ package generate import ( "fmt" - "github.com/cilium/tetragon/cmd/protoc-gen-go-tetragon/eventchecker" - "github.com/cilium/tetragon/cmd/protoc-gen-go-tetragon/helpers" - "github.com/cilium/tetragon/cmd/protoc-gen-go-tetragon/types" + "github.com/cilium/tetragon/tools/protoc-gen-go-tetragon/eventchecker" + "github.com/cilium/tetragon/tools/protoc-gen-go-tetragon/helpers" + "github.com/cilium/tetragon/tools/protoc-gen-go-tetragon/types" "google.golang.org/protobuf/compiler/protogen" ) diff --git a/cmd/protoc-gen-go-tetragon/helpers/helpers.go b/tools/protoc-gen-go-tetragon/helpers/helpers.go similarity index 98% rename from cmd/protoc-gen-go-tetragon/helpers/helpers.go rename to tools/protoc-gen-go-tetragon/helpers/helpers.go index 638263dad99..4d6dcb5ea50 100644 --- a/cmd/protoc-gen-go-tetragon/helpers/helpers.go +++ b/tools/protoc-gen-go-tetragon/helpers/helpers.go @@ -7,7 +7,7 @@ import ( "fmt" "strings" - "github.com/cilium/tetragon/cmd/protoc-gen-go-tetragon/common" + "github.com/cilium/tetragon/tools/protoc-gen-go-tetragon/common" "google.golang.org/protobuf/compiler/protogen" ) diff --git a/cmd/protoc-gen-go-tetragon/imports/imports.go b/tools/protoc-gen-go-tetragon/imports/imports.go similarity index 100% rename from cmd/protoc-gen-go-tetragon/imports/imports.go rename to tools/protoc-gen-go-tetragon/imports/imports.go diff --git a/cmd/protoc-gen-go-tetragon/main.go b/tools/protoc-gen-go-tetragon/main.go similarity index 66% rename from cmd/protoc-gen-go-tetragon/main.go rename to tools/protoc-gen-go-tetragon/main.go index e48dde5a6c6..1ea68c84a8f 100644 --- a/cmd/protoc-gen-go-tetragon/main.go +++ b/tools/protoc-gen-go-tetragon/main.go @@ -4,7 +4,7 @@ package main import ( - "github.com/cilium/tetragon/cmd/protoc-gen-go-tetragon/generate" + "github.com/cilium/tetragon/tools/protoc-gen-go-tetragon/generate" ) func main() { diff --git a/cmd/protoc-gen-go-tetragon/types/types.go b/tools/protoc-gen-go-tetragon/types/types.go similarity index 98% rename from cmd/protoc-gen-go-tetragon/types/types.go rename to tools/protoc-gen-go-tetragon/types/types.go index e99d5032928..fdaa4b505ed 100644 --- a/cmd/protoc-gen-go-tetragon/types/types.go +++ b/tools/protoc-gen-go-tetragon/types/types.go @@ -6,7 +6,7 @@ package types import ( "path/filepath" - "github.com/cilium/tetragon/cmd/protoc-gen-go-tetragon/common" + "github.com/cilium/tetragon/tools/protoc-gen-go-tetragon/common" "google.golang.org/protobuf/compiler/protogen" )