diff --git a/.drone/drone.yml b/.drone/drone.yml
index b86bb48f74a7..ce6249bf5fea 100644
--- a/.drone/drone.yml
+++ b/.drone/drone.yml
@@ -110,7 +110,7 @@ steps:
 - commands:
   - apt-get update -y && apt-get install -y libsystemd-dev
   - make lint
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Lint
 trigger:
   event:
@@ -128,7 +128,7 @@ steps:
   - ERR_MSG="Dashboard definitions are out of date. Please run 'make generate-dashboards'
     and commit changes!"
   - if [ ! -z "$(git status --porcelain)" ]; then echo $ERR_MSG >&2; exit 1; fi
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Regenerate dashboards
 trigger:
   event:
@@ -146,7 +146,7 @@ steps:
   - ERR_MSG="Custom Resource Definitions are out of date. Please run 'make generate-crds'
     and commit changes!"
   - if [ ! -z "$(git status --porcelain)" ]; then echo $ERR_MSG >&2; exit 1; fi
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Regenerate crds
 trigger:
   event:
@@ -161,7 +161,7 @@ platform:
 steps:
 - commands:
   - make GO_TAGS="nodocker" test
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Run Go tests
 trigger:
   event:
@@ -176,7 +176,7 @@ platform:
 steps:
 - commands:
   - K8S_USE_DOCKER_NETWORK=1 make test
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Run Go tests
   volumes:
   - name: docker
@@ -199,7 +199,7 @@ platform:
 steps:
 - commands:
   - go test -tags="nodocker,nonetwork" ./...
-  image: grafana/agent-build-image:0.33.0-windows
+  image: grafana/agent-build-image:0.40.2-windows
   name: Run Go tests
 trigger:
   ref:
@@ -214,7 +214,7 @@ platform:
 steps:
 - commands:
   - make agent-image
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build container
   volumes:
   - name: docker
@@ -239,7 +239,7 @@ platform:
 steps:
 - commands:
   - make agentctl-image
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build container
   volumes:
   - name: docker
@@ -264,7 +264,7 @@ platform:
 steps:
 - commands:
   - make operator-image
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build container
   volumes:
   - name: docker
@@ -290,7 +290,7 @@ platform:
 steps:
 - commands:
   - '& "C:/Program Files/git/bin/bash.exe" ./tools/ci/docker-containers-windows agent'
-  image: grafana/agent-build-image:0.33.0-windows
+  image: grafana/agent-build-image:0.40.2-windows
   name: Build container
   volumes:
   - name: docker
@@ -316,7 +316,7 @@ platform:
 steps:
 - commands:
   - '& "C:/Program Files/git/bin/bash.exe" ./tools/ci/docker-containers-windows agentctl'
-  image: grafana/agent-build-image:0.33.0-windows
+  image: grafana/agent-build-image:0.40.2-windows
   name: Build container
   volumes:
   - name: docker
@@ -343,7 +343,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=amd64 GOARM=
     make agent
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -360,7 +360,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=arm64 GOARM=
     make agent
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -377,7 +377,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=ppc64le GOARM=
     make agent
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -394,7 +394,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=s390x GOARM=
     make agent
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -410,7 +410,7 @@ steps:
 - commands:
   - make generate-ui
   - GO_TAGS="builtinassets" GOOS=darwin GOARCH=amd64 GOARM= make agent
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -426,7 +426,7 @@ steps:
 - commands:
   - make generate-ui
   - GO_TAGS="builtinassets" GOOS=darwin GOARCH=arm64 GOARM= make agent
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -442,7 +442,7 @@ steps:
 - commands:
   - make generate-ui
   - GO_TAGS="builtinassets" GOOS=windows GOARCH=amd64 GOARM= make agent
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -458,7 +458,7 @@ steps:
 - commands:
   - make generate-ui
   - GO_TAGS="builtinassets" GOOS=freebsd GOARCH=amd64 GOARM= make agent
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -475,7 +475,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=amd64 GOARM=
     make agent-flow
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -492,7 +492,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=arm64 GOARM=
     make agent-flow
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -509,7 +509,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=ppc64le GOARM=
     make agent-flow
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -526,7 +526,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=s390x GOARM=
     make agent-flow
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -542,7 +542,7 @@ steps:
 - commands:
   - make generate-ui
   - GO_TAGS="builtinassets" GOOS=darwin GOARCH=amd64 GOARM= make agent-flow
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -558,7 +558,7 @@ steps:
 - commands:
   - make generate-ui
   - GO_TAGS="builtinassets" GOOS=darwin GOARCH=arm64 GOARM= make agent-flow
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -574,7 +574,7 @@ steps:
 - commands:
   - make generate-ui
   - GO_TAGS="builtinassets" GOOS=windows GOARCH=amd64 GOARM= make agent-flow
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -590,7 +590,7 @@ steps:
 - commands:
   - make generate-ui
   - GO_TAGS="builtinassets" GOOS=freebsd GOARCH=amd64 GOARM= make agent-flow
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -607,7 +607,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=amd64 GOARM=
     make agentctl
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -624,7 +624,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=arm64 GOARM=
     make agentctl
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -641,7 +641,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=ppc64le GOARM=
     make agentctl
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -658,7 +658,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=s390x GOARM=
     make agentctl
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -674,7 +674,7 @@ steps:
 - commands:
   - make generate-ui
   - GO_TAGS="builtinassets" GOOS=darwin GOARCH=amd64 GOARM= make agentctl
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -690,7 +690,7 @@ steps:
 - commands:
   - make generate-ui
   - GO_TAGS="builtinassets" GOOS=darwin GOARCH=arm64 GOARM= make agentctl
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -706,7 +706,7 @@ steps:
 - commands:
   - make generate-ui
   - GO_TAGS="builtinassets" GOOS=windows GOARCH=amd64 GOARM= make agentctl
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -722,7 +722,7 @@ steps:
 - commands:
   - make generate-ui
   - GO_TAGS="builtinassets" GOOS=freebsd GOARCH=amd64 GOARM= make agentctl
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -739,7 +739,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=amd64 GOARM=
     make operator
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -756,7 +756,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=arm64 GOARM=
     make operator
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -773,7 +773,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=ppc64le GOARM=
     make operator
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -790,7 +790,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=s390x GOARM=
     make operator
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -806,7 +806,7 @@ steps:
 - commands:
   - make generate-ui
   - GO_TAGS="builtinassets" GOOS=darwin GOARCH=amd64 GOARM= make operator
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -822,7 +822,7 @@ steps:
 - commands:
   - make generate-ui
   - GO_TAGS="builtinassets" GOOS=darwin GOARCH=arm64 GOARM= make operator
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -838,7 +838,7 @@ steps:
 - commands:
   - make generate-ui
   - GO_TAGS="builtinassets" GOOS=windows GOARCH=amd64 GOARM= make operator
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -854,7 +854,7 @@ steps:
 - commands:
   - make generate-ui
   - GO_TAGS="builtinassets" GOOS=freebsd GOARCH=amd64 GOARM= make operator
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -871,7 +871,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=amd64 GOARM=
     GOEXPERIMENT=boringcrypto make agent-boringcrypto
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -888,7 +888,7 @@ steps:
   - make generate-ui
   - GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=arm64 GOARM=
     GOEXPERIMENT=boringcrypto make agent-boringcrypto
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Build
 trigger:
   event:
@@ -904,7 +904,7 @@ steps:
 - commands:
   - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
   failure: ignore
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Configure QEMU
   volumes:
   - name: docker
@@ -924,7 +924,7 @@ steps:
       from_secret: docker_password
     GCR_CREDS:
       from_secret: gcr_admin
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Publish container
   volumes:
   - name: docker
@@ -948,7 +948,7 @@ steps:
 - commands:
   - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
   failure: ignore
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Configure QEMU
   volumes:
   - name: docker
@@ -968,7 +968,7 @@ steps:
       from_secret: docker_password
     GCR_CREDS:
       from_secret: gcr_admin
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Publish container
   volumes:
   - name: docker
@@ -992,7 +992,7 @@ steps:
 - commands:
   - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
   failure: ignore
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Configure QEMU
   volumes:
   - name: docker
@@ -1012,7 +1012,7 @@ steps:
       from_secret: docker_password
     GCR_CREDS:
       from_secret: gcr_admin
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Publish container
   volumes:
   - name: docker
@@ -1036,7 +1036,7 @@ steps:
 - commands:
   - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
   failure: ignore
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Configure QEMU
   volumes:
   - name: docker
@@ -1056,7 +1056,7 @@ steps:
       from_secret: docker_password
     GCR_CREDS:
       from_secret: gcr_admin
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Publish container
   volumes:
   - name: docker
@@ -1085,7 +1085,7 @@ steps:
       from_secret: docker_login
     DOCKER_PASSWORD:
       from_secret: docker_password
-  image: grafana/agent-build-image:0.33.0-windows
+  image: grafana/agent-build-image:0.40.2-windows
   name: Build containers
   volumes:
   - name: docker
@@ -1114,7 +1114,7 @@ steps:
       from_secret: docker_login
     DOCKER_PASSWORD:
       from_secret: docker_password
-  image: grafana/agent-build-image:0.33.0-windows
+  image: grafana/agent-build-image:0.40.2-windows
   name: Build containers
   volumes:
   - name: docker
@@ -1231,7 +1231,7 @@ steps:
       from_secret: gpg_private_key
     GPG_PUBLIC_KEY:
       from_secret: gpg_public_key
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Publish release
   volumes:
   - name: docker
@@ -1256,7 +1256,7 @@ steps:
   - DOCKER_OPTS="" make dist/grafana-agentctl-linux-amd64
   - DOCKER_OPTS="" make dist.temp/grafana-agent-flow-linux-amd64
   - DOCKER_OPTS="" make test-packages
-  image: grafana/agent-build-image:0.33.0
+  image: grafana/agent-build-image:0.40.2
   name: Test Linux system packages
   volumes:
   - name: docker
@@ -1352,6 +1352,6 @@ kind: secret
 name: updater_private_key
 ---
 kind: signature
-hmac: ccdaca0dc8021ce38fbe4a370b4ceb8bab6a4f1a53f14dbf8cb73798a1223d2b
+hmac: b2dba2c3561451244eb5145b946c01d3c30336828cc0a60aee247946608ceb18
 
 ...
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5874841f0c46..71e7b08b2f89 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,10 @@ v0.40.3 (2024-03-14)
 
 - Fix a bug where structured metadata and parsed field are not passed further in `loki.source.api` (@marchellodev)
 
+### Other changes
+
+- Upgrade to Go 1.22.1 (@thampiotr)
+
 v0.40.2 (2024-03-05)
 --------------------
 
diff --git a/build-image/Dockerfile b/build-image/Dockerfile
index 0ac583062ffb..9691fd02b2fb 100644
--- a/build-image/Dockerfile
+++ b/build-image/Dockerfile
@@ -4,7 +4,7 @@
 # default when running `docker buildx build` or when DOCKER_BUILDKIT=1 is set
 # in environment variables.
 
-# NOTE: The GO_RUNTIME is used to switch between the default google go runtime and  mcr.microsoft.com/oss/go/microsoft/golang:1.22.1-bullseye which is a microsoft
+# NOTE: The GO_RUNTIME is used to switch between the default Google go runtime and mcr.microsoft.com/oss/go/microsoft/golang:1.22.1-bullseye which is a Microsoft
 # fork of go that allows using windows crypto instead of boring crypto. Details at https://github.com/microsoft/go/tree/microsoft/main/eng/doc/fips
 ARG GO_RUNTIME=mustoverride
 
diff --git a/build-image/windows/Dockerfile b/build-image/windows/Dockerfile
index ddd3448e2c09..3827b073f931 100644
--- a/build-image/windows/Dockerfile
+++ b/build-image/windows/Dockerfile
@@ -1,4 +1,4 @@
-FROM library/golang:1.22.0-windowsservercore-1809
+FROM library/golang:1.22.1-windowsservercore-1809
 
 SHELL ["powershell", "-command"]
 
diff --git a/cmd/grafana-agent-operator/Dockerfile b/cmd/grafana-agent-operator/Dockerfile
index 6ba2a6218cd7..7e4f98f09270 100644
--- a/cmd/grafana-agent-operator/Dockerfile
+++ b/cmd/grafana-agent-operator/Dockerfile
@@ -4,7 +4,7 @@
 # default when running `docker buildx build` or when DOCKER_BUILDKIT=1 is set
 # in environment variables.
 
-FROM --platform=$BUILDPLATFORM grafana/agent-build-image:0.33.0 as build
+FROM --platform=$BUILDPLATFORM grafana/agent-build-image:0.40.2 as build
 ARG BUILDPLATFORM
 ARG TARGETPLATFORM
 ARG TARGETOS
diff --git a/cmd/grafana-agent/Dockerfile b/cmd/grafana-agent/Dockerfile
index 132d1317495c..36ff4e98f799 100644
--- a/cmd/grafana-agent/Dockerfile
+++ b/cmd/grafana-agent/Dockerfile
@@ -4,7 +4,7 @@
 # default when running `docker buildx build` or when DOCKER_BUILDKIT=1 is set
 # in environment variables.
 
-FROM --platform=$BUILDPLATFORM grafana/agent-build-image:0.33.0 as build
+FROM --platform=$BUILDPLATFORM grafana/agent-build-image:0.40.2 as build
 ARG BUILDPLATFORM
 ARG TARGETPLATFORM
 ARG TARGETOS
diff --git a/cmd/grafana-agent/Dockerfile.windows b/cmd/grafana-agent/Dockerfile.windows
index 6f99a6138fdb..7ace5353120a 100644
--- a/cmd/grafana-agent/Dockerfile.windows
+++ b/cmd/grafana-agent/Dockerfile.windows
@@ -1,4 +1,4 @@
-FROM grafana/agent-build-image:0.33.0-windows as builder
+FROM grafana/agent-build-image:0.40.2-windows as builder
 ARG VERSION
 ARG RELEASE_BUILD=1
 
diff --git a/cmd/grafana-agentctl/Dockerfile b/cmd/grafana-agentctl/Dockerfile
index 67fe64c6f3bf..f43179d418cd 100644
--- a/cmd/grafana-agentctl/Dockerfile
+++ b/cmd/grafana-agentctl/Dockerfile
@@ -4,7 +4,7 @@
 # default when running `docker buildx build` or when DOCKER_BUILDKIT=1 is set
 # in environment variables.
 
-FROM --platform=$BUILDPLATFORM grafana/agent-build-image:0.33.0 as build
+FROM --platform=$BUILDPLATFORM grafana/agent-build-image:0.40.2 as build
 ARG BUILDPLATFORM
 ARG TARGETPLATFORM
 ARG TARGETOS
diff --git a/cmd/grafana-agentctl/Dockerfile.windows b/cmd/grafana-agentctl/Dockerfile.windows
index 8cf3c34a0ace..7e4e502d30b1 100644
--- a/cmd/grafana-agentctl/Dockerfile.windows
+++ b/cmd/grafana-agentctl/Dockerfile.windows
@@ -1,4 +1,4 @@
-FROM grafana/agent-build-image:0.33.0-windows as builder
+FROM grafana/agent-build-image:0.40.2-windows as builder
 ARG VERSION
 ARG RELEASE_BUILD=1
 
diff --git a/docs/Makefile b/docs/Makefile
index 473f6bab03d7..9c60214b2768 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -11,11 +11,11 @@ include docs.mk
 docs: check-cloudwatch-integration
 
 check-cloudwatch-integration:
-	$(PODMAN) run -v $(shell git rev-parse --show-toplevel):/repo -v $(shell pwd):/docs -w /repo golang:1.21-bullseye go run pkg/integrations/cloudwatch_exporter/docs/doc.go check /docs/sources/static/configuration/integrations/cloudwatch-exporter-config.md
-	$(PODMAN) run -v $(shell git rev-parse --show-toplevel):/repo -v $(shell pwd):/docs -w /repo golang:1.21-bullseye go run pkg/integrations/cloudwatch_exporter/docs/doc.go check /docs/sources/flow/reference/components/prometheus.exporter.cloudwatch.md
+	$(PODMAN) run -v $(shell git rev-parse --show-toplevel):/repo -v $(shell pwd):/docs -w /repo golang:1.22.1-bullseye go run pkg/integrations/cloudwatch_exporter/docs/doc.go check /docs/sources/static/configuration/integrations/cloudwatch-exporter-config.md
+	$(PODMAN) run -v $(shell git rev-parse --show-toplevel):/repo -v $(shell pwd):/docs -w /repo golang:1.22.1-bullseye go run pkg/integrations/cloudwatch_exporter/docs/doc.go check /docs/sources/flow/reference/components/prometheus.exporter.cloudwatch.md
 
 generate-cloudwatch-integration:
-	$(PODMAN) run -v $(shell git rev-parse --show-toplevel):/repo -v $(shell pwd):/docs -w /repo golang:1.21-bullseye go run pkg/integrations/cloudwatch_exporter/docs/doc.go generate
+	$(PODMAN) run -v $(shell git rev-parse --show-toplevel):/repo -v $(shell pwd):/docs -w /repo golang:1.22.1-bullseye go run pkg/integrations/cloudwatch_exporter/docs/doc.go generate
 
 sources/assets/hierarchy.svg: sources/operator/hierarchy.dot
 	cat $< | $(PODMAN) run --rm -i nshine/dot dot -Tsvg > $@
diff --git a/go.mod b/go.mod
index bc0d6ade408f..152232302a98 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
 module github.com/grafana/agent
 
-go 1.21.0
+go 1.22.1
 
 require (
 	cloud.google.com/go/pubsub v1.33.0
diff --git a/integration-tests/configs/otel-metrics-gen/Dockerfile b/integration-tests/configs/otel-metrics-gen/Dockerfile
index 8bf00387660e..6424b617725b 100644
--- a/integration-tests/configs/otel-metrics-gen/Dockerfile
+++ b/integration-tests/configs/otel-metrics-gen/Dockerfile
@@ -1,4 +1,4 @@
-FROM golang:1.21 as build
+FROM golang:1.22.1 as build
 WORKDIR /app/
 COPY go.mod go.sum ./
 RUN go mod download
diff --git a/integration-tests/configs/prom-gen/Dockerfile b/integration-tests/configs/prom-gen/Dockerfile
index 7c395748689a..5e273dccb571 100644
--- a/integration-tests/configs/prom-gen/Dockerfile
+++ b/integration-tests/configs/prom-gen/Dockerfile
@@ -1,4 +1,4 @@
-FROM golang:1.21 as build
+FROM golang:1.22.1 as build
 WORKDIR /app/
 COPY go.mod go.sum ./
 RUN go mod download
diff --git a/tools/make/build-container.mk b/tools/make/build-container.mk
index 409d284e1f10..0daf5becb047 100644
--- a/tools/make/build-container.mk
+++ b/tools/make/build-container.mk
@@ -34,7 +34,7 @@
 # variable names should be passed through to the container.
 
 USE_CONTAINER       ?= 0
-BUILD_IMAGE_VERSION ?= 0.33.0
+BUILD_IMAGE_VERSION ?= 0.40.2
 BUILD_IMAGE         ?= grafana/agent-build-image:$(BUILD_IMAGE_VERSION)
 DOCKER_OPTS         ?= -it