github.com/oam-dev/kubevela@v1.9.11/vela-templates/registry/auto-gen/webserver.yaml (about)

     1  # Code generated by KubeVela templates. DO NOT EDIT. Please edit the original cue file.
     2  # Definition source cue file: vela-templates/definitions/registry/webserver.cue
     3  apiVersion: core.oam.dev/v1beta1
     4  kind: ComponentDefinition
     5  metadata:
     6    annotations:
     7      definition.oam.dev/description: webserver was composed by deployment and service
     8    name: webserver
     9    namespace: vela-system
    10  spec:
    11    schematic:
    12      cue:
    13        template: |
    14          output: {
    15          	apiVersion: "apps/v1"
    16          	kind:       "Deployment"
    17          	spec: {
    18          		selector: matchLabels: "app.oam.dev/component": context.name
    19          		template: {
    20          			metadata: labels: "app.oam.dev/component": context.name
    21          			spec: containers: [{
    22          				name:  context.name
    23          				image: parameter.image
    24  
    25          				if parameter["cmd"] != _|_ {
    26          					command: parameter.cmd
    27          				}
    28  
    29          				if parameter["env"] != _|_ {
    30          					env: parameter.env
    31          				}
    32  
    33          				if context["config"] != _|_ {
    34          					env: context.config
    35          				}
    36  
    37          				ports: [{
    38          					containerPort: parameter.port
    39          				}]
    40  
    41          				if parameter["cpu"] != _|_ {
    42          					resources: {
    43          						limits: cpu:   parameter.cpu
    44          						requests: cpu: parameter.cpu
    45          					}
    46          				}
    47          			}]
    48          		}
    49          	}
    50          }
    51          // workload can have extra object composition by using 'outputs' keyword
    52          outputs: service: {
    53          	apiVersion: "v1"
    54          	kind:       "Service"
    55          	spec: {
    56          		selector: "app.oam.dev/component": context.name
    57          		ports: [
    58          			{
    59          				port:       parameter.port
    60          				targetPort: parameter.port
    61          			},
    62          		]
    63          	}
    64          }
    65          parameter: {
    66          	image: string
    67          	cmd?: [...string]
    68          	port: *80 | int
    69          	env?: [...{
    70          		name:   string
    71          		value?: string
    72          		valueFrom?: secretKeyRef: {
    73          			name: string
    74          			key:  string
    75          		}
    76          	}]
    77          	cpu?: string
    78          }
    79    workload:
    80      definition:
    81        apiVersion: apps/v1
    82        kind: Deployment
    83