From 7f425efa6b35c55e1faa095fe87dcaed9f45c6ac Mon Sep 17 00:00:00 2001
From: Dmitry Rybin <ayrowa@yandex.ru>
Date: Fri, 30 Jul 2021 20:49:44 +0200
Subject: [PATCH] chore: remove deprecated io/ioutil

Signed-off-by: Dmitry Rybin <ayrowa@yandex.ru>
---
 cmd/flux/bootstrap.go                             |  4 ++--
 cmd/flux/bootstrap_git.go                         |  3 +--
 cmd/flux/bootstrap_github.go                      |  3 +--
 cmd/flux/bootstrap_gitlab.go                      |  3 +--
 cmd/flux/create_helmrelease.go                    |  4 ++--
 cmd/flux/create_source_bucket.go                  |  3 +--
 cmd/flux/create_source_git.go                     |  3 +--
 cmd/flux/create_source_helm.go                    |  3 +--
 cmd/flux/install.go                               |  3 +--
 internal/bootstrap/bootstrap_plain_git.go         |  3 +--
 internal/utils/utils.go                           |  5 ++---
 internal/utils/utils_test.go                      |  3 +--
 pkg/manifestgen/install/install.go                |  5 ++---
 pkg/manifestgen/install/manifests.go              |  5 ++---
 pkg/manifestgen/kustomization/kustomization.go    |  3 +--
 pkg/manifestgen/manifest.go                       |  3 +--
 pkg/manifestgen/sourcesecret/sourcesecret.go      | 10 +++++-----
 pkg/manifestgen/sourcesecret/sourcesecret_test.go |  9 ++++-----
 18 files changed, 30 insertions(+), 45 deletions(-)

diff --git a/cmd/flux/bootstrap.go b/cmd/flux/bootstrap.go
index 1c1dc1c2..9d7d3161 100644
--- a/cmd/flux/bootstrap.go
+++ b/cmd/flux/bootstrap.go
@@ -19,7 +19,7 @@ package main
 import (
 	"crypto/elliptic"
 	"fmt"
-	"io/ioutil"
+	"os"
 
 	"github.com/spf13/cobra"
 
@@ -145,7 +145,7 @@ func buildEmbeddedManifestBase() (string, error) {
 	if !isEmbeddedVersion(bootstrapArgs.version) {
 		return "", nil
 	}
-	tmpBaseDir, err := ioutil.TempDir("", "flux-manifests-")
+	tmpBaseDir, err := os.MkdirTemp("", "flux-manifests-")
 	if err != nil {
 		return "", err
 	}
diff --git a/cmd/flux/bootstrap_git.go b/cmd/flux/bootstrap_git.go
index 92485f34..1a583a2a 100644
--- a/cmd/flux/bootstrap_git.go
+++ b/cmd/flux/bootstrap_git.go
@@ -19,7 +19,6 @@ package main
 import (
 	"context"
 	"fmt"
-	"io/ioutil"
 	"net/url"
 	"os"
 	"strings"
@@ -118,7 +117,7 @@ func bootstrapGitCmdRun(cmd *cobra.Command, args []string) error {
 	defer os.RemoveAll(manifestsBase)
 
 	// Lazy go-git repository
-	tmpDir, err := ioutil.TempDir("", "flux-bootstrap-")
+	tmpDir, err := os.MkdirTemp("", "flux-bootstrap-")
 	if err != nil {
 		return fmt.Errorf("failed to create temporary working dir: %w", err)
 	}
diff --git a/cmd/flux/bootstrap_github.go b/cmd/flux/bootstrap_github.go
index d5e5a7a2..88a89d52 100644
--- a/cmd/flux/bootstrap_github.go
+++ b/cmd/flux/bootstrap_github.go
@@ -19,7 +19,6 @@ package main
 import (
 	"context"
 	"fmt"
-	"io/ioutil"
 	"os"
 	"time"
 
@@ -146,7 +145,7 @@ func bootstrapGitHubCmdRun(cmd *cobra.Command, args []string) error {
 	}
 
 	// Lazy go-git repository
-	tmpDir, err := ioutil.TempDir("", "flux-bootstrap-")
+	tmpDir, err := os.MkdirTemp("", "flux-bootstrap-")
 	if err != nil {
 		return fmt.Errorf("failed to create temporary working dir: %w", err)
 	}
diff --git a/cmd/flux/bootstrap_gitlab.go b/cmd/flux/bootstrap_gitlab.go
index 02a7f4ec..09bde7f3 100644
--- a/cmd/flux/bootstrap_gitlab.go
+++ b/cmd/flux/bootstrap_gitlab.go
@@ -19,7 +19,6 @@ package main
 import (
 	"context"
 	"fmt"
-	"io/ioutil"
 	"os"
 	"regexp"
 	"strings"
@@ -159,7 +158,7 @@ func bootstrapGitLabCmdRun(cmd *cobra.Command, args []string) error {
 	}
 
 	// Lazy go-git repository
-	tmpDir, err := ioutil.TempDir("", "flux-bootstrap-")
+	tmpDir, err := os.MkdirTemp("", "flux-bootstrap-")
 	if err != nil {
 		return fmt.Errorf("failed to create temporary working dir: %w", err)
 	}
diff --git a/cmd/flux/create_helmrelease.go b/cmd/flux/create_helmrelease.go
index fae63bd3..f3373696 100644
--- a/cmd/flux/create_helmrelease.go
+++ b/cmd/flux/create_helmrelease.go
@@ -20,7 +20,7 @@ import (
 	"context"
 	"encoding/json"
 	"fmt"
-	"io/ioutil"
+	"os"
 
 	"github.com/fluxcd/flux2/internal/flags"
 	"github.com/fluxcd/flux2/internal/utils"
@@ -201,7 +201,7 @@ func createHelmReleaseCmdRun(cmd *cobra.Command, args []string) error {
 	if len(helmReleaseArgs.valuesFiles) > 0 {
 		valuesMap := make(map[string]interface{})
 		for _, v := range helmReleaseArgs.valuesFiles {
-			data, err := ioutil.ReadFile(v)
+			data, err := os.ReadFile(v)
 			if err != nil {
 				return fmt.Errorf("reading values from %s failed: %w", v, err)
 			}
diff --git a/cmd/flux/create_source_bucket.go b/cmd/flux/create_source_bucket.go
index d0b67d43..ea5f3e28 100644
--- a/cmd/flux/create_source_bucket.go
+++ b/cmd/flux/create_source_bucket.go
@@ -19,7 +19,6 @@ package main
 import (
 	"context"
 	"fmt"
-	"io/ioutil"
 	"os"
 
 	"github.com/spf13/cobra"
@@ -112,7 +111,7 @@ func createSourceBucketCmdRun(cmd *cobra.Command, args []string) error {
 		return err
 	}
 
-	tmpDir, err := ioutil.TempDir("", name)
+	tmpDir, err := os.MkdirTemp("", name)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/create_source_git.go b/cmd/flux/create_source_git.go
index e434a1e0..65790c0f 100644
--- a/cmd/flux/create_source_git.go
+++ b/cmd/flux/create_source_git.go
@@ -20,7 +20,6 @@ import (
 	"context"
 	"crypto/elliptic"
 	"fmt"
-	"io/ioutil"
 	"net/url"
 	"os"
 
@@ -178,7 +177,7 @@ func createSourceGitCmdRun(cmd *cobra.Command, args []string) error {
 		return fmt.Errorf("recurse submodules requires --git-implementation=%s", sourcev1.GoGitImplementation)
 	}
 
-	tmpDir, err := ioutil.TempDir("", name)
+	tmpDir, err := os.MkdirTemp("", name)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/create_source_helm.go b/cmd/flux/create_source_helm.go
index 27d48d3c..b2d0b01f 100644
--- a/cmd/flux/create_source_helm.go
+++ b/cmd/flux/create_source_helm.go
@@ -19,7 +19,6 @@ package main
 import (
 	"context"
 	"fmt"
-	"io/ioutil"
 	"net/url"
 	"os"
 
@@ -106,7 +105,7 @@ func createSourceHelmCmdRun(cmd *cobra.Command, args []string) error {
 		return err
 	}
 
-	tmpDir, err := ioutil.TempDir("", name)
+	tmpDir, err := os.MkdirTemp("", name)
 	if err != nil {
 		return err
 	}
diff --git a/cmd/flux/install.go b/cmd/flux/install.go
index ed2d3cf1..436189b8 100644
--- a/cmd/flux/install.go
+++ b/cmd/flux/install.go
@@ -19,7 +19,6 @@ package main
 import (
 	"context"
 	"fmt"
-	"io/ioutil"
 	"os"
 	"path/filepath"
 	"strings"
@@ -132,7 +131,7 @@ func installCmdRun(cmd *cobra.Command, args []string) error {
 		logger.Generatef("generating manifests")
 	}
 
-	tmpDir, err := ioutil.TempDir("", rootArgs.namespace)
+	tmpDir, err := os.MkdirTemp("", rootArgs.namespace)
 	if err != nil {
 		return err
 	}
diff --git a/internal/bootstrap/bootstrap_plain_git.go b/internal/bootstrap/bootstrap_plain_git.go
index c932375d..e0018b89 100644
--- a/internal/bootstrap/bootstrap_plain_git.go
+++ b/internal/bootstrap/bootstrap_plain_git.go
@@ -19,7 +19,6 @@ package bootstrap
 import (
 	"context"
 	"fmt"
-	"io/ioutil"
 	"os"
 	"path/filepath"
 	"strings"
@@ -160,7 +159,7 @@ func (b *PlainGitBootstrapper) ReconcileComponents(ctx context.Context, manifest
 		// Apply components using any existing customisations
 		kfile := filepath.Join(filepath.Dir(componentsYAML), konfig.DefaultKustomizationFileName())
 		if _, err := os.Stat(kfile); err == nil {
-			tmpDir, err := ioutil.TempDir("", "gotk-crds")
+			tmpDir, err := os.MkdirTemp("", "gotk-crds")
 			defer os.RemoveAll(tmpDir)
 
 			// Extract the CRDs from the components manifest
diff --git a/internal/utils/utils.go b/internal/utils/utils.go
index 2299562a..50b903fa 100644
--- a/internal/utils/utils.go
+++ b/internal/utils/utils.go
@@ -21,7 +21,6 @@ import (
 	"context"
 	"fmt"
 	"io"
-	"io/ioutil"
 	"os"
 	"os/exec"
 	"path/filepath"
@@ -304,7 +303,7 @@ func CompatibleVersion(binary, target string) bool {
 }
 
 func ExtractCRDs(inManifestPath, outManifestPath string) error {
-	manifests, err := ioutil.ReadFile(inManifestPath)
+	manifests, err := os.ReadFile(inManifestPath)
 	if err != nil {
 		return err
 	}
@@ -338,5 +337,5 @@ func ExtractCRDs(inManifestPath, outManifestPath string) error {
 		return fmt.Errorf("no CRDs found in %s", inManifestPath)
 	}
 
-	return ioutil.WriteFile(outManifestPath, []byte(crds), os.ModePerm)
+	return os.WriteFile(outManifestPath, []byte(crds), os.ModePerm)
 }
diff --git a/internal/utils/utils_test.go b/internal/utils/utils_test.go
index f316e8cd..59ec97ae 100644
--- a/internal/utils/utils_test.go
+++ b/internal/utils/utils_test.go
@@ -17,7 +17,6 @@ limitations under the License.
 package utils
 
 import (
-	"io/ioutil"
 	"os"
 	"path/filepath"
 	"reflect"
@@ -134,7 +133,7 @@ func TestExtractCRDs(t *testing.T) {
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
 			// Create temporary directory to write the result in.
-			dir, err := ioutil.TempDir("", "flux-TestExtractCRDs")
+			dir, err := os.MkdirTemp("", "flux-TestExtractCRDs")
 			if err != nil {
 				t.Fatalf("failed to create temporary directory: %v", err)
 			}
diff --git a/pkg/manifestgen/install/install.go b/pkg/manifestgen/install/install.go
index e1b84037..373b19e4 100644
--- a/pkg/manifestgen/install/install.go
+++ b/pkg/manifestgen/install/install.go
@@ -20,7 +20,6 @@ import (
 	"context"
 	"encoding/json"
 	"fmt"
-	"io/ioutil"
 	"net/http"
 	"os"
 	"path"
@@ -55,7 +54,7 @@ func Generate(options Options, manifestsBase string) (*manifestgen.Manifest, err
 	} else {
 		// download the manifests base from GitHub
 		if manifestsBase == "" {
-			manifestsBase, err = ioutil.TempDir("", options.Namespace)
+			manifestsBase, err = os.MkdirTemp("", options.Namespace)
 			if err != nil {
 				return nil, fmt.Errorf("temp dir error: %w", err)
 			}
@@ -78,7 +77,7 @@ func Generate(options Options, manifestsBase string) (*manifestgen.Manifest, err
 		}
 	}
 
-	content, err := ioutil.ReadFile(output)
+	content, err := os.ReadFile(output)
 	if err != nil {
 		return nil, err
 	}
diff --git a/pkg/manifestgen/install/manifests.go b/pkg/manifestgen/install/manifests.go
index c1e2c62d..a864d8c9 100644
--- a/pkg/manifestgen/install/manifests.go
+++ b/pkg/manifestgen/install/manifests.go
@@ -20,7 +20,6 @@ import (
 	"bytes"
 	"context"
 	"fmt"
-	"io/ioutil"
 	"net/http"
 	"os"
 	"path"
@@ -103,12 +102,12 @@ func generate(base string, options Options) error {
 	// workaround for kustomize not being able to patch the SA in ClusterRoleBindings
 	defaultNS := MakeDefaultOptions().Namespace
 	if defaultNS != options.Namespace {
-		rbac, err := ioutil.ReadFile(rbacFile)
+		rbac, err := os.ReadFile(rbacFile)
 		if err != nil {
 			return fmt.Errorf("reading rbac file failed: %w", err)
 		}
 		rbac = bytes.ReplaceAll(rbac, []byte(defaultNS), []byte(options.Namespace))
-		if err := ioutil.WriteFile(rbacFile, rbac, os.ModePerm); err != nil {
+		if err := os.WriteFile(rbacFile, rbac, os.ModePerm); err != nil {
 			return fmt.Errorf("replacing service account namespace in rbac failed: %w", err)
 		}
 	}
diff --git a/pkg/manifestgen/kustomization/kustomization.go b/pkg/manifestgen/kustomization/kustomization.go
index 79506c06..bdce9fb2 100644
--- a/pkg/manifestgen/kustomization/kustomization.go
+++ b/pkg/manifestgen/kustomization/kustomization.go
@@ -17,7 +17,6 @@ limitations under the License.
 package kustomization
 
 import (
-	"io/ioutil"
 	"os"
 	"path/filepath"
 
@@ -113,7 +112,7 @@ func Generate(options Options) (*manifestgen.Manifest, error) {
 		}, nil
 	}
 
-	kd, err := ioutil.ReadFile(abskfile)
+	kd, err := os.ReadFile(abskfile)
 	if err != nil {
 		return nil, err
 	}
diff --git a/pkg/manifestgen/manifest.go b/pkg/manifestgen/manifest.go
index 114c10a3..9509e0b1 100644
--- a/pkg/manifestgen/manifest.go
+++ b/pkg/manifestgen/manifest.go
@@ -18,7 +18,6 @@ package manifestgen
 
 import (
 	"fmt"
-	"io/ioutil"
 	"os"
 	"path/filepath"
 
@@ -46,7 +45,7 @@ func (m *Manifest) WriteFile(rootDir string) (string, error) {
 		return "", fmt.Errorf("unable to create dir, error: %w", err)
 	}
 
-	if err := ioutil.WriteFile(output, []byte(m.Content), os.ModePerm); err != nil {
+	if err := os.WriteFile(output, []byte(m.Content), os.ModePerm); err != nil {
 		return "", fmt.Errorf("unable to write file, error: %w", err)
 	}
 	return output, nil
diff --git a/pkg/manifestgen/sourcesecret/sourcesecret.go b/pkg/manifestgen/sourcesecret/sourcesecret.go
index 8d7fb865..91effffd 100644
--- a/pkg/manifestgen/sourcesecret/sourcesecret.go
+++ b/pkg/manifestgen/sourcesecret/sourcesecret.go
@@ -19,8 +19,8 @@ package sourcesecret
 import (
 	"bytes"
 	"fmt"
-	"io/ioutil"
 	"net"
+	"os"
 	"path"
 	"time"
 
@@ -62,17 +62,17 @@ func Generate(options Options) (*manifestgen.Manifest, error) {
 
 	var caFile []byte
 	if options.CAFilePath != "" {
-		if caFile, err = ioutil.ReadFile(options.CAFilePath); err != nil {
+		if caFile, err = os.ReadFile(options.CAFilePath); err != nil {
 			return nil, fmt.Errorf("failed to read CA file: %w", err)
 		}
 	}
 
 	var certFile, keyFile []byte
 	if options.CertFilePath != "" && options.KeyFilePath != "" {
-		if certFile, err = ioutil.ReadFile(options.CertFilePath); err != nil {
+		if certFile, err = os.ReadFile(options.CertFilePath); err != nil {
 			return nil, fmt.Errorf("failed to read cert file: %w", err)
 		}
-		if keyFile, err = ioutil.ReadFile(options.KeyFilePath); err != nil {
+		if keyFile, err = os.ReadFile(options.KeyFilePath); err != nil {
 			return nil, fmt.Errorf("failed to read key file: %w", err)
 		}
 	}
@@ -129,7 +129,7 @@ func buildSecret(keypair *ssh.KeyPair, hostKey, caFile, certFile, keyFile []byte
 }
 
 func loadKeyPair(path string, password string) (*ssh.KeyPair, error) {
-	b, err := ioutil.ReadFile(path)
+	b, err := os.ReadFile(path)
 	if err != nil {
 		return nil, fmt.Errorf("failed to open private key file: %w", err)
 	}
diff --git a/pkg/manifestgen/sourcesecret/sourcesecret_test.go b/pkg/manifestgen/sourcesecret/sourcesecret_test.go
index 618b86cf..24ab8057 100644
--- a/pkg/manifestgen/sourcesecret/sourcesecret_test.go
+++ b/pkg/manifestgen/sourcesecret/sourcesecret_test.go
@@ -17,7 +17,6 @@ limitations under the License.
 package sourcesecret
 
 import (
-	"io/ioutil"
 	"os"
 	"reflect"
 	"testing"
@@ -43,8 +42,8 @@ func Test_passwordLoadKeyPair(t *testing.T) {
 
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
-			pk, _ := ioutil.ReadFile(tt.privateKeyPath)
-			ppk, _ := ioutil.ReadFile(tt.publicKeyPath)
+			pk, _ := os.ReadFile(tt.privateKeyPath)
+			ppk, _ := os.ReadFile(tt.publicKeyPath)
 
 			got, err := loadKeyPair(tt.privateKeyPath, tt.password)
 			if err != nil {
@@ -65,7 +64,7 @@ func Test_passwordLoadKeyPair(t *testing.T) {
 func Test_PasswordlessLoadKeyPair(t *testing.T) {
 	for algo, privateKey := range testdata.PEMBytes {
 		t.Run(algo, func(t *testing.T) {
-			f, err := ioutil.TempFile("", "test-private-key-")
+			f, err := os.CreateTemp("", "test-private-key-")
 			if err != nil {
 				t.Fatalf("unable to create temporary file. err: %s", err)
 			}
@@ -81,7 +80,7 @@ func Test_PasswordlessLoadKeyPair(t *testing.T) {
 				return
 			}
 
-			pk, _ := ioutil.ReadFile(f.Name())
+			pk, _ := os.ReadFile(f.Name())
 			if !reflect.DeepEqual(got.PrivateKey, pk) {
 				t.Errorf("PrivateKey %s != %s", got.PrivateKey, string(privateKey))
 			}
-- 
GitLab