@@ -55,8 +55,6 @@ func FromSecret(ctx context.Context, c client.Reader, cluster client.ObjectKey)
5555
5656// New creates a new Kubeconfig using the cluster name and specified endpoint.
5757func New (clusterName , endpoint string , caCert * x509.Certificate , caKey crypto.Signer , options ... KubeConfigurationOption ) (* api.Config , error ) {
58- var clientCert * x509.Certificate
59- var encodedClientKey []byte
6058 cfg := & certs.Config {
6159 CommonName : "kubernetes-admin" ,
6260 Organization : []string {"system:masters" },
@@ -69,34 +67,19 @@ func New(clusterName, endpoint string, caCert *x509.Certificate, caKey crypto.Si
6967 kubeConfigOptions := & KubeConfigurationOptions {}
7068 kubeConfigOptions .ApplyOptions (options )
7169
72- // Generate key based on the EncryptionAlgorithm if set.
73- if kubeConfigOptions .keyEncryptionAlgorithm != "" {
74- clientKey , err := certs .NewSigner (kubeConfigOptions .keyEncryptionAlgorithm )
75- if err != nil {
76- return nil , errors .Wrap (err , "unable to create private key" )
77- }
78-
79- clientCert , err = cfg .NewSignedCert (clientKey , caCert , caKey )
80- if err != nil {
81- return nil , errors .Wrap (err , "unable to sign certificate" )
82- }
83-
84- encodedClientKey , err = certs .EncodePrivateKeyPEMFromSigner (clientKey )
85- if err != nil {
86- return nil , errors .Wrap (err , "unable to encode private key" )
87- }
88- } else {
89- clientKey , err := certs .NewPrivateKey ()
90- if err != nil {
91- return nil , errors .Wrap (err , "unable to create private key" )
92- }
70+ clientKey , err := certs .NewSigner (kubeConfigOptions .keyEncryptionAlgorithm )
71+ if err != nil {
72+ return nil , errors .Wrap (err , "unable to create private key" )
73+ }
9374
94- clientCert , err = cfg .NewSignedCert (clientKey , caCert , caKey )
95- if err != nil {
96- return nil , errors .Wrap (err , "unable to sign certificate" )
97- }
75+ clientCert , err : = cfg .NewSignedCert (clientKey , caCert , caKey )
76+ if err != nil {
77+ return nil , errors .Wrap (err , "unable to sign certificate" )
78+ }
9879
99- encodedClientKey = certs .EncodeCertPEM (clientCert )
80+ encodedClientKey , err := certs .EncodePrivateKeyPEMFromSigner (clientKey )
81+ if err != nil {
82+ return nil , errors .Wrap (err , "unable to encode private key" )
10083 }
10184
10285 return & api.Config {
@@ -139,7 +122,7 @@ func CreateSecretWithOwner(ctx context.Context, c client.Client, clusterName cli
139122 if err != nil {
140123 return err
141124 }
142- out , err := generateKubeconfig (ctx , c , clusterName , server , options )
125+ out , err := generateKubeconfig (ctx , c , clusterName , server , options ... )
143126 if err != nil {
144127 return err
145128 }
@@ -222,15 +205,15 @@ func RegenerateSecret(ctx context.Context, c client.Client, configSecret *corev1
222205 }
223206 endpoint := config .Clusters [clusterName ].Server
224207 key := client.ObjectKey {Name : clusterName , Namespace : configSecret .Namespace }
225- out , err := generateKubeconfig (ctx , c , key , endpoint , options )
208+ out , err := generateKubeconfig (ctx , c , key , endpoint , options ... )
226209 if err != nil {
227210 return err
228211 }
229212 configSecret .Data [secret .KubeconfigDataName ] = out
230213 return c .Update (ctx , configSecret )
231214}
232215
233- func generateKubeconfig (ctx context.Context , c client.Client , clusterName client.ObjectKey , endpoint string , options [] KubeConfigurationOption ) ([]byte , error ) {
216+ func generateKubeconfig (ctx context.Context , c client.Client , clusterName client.ObjectKey , endpoint string , options ... KubeConfigurationOption ) ([]byte , error ) {
234217 clusterCA , err := secret .GetFromNamespacedName (ctx , c , clusterName , secret .ClusterCA )
235218 if err != nil {
236219 if apierrors .IsNotFound (err ) {
0 commit comments