diff --git a/.gitlab/ci/.code-quality-ci.yml b/.gitlab/ci/.code-quality-ci.yml
index 4b0cb5387c50129444beeccdc77d48dd7343ae8d..727e791d05a96d74cef42192c6c187dc92ce667b 100644
--- a/.gitlab/ci/.code-quality-ci.yml
+++ b/.gitlab/ci/.code-quality-ci.yml
@@ -1,5 +1,5 @@
 code-quality:
-    image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/golangci/golangci-lint:v1.58.1-alpine
+    image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/golangci/golangci-lint:v1.59.0-alpine
     stage: analyze
     script:
         # writes golangci-lint output to gl-code-quality-report.json
diff --git a/Makefile b/Makefile
index 6bc9584ac5bc5400f512a32e566f4401f5cf194f..8f47e95956b684fca4000c5c4a35c7f4e20fd6f1 100644
--- a/Makefile
+++ b/Makefile
@@ -18,7 +18,7 @@ PLUGIN_NAME= bundled_plugin.zip
 
 # Tool Versions
 GOTESTSUM_VERSION=v1.8.1
-GOLANGCI_LINT_VERSION=v1.57.2
+GOLANGCI_LINT_VERSION=v1.59.0
 MOCKERY_VERSION=v2.20.0
 YGOT_GENERATOR_VERSION=v0.27.0
 YGOT_GENERATOR_GENERATOR_VERSION=v0.0.4
diff --git a/controller/nucleus/networkElementServiceMock.go b/controller/nucleus/networkElementServiceMock.go
index 4735109b86c53ab5e841aa4478af9d3042b5cffc..78b9f60f4d5a7f87cd1ba127ca025552af3661ce 100644
--- a/controller/nucleus/networkElementServiceMock.go
+++ b/controller/nucleus/networkElementServiceMock.go
@@ -1,6 +1,7 @@
 package nucleus
 
 import (
+	"code.fbi.h-da.de/danet/gosdn/controller/customerrs"
 	"code.fbi.h-da.de/danet/gosdn/controller/interfaces/networkelement"
 	"code.fbi.h-da.de/danet/gosdn/controller/store"
 	"github.com/google/uuid"
@@ -66,12 +67,12 @@ func (t *NetworkElementServiceMock) Get(query store.Query) (networkelement.Netwo
 		// Second search for name
 		id, ok := t.nameLookupTable[query.Name]
 		if !ok {
-			return nil, nil
+			return nil, customerrs.CouldNotFindError{Name: query.Name}
 		}
 
 		item, ok := t.Store[id]
 		if !ok {
-			return nil, nil
+			return nil, customerrs.CouldNotFindError{ID: id}
 		}
 
 		return item, nil
diff --git a/controller/nucleus/pluginServiceMock.go b/controller/nucleus/pluginServiceMock.go
index a580657fcd7c203ea0bcbb51260c021f3f71d124..0cdfa6b8f216efba9071e6c322af399e983c4ab0 100644
--- a/controller/nucleus/pluginServiceMock.go
+++ b/controller/nucleus/pluginServiceMock.go
@@ -62,5 +62,5 @@ func (t *PluginServiceMock) GetAll() ([]plugin.Plugin, error) {
 // RequestPlugin is a mock for requesting a plugin from the registry.
 // TODO: add plugin mock here.
 func (t *PluginServiceMock) RequestPlugin(uuid.UUID) (plugin.Plugin, error) {
-	return nil, nil
+	return nil, nil //nolint:nilnil
 }
diff --git a/csbi/write.go b/csbi/write.go
index 674f2329a852a1f63039ce2ca639393ed9137fb6..b9ed31815636c79c42b3a63c409531e1895ed330 100644
--- a/csbi/write.go
+++ b/csbi/write.go
@@ -128,29 +128,29 @@ func writeGoStruct(path string, code *gogen.GeneratedCode, t spb.Type) error {
 	defer genutil.SyncFile(generatedCode)
 
 	// Write the package header to the supplier writer.
-	fmt.Fprint(generatedCode, code.CommonHeader)
-	fmt.Fprint(generatedCode, code.OneOffHeader)
+	fmt.Fprint(generatedCode, code.CommonHeader) //nolint:errcheck
+	fmt.Fprint(generatedCode, code.OneOffHeader) //nolint:errcheck
 
 	// Write the returned Go code out. First the Structs - which is the struct
 	// definitions for the generated YANG entity, followed by the enumerations.
 	for _, snippet := range code.Structs {
-		fmt.Fprintln(generatedCode, snippet.String())
+		fmt.Fprintln(generatedCode, snippet.String()) //nolint:errcheck
 	}
 
 	for _, snippet := range code.Enums {
-		fmt.Fprintln(generatedCode, snippet)
+		fmt.Fprintln(generatedCode, snippet) //nolint:errcheck
 	}
 
 	// Write the generated enumeration map out.
-	fmt.Fprintln(generatedCode, code.EnumMap)
+	fmt.Fprintln(generatedCode, code.EnumMap) //nolint:errcheck
 
 	// Write the schema out if it was received.
 	if len(code.JSONSchemaCode) > 0 {
-		fmt.Fprintln(generatedCode, code.JSONSchemaCode)
+		fmt.Fprintln(generatedCode, code.JSONSchemaCode) //nolint:errcheck
 	}
 
 	if len(code.EnumTypeMap) > 0 {
-		fmt.Fprintln(generatedCode, code.EnumTypeMap)
+		fmt.Fprintln(generatedCode, code.EnumTypeMap) //nolint:errcheck
 	}
 
 	if err := writeManifest(path, &Manifest{
@@ -179,29 +179,29 @@ func writeCode(path string, code *gogen.GeneratedCode, t spb.Type) error {
 	generatedCode := genutil.OpenFile(file)
 	defer genutil.SyncFile(generatedCode)
 	// Write the package header to the supplier writer.
-	fmt.Fprint(generatedCode, code.CommonHeader)
-	fmt.Fprint(generatedCode, code.OneOffHeader)
+	fmt.Fprint(generatedCode, code.CommonHeader) //nolint:errcheck
+	fmt.Fprint(generatedCode, code.OneOffHeader) //nolint:errcheck
 
 	// Write the returned Go code out. First the Structs - which is the struct
 	// definitions for the generated YANG entity, followed by the enumerations.
 	for _, snippet := range code.Structs {
-		fmt.Fprintln(generatedCode, snippet)
+		fmt.Fprintln(generatedCode, snippet) //nolint:errcheck
 	}
 
 	for _, snippet := range code.Enums {
-		fmt.Fprintln(generatedCode, snippet)
+		fmt.Fprintln(generatedCode, snippet) //nolint:errcheck
 	}
 
 	// Write the generated enumeration map out.
-	fmt.Fprintln(generatedCode, code.EnumMap)
+	fmt.Fprintln(generatedCode, code.EnumMap) //nolint:errcheck
 
 	// Write the schema out if it was received.
 	if len(code.JSONSchemaCode) > 0 {
-		fmt.Fprintln(generatedCode, code.JSONSchemaCode)
+		fmt.Fprintln(generatedCode, code.JSONSchemaCode) //nolint:errcheck
 	}
 
 	if len(code.EnumTypeMap) > 0 {
-		fmt.Fprintln(generatedCode, code.EnumTypeMap)
+		fmt.Fprintln(generatedCode, code.EnumTypeMap) //nolint:errcheck
 	}
 
 	if err := writeManifest(path, &Manifest{