Skip to content

Commit f208ce5

Browse files
fix: GetAllCertificatesAndCAs shouldn't fail internally (#810)
all libraries in pkg/* should never be called Fatal() internally, the console is imported now and it is important that the failure logging etc is all well controlled. Bonus: update to latest minio/pkg v1.0.6 to get trial customer license verification fixes.
1 parent 31d18ef commit f208ce5

File tree

4 files changed

+13
-9
lines changed

4 files changed

+13
-9
lines changed

cmd/console/server.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,14 +140,18 @@ func loadAllCerts(ctx *cli.Context) error {
140140
certs.GlobalCertsCADir = &certs.ConfigDir{Path: filepath.Join(certs.GlobalCertsDir.Get(), certs.CertsCADir)}
141141
// check if certs and CAs directories exists or can be created
142142
if err = certs.MkdirAllIgnorePerm(certs.GlobalCertsCADir.Get()); err != nil {
143-
return fmt.Errorf("unable to create certs CA directory at %s: with %w", certs.GlobalCertsCADir.Get(), err)
143+
return fmt.Errorf("unable to create certs CA directory at %s: failed with %w", certs.GlobalCertsCADir.Get(), err)
144144
}
145+
145146
var manager *xcerts.Manager
146147
// load the certificates and the CAs
147-
restapi.GlobalRootCAs, restapi.GlobalPublicCerts, manager = certs.GetAllCertificatesAndCAs()
148+
restapi.GlobalRootCAs, restapi.GlobalPublicCerts, manager, err = certs.GetAllCertificatesAndCAs()
148149
restapi.GlobalTLSCertsManager = &certs.TLSCertsManager{
149150
Manager: manager,
150151
}
152+
if err != nil {
153+
return fmt.Errorf("unable to load certificates at %s: failed with %w", certs.GlobalCertsDir.Get(), err)
154+
}
151155

152156
{
153157
// TLS flags from swagger server, used to support VMware vsphere operator version.

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ require (
2323
github.com/minio/minio-go/v7 v7.0.11-0.20210517200026-f0518ca447d6
2424
github.com/minio/operator v0.0.0-20210604224119-7e256f98cf90
2525
github.com/minio/operator/logsearchapi v0.0.0-20210604224119-7e256f98cf90
26-
github.com/minio/pkg v1.0.4
26+
github.com/minio/pkg v1.0.6
2727
github.com/minio/selfupdate v0.3.1
2828
github.com/mitchellh/go-homedir v1.1.0
2929
github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35 // indirect

go.sum

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -891,8 +891,9 @@ github.com/minio/operator v0.0.0-20210604224119-7e256f98cf90/go.mod h1:8/mIXK+CF
891891
github.com/minio/operator/logsearchapi v0.0.0-20210604224119-7e256f98cf90 h1:Qu6j6oE7+QNuq7Kr2DLyVYq3fqMdqFd/T8NAeNp47og=
892892
github.com/minio/operator/logsearchapi v0.0.0-20210604224119-7e256f98cf90/go.mod h1:R+38Pf3wfm+JMiyLPb/r8OMrBm0vK2hZgUT4y4aYoSY=
893893
github.com/minio/pkg v1.0.3/go.mod h1:obU54TZ9QlMv0TRaDgQ/JTzf11ZSXxnSfLrm4tMtBP8=
894-
github.com/minio/pkg v1.0.4 h1:+BmaCENP6BaMm9PsGK6L1L5MKulWDxl4qobvJYf6m/E=
895894
github.com/minio/pkg v1.0.4/go.mod h1:obU54TZ9QlMv0TRaDgQ/JTzf11ZSXxnSfLrm4tMtBP8=
895+
github.com/minio/pkg v1.0.6 h1:82cyFqL69nSPjprO0+P2T/Rj0AAEljmpUdFjJhpvzvI=
896+
github.com/minio/pkg v1.0.6/go.mod h1:obU54TZ9QlMv0TRaDgQ/JTzf11ZSXxnSfLrm4tMtBP8=
896897
github.com/minio/selfupdate v0.3.1 h1:BWEFSNnrZVMUWXbXIgLDNDjbejkmpAmZvy/nCz1HlEs=
897898
github.com/minio/selfupdate v0.3.1/go.mod h1:b8ThJzzH7u2MkF6PcIra7KaXO9Khf6alWPvMSyTDCFM=
898899
github.com/minio/sha256-simd v0.1.1/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM=

pkg/certs/certs.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import (
2727
"errors"
2828
"fmt"
2929
"io/ioutil"
30-
"log"
3130
"os"
3231
"path/filepath"
3332
"strings"
@@ -313,18 +312,18 @@ func GetTLSConfig() (x509Certs []*x509.Certificate, manager *xcerts.Manager, err
313312
return x509Certs, manager, nil
314313
}
315314

316-
func GetAllCertificatesAndCAs() (*x509.CertPool, []*x509.Certificate, *xcerts.Manager) {
315+
func GetAllCertificatesAndCAs() (*x509.CertPool, []*x509.Certificate, *xcerts.Manager, error) {
317316
// load all CAs from ~/.console/certs/CAs
318317
GlobalRootCAs, err := xcerts.GetRootCAs(GlobalCertsCADir.Get())
319318
if err != nil {
320-
log.Fatalln(err)
319+
return nil, nil, nil, err
321320
}
322321
// load all certs from ~/.console/certs
323322
globalPublicCerts, globalTLSCertsManager, err := GetTLSConfig()
324323
if err != nil {
325-
log.Fatalln(err)
324+
return nil, nil, nil, err
326325
}
327-
return GlobalRootCAs, globalPublicCerts, globalTLSCertsManager
326+
return GlobalRootCAs, globalPublicCerts, globalTLSCertsManager, nil
328327
}
329328

330329
// TLSCertsManager custom TLS Manager for SNI support

0 commit comments

Comments
 (0)