diff --git a/.github/workflows/goimports.yml b/.github/workflows/goimports.yml
index 676b31af319486557b5b725ed4bc318a9b82d5e1..cedddcf8f67ea6acb55cddddfffcd1770cfc342e 100644
--- a/.github/workflows/goimports.yml
+++ b/.github/workflows/goimports.yml
@@ -6,7 +6,7 @@ jobs:
     steps:
     - uses: actions/setup-go@v2
       with:
-        go-version: '1.16'
+        go-version: '1.17'
     - uses: actions/checkout@master
     - name: Check imports
       shell: bash
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 89a41aaa7a6c98bb789ca82e46663e7d86b9425b..0ee5c251bef3dde4f0a096ce3a4211595d918f56 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -6,7 +6,7 @@ jobs:
     steps:
       - uses: actions/setup-go@v2
         with:
-          go-version: '1.16'
+          go-version: '1.17'
       - uses: actions/checkout@master
       - uses: actions/cache@v2
         with:
diff --git a/.github/workflows/test_e2e.yml b/.github/workflows/test_e2e.yml
index 57a12d8eaee7c0a596dc5701431023ce675a25ba..de5244831703f57f3aa0c78c8c94810b5b7b457f 100644
--- a/.github/workflows/test_e2e.yml
+++ b/.github/workflows/test_e2e.yml
@@ -10,7 +10,7 @@ jobs:
     steps:
     - uses: actions/setup-go@v2
       with:
-        go-version: '1.16'
+        go-version: '1.17'
     - uses: actions/checkout@master
     - name: Check whether HCLOUD_TOKEN needs to be fetched from TTS
       id: check_tts
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 205362f59b2f1002bbc53923336b53518c0efa7c..0b912c7c441f432f267fd79b4f0c528c4b22aaf0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -14,7 +14,7 @@ variables:
   GONOSUMDB: hetzner.cloud
 
 unit:
-  image: golang:1.16
+  image: golang:1.17
   stage: test
   script:
     - go test $(go list ./... | grep -v e2etests) -v
diff --git a/Dockerfile b/Dockerfile
index 813c313fc7d92364cba074e46024abeb534afd7a..56c82e58c3be82716e735368750d27148d44e9f8 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM golang:1.16 as builder
+FROM golang:1.17 as builder
 WORKDIR /csi
 ADD go.mod go.sum /csi/
 RUN go mod download
diff --git a/README.md b/README.md
index 2868ce90398f2e8e1f8ffa380ea5ec93859e9b62..22b566ba374323bf457d38ba95794bb86de7b257 100644
--- a/README.md
+++ b/README.md
@@ -108,7 +108,7 @@ will create volumes that will be billed.
 
 1x CPX21 (Ubuntu 18.04)
 
-**Requirements: Docker and Go 1.16**
+**Requirements: Docker and Go 1.17**
 
 1. Configure your environment correctly
    ```bash
diff --git a/go.mod b/go.mod
index 7cdccdd51404d5ec5af03d3ad57e49faa883aac7..d7a25fa0c5d746c53484bc64a4ecd38ddf24c12d 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
 module github.com/hetznercloud/csi-driver
 
-go 1.16
+go 1.17
 
 require (
 	github.com/container-storage-interface/spec v1.3.0
@@ -24,6 +24,44 @@ require (
 	k8s.io/utils v0.0.0-20201110183641-67b214c5f920
 )
 
+require (
+	github.com/beorn7/perks v1.0.1 // indirect
+	github.com/cespare/xxhash/v2 v2.1.1 // indirect
+	github.com/davecgh/go-spew v1.1.1 // indirect
+	github.com/go-logfmt/logfmt v0.5.0 // indirect
+	github.com/go-logr/logr v0.4.0 // indirect
+	github.com/gogo/protobuf v1.3.2 // indirect
+	github.com/google/go-cmp v0.5.5 // indirect
+	github.com/google/gofuzz v1.1.0 // indirect
+	github.com/google/uuid v1.1.2 // indirect
+	github.com/googleapis/gnostic v0.4.1 // indirect
+	github.com/hpcloud/tail v1.0.0 // indirect
+	github.com/imdario/mergo v0.3.5 // indirect
+	github.com/json-iterator/go v1.1.11 // indirect
+	github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
+	github.com/modern-go/reflect2 v1.0.1 // indirect
+	github.com/onsi/ginkgo v1.11.0 // indirect
+	github.com/onsi/gomega v1.7.1 // indirect
+	github.com/prometheus/client_model v0.2.0 // indirect
+	github.com/prometheus/common v0.26.0 // indirect
+	github.com/prometheus/procfs v0.6.0 // indirect
+	github.com/spf13/pflag v1.0.5 // indirect
+	golang.org/x/net v0.0.0-20210224082022-3d97a244fca7 // indirect
+	golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d // indirect
+	golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d // indirect
+	golang.org/x/text v0.3.4 // indirect
+	golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba // indirect
+	google.golang.org/appengine v1.6.5 // indirect
+	google.golang.org/protobuf v1.26.0-rc.1 // indirect
+	gopkg.in/fsnotify.v1 v1.4.7 // indirect
+	gopkg.in/inf.v0 v0.9.1 // indirect
+	gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
+	gopkg.in/yaml.v2 v2.4.0 // indirect
+	k8s.io/klog/v2 v2.8.0 // indirect
+	sigs.k8s.io/structured-merge-diff/v4 v4.1.0 // indirect
+	sigs.k8s.io/yaml v1.2.0 // indirect
+)
+
 replace k8s.io/api => k8s.io/api v0.21.0
 
 replace k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.21.0