github.com/oam-dev/kubevela@v1.9.11/e2e/application/component-pod-view.yaml (about)

     1  apiVersion: v1
     2  kind: ConfigMap
     3  metadata:
     4    name: test-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      }