Merge pull request #7454 from rikatz/update-mods

Update go version, modules and remove ioutil
This commit is contained in:
Ricardo Katz 2021-08-06 17:13:33 -03:00 committed by GitHub
commit 9c22ba93b2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
31 changed files with 576 additions and 288 deletions

View file

@ -65,11 +65,11 @@ jobs:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
- name: Set up Go 1.15 - name: Set up Go 1.16
id: go id: go
uses: actions/setup-go@v2 uses: actions/setup-go@v2
with: with:
go-version: 1.15 go-version: 1.16
- name: Set up Docker Buildx - name: Set up Docker Buildx
id: buildx id: buildx

1
.gitignore vendored
View file

@ -46,6 +46,7 @@ test/e2e/e2e\.test
bin bin
test/e2e-image/wait-for-nginx.sh test/e2e-image/wait-for-nginx.sh
.cache .cache
.modcache
cover.out cover.out
# secret terraform variables # secret terraform variables

View file

@ -37,7 +37,7 @@ function cleanup {
} }
trap cleanup EXIT trap cleanup EXIT
E2E_IMAGE=${E2E_IMAGE:-k8s.gcr.io/ingress-nginx/e2e-test-runner:v20210601-g96a87c79b@sha256:f84dcddc84e5cba220260f315e18cd47fc8c6b7f3f4f57b7b3e9cc2ea25324b7} E2E_IMAGE=${E2E_IMAGE:-k8s.gcr.io/ingress-nginx/e2e-test-runner:v20210806-g26768e957@sha256:0f3c0d0bda953aa7f1164c452cc0165ce8a0c72469b550988a9601c539f61608}
DOCKER_OPTS=${DOCKER_OPTS:-} DOCKER_OPTS=${DOCKER_OPTS:-}
DOCKER_IN_DOCKER_ENABLED=${DOCKER_IN_DOCKER_ENABLED:-} DOCKER_IN_DOCKER_ENABLED=${DOCKER_IN_DOCKER_ENABLED:-}
@ -63,6 +63,7 @@ else
--rm \ --rm \
${DOCKER_OPTS} \ ${DOCKER_OPTS} \
-e GOCACHE="/go/src/${PKG}/.cache" \ -e GOCACHE="/go/src/${PKG}/.cache" \
-e GOMODCACHE="/go/src/${PKG}/.modcache" \
-e DOCKER_IN_DOCKER_ENABLED="true" \ -e DOCKER_IN_DOCKER_ENABLED="true" \
-v "${HOME}/.kube:${HOME}/.kube" \ -v "${HOME}/.kube:${HOME}/.kube" \
-v "${KUBE_ROOT}:/go/src/${PKG}" \ -v "${KUBE_ROOT}:/go/src/${PKG}" \

60
go.mod
View file

@ -1,49 +1,47 @@
module k8s.io/ingress-nginx module k8s.io/ingress-nginx
go 1.15 go 1.16
require ( require (
github.com/armon/go-proxyproto v0.0.0-20200108142055-f0b8253b1507 github.com/armon/go-proxyproto v0.0.0-20210323213023-7e956b284f0a
github.com/eapache/channels v1.1.0 github.com/eapache/channels v1.1.0
github.com/fsnotify/fsnotify v1.4.9 github.com/fsnotify/fsnotify v1.4.9
github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa // indirect github.com/gavv/httpexpect/v2 v2.3.1
github.com/gavv/httpexpect/v2 v2.1.0 github.com/imdario/mergo v0.3.12
github.com/imdario/mergo v0.3.10 github.com/json-iterator/go v1.1.11
github.com/json-iterator/go v1.1.10
github.com/kylelemons/godebug v1.1.0 github.com/kylelemons/godebug v1.1.0
github.com/mitchellh/copystructure v1.0.0
github.com/mitchellh/go-ps v1.0.0 github.com/mitchellh/go-ps v1.0.0
github.com/mitchellh/hashstructure v1.0.0 github.com/mitchellh/hashstructure v1.1.0
github.com/mitchellh/mapstructure v1.3.2 github.com/mitchellh/mapstructure v1.4.1
github.com/moul/pb v0.0.0-20180404114147-54bdd96e6a52 github.com/moul/pb v0.0.0-20180404114147-54bdd96e6a52
github.com/ncabatoff/process-exporter v0.7.2 github.com/ncabatoff/process-exporter v0.7.5
github.com/onsi/ginkgo v1.16.4 github.com/onsi/ginkgo v1.16.4
github.com/opencontainers/runc v1.0.0-rc92 github.com/opencontainers/runc v1.0.1
github.com/pkg/errors v0.9.1 github.com/pkg/errors v0.9.1
github.com/pmezard/go-difflib v1.0.0 github.com/pmezard/go-difflib v1.0.0
github.com/prometheus/client_golang v1.7.1 github.com/prometheus/client_golang v1.11.0
github.com/prometheus/client_model v0.2.0 github.com/prometheus/client_model v0.2.0
github.com/prometheus/common v0.14.0 github.com/prometheus/common v0.30.0
github.com/spf13/cobra v1.1.1 github.com/spf13/cobra v1.2.1
github.com/spf13/pflag v1.0.5 github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.6.1 github.com/stretchr/testify v1.7.0
github.com/tallclair/mdtoc v1.0.0 github.com/zakjan/cert-chain-resolver v0.0.0-20210427055340-87e10242a981
github.com/zakjan/cert-chain-resolver v0.0.0-20200729110141-6b99e360f97a golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97
golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0 golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b google.golang.org/grpc v1.38.0
google.golang.org/grpc v1.27.1
gopkg.in/go-playground/assert.v1 v1.2.1 // indirect gopkg.in/go-playground/assert.v1 v1.2.1 // indirect
gopkg.in/go-playground/pool.v3 v3.1.1 gopkg.in/go-playground/pool.v3 v3.1.1
k8s.io/api v0.20.2 k8s.io/api v0.21.3
k8s.io/apiextensions-apiserver v0.20.2 k8s.io/apiextensions-apiserver v0.21.3
k8s.io/apimachinery v0.20.2 k8s.io/apimachinery v0.21.3
k8s.io/apiserver v0.20.2 k8s.io/apiserver v0.21.3
k8s.io/cli-runtime v0.20.2 k8s.io/cli-runtime v0.21.3
k8s.io/client-go v0.20.2 k8s.io/client-go v0.21.3
k8s.io/code-generator v0.20.2 k8s.io/code-generator v0.21.3
k8s.io/component-base v0.20.2 k8s.io/component-base v0.21.3
k8s.io/klog/v2 v2.4.0 k8s.io/klog/v2 v2.10.0
k8s.io/utils v0.0.0-20201110183641-67b214c5f920 k8s.io/utils v0.0.0-20210802155522-efc7438f0176
pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732 pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732
sigs.k8s.io/controller-runtime v0.8.0 sigs.k8s.io/controller-runtime v0.9.5
sigs.k8s.io/mdtoc v1.0.1
) )

635
go.sum

File diff suppressed because it is too large Load diff

View file

@ -21,6 +21,6 @@ limitations under the License.
package tools package tools
import ( import (
_ "github.com/tallclair/mdtoc"
_ "k8s.io/code-generator" _ "k8s.io/code-generator"
_ "sigs.k8s.io/mdtoc"
) )

View file

@ -17,7 +17,7 @@ limitations under the License.
package controller package controller
import ( import (
"io/ioutil" "io"
"net/http" "net/http"
admissionv1 "k8s.io/api/admission/v1" admissionv1 "k8s.io/api/admission/v1"
@ -61,7 +61,7 @@ func NewAdmissionControllerServer(ac AdmissionController) *AdmissionControllerSe
func (acs *AdmissionControllerServer) ServeHTTP(w http.ResponseWriter, req *http.Request) { func (acs *AdmissionControllerServer) ServeHTTP(w http.ResponseWriter, req *http.Request) {
defer req.Body.Close() defer req.Body.Close()
data, err := ioutil.ReadAll(req.Body) data, err := io.ReadAll(req.Body)
if err != nil { if err != nil {
klog.ErrorS(err, "Failed to read request body") klog.ErrorS(err, "Failed to read request body")
w.WriteHeader(http.StatusBadRequest) w.WriteHeader(http.StatusBadRequest)

View file

@ -19,7 +19,7 @@ package file
import ( import (
"crypto/sha1" // #nosec "crypto/sha1" // #nosec
"encoding/hex" "encoding/hex"
"io/ioutil" "os"
"k8s.io/klog/v2" "k8s.io/klog/v2"
) )
@ -27,7 +27,7 @@ import (
// SHA1 returns the SHA1 of a file. // SHA1 returns the SHA1 of a file.
func SHA1(filename string) string { func SHA1(filename string) string {
hasher := sha1.New() // #nosec hasher := sha1.New() // #nosec
s, err := ioutil.ReadFile(filename) s, err := os.ReadFile(filename)
if err != nil { if err != nil {
klog.ErrorS(err, "Error reading file", "path", filename) klog.ErrorS(err, "Error reading file", "path", filename)
return "" return ""

View file

@ -17,7 +17,7 @@ limitations under the License.
package file package file
import ( import (
"io/ioutil" "os"
"testing" "testing"
) )
@ -31,7 +31,7 @@ func TestSHA1(t *testing.T) {
} }
for _, test := range tests { for _, test := range tests {
f, err := ioutil.TempFile("", "sha-test") f, err := os.CreateTemp("", "sha-test")
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }

View file

@ -18,7 +18,7 @@ package auth
import ( import (
"fmt" "fmt"
"io/ioutil" "os"
"regexp" "regexp"
"strings" "strings"
@ -183,7 +183,7 @@ func dumpSecretAuthFile(filename string, secret *api.Secret) error {
} }
} }
err := ioutil.WriteFile(filename, val, file.ReadWriteByUser) err := os.WriteFile(filename, val, file.ReadWriteByUser)
if err != nil { if err != nil {
return ing_errors.LocationDenied{ return ing_errors.LocationDenied{
Reason: errors.Wrap(err, "unexpected error creating password file"), Reason: errors.Wrap(err, "unexpected error creating password file"),
@ -202,7 +202,7 @@ func dumpSecretAuthMap(filename string, secret *api.Secret) error {
builder.WriteString("\n") builder.WriteString("\n")
} }
err := ioutil.WriteFile(filename, []byte(builder.String()), file.ReadWriteByUser) err := os.WriteFile(filename, []byte(builder.String()), file.ReadWriteByUser)
if err != nil { if err != nil {
return ing_errors.LocationDenied{ return ing_errors.LocationDenied{
Reason: errors.Wrap(err, "unexpected error creating password file"), Reason: errors.Wrap(err, "unexpected error creating password file"),

View file

@ -18,7 +18,6 @@ package auth
import ( import (
"fmt" "fmt"
"io/ioutil"
"os" "os"
"testing" "testing"
"time" "time"
@ -202,12 +201,12 @@ func TestIngressAuthInvalidSecretKey(t *testing.T) {
} }
func dummySecretContent(t *testing.T) (string, string, *api.Secret) { func dummySecretContent(t *testing.T) (string, string, *api.Secret) {
dir, err := ioutil.TempDir("", fmt.Sprintf("%v", time.Now().Unix())) dir, err := os.MkdirTemp("", fmt.Sprintf("%v", time.Now().Unix()))
if err != nil { if err != nil {
t.Error(err) t.Error(err)
} }
tmpfile, err := ioutil.TempFile("", "example-") tmpfile, err := os.CreateTemp("", "example-")
if err != nil { if err != nil {
t.Error(err) t.Error(err)
} }

View file

@ -18,8 +18,8 @@ package controller
import ( import (
"fmt" "fmt"
"io/ioutil"
"net/http" "net/http"
"os"
"strconv" "strconv"
"strings" "strings"
@ -46,7 +46,7 @@ func (n *NGINXController) Check(_ *http.Request) error {
return errors.Wrap(err, "reading /proc directory") return errors.Wrap(err, "reading /proc directory")
} }
f, err := ioutil.ReadFile(nginx.PID) f, err := os.ReadFile(nginx.PID)
if err != nil { if err != nil {
return errors.Wrapf(err, "reading %v", nginx.PID) return errors.Wrapf(err, "reading %v", nginx.PID)
} }

View file

@ -22,7 +22,7 @@ import (
"crypto/x509/pkix" "crypto/x509/pkix"
"encoding/asn1" "encoding/asn1"
"fmt" "fmt"
"io/ioutil" "io"
"os" "os"
"os/exec" "os/exec"
"path/filepath" "path/filepath"
@ -123,7 +123,7 @@ func (ntc testNginxTestCommand) Test(cfg string) ([]byte, error) {
return nil, err return nil, err
} }
defer fd.Close() defer fd.Close()
bytes, err := ioutil.ReadAll(fd) bytes, err := io.ReadAll(fd)
if err != nil { if err != nil {
ntc.t.Errorf("could not read generated nginx configuration: %v", err.Error()) ntc.t.Errorf("could not read generated nginx configuration: %v", err.Error())
} }

View file

@ -22,7 +22,6 @@ import (
"encoding/json" "encoding/json"
"errors" "errors"
"fmt" "fmt"
"io/ioutil"
"net" "net"
"net/http" "net/http"
"os" "os"
@ -616,12 +615,12 @@ func (n NGINXController) testTemplate(cfg []byte) error {
if len(cfg) == 0 { if len(cfg) == 0 {
return fmt.Errorf("invalid NGINX configuration (empty)") return fmt.Errorf("invalid NGINX configuration (empty)")
} }
tmpfile, err := ioutil.TempFile("", tempNginxPattern) tmpfile, err := os.CreateTemp("", tempNginxPattern)
if err != nil { if err != nil {
return err return err
} }
defer tmpfile.Close() defer tmpfile.Close()
err = ioutil.WriteFile(tmpfile.Name(), cfg, file.ReadWriteByUser) err = os.WriteFile(tmpfile.Name(), cfg, file.ReadWriteByUser)
if err != nil { if err != nil {
return err return err
} }
@ -666,14 +665,14 @@ func (n *NGINXController) OnUpdate(ingressCfg ingress.Configuration) error {
} }
if klog.V(2).Enabled() { if klog.V(2).Enabled() {
src, _ := ioutil.ReadFile(cfgPath) src, _ := os.ReadFile(cfgPath)
if !bytes.Equal(src, content) { if !bytes.Equal(src, content) {
tmpfile, err := ioutil.TempFile("", "new-nginx-cfg") tmpfile, err := os.CreateTemp("", "new-nginx-cfg")
if err != nil { if err != nil {
return err return err
} }
defer tmpfile.Close() defer tmpfile.Close()
err = ioutil.WriteFile(tmpfile.Name(), content, file.ReadWriteByUser) err = os.WriteFile(tmpfile.Name(), content, file.ReadWriteByUser)
if err != nil { if err != nil {
return err return err
} }
@ -696,7 +695,7 @@ func (n *NGINXController) OnUpdate(ingressCfg ingress.Configuration) error {
} }
} }
err = ioutil.WriteFile(cfgPath, content, file.ReadWriteByUser) err = os.WriteFile(cfgPath, content, file.ReadWriteByUser)
if err != nil { if err != nil {
return err return err
} }
@ -1093,7 +1092,7 @@ func createOpentracingCfg(cfg ngx_config.Configuration) error {
// Expand possible environment variables before writing the configuration to file. // Expand possible environment variables before writing the configuration to file.
expanded := os.ExpandEnv(tmplBuf.String()) expanded := os.ExpandEnv(tmplBuf.String())
return ioutil.WriteFile("/etc/nginx/opentracing.json", []byte(expanded), file.ReadWriteByUser) return os.WriteFile("/etc/nginx/opentracing.json", []byte(expanded), file.ReadWriteByUser)
} }
func cleanTempNginxCfg() error { func cleanTempNginxCfg() error {

View file

@ -19,7 +19,6 @@ package controller
import ( import (
"fmt" "fmt"
"io" "io"
"io/ioutil"
"net" "net"
"net/http" "net/http"
"net/http/httptest" "net/http/httptest"
@ -179,7 +178,7 @@ func TestConfigureDynamically(t *testing.T) {
t.Errorf("expected a 'POST' request, got '%s'", r.Method) t.Errorf("expected a 'POST' request, got '%s'", r.Method)
} }
b, err := ioutil.ReadAll(r.Body) b, err := io.ReadAll(r.Body)
if err != nil && err != io.EOF { if err != nil && err != io.EOF {
t.Fatal(err) t.Fatal(err)
} }
@ -339,7 +338,7 @@ func TestConfigureCertificates(t *testing.T) {
t.Errorf("expected a 'POST' request, got '%s'", r.Method) t.Errorf("expected a 'POST' request, got '%s'", r.Method)
} }
b, err := ioutil.ReadAll(r.Body) b, err := io.ReadAll(r.Body)
if err != nil && err != io.EOF { if err != nil && err != io.EOF {
t.Fatal(err) t.Fatal(err)
} }
@ -478,7 +477,7 @@ func TestCleanTempNginxCfg(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
tmpfile, err := ioutil.TempFile("", tempNginxPattern) tmpfile, err := os.CreateTemp("", tempNginxPattern)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -495,7 +494,7 @@ func TestCleanTempNginxCfg(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
tmpfile, err = ioutil.TempFile("", tempNginxPattern) tmpfile, err = os.CreateTemp("", tempNginxPattern)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }

View file

@ -20,7 +20,7 @@ import (
"context" "context"
"encoding/base64" "encoding/base64"
"fmt" "fmt"
"io/ioutil" "os"
"reflect" "reflect"
"sort" "sort"
"sync" "sync"
@ -851,7 +851,7 @@ func (s *k8sStore) writeSSLSessionTicketKey(cmap *corev1.ConfigMap, fileName str
return return
} }
err = ioutil.WriteFile(fileName, decodedTicket, file.ReadWriteByUser) err = os.WriteFile(fileName, decodedTicket, file.ReadWriteByUser)
if err != nil { if err != nil {
klog.Errorf("unexpected error writing ssl-session-ticket-key to %s: %v", fileName, err) klog.Errorf("unexpected error writing ssl-session-ticket-key to %s: %v", fileName, err)
return return

View file

@ -20,7 +20,6 @@ import (
"context" "context"
"encoding/base64" "encoding/base64"
"fmt" "fmt"
"io/ioutil"
"os" "os"
"sync" "sync"
"sync/atomic" "sync/atomic"
@ -959,14 +958,14 @@ func TestWriteSSLSessionTicketKey(t *testing.T) {
}, },
} }
f, err := ioutil.TempFile("", "ssl-session-ticket-test") f, err := os.CreateTemp("", "ssl-session-ticket-test")
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
s.writeSSLSessionTicketKey(cmap, f.Name()) s.writeSSLSessionTicketKey(cmap, f.Name())
content, err := ioutil.ReadFile(f.Name()) content, err := os.ReadFile(f.Name())
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }

View file

@ -24,7 +24,6 @@ import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"io" "io"
"io/ioutil"
"math/rand" // #nosec "math/rand" // #nosec
"net" "net"
"net/url" "net/url"
@ -76,7 +75,7 @@ type Template struct {
//NewTemplate returns a new Template instance or an //NewTemplate returns a new Template instance or an
//error if the specified template file contains errors //error if the specified template file contains errors
func NewTemplate(file string) (*Template, error) { func NewTemplate(file string) (*Template, error) {
data, err := ioutil.ReadFile(file) data, err := os.ReadFile(file)
if err != nil { if err != nil {
return nil, errors.Wrapf(err, "unexpected error reading template %v", file) return nil, errors.Wrapf(err, "unexpected error reading template %v", file)
} }

View file

@ -20,7 +20,6 @@ import (
"bytes" "bytes"
"encoding/base64" "encoding/base64"
"fmt" "fmt"
"io/ioutil"
"net" "net"
"os" "os"
"path" "path"
@ -538,7 +537,7 @@ func TestTemplateWithData(t *testing.T) {
t.Errorf("unexpected error reading json file: %v", err) t.Errorf("unexpected error reading json file: %v", err)
} }
defer f.Close() defer f.Close()
data, err := ioutil.ReadFile(f.Name()) data, err := os.ReadFile(f.Name())
if err != nil { if err != nil {
t.Error("unexpected error reading json file: ", err) t.Error("unexpected error reading json file: ", err)
} }
@ -582,7 +581,7 @@ func BenchmarkTemplateWithData(b *testing.B) {
b.Errorf("unexpected error reading json file: %v", err) b.Errorf("unexpected error reading json file: %v", err)
} }
defer f.Close() defer f.Close()
data, err := ioutil.ReadFile(f.Name()) data, err := os.ReadFile(f.Name())
if err != nil { if err != nil {
b.Error("unexpected error reading json file: ", err) b.Error("unexpected error reading json file: ", err)
} }
@ -1657,7 +1656,7 @@ func TestCleanConf(t *testing.T) {
} }
actual := &bytes.Buffer{} actual := &bytes.Buffer{}
{ {
data, err := ioutil.ReadFile(testDataDir + "/cleanConf.src.conf") data, err := os.ReadFile(testDataDir + "/cleanConf.src.conf")
if err != nil { if err != nil {
t.Error("unexpected error reading conf file: ", err) t.Error("unexpected error reading conf file: ", err)
} }
@ -1668,7 +1667,7 @@ func TestCleanConf(t *testing.T) {
} }
} }
expected, err := ioutil.ReadFile(testDataDir + "/cleanConf.expected.conf") expected, err := os.ReadFile(testDataDir + "/cleanConf.expected.conf")
if err != nil { if err != nil {
t.Error("unexpected error reading conf file: ", err) t.Error("unexpected error reading conf file: ", err)
} }

View file

@ -18,7 +18,6 @@ package controller
import ( import (
"fmt" "fmt"
"io/ioutil"
"os" "os"
"os/exec" "os/exec"
"path" "path"
@ -123,7 +122,7 @@ func (nc NginxCommand) Test(cfg string) ([]byte, error) {
// getSysctl returns the value for the specified sysctl setting // getSysctl returns the value for the specified sysctl setting
func getSysctl(sysctl string) (int, error) { func getSysctl(sysctl string) (int, error) {
data, err := ioutil.ReadFile(path.Join("/proc/sys", sysctl)) data, err := os.ReadFile(path.Join("/proc/sys", sysctl))
if err != nil { if err != nil {
return -1, err return -1, err
} }

View file

@ -19,7 +19,6 @@ package collectors
import ( import (
"fmt" "fmt"
"io" "io"
"io/ioutil"
"net" "net"
"os" "os"
"syscall" "syscall"
@ -442,7 +441,7 @@ func (sc *SocketCollector) SetHosts(hosts sets.String) {
// handleMessages process the content received in a network connection // handleMessages process the content received in a network connection
func handleMessages(conn io.ReadCloser, fn func([]byte)) { func handleMessages(conn io.ReadCloser, fn func([]byte)) {
defer conn.Close() defer conn.Close()
data, err := ioutil.ReadAll(conn) data, err := io.ReadAll(conn)
if err != nil { if err != nil {
return return
} }

View file

@ -17,8 +17,8 @@ limitations under the License.
package dns package dns
import ( import (
"io/ioutil"
"net" "net"
"os"
"strings" "strings"
"k8s.io/klog/v2" "k8s.io/klog/v2"
@ -29,7 +29,7 @@ var defResolvConf = "/etc/resolv.conf"
// GetSystemNameServers returns the list of nameservers located in the file /etc/resolv.conf // GetSystemNameServers returns the list of nameservers located in the file /etc/resolv.conf
func GetSystemNameServers() ([]net.IP, error) { func GetSystemNameServers() ([]net.IP, error) {
var nameservers []net.IP var nameservers []net.IP
file, err := ioutil.ReadFile(defResolvConf) file, err := os.ReadFile(defResolvConf)
if err != nil { if err != nil {
return nameservers, err return nameservers, err
} }

View file

@ -17,7 +17,6 @@ limitations under the License.
package dns package dns
import ( import (
"io/ioutil"
"net" "net"
"os" "os"
"testing" "testing"
@ -34,14 +33,14 @@ func TestGetDNSServers(t *testing.T) {
t.Error("expected at least 1 nameserver in /etc/resolv.conf") t.Error("expected at least 1 nameserver in /etc/resolv.conf")
} }
f, err := ioutil.TempFile("", "fw") f, err := os.CreateTemp("", "fw")
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
defer f.Close() defer f.Close()
defer os.Remove(f.Name()) defer os.Remove(f.Name())
ioutil.WriteFile(f.Name(), []byte(` os.WriteFile(f.Name(), []byte(`
# comment # comment
; comment ; comment
nameserver 2001:4860:4860::8844 nameserver 2001:4860:4860::8844

View file

@ -29,7 +29,6 @@ import (
"encoding/pem" "encoding/pem"
"errors" "errors"
"fmt" "fmt"
"io/ioutil"
"math/big" "math/big"
"net" "net"
"os" "os"
@ -181,7 +180,7 @@ func CheckCACert(caBytes []byte) ([]*x509.Certificate, error) {
func StoreSSLCertOnDisk(name string, sslCert *ingress.SSLCert) (string, error) { func StoreSSLCertOnDisk(name string, sslCert *ingress.SSLCert) (string, error) {
pemFileName, _ := getPemFileName(name) pemFileName, _ := getPemFileName(name)
err := ioutil.WriteFile(pemFileName, []byte(sslCert.PemCertKey), file.ReadWriteByUser) err := os.WriteFile(pemFileName, []byte(sslCert.PemCertKey), file.ReadWriteByUser)
if err != nil { if err != nil {
return "", fmt.Errorf("could not create PEM certificate file %v: %v", pemFileName, err) return "", fmt.Errorf("could not create PEM certificate file %v: %v", pemFileName, err)
} }
@ -209,7 +208,7 @@ func ConfigureCACertWithCertAndKey(name string, ca []byte, sslCert *ingress.SSLC
return fmt.Errorf("could not write ca data to cert file %v: %v", sslCert.CAFileName, err) return fmt.Errorf("could not write ca data to cert file %v: %v", sslCert.CAFileName, err)
} }
return ioutil.WriteFile(sslCert.CAFileName, buffer.Bytes(), 0644) return os.WriteFile(sslCert.CAFileName, buffer.Bytes(), 0644)
} }
// ConfigureCRL creates a CRL file and append it into the SSLCert // ConfigureCRL creates a CRL file and append it into the SSLCert
@ -232,7 +231,7 @@ func ConfigureCRL(name string, crl []byte, sslCert *ingress.SSLCert) error {
return fmt.Errorf(err.Error()) return fmt.Errorf(err.Error())
} }
err = ioutil.WriteFile(crlFileName, crl, 0644) err = os.WriteFile(crlFileName, crl, 0644)
if err != nil { if err != nil {
return fmt.Errorf("could not write CRL file %v: %v", crlFileName, err) return fmt.Errorf("could not write CRL file %v: %v", crlFileName, err)
} }
@ -250,7 +249,7 @@ func ConfigureCACert(name string, ca []byte, sslCert *ingress.SSLCert) error {
caName := fmt.Sprintf("ca-%v.pem", name) caName := fmt.Sprintf("ca-%v.pem", name)
fileName := fmt.Sprintf("%v/%v", file.DefaultSSLDirectory, caName) fileName := fmt.Sprintf("%v/%v", file.DefaultSSLDirectory, caName)
err := ioutil.WriteFile(fileName, ca, 0644) err := os.WriteFile(fileName, ca, 0644)
if err != nil { if err != nil {
return fmt.Errorf("could not write CA file %v: %v", fileName, err) return fmt.Errorf("could not write CA file %v: %v", fileName, err)
} }
@ -332,7 +331,7 @@ func parseSANExtension(value []byte) (dnsNames, emailAddresses []string, ipAddre
func AddOrUpdateDHParam(name string, dh []byte) (string, error) { func AddOrUpdateDHParam(name string, dh []byte) (string, error) {
pemFileName, pemName := getPemFileName(name) pemFileName, pemName := getPemFileName(name)
tempPemFile, err := ioutil.TempFile(file.DefaultSSLDirectory, pemName) tempPemFile, err := os.CreateTemp(file.DefaultSSLDirectory, pemName)
klog.V(3).InfoS("Creating temporal file for DH", "path", tempPemFile.Name(), "name", pemName) klog.V(3).InfoS("Creating temporal file for DH", "path", tempPemFile.Name(), "name", pemName)
if err != nil { if err != nil {
@ -351,7 +350,7 @@ func AddOrUpdateDHParam(name string, dh []byte) (string, error) {
defer os.Remove(tempPemFile.Name()) defer os.Remove(tempPemFile.Name())
pemCerts, err := ioutil.ReadFile(tempPemFile.Name()) pemCerts, err := os.ReadFile(tempPemFile.Name())
if err != nil { if err != nil {
return "", err return "", err
} }
@ -530,12 +529,12 @@ func (tl *TLSListener) TLSConfig() *tls.Config {
func (tl *TLSListener) load() { func (tl *TLSListener) load() {
klog.InfoS("loading tls certificate", "path", tl.certificatePath, "key", tl.keyPath) klog.InfoS("loading tls certificate", "path", tl.certificatePath, "key", tl.keyPath)
certBytes, err := ioutil.ReadFile(tl.certificatePath) certBytes, err := os.ReadFile(tl.certificatePath)
if err != nil { if err != nil {
tl.certificate = nil tl.certificate = nil
tl.err = err tl.err = err
} }
keyBytes, err := ioutil.ReadFile(tl.keyPath) keyBytes, err := os.ReadFile(tl.keyPath)
if err != nil { if err != nil {
tl.certificate = nil tl.certificate = nil
tl.err = err tl.err = err

View file

@ -28,11 +28,11 @@ import (
"encoding/pem" "encoding/pem"
"errors" "errors"
"fmt" "fmt"
"io/ioutil"
"math" "math"
"math/big" "math/big"
"net/http" "net/http"
"net/http/httptest" "net/http/httptest"
"os"
"strings" "strings"
"sync" "sync"
"testing" "testing"
@ -393,7 +393,7 @@ func encodeCertPEM(cert *x509.Certificate) []byte {
func newFakeCertificate(t *testing.T) ([]byte, string, string) { func newFakeCertificate(t *testing.T) ([]byte, string, string) {
cert, key := getFakeHostSSLCert("localhost") cert, key := getFakeHostSSLCert("localhost")
certFile, err := ioutil.TempFile("", "crt-") certFile, err := os.CreateTemp("", "crt-")
if err != nil { if err != nil {
t.Errorf("failed to write test key: %v", err) t.Errorf("failed to write test key: %v", err)
} }
@ -401,7 +401,7 @@ func newFakeCertificate(t *testing.T) ([]byte, string, string) {
certFile.Write(cert) certFile.Write(cert)
defer certFile.Close() defer certFile.Close()
keyFile, err := ioutil.TempFile("", "key-") keyFile, err := os.CreateTemp("", "key-")
if err != nil { if err != nil {
t.Errorf("failed to write test key: %v", err) t.Errorf("failed to write test key: %v", err)
} }

View file

@ -20,7 +20,7 @@ import (
"bytes" "bytes"
"encoding/json" "encoding/json"
"fmt" "fmt"
"io/ioutil" "io"
"net/http" "net/http"
"os" "os"
"os/exec" "os/exec"
@ -69,7 +69,7 @@ func NewGetStatusRequest(path string) (int, []byte, error) {
} }
defer res.Body.Close() defer res.Body.Close()
data, err := ioutil.ReadAll(res.Body) data, err := io.ReadAll(res.Body)
if err != nil { if err != nil {
return 0, nil, err return 0, nil, err
} }
@ -93,7 +93,7 @@ func NewPostStatusRequest(path, contentType string, data interface{}) (int, []by
} }
defer res.Body.Close() defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body) body, err := io.ReadAll(res.Body)
if err != nil { if err != nil {
return 0, nil, err return 0, nil, err
} }
@ -133,7 +133,7 @@ func readFileToString(path string) (string, error) {
} }
defer f.Close() defer f.Close()
contents, err := ioutil.ReadAll(f) contents, err := io.ReadAll(f)
if err != nil { if err != nil {
return "", err return "", err
} }

View file

@ -19,8 +19,8 @@ limitations under the License.
package runtime package runtime
import ( import (
"io/ioutil"
"math" "math"
"os"
"path/filepath" "path/filepath"
"runtime" "runtime"
"strconv" "strconv"
@ -52,7 +52,7 @@ func NumCPU() int {
} }
func readCgroupFileToInt64(cgroupPath, cgroupFile string) int64 { func readCgroupFileToInt64(cgroupPath, cgroupFile string) int64 {
contents, err := ioutil.ReadFile(filepath.Join(cgroupPath, cgroupFile)) contents, err := os.ReadFile(filepath.Join(cgroupPath, cgroupFile))
if err != nil { if err != nil {
return -1 return -1
} }

View file

@ -17,7 +17,6 @@ limitations under the License.
package watch package watch
import ( import (
"io/ioutil"
"os" "os"
"path" "path"
"path/filepath" "path/filepath"
@ -37,7 +36,7 @@ func prepareTimeout() chan bool {
} }
func TestFileWatcher(t *testing.T) { func TestFileWatcher(t *testing.T) {
f, err := ioutil.TempFile("", "fw") f, err := os.CreateTemp("", "fw")
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
@ -62,7 +61,7 @@ func TestFileWatcher(t *testing.T) {
t.Fatalf("expected no events before writing a file") t.Fatalf("expected no events before writing a file")
case <-timeoutChan: case <-timeoutChan:
} }
ioutil.WriteFile(f.Name(), []byte{}, file.ReadWriteByUser) os.WriteFile(f.Name(), []byte{}, file.ReadWriteByUser)
select { select {
case <-events: case <-events:
case <-timeoutChan: case <-timeoutChan:
@ -71,7 +70,7 @@ func TestFileWatcher(t *testing.T) {
} }
func TestFileWatcherWithNestedSymlink(t *testing.T) { func TestFileWatcherWithNestedSymlink(t *testing.T) {
target1, err := ioutil.TempFile("", "t1") target1, err := os.CreateTemp("", "t1")
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
@ -115,7 +114,7 @@ func TestFileWatcherWithNestedSymlink(t *testing.T) {
} }
defer fw.Close() defer fw.Close()
target2, err := ioutil.TempFile("", "t2") target2, err := os.CreateTemp("", "t2")
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }

View file

@ -1,4 +1,4 @@
FROM k8s.gcr.io/ingress-nginx/e2e-test-runner:v20210601-g96a87c79b@sha256:f84dcddc84e5cba220260f315e18cd47fc8c6b7f3f4f57b7b3e9cc2ea25324b7 AS BASE FROM k8s.gcr.io/ingress-nginx/e2e-test-runner:v20210806-g26768e957@sha256:0f3c0d0bda953aa7f1164c452cc0165ce8a0c72469b550988a9601c539f61608 AS BASE
FROM alpine:3.12 FROM alpine:3.12

View file

@ -22,8 +22,8 @@ import (
"crypto/tls" "crypto/tls"
"crypto/x509" "crypto/x509"
"fmt" "fmt"
"io/ioutil"
"net/http" "net/http"
"os"
"os/exec" "os/exec"
"strings" "strings"
"syscall" "syscall"
@ -57,13 +57,13 @@ var _ = framework.DescribeSetting("OCSP", func() {
ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, framework.EchoService, 80, nil) ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, framework.EchoService, 80, nil)
f.EnsureIngress(ing) f.EnsureIngress(ing)
leafCert, err := ioutil.ReadFile("leaf.pem") leafCert, err := os.ReadFile("leaf.pem")
assert.Nil(ginkgo.GinkgoT(), err) assert.Nil(ginkgo.GinkgoT(), err)
leafKey, err := ioutil.ReadFile("leaf-key.pem") leafKey, err := os.ReadFile("leaf-key.pem")
assert.Nil(ginkgo.GinkgoT(), err) assert.Nil(ginkgo.GinkgoT(), err)
intermediateCa, err := ioutil.ReadFile("intermediate_ca.pem") intermediateCa, err := os.ReadFile("intermediate_ca.pem")
assert.Nil(ginkgo.GinkgoT(), err) assert.Nil(ginkgo.GinkgoT(), err)
var pemCertBuffer bytes.Buffer var pemCertBuffer bytes.Buffer
@ -82,7 +82,7 @@ var _ = framework.DescribeSetting("OCSP", func() {
}, },
}) })
cfsslDB, err := ioutil.ReadFile("empty.db") cfsslDB, err := os.ReadFile("empty.db")
assert.Nil(ginkgo.GinkgoT(), err) assert.Nil(ginkgo.GinkgoT(), err)
cmap, err := f.EnsureConfigMap(&corev1.ConfigMap{ cmap, err := f.EnsureConfigMap(&corev1.ConfigMap{
@ -197,7 +197,7 @@ const configTemplate = `
func prepareCertificates(namespace string) error { func prepareCertificates(namespace string) error {
config := fmt.Sprintf(configTemplate, namespace) config := fmt.Sprintf(configTemplate, namespace)
err := ioutil.WriteFile("cfssl_config.json", []byte(config), 0644) err := os.WriteFile("cfssl_config.json", []byte(config), 0644)
if err != nil { if err != nil {
return fmt.Errorf("creating cfssl_config.json file: %v", err) return fmt.Errorf("creating cfssl_config.json file: %v", err)
} }

View file

@ -20,7 +20,7 @@ import (
"context" "context"
"crypto/tls" "crypto/tls"
"fmt" "fmt"
"io/ioutil" "io"
"net" "net"
"strings" "strings"
@ -66,7 +66,7 @@ var _ = framework.DescribeSetting("use-proxy-protocol", func() {
conn.Write([]byte(header)) conn.Write([]byte(header))
conn.Write([]byte("GET / HTTP/1.1\r\nHost: proxy-protocol\r\n\r\n")) conn.Write([]byte("GET / HTTP/1.1\r\nHost: proxy-protocol\r\n\r\n"))
data, err := ioutil.ReadAll(conn) data, err := io.ReadAll(conn)
assert.Nil(ginkgo.GinkgoT(), err, "unexpected error reading connection data") assert.Nil(ginkgo.GinkgoT(), err, "unexpected error reading connection data")
body := string(data) body := string(data)
@ -99,7 +99,7 @@ var _ = framework.DescribeSetting("use-proxy-protocol", func() {
conn.Write([]byte(header)) conn.Write([]byte(header))
conn.Write([]byte("GET / HTTP/1.1\r\nHost: proxy-protocol\r\n\r\n")) conn.Write([]byte("GET / HTTP/1.1\r\nHost: proxy-protocol\r\n\r\n"))
data, err := ioutil.ReadAll(conn) data, err := io.ReadAll(conn)
assert.Nil(ginkgo.GinkgoT(), err, "unexpected error reading connection data") assert.Nil(ginkgo.GinkgoT(), err, "unexpected error reading connection data")
body := string(data) body := string(data)
@ -141,7 +141,7 @@ var _ = framework.DescribeSetting("use-proxy-protocol", func() {
_, err = tlsConn.Write([]byte("GET / HTTP/1.1\r\nHost: proxy-protocol\r\n\r\n")) _, err = tlsConn.Write([]byte("GET / HTTP/1.1\r\nHost: proxy-protocol\r\n\r\n"))
assert.Nil(ginkgo.GinkgoT(), err, "writing HTTP request") assert.Nil(ginkgo.GinkgoT(), err, "writing HTTP request")
data, err := ioutil.ReadAll(tlsConn) data, err := io.ReadAll(tlsConn)
assert.Nil(ginkgo.GinkgoT(), err, "unexpected error reading connection data") assert.Nil(ginkgo.GinkgoT(), err, "unexpected error reading connection data")
body := string(data) body := string(data)
@ -208,7 +208,7 @@ var _ = framework.DescribeSetting("use-proxy-protocol", func() {
conn.Write([]byte(header)) conn.Write([]byte(header))
conn.Write([]byte("GET / HTTP/1.1\r\nHost: proxy-protocol\r\n\r\n")) conn.Write([]byte("GET / HTTP/1.1\r\nHost: proxy-protocol\r\n\r\n"))
_, err = ioutil.ReadAll(conn) _, err = io.ReadAll(conn)
assert.Nil(ginkgo.GinkgoT(), err, "unexpected error reading connection data") assert.Nil(ginkgo.GinkgoT(), err, "unexpected error reading connection data")
logs, err := f.NginxLogs() logs, err := f.NginxLogs()