1

I need to return output of kubectl describe secret command output as a rest response. I first use kubectl get secret which support -o json to return the output in json form. But kubectl describe secret doesn't support this. I have below output

  controller-0:~$ kubectl describe secret dashboard-admin-sa-token-blk2w
Name:         dashboard-admin-sa-token-blk2w
Namespace:    default
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: dashboard-admin-sa
              kubernetes.io/service-account.uid: aa96a4ec-290b-45cc-aba9-8296f1d67a6c

Type:  kubernetes.io/service-account-token

Data
====
ca.crt:     1090 bytes
namespace:  7 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6InVnMmJya3pqSVgyRUo4VXJfVnFndXdhd04yR0lsYlYzbHVMUi1JTDVmdlEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImRhc2hib2FyZC1hZG1pbi1zYS10b2tlbi1ibGsydyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tc2EiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJhYTk2YTRlYy0yOTBiLTQ1Y2MtYWJhOS04Mjk2ZjFkNjdhNmMiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6ZGVmYXVsdDpkYXNoYm9hcmQtYWRtaW4tc2EifQ.xTRKhWvaVHGTrvhDQBIH5HUDUgwIyLJqmUWMhUP3QyrQ9LTVv4_47ssQaSOeQ3Qw_PQjuVME0BSWAos4IpVl0byGJPDi1GC56Vooyx8nXqKBcZ82hOg0CqKH7iXNL7_yg5tKR3MqZLjKpGMK8ac4KVKdITSrM4vFwasPYoxNhJaOmpSvkaVZf7A6Vyhp0XQjsB3ttfnL2XPhELNWonMj7qUvPvRJoyeoqkwG9Ah6FNC2vPTt14RXav7M5NA5hg5Zv4xSNFa0_qlM3W1XMdc0Tc5dslBoS3ew75MKd_69up8O_wxfVTGUOF-TRYQycd04mMumsn6nJSKsm2CglXIvNw
controller-0:~$

I only want to fetch and get the token: (or any other variable like Type:) value.

Is there any way to get only certain values as output like dashboard-admin-sa-token-blk2w or kubernetes.io/service-account-token

Neeraj
  • 13
  • 6

1 Answers1

0

you can use -o jsonpath along with kubectl to fetch specific value from kubectl get commands :

Example :

[root@machine ~]# kubectl get secret default-token-fd4wm
NAME                  TYPE                                  DATA   AGE
default-token-fd4wm   kubernetes.io/service-account-token   3      47d
  • To Get all the values of secret in json format
[root@machine~]# kubectl get secret default-token-fd4wm -o json
{
    "apiVersion": "v1",
    "data": {
        "ca.crt": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvakNDQWVhZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeU1ESXhOVEUwTkRZd09Gb1hEVE15TURJeE16RTBORFl3T0Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS0MrCjJhNVV2LzJjMTZ6QkdnRzU5a1p1MW15aEM1V2VrWkUyc1RBSzFCWVBUNDdwdVErMmJwcGRCNnQyYnBsY00zMWwKaENZTDNDM0dXSHU4dElucEJtQlgyN3BBWW5TVlE2OTRYVmpjR0hjZDFVMXcvMTJDRnlLSDlSTjQ5RjVnT21SOAptWlQrZFN6cUYwWmc4cENsZEJiYUJMOXlqZU9CS1hCcmFiWDhONWNlTTZja284MjNRTHY3Z1hEU05aeTBjcFU5CmxLdjZkL2xCNHpDcnRXSlpvTjh4TjFtRDJORUJDbDFibkh1K1pKNXdXSkVYcEVUaDNpdnczdnoxdVgvMXBRTGUKVUZ5QkNGc1pRdFM5NlB3MzdUL2V1RGNQWFVaMHVSc2hmZ1ZKM3RjNG1LYlpxc2pSc2JHNVlFRWoxQVFUV2RRbwpjZ1hzK3MxQURGcS93bzZjZVUwQ0F3RUFBYU5aTUZjd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZNSWpuYjduOVRWTFp0Ymp1bjBwcjV3ZUZsL0FNQlVHQTFVZEVRUU8KTUF5Q0NtdDFZbVZ5Ym1WMFpYTXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBREl4eDR0NHhBdi91OE9UNExaOQpLaXkwRXZqNDZqdWZKODA1OFBvajVGRk1rc1NLZG1qamtzSmM3R1E5YW4xWDRIQStMT0pLM3AyNDZFZzRvWWhqCkZIMnRmWTBUZ3NmbTlXc2JSTDlqUVQ2U2FkdHJEV3lIbkxrdTVKYkw4VTJPU295V2g3d1dhdTNLNDQ0NjdXalgKMnEvd00vNldVYk8zemR1djVyVnZTQmhvVmFjUjZBTTlXSzM3NlZRTm9qMjRXOEtjZmJjRUtpQ1BJOXRmZzF0dQpaM2ZyVkR4MTBZMi91ZWd3ZDQzYWRMM3hFQlhyU0N5MUR4OGs2Sjg4SFBVWFdrZm5qdHQ3cmlEcFlsUjJDWkZuCmZvOVM3Y0prTkxmdFZ1eFh6VzJuNTBBNzRGalgxcWU3VlEyUHZCRURPYS9UcnU2Z01UYkZRWkFxdXVXanZzRUQKVWRJPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==",
        "namespace": "ZGVmYXVsdA==",
        "token": "ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklqaHZiMEZTTWxsaWNuUTVVMkpyYlRjdFNtMTVVblZHU2xoaGMySmxVRmRqY25kamRWZ3hjV2RYYWpnaWZRLmV5SnBjM01pT2lKcmRXSmxjbTVsZEdWekwzTmxjblpwWTJWaFkyTnZkVzUwSWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXVZVzFsYzNCaFkyVWlPaUprWldaaGRXeDBJaXdpYTNWaVpYSnVaWFJsY3k1cGJ5OXpaWEoyYVdObFlXTmpiM1Z1ZEM5elpXTnlaWFF1Ym1GdFpTSTZJbVJsWm1GMWJIUXRkRzlyWlc0dFptUTBkMjBpTENKcmRXSmxjbTVsZEdWekxtbHZMM05sY25acFkyVmhZMk52ZFc1MEwzTmxjblpwWTJVdFlXTmpiM1Z1ZEM1dVlXMWxJam9pWkdWbVlYVnNkQ0lzSW10MVltVnlibVYwWlhNdWFXOHZjMlZ5ZG1salpXRmpZMjkxYm5RdmMyVnlkbWxqWlMxaFkyTnZkVzUwTG5WcFpDSTZJak0zT1RsallXWm1MV1F4TURVdE5HRTBNaTA1TldNd0xXWTFaRGMzWVRjNVpXWTBZaUlzSW5OMVlpSTZJbk41YzNSbGJUcHpaWEoyYVdObFlXTmpiM1Z1ZERwa1pXWmhkV3gwT21SbFptRjFiSFFpZlEuYV92bkplRU16SGZmRlk4VFRpQk5UWHZpOVlpSHllc0NOLUxQV0Y0NnBBOWN5dFJ3bmdjTWhpb3hMbUp1QzB3NnBRMmdPQmZLUUdzSW9OcS1wWXhiUlc5TTJxNUp3cmxseVJlbzdQV3daVzBGcWtSSzl6bG5ZNFpOUUY0YlJqUVJqSFlUU2ZUTDA5WkgtR3JlNVBHZDhvOUtFZjZBXzBEWXFmTnUyc0t2WGlBYW9STnVXV29XWkxiRGl2NE1vTnFiOTJmajRiU2ZEbnFGb2I0U21UcWVPRnpaU29iZVlzcmpLVXdidUVQWlZWdE5VLWRxc2tEdEpYVjIzbmZ2UWVUdk1pbkZ5R0xkWjBtckRTX2ZQcVpTRHA0b2dCVXB2Z3hOai1fZUw2bS1wMUx0Ukh3Q2tzNVBvczNSSUZWbnFqeElSeWpJYnh3THBzTDZNU3l5Z0E1bVZR"
    },
    "kind": "Secret",
    "metadata": {
        "annotations": {
            "kubernetes.io/service-account.name": "default",
            "kubernetes.io/service-account.uid": "3799caff-d105-4a42-95c0-f5d77a79ef4b"
        },
        "creationTimestamp": "2022-02-15T14:46:30Z",
        "name": "default-token-fd4wm",
        "namespace": "default",
        "resourceVersion": "376",
        "uid": "2078ada0-c8a4-4926-b1a1-796e1a8fa12c"
    },
    "type": "kubernetes.io/service-account-token"
}
  • To Get specfic values from it (for example ca.crt or token )
[root@machine ~]# kubectl get secret default-token-fd4wm -o jsonpath='{.data.ca\.crt}'
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvakNDQWVhZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeU1ESXhOVEUwTkRZd09Gb1hEVE15TURJeE16RTBORFl3T0Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS0MrCjJhNVV2LzJjMTZ6QkdnRzU5a1p1MW15aEM1V2VrWkUyc1RBSzFCWVBUNDdwdVErMmJwcGRCNnQyYnBsY00zMWwKaENZTDNDM0dXSHU4dElucEJtQlgyN3BBWW5TVlE2OTRYVmpjR0hjZDFVMXcvMTJDRnlLSDlSTjQ5RjVnT21SOAptWlQrZFN6cUYwWmc4cENsZEJiYUJMOXlqZU9CS1hCcmFiWDhONWNlTTZja284MjNRTHY3Z1hEU05aeTBjcFU5CmxLdjZkL2xCNHpDcnRXSlpvTjh4TjFtRDJORUJDbDFibkh1K1pKNXdXSkVYcEVUaDNpdnczdnoxdVgvMXBRTGUKVUZ5QkNGc1pRdFM5NlB3MzdUL2V1RGNQWFVaMHVSc2hmZ1ZKM3RjNG1LYlpxc2pSc2JHNVlFRWoxQVFUV2RRbwpjZ1hzK3MxQURGcS93bzZjZVUwQ0F3RUFBYU5aTUZjd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZNSWpuYjduOVRWTFp0Ymp1bjBwcjV3ZUZsL0FNQlVHQTFVZEVRUU8KTUF5Q0NtdDFZbVZ5Ym1WMFpYTXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBREl4eDR0NHhBdi91OE9UNExaOQpLaXkwRXZqNDZqdWZKODA1OFBvajVGRk1rc1NLZG1qamtzSmM3R1E5YW4xWDRIQStMT0pLM3AyNDZFZzRvWWhqCkZIMnRmWTBUZ3NmbTlXc2JSTDlqUVQ2U2FkdHJEV3lIbkxrdTVKYkw4VTJPU295V2g3d1dhdTNLNDQ0NjdXalgKMnEvd00vNldVYk8zemR1djVyVnZTQmhvVmFjUjZBTTlXSzM3NlZRTm9qMjRXOEtjZmJjRUtpQ1BJOXRmZzF0dQpaM2ZyVkR4MTBZMi91ZWd3ZDQzYWRMM3hFQlhyU0N5MUR4OGs2Sjg4SFBVWFdrZm5qdHQ3cmlEcFlsUjJDWkZuCmZvOVM3Y0prTkxmdFZ1eFh6VzJuNTBBNzRGalgxcWU3VlEyUHZCRURPYS9UcnU2Z01UYkZRWkFxdXVXanZzRUQKVWRJPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==

[root@machine ~]# kubectl get secret default-token-fd4wm -o jsonpath='{.data.token}'
ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklqaHZiMEZTTWxsaWNuUTVVMkpyYlRjdFNtMTVVblZHU2xoaGMySmxVRmRqY25kamRWZ3hjV2RYYWpnaWZRLmV5SnBjM01pT2lKcmRXSmxjbTVsZEdWekwzTmxjblpwWTJWaFkyTnZkVzUwSWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXVZVzFsYzNCaFkyVWlPaUprWldaaGRXeDBJaXdpYTNWaVpYSnVaWFJsY3k1cGJ5OXpaWEoyYVdObFlXTmpiM1Z1ZEM5elpXTnlaWFF1Ym1GdFpTSTZJbVJsWm1GMWJIUXRkRzlyWlc0dFptUTBkMjBpTENKcmRXSmxjbTVsZEdWekxtbHZMM05sY25acFkyVmhZMk52ZFc1MEwzTmxjblpwWTJVdFlXTmpiM1Z1ZEM1dVlXMWxJam9pWkdWbVlYVnNkQ0lzSW10MVltVnlibVYwWlhNdWFXOHZjMlZ5ZG1salpXRmpZMjkxYm5RdmMyVnlkbWxqWlMxaFkyTnZkVzUwTG5WcFpDSTZJak0zT1RsallXWm1MV1F4TURVdE5HRTBNaTA1TldNd0xXWTFaRGMzWVRjNVpXWTBZaUlzSW5OMVlpSTZJbk41YzNSbGJUcHpaWEoyYVdObFlXTmpiM1Z1ZERwa1pXWmhkV3gwT21SbFptRjFiSFFpZlEuYV92bkplRU16SGZmRlk4VFRpQk5UWHZpOVlpSHllc0NOLUxQV0Y0NnBBOWN5dFJ3bmdjTWhpb3hMbUp1QzB3NnBRMmdPQmZLUUdzSW9OcS1wWXhiUlc5TTJxNUp3cmxseVJlbzdQV3daVzBGcWtSSzl6bG5ZNFpOUUY0YlJqUVJqSFlUU2ZUTDA5WkgtR3JlNVBHZDhvOUtFZjZBXzBEWXFmTnUyc0t2WGlBYW9STnVXV29XWkxiRGl2NE1vTnFiOTJmajRiU2ZEbnFGb2I0U21UcWVPRnpaU29iZVlzcmpLVXdidUVQWlZWdE5VLWRxc2tEdEpYVjIzbmZ2UWVUdk1pbkZ5R0xkWjBtckRTX2ZQcVpTRHA0b2dCVXB2Z3hOai1fZUw2bS1wMUx0Ukh3Q2tzNVBvczNSSUZWbnFqeElSeWpJYnh3THBzTDZNU3l5Z0E1bVZR

There are some good examples of jsonpath here

confused genius
  • 2,876
  • 2
  • 16
  • 29