Skip to content

Commit

Permalink
refactor: never panic with errors
Browse files Browse the repository at this point in the history
Signed-off-by: Massimiliano Giovagnoli <me@maxgio.it>
  • Loading branch information
maxgio92 committed Jun 10, 2023
1 parent 214ba42 commit 4d3f637
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 7 deletions.
1 change: 1 addition & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ module github.com/maxgio92/proxy-kubeconfig-generator
go 1.18

require (
github.com/pkg/errors v0.9.1
k8s.io/api v0.24.1
k8s.io/apimachinery v0.24.1
k8s.io/client-go v0.24.1
Expand Down
1 change: 1 addition & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,7 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J
github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE=
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
Expand Down
21 changes: 14 additions & 7 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ package main
import (
"flag"
"fmt"
"github.com/pkg/errors"
"os"

"k8s.io/client-go/kubernetes"

Expand All @@ -43,34 +45,39 @@ func main() {

if *serviceAccountName == "" {
flag.Usage()
panic(fmt.Errorf("missing service account name"))
fmt.Println(errors.New("missing service account name"))
os.Exit(1)
}

if *server == "" {
flag.Usage()
panic(fmt.Errorf("missing server url"))
fmt.Println(errors.New("missing server url"))
os.Exit(1)
}

if *serverTLSSecretName == "" {
flag.Usage()
panic(fmt.Errorf("missing server TLS secret name"))
fmt.Println(errors.New("missing server TLS secret name"))
os.Exit(1)
}

config, err := utils.BuildClientConfig()
if err != nil {
panic(err)
fmt.Println(errors.Wrap(err, "error building client config"))
os.Exit(1)
}

clientset := kubernetes.NewForConfigOrDie(config)

tenantConfig, err := generator.GenerateProxyKubeconfigFromSA(clientset, *serviceAccountName, *namespace, *server, *serverTLSSecretName, *serverTLSSecretCAKey, *serverTLSSecretNamespace, *kubeconfigSecretKey)
if err != nil {
panic(err)
fmt.Println(errors.Wrap(err, "error generating kubeconfig from service account"))
os.Exit(1)
}

err = utils.CreateKubeconfigSecret(clientset, tenantConfig, *namespace, *serviceAccountName+"-kubeconfig", *kubeconfigSecretKey)
if err != nil {
panic(err)
fmt.Println(errors.Wrap(err, "error creating kubeconfig secret"))
os.Exit(1)
}

fmt.Println("Proxy kubeconfig Secret created")
Expand Down

0 comments on commit 4d3f637

Please sign in to comment.