google / osdfir-infrastructure

Helm charts for running open source digital forensic tools in Kubernetes
Apache License 2.0
70 stars 15 forks source link

In-cluster grr-client container build and client repackaging #164

Closed daschwanden closed 3 weeks ago

daschwanden commented 4 weeks ago

Description of the change

This PR proposes to use Kaniko (https://github.com/GoogleContainerTools/kaniko) to build container images from a Dockerfile inside a Kubernetes cluster. Using Kaniko the grr-client container image can be built with relying on Google Cloud Build (resulting into one less dependency for users to fullfil). The current GRR implementation did also not yet repackage the GRR clients for other architectures (ie Linux, Mac & Windows). This PR will address that also by repackaging the GRR clients and uploading them to the GRR server so they can be accessed for deployment onto client machines.

Applicable issues

Additional information

Kaniko (https://github.com/GoogleContainerTools/kaniko) allows for building container images from a Dockerfile inside a container or Kubernetes cluster. This enables that we can build the grr-client container without having to rely on external docker/build environments like for example Google Cloud Build. Furthermore, by leveraging kaniko to build the grr-client within the GRR cluster on GKE we can also repackage the GRR client packages for the other architectures (ie Linux, Mac & Windows) and upload them to the GRR server.

Checklist