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