Skip to content

Instantly share code, notes, and snippets.

@TuvianNavy
Last active September 11, 2020 12:59
Show Gist options
  • Select an option

  • Save TuvianNavy/4486149cbd4dbf3f6fc35c3d7b89face to your computer and use it in GitHub Desktop.

Select an option

Save TuvianNavy/4486149cbd4dbf3f6fc35c3d7b89face to your computer and use it in GitHub Desktop.
how to 'revert inside out' for YAML/JSON (just not exactly)
ubuntu@livazplus:~$ # see https://github.com/stedolan/jq/issues/78#issuecomment-348818517
ubuntu@livazplus:~$ curl https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/alternative.yaml | yq -c 'paths(scalars) as $p | [$p, getpath($p)]'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7113 100 7113 0 0 15530 0 --:--:-- --:--:-- --:--:-- 15496
[["apiVersion"],"v1"]
[["kind"],"Namespace"]
[["metadata","name"],"kubernetes-dashboard"]
[["apiVersion"],"v1"]
[["kind"],"ServiceAccount"]
[["metadata","labels","k8s-app"],"kubernetes-dashboard"]
[["metadata","name"],"kubernetes-dashboard"]
[["metadata","namespace"],"kubernetes-dashboard"]
[["kind"],"Service"]
[["apiVersion"],"v1"]
[["metadata","labels","k8s-app"],"kubernetes-dashboard"]
[["metadata","name"],"kubernetes-dashboard"]
[["metadata","namespace"],"kubernetes-dashboard"]
[["spec","ports",0,"port"],80]
[["spec","ports",0,"targetPort"],9090]
[["spec","selector","k8s-app"],"kubernetes-dashboard"]
[["apiVersion"],"v1"]
[["kind"],"Secret"]
[["metadata","labels","k8s-app"],"kubernetes-dashboard"]
[["metadata","name"],"kubernetes-dashboard-csrf"]
[["metadata","namespace"],"kubernetes-dashboard"]
[["type"],"Opaque"]
[["data","csrf"],""]
[["apiVersion"],"v1"]
[["kind"],"Secret"]
[["metadata","labels","k8s-app"],"kubernetes-dashboard"]
[["metadata","name"],"kubernetes-dashboard-key-holder"]
[["metadata","namespace"],"kubernetes-dashboard"]
[["type"],"Opaque"]
[["kind"],"ConfigMap"]
[["apiVersion"],"v1"]
[["metadata","labels","k8s-app"],"kubernetes-dashboard"]
[["metadata","name"],"kubernetes-dashboard-settings"]
[["metadata","namespace"],"kubernetes-dashboard"]
[["kind"],"Role"]
[["apiVersion"],"rbac.authorization.k8s.io/v1"]
[["metadata","labels","k8s-app"],"kubernetes-dashboard"]
[["metadata","name"],"kubernetes-dashboard"]
[["metadata","namespace"],"kubernetes-dashboard"]
[["rules",0,"apiGroups",0],""]
[["rules",0,"resources",0],"secrets"]
[["rules",0,"resourceNames",0],"kubernetes-dashboard-key-holder"]
[["rules",0,"resourceNames",1],"kubernetes-dashboard-certs"]
[["rules",0,"resourceNames",2],"kubernetes-dashboard-csrf"]
[["rules",0,"verbs",0],"get"]
[["rules",0,"verbs",1],"update"]
[["rules",0,"verbs",2],"delete"]
[["rules",1,"apiGroups",0],""]
[["rules",1,"resources",0],"configmaps"]
[["rules",1,"resourceNames",0],"kubernetes-dashboard-settings"]
[["rules",1,"verbs",0],"get"]
[["rules",1,"verbs",1],"update"]
[["rules",2,"apiGroups",0],""]
[["rules",2,"resources",0],"services"]
[["rules",2,"resourceNames",0],"heapster"]
[["rules",2,"resourceNames",1],"dashboard-metrics-scraper"]
[["rules",2,"verbs",0],"proxy"]
[["rules",3,"apiGroups",0],""]
[["rules",3,"resources",0],"services/proxy"]
[["rules",3,"resourceNames",0],"heapster"]
[["rules",3,"resourceNames",1],"http:heapster:"]
[["rules",3,"resourceNames",2],"https:heapster:"]
[["rules",3,"resourceNames",3],"dashboard-metrics-scraper"]
[["rules",3,"resourceNames",4],"http:dashboard-metrics-scraper"]
[["rules",3,"verbs",0],"get"]
[["kind"],"ClusterRole"]
[["apiVersion"],"rbac.authorization.k8s.io/v1"]
[["metadata","labels","k8s-app"],"kubernetes-dashboard"]
[["metadata","name"],"kubernetes-dashboard"]
[["rules",0,"apiGroups",0],"metrics.k8s.io"]
[["rules",0,"resources",0],"pods"]
[["rules",0,"resources",1],"nodes"]
[["rules",0,"verbs",0],"get"]
[["rules",0,"verbs",1],"list"]
[["rules",0,"verbs",2],"watch"]
[["apiVersion"],"rbac.authorization.k8s.io/v1"]
[["kind"],"RoleBinding"]
[["metadata","labels","k8s-app"],"kubernetes-dashboard"]
[["metadata","name"],"kubernetes-dashboard"]
[["metadata","namespace"],"kubernetes-dashboard"]
[["roleRef","apiGroup"],"rbac.authorization.k8s.io"]
[["roleRef","kind"],"Role"]
[["roleRef","name"],"kubernetes-dashboard"]
[["subjects",0,"kind"],"ServiceAccount"]
[["subjects",0,"name"],"kubernetes-dashboard"]
[["subjects",0,"namespace"],"kubernetes-dashboard"]
[["apiVersion"],"rbac.authorization.k8s.io/v1"]
[["kind"],"ClusterRoleBinding"]
[["metadata","name"],"kubernetes-dashboard"]
[["roleRef","apiGroup"],"rbac.authorization.k8s.io"]
[["roleRef","kind"],"ClusterRole"]
[["roleRef","name"],"kubernetes-dashboard"]
[["subjects",0,"kind"],"ServiceAccount"]
[["subjects",0,"name"],"kubernetes-dashboard"]
[["subjects",0,"namespace"],"kubernetes-dashboard"]
[["kind"],"Deployment"]
[["apiVersion"],"apps/v1"]
[["metadata","labels","k8s-app"],"kubernetes-dashboard"]
[["metadata","name"],"kubernetes-dashboard"]
[["metadata","namespace"],"kubernetes-dashboard"]
[["spec","replicas"],1]
[["spec","revisionHistoryLimit"],10]
[["spec","selector","matchLabels","k8s-app"],"kubernetes-dashboard"]
[["spec","template","metadata","labels","k8s-app"],"kubernetes-dashboard"]
[["spec","template","spec","containers",0,"name"],"kubernetes-dashboard"]
[["spec","template","spec","containers",0,"image"],"kubernetesui/dashboard:v2.0.4"]
[["spec","template","spec","containers",0,"ports",0,"containerPort"],9090]
[["spec","template","spec","containers",0,"ports",0,"protocol"],"TCP"]
[["spec","template","spec","containers",0,"args",0],"--namespace=kubernetes-dashboard"]
[["spec","template","spec","containers",0,"args",1],"--enable-insecure-login"]
[["spec","template","spec","containers",0,"volumeMounts",0,"mountPath"],"/tmp"]
[["spec","template","spec","containers",0,"volumeMounts",0,"name"],"tmp-volume"]
[["spec","template","spec","containers",0,"livenessProbe","httpGet","path"],"/"]
[["spec","template","spec","containers",0,"livenessProbe","httpGet","port"],9090]
[["spec","template","spec","containers",0,"livenessProbe","initialDelaySeconds"],30]
[["spec","template","spec","containers",0,"livenessProbe","timeoutSeconds"],30]
[["spec","template","spec","containers",0,"securityContext","readOnlyRootFilesystem"],true]
[["spec","template","spec","containers",0,"securityContext","runAsUser"],1001]
[["spec","template","spec","containers",0,"securityContext","runAsGroup"],2001]
[["spec","template","spec","volumes",0,"name"],"tmp-volume"]
[["spec","template","spec","serviceAccountName"],"kubernetes-dashboard"]
[["spec","template","spec","nodeSelector","kubernetes.io/os"],"linux"]
[["spec","template","spec","tolerations",0,"key"],"node-role.kubernetes.io/master"]
[["spec","template","spec","tolerations",0,"effect"],"NoSchedule"]
[["kind"],"Service"]
[["apiVersion"],"v1"]
[["metadata","labels","k8s-app"],"dashboard-metrics-scraper"]
[["metadata","name"],"dashboard-metrics-scraper"]
[["metadata","namespace"],"kubernetes-dashboard"]
[["spec","ports",0,"port"],8000]
[["spec","ports",0,"targetPort"],8000]
[["spec","selector","k8s-app"],"dashboard-metrics-scraper"]
[["kind"],"Deployment"]
[["apiVersion"],"apps/v1"]
[["metadata","labels","k8s-app"],"dashboard-metrics-scraper"]
[["metadata","name"],"dashboard-metrics-scraper"]
[["metadata","namespace"],"kubernetes-dashboard"]
[["spec","replicas"],1]
[["spec","revisionHistoryLimit"],10]
[["spec","selector","matchLabels","k8s-app"],"dashboard-metrics-scraper"]
[["spec","template","metadata","labels","k8s-app"],"dashboard-metrics-scraper"]
[["spec","template","metadata","annotations","seccomp.security.alpha.kubernetes.io/pod"],"runtime/default"]
[["spec","template","spec","containers",0,"name"],"dashboard-metrics-scraper"]
[["spec","template","spec","containers",0,"image"],"kubernetesui/metrics-scraper:v1.0.4"]
[["spec","template","spec","containers",0,"ports",0,"containerPort"],8000]
[["spec","template","spec","containers",0,"ports",0,"protocol"],"TCP"]
[["spec","template","spec","containers",0,"livenessProbe","httpGet","scheme"],"HTTP"]
[["spec","template","spec","containers",0,"livenessProbe","httpGet","path"],"/"]
[["spec","template","spec","containers",0,"livenessProbe","httpGet","port"],8000]
[["spec","template","spec","containers",0,"livenessProbe","initialDelaySeconds"],30]
[["spec","template","spec","containers",0,"livenessProbe","timeoutSeconds"],30]
[["spec","template","spec","containers",0,"volumeMounts",0,"mountPath"],"/tmp"]
[["spec","template","spec","containers",0,"volumeMounts",0,"name"],"tmp-volume"]
[["spec","template","spec","containers",0,"securityContext","readOnlyRootFilesystem"],true]
[["spec","template","spec","containers",0,"securityContext","runAsUser"],1001]
[["spec","template","spec","containers",0,"securityContext","runAsGroup"],2001]
[["spec","template","spec","serviceAccountName"],"kubernetes-dashboard"]
[["spec","template","spec","nodeSelector","kubernetes.io/os"],"linux"]
[["spec","template","spec","tolerations",0,"key"],"node-role.kubernetes.io/master"]
[["spec","template","spec","tolerations",0,"effect"],"NoSchedule"]
[["spec","template","spec","volumes",0,"name"],"tmp-volume"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment