@@ -77,10 +77,12 @@ type KubeConfig struct {
77
77
func connectToCluster (kubeconfig string ) * kubernetes.Clientset {
78
78
config , err := clientcmd .BuildConfigFromFlags ("" , kubeconfig )
79
79
if err != nil {
80
+ fmt .Println ("Error creating config object" )
80
81
log .Fatal (err )
81
82
}
82
83
clientset , err := kubernetes .NewForConfig (config )
83
84
if err != nil {
85
+ fmt .Println ("Error creating clientset" )
84
86
log .Fatal (err )
85
87
}
86
88
return clientset
@@ -108,6 +110,7 @@ func main() {
108
110
109
111
key , err := rsa .GenerateKey (rand .Reader , 1024 )
110
112
if err != nil {
113
+ fmt .Println ("Error Generating key" )
111
114
log .Fatal (fmt .Printf ("Error %s" , err ))
112
115
}
113
116
keyDer := x509 .MarshalPKCS1PrivateKey (key )
@@ -118,6 +121,7 @@ func main() {
118
121
}
119
122
asn1 , err := asn1 .Marshal (subject .ToRDNSequence ())
120
123
if err != nil {
124
+ fmt .Println ("Error marshalling ASN" )
121
125
log .Fatal (fmt .Printf ("Error %s" , err ))
122
126
}
123
127
csrReq := x509.CertificateRequest {
@@ -126,6 +130,7 @@ func main() {
126
130
}
127
131
bytes , err := x509 .CreateCertificateRequest (rand .Reader , & csrReq , key )
128
132
if err != nil {
133
+ fmt .Println ("Error Creating Certificate Request" )
129
134
log .Fatal (fmt .Printf ("Error %s" , err ))
130
135
}
131
136
@@ -151,6 +156,7 @@ func main() {
151
156
}
152
157
_ , err = clientset .CertificatesV1 ().CertificateSigningRequests ().Create (context .TODO (), csr , v1.CreateOptions {})
153
158
if err != nil {
159
+ fmt .Println ("Error Creating CSR Object. Are you running on a cluste < 1.19? This only works with 1.19+" )
154
160
log .Fatal (fmt .Printf ("Error %s" , err ))
155
161
}
156
162
csr .Status .Conditions = append (csr .Status .Conditions , certificates.CertificateSigningRequestCondition {
@@ -162,18 +168,21 @@ func main() {
162
168
})
163
169
csr , err = clientset .CertificatesV1 ().CertificateSigningRequests ().UpdateApproval (context .Background (), "tempcsr" , csr , v1.UpdateOptions {})
164
170
if err != nil {
171
+ fmt .Println ("Error Approving Certificate" )
165
172
log .Fatal (fmt .Printf ("Error %s" , err ))
166
173
}
167
174
// Give the API server a couple of seconds to issue the cert.
168
175
time .Sleep (2 * time .Second )
169
176
csr , _ = clientset .CertificatesV1 ().CertificateSigningRequests ().Get (context .TODO (), csr .GetName (), v1.GetOptions {})
170
177
pb , _ := pem .Decode (csr .Status .Certificate )
171
178
if pb == nil {
179
+ fmt .Println ("Error issuing cert, are you trying this with EKS?" )
172
180
_ = clientset .CertificatesV1 ().CertificateSigningRequests ().Delete (context .TODO (), csr .GetName (), v1.DeleteOptions {})
173
181
log .Fatal (err )
174
182
}
175
183
issued_cert , err := x509 .ParseCertificate (pb .Bytes )
176
184
if err != nil {
185
+ fmt .Println ("Error Parsing Certificate" )
177
186
log .Fatal (err )
178
187
}
179
188
issued_group := "none"
@@ -224,20 +233,24 @@ func main() {
224
233
225
234
dir , err := os .Getwd ()
226
235
if err != nil {
236
+ fmt .Println ("Error Getting working directory" )
227
237
log .Fatal (err )
228
238
}
229
239
_ , err = os .Create (filepath .Join (dir , * outputFile ))
230
240
if err != nil {
241
+ fmt .Println ("Error Creating output file" )
231
242
log .Fatal (err )
232
243
}
233
244
file , err := os .OpenFile (* outputFile , os .O_APPEND | os .O_WRONLY , os .ModeAppend )
234
245
if err != nil {
246
+ fmt .Println ("Error opening output file" )
235
247
log .Fatal (err )
236
248
}
237
249
defer file .Close ()
238
250
e := yaml .NewEncoder (file )
239
251
err = e .Encode (kc )
240
252
if err != nil {
253
+ fmt .Println ("Error encoding Kubeconfig YAML" )
241
254
log .Fatal (err )
242
255
}
243
256
clientset .CertificatesV1 ().CertificateSigningRequests ().Delete (context .TODO (), csr .GetName (), v1.DeleteOptions {})
0 commit comments