github.com/oam-dev/kubevela@v1.9.11/pkg/addon/testdata/test-view/views/pod-view.cue (about)

     1  import (
     2  	"vela/ql"
     3  )
     4  
     5  parameter: {
     6  	name:      string
     7  	namespace: string
     8  	cluster:   *"" | string
     9  }
    10  pod: ql.#Read & {
    11  	value: {
    12  		apiVersion: "v1"
    13  		kind:       "Pod"
    14  		metadata: {
    15  			name:      parameter.name
    16  			namespace: parameter.namespace
    17  		}
    18  	}
    19  	cluster: parameter.cluster
    20  }
    21  eventList: ql.#SearchEvents & {
    22  	value: {
    23  		apiVersion: "v1"
    24  		kind:       "Pod"
    25  		metadata:   pod.value.metadata
    26  	}
    27  	cluster: parameter.cluster
    28  }
    29  podMetrics: ql.#Read & {
    30  	cluster: parameter.cluster
    31  	value: {
    32  		apiVersion: "metrics.k8s.io/v1beta1"
    33  		kind:       "PodMetrics"
    34  		metadata: {
    35  			name:      parameter.name
    36  			namespace: parameter.namespace
    37  		}
    38  	}
    39  }
    40  status: {
    41  	if pod.err == _|_ {
    42  		containers: [ for container in pod.value.spec.containers {
    43  			name:  container.name
    44  			image: container.image
    45  			resources: {
    46  				if container.resources.limits != _|_ {
    47  					limits: container.resources.limits
    48  				}
    49  				if container.resources.requests != _|_ {
    50  					requests: container.resources.requests
    51  				}
    52  				if podMetrics.err == _|_ {
    53  					usage: {for containerUsage in podMetrics.value.containers {
    54  						if containerUsage.name == container.name {
    55  							cpu:    containerUsage.usage.cpu
    56  							memory: containerUsage.usage.memory
    57  						}
    58  					}}
    59  				}
    60  			}
    61  			if pod.value.status.containerStatuses != _|_ {
    62  				status: {for containerStatus in pod.value.status.containerStatuses if containerStatus.name == container.name {
    63  					state:        containerStatus.state
    64  					restartCount: containerStatus.restartCount
    65  				}}
    66  			}
    67  		}]
    68  		if eventList.err == _|_ {
    69  			events: eventList.list
    70  		}
    71  	}
    72  	if pod.err != _|_ {
    73  		error: pod.err
    74  	}
    75  }