GitOps support
This MR implements design two from https://gitlab.com/gitlab-org/cluster-integration/gitlab-agent/-/blob/master/doc/gitops.md
Demo https://youtu.be/jKT25JvTt9E
These files were generated, don't need to review them:
-
build/repositories.bzl- generated bymake update-repos. It runs gazelle to import code dependencies fromgo.suminto Bazel's dependency system. It's a lot of stuff because gitops-engine depends on Kubernetes directly and so we are pulling in all the Kubernetes' dependencies. See https://github.com/argoproj/gitops-engine/issues/56 -
BUILD.bazel- generated bymake update-bazel. It also runs gazelle, which parses go source files and creates/updates/deletes build files and rule instantiations in them. Some of these generated files were altered by hand to make minor tweaks, but that is 1% of them. Re-running gazelle preserves modifications and this is the intended way to use it. -
pkg/agentcfg/agentcfg.pb.gogenerated by runningmake regenerate-protowhich invokes bazel which runs proto compiler forpkg/agentcfg/agentcfg.proto. Seego_proto_compilein the build file.go_proto_compileandgo_grpc_compilecome from rules_proto_grpc. -
pkg/agentrpc/agentrpc.pb.go- same as above but forpkg/agentrpc/agentrpc.proto. proto compiler was invoked with the gRPC plugin. Seego_grpc_compilein the build file. -
go.sum, as you probably know, is the "lock" file used by Go's modules.
Edited by GitLab Release Tools Bot