github.com/oam-dev/kubevela@v1.9.11/test/e2e-multicluster-test/testdata/view/component-pod-view.yaml (about) 1 apiVersion: v1 2 kind: ConfigMap 3 metadata: 4 name: component-pod-view 5 namespace: vela-system 6 data: 7 template: | 8 import ( 9 "vela/ql" 10 ) 11 12 parameter: { 13 appName: string 14 appNs: string 15 name?: string 16 cluster?: string 17 clusterNs?: string 18 } 19 20 result: ql.#CollectPods & { 21 app: { 22 name: parameter.appName 23 namespace: parameter.appNs 24 filter: { 25 if parameter.cluster != _|_ { 26 cluster: parameter.cluster 27 } 28 if parameter.clusterNs != _|_ { 29 clusterNamespace: parameter.clusterNs 30 } 31 if parameter.name != _|_ { 32 components: [parameter.name] 33 } 34 } 35 } 36 } 37 38 if result.err == _|_ { 39 status: { 40 podList: [ for pod in result.list if pod.object != _|_ { 41 cluster: pod.cluster 42 workload: pod.workload 43 component: pod.component 44 metadata: { 45 name: pod.object.metadata.name 46 namespace: pod.object.metadata.namespace 47 creationTime: pod.object.metadata.creationTimestamp 48 labels: pod.object.metadata.labels 49 version: { 50 if pod.publishVersion != _|_ { 51 publishVersion: pod.publishVersion 52 } 53 if pod.deployVersion != _|_ { 54 deployVersion: pod.deployVersion 55 } 56 } 57 } 58 status: { 59 phase: pod.object.status.phase 60 // refer to https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase 61 if phase != "Pending" && phase != "Unknown" { 62 podIP: pod.object.status.podIP 63 hostIP: pod.object.status.hostIP 64 nodeName: pod.object.spec.nodeName 65 } 66 } 67 }] 68 } 69 } 70 71 if result.err != _|_ { 72 status: { 73 error: result.err 74 } 75 }