Skip to content

com.google.gson.JsonSyntaxException when deserialize V1Secret json which returned by the api #131

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
joshua-bj opened this issue Nov 28, 2017 · 7 comments · Fixed by #204 or #219
Closed

Comments

@joshua-bj
Copy link

V1Secret.data is the Map<String, byte[]>, but the CoreV1Api return the json like:
"data":{"test1":"ZEdWemRHUmhkR0V4","test2":"ZEdWemRHUmhkR0V5"}

It can not be handled by the com.google.gson.internal.bind.ArrayTypeAdapter, the stack trace is:

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 284 path $.data.
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220)
	at com.google.gson.Gson.fromJson(Gson.java:879)
	at com.google.gson.Gson.fromJson(Gson.java:844)
	at com.google.gson.Gson.fromJson(Gson.java:793)
	at io.kubernetes.client.JSON.deserialize(JSON.java:106)
	at io.kubernetes.client.ApiClient.deserialize(ApiClient.java:668)
	at io.kubernetes.client.ApiClient.handleResponse(ApiClient.java:871)
	at io.kubernetes.client.ApiClient.execute(ApiClient.java:798)
	at io.kubernetes.client.apis.CoreV1Api.createNamespacedSecretWithHttpInfo(CoreV1Api.java:9095)
	at io.kubernetes.client.apis.CoreV1Api.createNamespacedSecret(CoreV1Api.java:9079)
	at com.ibm.bpm.mon.oi.bridge.k8s.KubeService.createSecret(KubeService.java:89)
	at com.ibm.bpm.mon.oi.bridge.k8s.KubeServiceTest.testCreateSecret(KubeServiceTest.java:95)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:539)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:761)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:461)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:207)
Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 284 path $.data.
	at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:351)
	at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:70)
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:187)
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:116)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:216)
	... 36 more
@markxnelson
Copy link

We are facing this same issue. Will try to come up with a fix or workaround.

@PeterHBower
Copy link

We are using a temporary workaround by adding a custom Gson to the JSON. The custom Gson has an extra type adapter for deserialize and serialize of byte[] arrays into base64 strings.

This works for get/post on 1.7, but only get on 1.8. Post on 1.8 gets a warning about the secret data is not valid.

@PeterHBower
Copy link

If the temporary workaround were put into the real source, it would look something like the diff below. Of course, the JSON code uses TypeAdapters instead of JsonSerializer and JsonDeserializer so it is probably not the correct change.

  • private ByteArrayBase64StringTypeAdapter base64TypeAdapter = new ByteArrayBase64StringTypeAdapter();

    public JSON() {
    gson = new GsonBuilder()
    @@ -48,6 +47,7 @@ public class JSON {
    .registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter)
    .registerTypeAdapter(DateTime.class, dateTimeTypeAdapter)
    .registerTypeAdapter(LocalDate.class, localDateTypeAdapter)

  •        .registerTypeAdapter(byte[].class, base64TypeAdapter)
           .create();
    

    }

  • /**

  • * Gson TypeAdapter for byte[] type
    
  • */
    
  • public static class ByteArrayBase64StringTypeAdapter implements JsonSerializer<byte[]>, JsonDeserializer<byte[]> {

  •    public byte[] deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
    
  •        return Base64.getDecoder().decode(json.getAsString());
    
  •    }
    
  •    public JsonElement serialize(byte[] src, Type typeOfSrc, JsonSerializationContext context) {
    
  •        return new JsonPrimitive(Base64.getEncoder().encodeToString(src));
    
  •    }
    
  • }

@brendandburns
Copy link
Contributor

xref: swagger-api/swagger-codegen#4824

@brendandburns
Copy link
Contributor

The upstream fix was merged recently, I regenerated the code, can someone test to validate?

@karthikkondapally
Copy link
Contributor

@brendanburns
chechked out brendandburns:updates

for

   V1SecretList obj = api.listSecretForAllNamespaces(null, null, false, null, null, null, null, 5, false);

still throws error

Exception in thread "main" com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 518 path $.items[0].data.
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220)
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82)
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:116)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:216)
	at com.google.gson.Gson.fromJson(Gson.java:879)
	at com.google.gson.Gson.fromJson(Gson.java:844)
	at com.google.gson.Gson.fromJson(Gson.java:793)
	at io.kubernetes.client.JSON.deserialize(JSON.java:106)
	at io.kubernetes.client.ApiClient.deserialize(ApiClient.java:669)
	at io.kubernetes.client.ApiClient.handleResponse(ApiClient.java:872)
	at io.kubernetes.client.ApiClient.execute(ApiClient.java:799)
	at io.kubernetes.client.apis.CoreV1Api.listSecretForAllNamespacesWithHttpInfo(CoreV1Api.java:18662)
	at io.kubernetes.client.apis.CoreV1Api.listSecretForAllNamespaces(CoreV1Api.java:18640)
	at io.kubernetes.client.examples.Secrets.main(Secrets.java:54)
Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 518 path $.items[0].data.
	at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:351)
	at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:70)
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:187)
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:116)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:216)
	... 15 more

response Body returned is

{"kind":"SecretList","apiVersion":"v1","metadata":{"selfLink":"/api/v1/secrets","resourceVersion":"452601"},"items":[{"metadata":{"name":"default-token-z5ncj","namespace":"default","selfLink":"/api/v1/namespaces/default/secrets/default-token-z5ncj","uid":"149e2276-c23c-11e7-a336-525400eac7fe","resourceVersion":"41","creationTimestamp":"2017-11-05T15:14:55Z","annotations":{"kubernetes.io/service-account.name":"default","kubernetes.io/service-account.uid":"149a8468-c23c-11e7-a336-525400eac7fe"}},"data":{"ca.crt":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwdGFXNXAKYTNWaVpVTkJNQjRYRFRFM01URXdOVEUxTVRRME1sb1hEVEkzTVRFd016RTFNVFEwTWxvd0ZURVRNQkVHQTFVRQpBeE1LYldsdWFXdDFZbVZEUVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSjBnCk13QjBEcnhTSDJLdHN1SGN1OWM1eVB0TmtXWURVU01MQXZLVTI1V3FTeWVzQUdLdnFtRGF3Tm5XMXJjVnBYRnMKejBpRU5uQ2EwRXBKTEFHQ1p1RFRvTG1rTk5ndWhVL2Rob3I0cGFTZ3JmaXhHNzlKV0k3QytuWmt0MnZHS05mZQpZVHlOcnp6VkZ6eDV2eFlwZURYMTQxckZLbkRadkpqNmRKTTRHVlhuYlQxTDBtMWMwL0E0NVJGY2w0UGh4ZVJNCkZoTzQydzhXYm1KUWVsNXpIWm9xbnh4U1EvOUQ2M05FS1VzTUNJOFVEaExNdGpZdjFmRnFES21hMkxvU1o4RW0KNm9NWHJ0SndWYTFuTWI0STVqZkVMZ3duVnB2bmZFUm1pYk1yeGY4L0pVaVQ0QWhabkwrb002N0xyZVJESGRyNApGNytxdU1UVHU1UWszQ1Bnc0pjQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUIwR0ExVWRKUVFXCk1CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFBYXJPZ3VvalBGbEp0bHVPNmhzY3p2aHh1Tm8vM3pPZHBMeVg0blUwdUduUm9kMUs0UAo5NzJEOHMzNVB2bzZuL2NrY00veUJvcjdmbktMczVPL0JXbDVEcXZxTWt5dVZocGE0NkxETHJDUjc2dTdleGU5CjVtaWJkN2t5eStWMkFCU3JIcWVKV3FSQjJaYTFvbXJvOThiM2s2K1VzRk9rWm9YQmtFVWNwbVhKbUhFUlJjNWQKMExFOVN5T2FqUEVIaWZLYmhuSjdQdk1SYkpCR0p6bERLamFjZFdzL294OVpONFhVeVNFUlR6dW1zSjlzL3dBMwpQbU9IM0tYS0tSLzRLMTBwS2FsZlVuK1M2S0IyWlFXYmZyT0RYV1VIQWNOQSthREJiTkRhd3o4QkNjdFRxUXpPClJoTFVNQlgwaVJWQTBDaGdMclQrak9jVFF5NlJHek1EY2NZYgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==","namespace":"ZGVmYXVsdA==","token":"ZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnBjM01pT2lKcmRXSmxjbTVsZEdWekwzTmxjblpwWTJWaFkyTnZkVzUwSWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXVZVzFsYzNCaFkyVWlPaUprWldaaGRXeDBJaXdpYTNWaVpYSnVaWFJsY3k1cGJ5OXpaWEoyYVdObFlXTmpiM1Z1ZEM5elpXTnlaWFF1Ym1GdFpTSTZJbVJsWm1GMWJIUXRkRzlyWlc0dGVqVnVZMm9pTENKcmRXSmxjbTVsZEdWekxtbHZMM05sY25acFkyVmhZMk52ZFc1MEwzTmxjblpwWTJVdFlXTmpiM1Z1ZEM1dVlXMWxJam9pWkdWbVlYVnNkQ0lzSW10MVltVnlibVYwWlhNdWFXOHZjMlZ5ZG1salpXRmpZMjkxYm5RdmMyVnlkbWxqWlMxaFkyTnZkVzUwTG5WcFpDSTZJakUwT1dFNE5EWTRMV015TTJNdE1URmxOeTFoTXpNMkxUVXlOVFF3TUdWaFl6ZG1aU0lzSW5OMVlpSTZJbk41YzNSbGJUcHpaWEoyYVdObFlXTmpiM1Z1ZERwa1pXWmhkV3gwT21SbFptRjFiSFFpZlEuWTZLcnpJUFF5LTVmeXFzeC04MlNNSXByZkZ1S0cxSVB3X2luVnlxR2FidER2T2VtMW80UjdXa3hPUkJYX2FCcU9EWGlLdHBMVmtaald3aHFITFJaOHdxQzV1ejd1cTNhMlAzeW55YmJMc0V2ekQtZksxcC1ESHhyYjdLcXNaVEFOZEtIc2EwRTcyc3RjcTJ0YmpfeldCdzBESDhUeVVGdHFSLURlN3A0SWd6YzZ4dGxwZ2o3ckgxdzc2QXNBcUxGaDg4b25zbDNoWjI0b1lFV1FtWmlPU3BZM0djOWtycWQ3RHEzdnBVTV8wcmFYRzNJOExsZVNxN1pVSlpyMWp6c2tvY1JXb092VG1TR2dxVVMtb3ZzLTQ4UnREbGZ1ZlRBRzJxcWp6QVhxVFI2OWRnMzM3LTJjWmRNb2NtSHI2NmNyZXNTWm5JeEpqTGF3dnpjQVVhZHpB"},"type":"kubernetes.io/service-account-token"},{"metadata":{"name":"mysecret","namespace":"default","selfLink":"/api/v1/namespaces/default/secrets/mysecret","uid":"ff014e96-1d61-11e8-b57c-525400eac7fe","resourceVersion":"451425","creationTimestamp":"2018-03-01T15:05:36Z"},"data":{"password":"MWYyZDFlMmU2N2Rm","username":"YWRtaW4="},"type":"Opaque"},{"metadata":{"name":"default-token-c82fh","namespace":"kube-public","selfLink":"/api/v1/namespaces/kube-public/secrets/default-token-c82fh","uid":"149d2abb-c23c-11e7-a336-525400eac7fe","resourceVersion":"40","creationTimestamp":"2017-11-05T15:14:55Z","annotations":{"kubernetes.io/service-account.name":"default","kubernetes.io/service-account.uid":"149a359a-c23c-11e7-a336-525400eac7fe"}},"data":{"ca.crt":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwdGFXNXAKYTNWaVpVTkJNQjRYRFRFM01URXdOVEUxTVRRME1sb1hEVEkzTVRFd016RTFNVFEwTWxvd0ZURVRNQkVHQTFVRQpBeE1LYldsdWFXdDFZbVZEUVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSjBnCk13QjBEcnhTSDJLdHN1SGN1OWM1eVB0TmtXWURVU01MQXZLVTI1V3FTeWVzQUdLdnFtRGF3Tm5XMXJjVnBYRnMKejBpRU5uQ2EwRXBKTEFHQ1p1RFRvTG1rTk5ndWhVL2Rob3I0cGFTZ3JmaXhHNzlKV0k3QytuWmt0MnZHS05mZQpZVHlOcnp6VkZ6eDV2eFlwZURYMTQxckZLbkRadkpqNmRKTTRHVlhuYlQxTDBtMWMwL0E0NVJGY2w0UGh4ZVJNCkZoTzQydzhXYm1KUWVsNXpIWm9xbnh4U1EvOUQ2M05FS1VzTUNJOFVEaExNdGpZdjFmRnFES21hMkxvU1o4RW0KNm9NWHJ0SndWYTFuTWI0STVqZkVMZ3duVnB2bmZFUm1pYk1yeGY4L0pVaVQ0QWhabkwrb002N0xyZVJESGRyNApGNytxdU1UVHU1UWszQ1Bnc0pjQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUIwR0ExVWRKUVFXCk1CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFBYXJPZ3VvalBGbEp0bHVPNmhzY3p2aHh1Tm8vM3pPZHBMeVg0blUwdUduUm9kMUs0UAo5NzJEOHMzNVB2bzZuL2NrY00veUJvcjdmbktMczVPL0JXbDVEcXZxTWt5dVZocGE0NkxETHJDUjc2dTdleGU5CjVtaWJkN2t5eStWMkFCU3JIcWVKV3FSQjJaYTFvbXJvOThiM2s2K1VzRk9rWm9YQmtFVWNwbVhKbUhFUlJjNWQKMExFOVN5T2FqUEVIaWZLYmhuSjdQdk1SYkpCR0p6bERLamFjZFdzL294OVpONFhVeVNFUlR6dW1zSjlzL3dBMwpQbU9IM0tYS0tSLzRLMTBwS2FsZlVuK1M2S0IyWlFXYmZyT0RYV1VIQWNOQSthREJiTkRhd3o4QkNjdFRxUXpPClJoTFVNQlgwaVJWQTBDaGdMclQrak9jVFF5NlJHek1EY2NZYgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==","namespace":"a3ViZS1wdWJsaWM=","token":"ZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnBjM01pT2lKcmRXSmxjbTVsZEdWekwzTmxjblpwWTJWaFkyTnZkVzUwSWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXVZVzFsYzNCaFkyVWlPaUpyZFdKbExYQjFZbXhwWXlJc0ltdDFZbVZ5Ym1WMFpYTXVhVzh2YzJWeWRtbGpaV0ZqWTI5MWJuUXZjMlZqY21WMExtNWhiV1VpT2lKa1pXWmhkV3gwTFhSdmEyVnVMV000TW1ab0lpd2lhM1ZpWlhKdVpYUmxjeTVwYnk5elpYSjJhV05sWVdOamIzVnVkQzl6WlhKMmFXTmxMV0ZqWTI5MWJuUXVibUZ0WlNJNkltUmxabUYxYkhRaUxDSnJkV0psY201bGRHVnpMbWx2TDNObGNuWnBZMlZoWTJOdmRXNTBMM05sY25acFkyVXRZV05qYjNWdWRDNTFhV1FpT2lJeE5EbGhNelU1WVMxak1qTmpMVEV4WlRjdFlUTXpOaTAxTWpVME1EQmxZV00zWm1VaUxDSnpkV0lpT2lKemVYTjBaVzA2YzJWeWRtbGpaV0ZqWTI5MWJuUTZhM1ZpWlMxd2RXSnNhV002WkdWbVlYVnNkQ0o5LnBQWklzaXZIaGtQYnF4RFZKZHltVWZUek9ZZ3B4WGxXZXJrYXktUHlkOUU1ZUthMk1Jdl81NXF6MzhuSjU5alJNWGw0SEZqaFFkMHdqRXZ5cG4yb25tY2NObmRHQ0lWcHZqcW9SWXdsLV9PcFJBOFYxZ2ZheHVTUXBhUDVBS1M4TG1LMnI0czZ1STBVNkc1OUQyNTFFbHNiUkd2WUcwM3A2WXJoX0JBOXZCbXlGWnNJTjVaUzRIT19rNGF0WUhGQVd3a3pncVgwLUt0dl9jTjl0YldIUUE0d3BWZWRyeG1CRVJONTNNbHFYbFAtR0FKV05vNHdKU0NINW01Z0Z3cnp0QnBXTzFfWlNOWG1VSUw5NXZyNEJ1SEo4WHNrc1QzNzVta1BjbEdlYTgtbjRzbFFObERwWXFWOXhsY1VSN1BNdjNaRWNNdjhJM29LWVYzX3c1ZFR1UQ=="},"type":"kubernetes.io/service-account-token"},{"metadata":{"name":"default-token-f9945","namespace":"kube-system","selfLink":"/api/v1/namespaces/kube-system/secrets/default-token-f9945","uid":"14b8aa14-c23c-11e7-a336-525400eac7fe","resourceVersion":"44","creationTimestamp":"2017-11-05T15:14:55Z","annotations":{"kubernetes.io/service-account.name":"default","kubernetes.io/service-account.uid":"149cc319-c23c-11e7-a336-525400eac7fe"}},"data":{"ca.crt":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwdGFXNXAKYTNWaVpVTkJNQjRYRFRFM01URXdOVEUxTVRRME1sb1hEVEkzTVRFd016RTFNVFEwTWxvd0ZURVRNQkVHQTFVRQpBeE1LYldsdWFXdDFZbVZEUVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSjBnCk13QjBEcnhTSDJLdHN1SGN1OWM1eVB0TmtXWURVU01MQXZLVTI1V3FTeWVzQUdLdnFtRGF3Tm5XMXJjVnBYRnMKejBpRU5uQ2EwRXBKTEFHQ1p1RFRvTG1rTk5ndWhVL2Rob3I0cGFTZ3JmaXhHNzlKV0k3QytuWmt0MnZHS05mZQpZVHlOcnp6VkZ6eDV2eFlwZURYMTQxckZLbkRadkpqNmRKTTRHVlhuYlQxTDBtMWMwL0E0NVJGY2w0UGh4ZVJNCkZoTzQydzhXYm1KUWVsNXpIWm9xbnh4U1EvOUQ2M05FS1VzTUNJOFVEaExNdGpZdjFmRnFES21hMkxvU1o4RW0KNm9NWHJ0SndWYTFuTWI0STVqZkVMZ3duVnB2bmZFUm1pYk1yeGY4L0pVaVQ0QWhabkwrb002N0xyZVJESGRyNApGNytxdU1UVHU1UWszQ1Bnc0pjQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUIwR0ExVWRKUVFXCk1CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFBYXJPZ3VvalBGbEp0bHVPNmhzY3p2aHh1Tm8vM3pPZHBMeVg0blUwdUduUm9kMUs0UAo5NzJEOHMzNVB2bzZuL2NrY00veUJvcjdmbktMczVPL0JXbDVEcXZxTWt5dVZocGE0NkxETHJDUjc2dTdleGU5CjVtaWJkN2t5eStWMkFCU3JIcWVKV3FSQjJaYTFvbXJvOThiM2s2K1VzRk9rWm9YQmtFVWNwbVhKbUhFUlJjNWQKMExFOVN5T2FqUEVIaWZLYmhuSjdQdk1SYkpCR0p6bERLamFjZFdzL294OVpONFhVeVNFUlR6dW1zSjlzL3dBMwpQbU9IM0tYS0tSLzRLMTBwS2FsZlVuK1M2S0IyWlFXYmZyT0RYV1VIQWNOQSthREJiTkRhd3o4QkNjdFRxUXpPClJoTFVNQlgwaVJWQTBDaGdMclQrak9jVFF5NlJHek1EY2NZYgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==","namespace":"a3ViZS1zeXN0ZW0=","token":"ZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnBjM01pT2lKcmRXSmxjbTVsZEdWekwzTmxjblpwWTJWaFkyTnZkVzUwSWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXVZVzFsYzNCaFkyVWlPaUpyZFdKbExYTjVjM1JsYlNJc0ltdDFZbVZ5Ym1WMFpYTXVhVzh2YzJWeWRtbGpaV0ZqWTI5MWJuUXZjMlZqY21WMExtNWhiV1VpT2lKa1pXWmhkV3gwTFhSdmEyVnVMV1k1T1RRMUlpd2lhM1ZpWlhKdVpYUmxjeTVwYnk5elpYSjJhV05sWVdOamIzVnVkQzl6WlhKMmFXTmxMV0ZqWTI5MWJuUXVibUZ0WlNJNkltUmxabUYxYkhRaUxDSnJkV0psY201bGRHVnpMbWx2TDNObGNuWnBZMlZoWTJOdmRXNTBMM05sY25acFkyVXRZV05qYjNWdWRDNTFhV1FpT2lJeE5EbGpZek14T1Mxak1qTmpMVEV4WlRjdFlUTXpOaTAxTWpVME1EQmxZV00zWm1VaUxDSnpkV0lpT2lKemVYTjBaVzA2YzJWeWRtbGpaV0ZqWTI5MWJuUTZhM1ZpWlMxemVYTjBaVzA2WkdWbVlYVnNkQ0o5Lk1yYUdBMUpLRDVQcUNhZm9Xbm1SUmRKc2gxdDdlSkxpb2ViM19heGxMMHBmRXp3ckxfak9pUjJ4RjdTd1RjMG9GSzRBZlRDeVhPOTM5UkVYRDhHWTROcV9XeVB5UDBSV0lFUEktd2daS3VXUXdnbUVkd2JwZFBQM0FNb25tZndfOElDNTFJMEs3LTFiYjFsSS1TTXJpRncyVE9RLTBkTVVnMGJ5cWNyQlpscDhIV3l2ZTdSc0tQQkpMM0ItbFNDWlFOZmRCeUFUVUVlOFJQVFBuZEk5ZFJ5Z21CTTNMRTUzb0YyLWxyN3I4X3FPYlZxRDkwNkN3YzFKWEpRSmdYMEppazFEcjBoVnZaVUFTOG5lZnN0RG5LMVdHdk1McTh5RG03RnkxUHllMG1ZRnRzcDllMVU1R09TTnVaNmRic2pfV1NUeUMwa3ZqV2hHUzlUd3Z1ZGdrdw=="},"type":"kubernetes.io/service-account-token"},{"metadata":{"name":"kubernetes-dashboard-key-holder","namespace":"kube-system","selfLink":"/api/v1/namespaces/kube-system/secrets/kubernetes-dashboard-key-holder","uid":"27f03da1-c23c-11e7-a336-525400eac7fe","resourceVersion":"159","creationTimestamp":"2017-11-05T15:15:28Z"},"data":{"priv":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcS9uanRtQU80akk1RjlIZUhHQ2ljUExlci9oVDh5VXpyWWVoZndyYXN3Q21PZWJFClQ1bWxmVEZ6b1VRVVFxYVNDa0N2RnpSY1hNTC9Ib3BWamIwRzkwUzZiVmx6Q0hIMjhWaTFRVVRGQVFnR0tGRlkKYWc5blJKZE5kTzFDaUF1bXhkSU50WE1HNzBuQmQvcGMzNkYvRjVudkZoblhiTkhYYk9oR0dDYkI2ZFRNcm5oYgp3dTliaGowekhBdEZxM1BPeXc2d2dHTGNXNUJVS0ZrT2UyczdnUHpOUjZFWXBEZFIvM1hvdTd4UGUyQkVYTTZ0CnFXMXNIRmpESkw3TEZKditVT0ZnNWhISHIyZUZBMVZuQ2dEK1J2ZTJxQWN6ZHg5KzNBK2N0eHVhV29vMG5YK0UKazRiSCt0YTRYcEJwN1FmUGgxVTJqelk2NTVBd3pqZ3BBODdUVndJREFRQUJBb0lCQUZtQmRGZU9CUkVLN0pZTwpIMWlMbnQvRU44eEVKWVV0dm9pNVIzODBhZ0N4L05HejNrWkRoRkwxTXVZaTVaeU96d0ZSQ3crN3E3cUhybm41CnEyOWFpMDZVVWFicDRDbnNEb2NzRVNJSUpiUlV0Y2UwRnAwVXFUMlV0YlorYVpzZTNVeWw5NGFSZUhGLzVKYUsKRWw0OTBrUzVWQ3NmaGZSWC9wUHJDOWcwQzhhanBNK3k2QjNvKzUvMEtsTFRsU25QTHhIZGRIcnNhbjZZLzNNbQprRklhUzlxY3FBYnNkYW41NXE3NHFDenUxWGhHNnAzZFl2SGU2RVhzMVNwNW9IQ1FlRnZ2ZDdWcWhWLzBiNXRCCkVVMU96ZDM3S0lFa3h5dzQyclU0WEVnV0huZVFCblMweEhUL0Q2WGdWaDZ2cHRHdXpZUU13b1R5YVdnYVVWdkgKdk55WitWa0NnWUVBMnB1dlZ5YW0zVWM2cGo0Tjh1Nmkxd0U3c3hETHRLdDAyUlQwa2hFUEJkRVJGdkdzQTBMNwprNGdKYm1QK0xYNTVzODd4b3ZGVFBFeXRuRHp2SFRVemNtcXg2UnAwK05VTDQwV3NPSGVnVjZyMTdKeTB6WCtXCk8zb1NvZVk5VWdKQlZEY1hMUFJ0dUZWZXlhRTRRc2VWaUpRMDhzR3M4VHZHdkV5Rk1WYVFZQjBDZ1lFQXlXUk4Kam02L1dmTmpPMnRORFhlOTcyMVRCV3N6V201MlBDL3pSWkdoalU0cXovd1ZxdGFOZ29Xd1dRSE9ibTNXbUJWcQo1UGtLS1drUDV6S2lObURwOUUyVWx4Znlua1pXdmRuSkxqbEY4Z292Y3JtR3hLMU04WGdFRVl2V3JPOFg3eHpPCjlqSkFYSjhvRnpjL2VxSWU0RTdCdlBxZEtyTTZEOW9GZGlPc0R3TUNnWUVBb0xmUTR5dmhoZEYyUnY1Y1Z2d20KOEJkU0FzWVlYWTJvYkdqQm5obTRoN2c2N2psakUwck5scHR2QTUrMElWSll1MThydTNYY2tmcDFzT1lEamQrdApJVE5iOVZxa0lNVFE1cGcwazVjdlpRU2xwUDFZMTdRemlTcW9SQ3IzYmpHR1FobjJpZkJ5TWhGaGpLOWdvNGdFCllkTkVVaTBkcm9VYUNSbmcybk1mMWVrQ2dZQUdpZ3M2cEwzeDNjVkxHS0RYM3h0N3VzRUhYQU8rMi9kYTNQTzUKUHBGUVZVbHVsM0RjcXpyTkVpbzN1YWRLVHFhNUtYamZGbmNPQVN0VEJvSGQ0aWUybHc1TUdhcjNHTEdZV0luLwp4anhQTDZWNnhDdHNGM1I0SXIxL0ZGdFVJaTlVeEVxMEU4MmpORWZJK1RKR2VSMG5pMmNmQzhRdXJzTWo0S0JzCnhadkFvUUtCZ1FDVEhEUExZejJ3L3dibEJmeXBqakdIZnFJekFZMjlzc1RQb09PekJNSGdIQnhVRm5DMFJPUDgKd1lpY050dS9DU2trWlZ0TmlicGQ3dS9XWjd3OUVEUFFaOUVtMFZmWDEwajdzTFhpWjlsRzhDZ01iSi9BT1gxRQpWTlBDRm9TSDZ0TTZ6ZXBrNVdidFF6S1hBVFMrZzF2dm8vWWQyL2MyM3djdUpUMWw4TkpSaXc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=","pub":"LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcS9uanRtQU80akk1RjlIZUhHQ2kKY1BMZXIvaFQ4eVV6clllaGZ3cmFzd0NtT2ViRVQ1bWxmVEZ6b1VRVVFxYVNDa0N2RnpSY1hNTC9Ib3BWamIwRwo5MFM2YlZsekNISDI4VmkxUVVURkFRZ0dLRkZZYWc5blJKZE5kTzFDaUF1bXhkSU50WE1HNzBuQmQvcGMzNkYvCkY1bnZGaG5YYk5IWGJPaEdHQ2JCNmRUTXJuaGJ3dTliaGowekhBdEZxM1BPeXc2d2dHTGNXNUJVS0ZrT2UyczcKZ1B6TlI2RVlwRGRSLzNYb3U3eFBlMkJFWE02dHFXMXNIRmpESkw3TEZKditVT0ZnNWhISHIyZUZBMVZuQ2dEKwpSdmUycUFjemR4OSszQStjdHh1YVdvbzBuWCtFazRiSCt0YTRYcEJwN1FmUGgxVTJqelk2NTVBd3pqZ3BBODdUClZ3SURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K"},"type":"Opaque"},{"metadata":{"name":"default-token-q48ll","namespace":"test","selfLink":"/api/v1/namespaces/test/secrets/default-token-q48ll","uid":"8e6d6e2e-f825-11e7-8bc8-525400eac7fe","resourceVersion":"248618","creationTimestamp":"2018-01-13T05:49:44Z","annotations":{"kubernetes.io/service-account.name":"default","kubernetes.io/service-account.uid":"8e660046-f825-11e7-8bc8-525400eac7fe"}},"data":{"ca.crt":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwdGFXNXAKYTNWaVpVTkJNQjRYRFRFM01URXdOVEUxTVRRME1sb1hEVEkzTVRFd016RTFNVFEwTWxvd0ZURVRNQkVHQTFVRQpBeE1LYldsdWFXdDFZbVZEUVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSjBnCk13QjBEcnhTSDJLdHN1SGN1OWM1eVB0TmtXWURVU01MQXZLVTI1V3FTeWVzQUdLdnFtRGF3Tm5XMXJjVnBYRnMKejBpRU5uQ2EwRXBKTEFHQ1p1RFRvTG1rTk5ndWhVL2Rob3I0cGFTZ3JmaXhHNzlKV0k3QytuWmt0MnZHS05mZQpZVHlOcnp6VkZ6eDV2eFlwZURYMTQxckZLbkRadkpqNmRKTTRHVlhuYlQxTDBtMWMwL0E0NVJGY2w0UGh4ZVJNCkZoTzQydzhXYm1KUWVsNXpIWm9xbnh4U1EvOUQ2M05FS1VzTUNJOFVEaExNdGpZdjFmRnFES21hMkxvU1o4RW0KNm9NWHJ0SndWYTFuTWI0STVqZkVMZ3duVnB2bmZFUm1pYk1yeGY4L0pVaVQ0QWhabkwrb002N0xyZVJESGRyNApGNytxdU1UVHU1UWszQ1Bnc0pjQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUIwR0ExVWRKUVFXCk1CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFBYXJPZ3VvalBGbEp0bHVPNmhzY3p2aHh1Tm8vM3pPZHBMeVg0blUwdUduUm9kMUs0UAo5NzJEOHMzNVB2bzZuL2NrY00veUJvcjdmbktMczVPL0JXbDVEcXZxTWt5dVZocGE0NkxETHJDUjc2dTdleGU5CjVtaWJkN2t5eStWMkFCU3JIcWVKV3FSQjJaYTFvbXJvOThiM2s2K1VzRk9rWm9YQmtFVWNwbVhKbUhFUlJjNWQKMExFOVN5T2FqUEVIaWZLYmhuSjdQdk1SYkpCR0p6bERLamFjZFdzL294OVpONFhVeVNFUlR6dW1zSjlzL3dBMwpQbU9IM0tYS0tSLzRLMTBwS2FsZlVuK1M2S0IyWlFXYmZyT0RYV1VIQWNOQSthREJiTkRhd3o4QkNjdFRxUXpPClJoTFVNQlgwaVJWQTBDaGdMclQrak9jVFF5NlJHek1EY2NZYgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==","namespace":"dGVzdA==","token":"ZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnBjM01pT2lKcmRXSmxjbTVsZEdWekwzTmxjblpwWTJWaFkyTnZkVzUwSWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXVZVzFsYzNCaFkyVWlPaUowWlhOMElpd2lhM1ZpWlhKdVpYUmxjeTVwYnk5elpYSjJhV05sWVdOamIzVnVkQzl6WldOeVpYUXVibUZ0WlNJNkltUmxabUYxYkhRdGRHOXJaVzR0Y1RRNGJHd2lMQ0pyZFdKbGNtNWxkR1Z6TG1sdkwzTmxjblpwWTJWaFkyTnZkVzUwTDNObGNuWnBZMlV0WVdOamIzVnVkQzV1WVcxbElqb2laR1ZtWVhWc2RDSXNJbXQxWW1WeWJtVjBaWE11YVc4dmMyVnlkbWxqWldGalkyOTFiblF2YzJWeWRtbGpaUzFoWTJOdmRXNTBMblZwWkNJNklqaGxOall3TURRMkxXWTRNalV0TVRGbE55MDRZbU00TFRVeU5UUXdNR1ZoWXpkbVpTSXNJbk4xWWlJNkluTjVjM1JsYlRwelpYSjJhV05sWVdOamIzVnVkRHAwWlhOME9tUmxabUYxYkhRaWZRLkFRVWk3aW41TUtuMEJPTFB0RmdGMmhFUk41NTBZRS14c2xZd0NXeUpqeHNDN1JBaVZURHJkMzAxMk9oTWJScFlpZW9CRko0Qnl6R3N2NGN2RFNVMkJPUWlDbHBFVlk5QlZjeWpxQUh5TVhHYkIwZTBqWU14enk2cVVsUXNhQVEtRmlha0czZ1ZlaFZiUzAtdEN4UmxxbUV5dmUwb0xNQnJwem9KNXlSNUpNc19lUjZRZTdfT2h3enBlcWpQanduamY4cG5oWWFIUTFOUWZJSUdMQ3hRdDV2UzcwVWh2bmUtQ0lNMS0wSWlYVi1zajUyZjlZNl9MWjFIWG9yZkZEVEs2VDdwbEc0REJSU2VWWlJLTl9RbmoyRnFZbVBtbXdQV3dTNlFGd3hwczlMVWplTkhucFJZM0hDWnNkSmFWd2thak1WZkRJbnQ4TmNNemJYckU5X1p5UQ=="},"type":"kubernetes.io/service-account-token"}]}

@brendandburns
Copy link
Contributor

Re-opening this, the correct fix is in #219

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants