diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6411485b9a89117704d667c6a5bec2107052bc3a..ab2068afa44fd13215598cc1c106ce6691b43f47 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,7 +2,7 @@ variables:
     GOSDN_IMAGE: "${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}"
     GOSDN_TESTING_IMAGE: "${CI_REGISTRY_IMAGE}:testing_${CI_COMMIT_SHA}"
     CEOS_IMAGE: "${CI_PCONTAINERS_REGISTRY_IMAGE}/ceos:4.28.2F"
-    GOLANG_VERSION: "1.19"
+    GOLANG_VERSION: "1.20.1"
 
 workflow:
   rules:
diff --git a/.gitlab/ci/.code-quality-ci.yml b/.gitlab/ci/.code-quality-ci.yml
index 8b9b87b326f2463384fad03e62a9e860d4f2d38b..85f49c09e013908795f7e0c75d78812a055d6861 100644
--- a/.gitlab/ci/.code-quality-ci.yml
+++ b/.gitlab/ci/.code-quality-ci.yml
@@ -1,3 +1,5 @@
+variables:
+    GOLANG_VERSION: "1.20.1"
 code-quality:
     image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/golangci/golangci-lint:v1.46-alpine
     stage: analyze
@@ -13,7 +15,7 @@ code-quality:
     needs: []
 
 code-vulnerability:
-    image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/golang:1.19-bullseye
+    image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/golang:$GOLANG_VERSION-bullseye
     stage: analyze
     script:
         - go install golang.org/x/vuln/cmd/govulncheck@latest
diff --git a/.golangci.yml b/.golangci.yml
index 23055a37b56f1e351c96452672babb3a1919d20e..652493ad3cf2ce309c2ab5ffbeeb7bbedd01388a 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -1,5 +1,7 @@
+variables:
+    GOLANG_VERSION: "1.20.1"
 run:
-    go: 1.19
+    go: $GOLANG_VERSION
     concurrency: 4
     timeout: 10m
     issues-exit-code: 1
diff --git a/applications/arista-routing-engine/arista-routing-engine.Dockerfile b/applications/arista-routing-engine/arista-routing-engine.Dockerfile
index 6dfdfa4a81be29573450b608c661813210b76f64..2ebb760d2b2426cd4b4730852485836516f59a53 100644
--- a/applications/arista-routing-engine/arista-routing-engine.Dockerfile
+++ b/applications/arista-routing-engine/arista-routing-engine.Dockerfile
@@ -1,4 +1,4 @@
-ARG GOLANG_VERSION=1.18
+ARG GOLANG_VERSION=1.20.1
 ARG BUILDARGS
 ARG $GITLAB_PROXY
 
diff --git a/applications/venv-manager/venv-manager.Dockerfile b/applications/venv-manager/venv-manager.Dockerfile
index 667afe0c08771e2d22765d8b483f516112a61303..a595e29f7d500eca69b04f5eac0a85ab6da8fc0b 100644
--- a/applications/venv-manager/venv-manager.Dockerfile
+++ b/applications/venv-manager/venv-manager.Dockerfile
@@ -1,4 +1,4 @@
-ARG GOLANG_VERSION=1.19
+ARG GOLANG_VERSION=1.20.1
 ARG BUILDARGS
 ARG $GITLAB_PROXY=code.fbi.h-da.de:443/danet/dependency_proxy/containers
 
diff --git a/cli/build/ci/.test.yml b/cli/build/ci/.test.yml
index ae33d27b1e3175885edf9be1e4b088c1faccd637..594871cc8d147bb4538e89d923229a38e175b639 100644
--- a/cli/build/ci/.test.yml
+++ b/cli/build/ci/.test.yml
@@ -1,5 +1,7 @@
+variables:
+    GOLANG_VERSION: "1.20.1"
 test:
-    image: golang:1.19
+    image: golang:$GOLANG_VERSION
     stage: test
     needs:
         - job: "apply"
@@ -22,7 +24,7 @@ test:
         - go test -race ./test/integration -v -coverprofile=coverage.out
 
 .test: &test
-    image: golang:1.19
+    image: golang:$GOLANG_VERSION
     stage: test
     allow_failure: true
     variables:
diff --git a/cli/cli.Dockerfile b/cli/cli.Dockerfile
index 71e72da760ebb16804093d47ac7ab4edfae19e20..59692dceaae5dd1bd245616fe9a7fb431f08f156 100644
--- a/cli/cli.Dockerfile
+++ b/cli/cli.Dockerfile
@@ -1,4 +1,4 @@
-ARG GOLANG_VERSION=1.19
+ARG GOLANG_VERSION=1.20.1
 ARG BUILDARGS
 ARG $GITLAB_PROXY
 
diff --git a/controller/Dockerfile.debug b/controller/Dockerfile.debug
index a2460463b036732da3b6d6f17539377a8f054f40..fc6c7b73935932b3a89791c0736f3e652d8c3885 100644
--- a/controller/Dockerfile.debug
+++ b/controller/Dockerfile.debug
@@ -1,6 +1,6 @@
 # syntax = docker/dockerfile:1.2
-
-FROM golang:1.16-alpine AS builder
+ARG GOLANG_VERSION=1.20.1
+FROM golang:$GOLANG_VERSION-alpine AS builder
 ARG GITLAB_USER
 ARG GITLAB_TOKEN
 ARG BUILDARGS
diff --git a/controller/controller.Dockerfile b/controller/controller.Dockerfile
index d8dd3592f54387f3a67d20477c0016855118a386..dc6171ff7e90e9c9fb7d9f0a66b10eba1efeb34d 100644
--- a/controller/controller.Dockerfile
+++ b/controller/controller.Dockerfile
@@ -1,4 +1,4 @@
-ARG GOLANG_VERSION=1.19
+ARG GOLANG_VERSION=1.20.1
 ARG BUILDARGS
 ARG $GITLAB_PROXY
 
diff --git a/csbi/csbi.Dockerfile b/csbi/csbi.Dockerfile
index b9b3adebaa9b4afa33a6896196ff14d93f1a02fe..a20a43e0aba356bdf17e04e1d9027e229326901f 100644
--- a/csbi/csbi.Dockerfile
+++ b/csbi/csbi.Dockerfile
@@ -1,4 +1,4 @@
-ARG GOLANG_VERSION=1.19
+ARG GOLANG_VERSION=1.20.1
 ARG BUILDARGS
 ARG $GITLAB_PROXY
 
diff --git a/csbi/gnmi-target/gnmitarget.Dockerfile b/csbi/gnmi-target/gnmitarget.Dockerfile
index 4af5963a84219b2ac290354c0b2bf18997b3c5c2..3bc5056f4a35073c5a5d5e066d257a74b3394f91 100644
--- a/csbi/gnmi-target/gnmitarget.Dockerfile
+++ b/csbi/gnmi-target/gnmitarget.Dockerfile
@@ -1,4 +1,5 @@
-FROM golang:1.19-alpine
+ARG GOLANG_VERSION=1.20.1
+FROM golang:$GOLANG_VERSION-alpine
 RUN go install github.com/google/gnxi/gnmi_target@latest
 RUN wget https://raw.githubusercontent.com/google/gnxi/master/gnmi_target/openconfig-openflow.json
 EXPOSE 7030
diff --git a/csbi/resources/Dockerfile b/csbi/resources/Dockerfile
index 7ce79f87687cb4dba48cebbaf8023bb802e1e19e..f838887787a0b092b2698c7befcaac1453ea7898 100644
--- a/csbi/resources/Dockerfile
+++ b/csbi/resources/Dockerfile
@@ -1,5 +1,6 @@
 # syntax = docker/dockerfile:1.2
-FROM golang:1.19-alpine AS installer
+ARG GOLANG_VERSION=1.20.1
+FROM golang:$GOLANG_VERSION-alpine AS installer
 ARG GITLAB_USER
 ARG GITLAB_TOKEN
 WORKDIR /src/csbi
diff --git a/csbi/resources/go.mod b/csbi/resources/go.mod
index 4003eb6629b49743e70e93ff211897ce4b55c2d4..41b7e93353f6f14ff902fdb2d3dfcb6036be188d 100644
--- a/csbi/resources/go.mod
+++ b/csbi/resources/go.mod
@@ -1,6 +1,6 @@
 module code.fbi.h-da.de/danet/gosdn/csbi-autogen
 
-go 1.19
+go 1.20
 
 require (
 	code.fbi.h-da.de/danet/gosdn v0.0.3-0.20220805102430-8465989fb8b3
diff --git a/go.mod b/go.mod
index 743d59d48312d9941927367abfbb4e0a4525d717..445dffb6fd0c91e087a6b762b1e5a3d1b8a3a93f 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
 module code.fbi.h-da.de/danet/gosdn
 
-go 1.19
+go 1.20
 
 require (
 	github.com/aristanetworks/goarista v0.0.0-20220425175323-05f7c4c5e34c