github.com/oam-dev/kubevela@v1.9.11/charts/vela-core/templates/defwithtemplate/nocalhost.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/internal/nocalhost.cue
     3  apiVersion: core.oam.dev/v1beta1
     4  kind: TraitDefinition
     5  metadata:
     6    annotations:
     7      definition.oam.dev/description: nocalhost develop configuration.
     8    labels:
     9      custom.definition.oam.dev/ui-hidden: "true"
    10    name: nocalhost
    11    namespace: {{ include "systemDefinitionNamespace" . }}
    12  spec:
    13    appliesToWorkloads:
    14      - deployments.apps
    15      - statefulsets.apps
    16      - daemonsets.apps
    17      - jobs.batch
    18    podDisruptive: true
    19    schematic:
    20      cue:
    21        template: |
    22          import (
    23          	"encoding/json"
    24          )
    25  
    26          outputs: nocalhostService: {
    27          	apiVersion: "v1"
    28          	kind:       "Service"
    29          	metadata: name: context.name
    30          	spec: {
    31          		selector: "app.oam.dev/component": context.name
    32          		ports: [
    33          			{
    34          				port:       parameter.port
    35          				targetPort: parameter.port
    36          			},
    37          		]
    38          		type: "ClusterIP"
    39          	}
    40          }
    41  
    42          patch: metadata: annotations: {
    43          	"dev.nocalhost/application-name":      context.appName
    44          	"dev.nocalhost/application-namespace": context.namespace
    45          	"dev.nocalhost":                       json.Marshal({
    46          		name:        context.name
    47          		serviceType: parameter.serviceType
    48          		containers: [
    49          			{
    50          				name: context.name
    51          				dev: {
    52          					if parameter.gitUrl != _|_ {
    53          						gitUrl: parameter.gitUrl
    54          					}
    55          					if parameter.image == "go" {
    56          						image: "nocalhost-docker.pkg.coding.net/nocalhost/dev-images/golang:latest"
    57          					}
    58          					if parameter.image == "java" {
    59          						image: "nocalhost-docker.pkg.coding.net/nocalhost/dev-images/java:latest"
    60          					}
    61          					if parameter.image == "python" {
    62          						image: "nocalhost-docker.pkg.coding.net/nocalhost/dev-images/python:latest"
    63          					}
    64          					if parameter.image == "node" {
    65          						image: "nocalhost-docker.pkg.coding.net/nocalhost/dev-images/node:latest"
    66          					}
    67          					if parameter.image == "ruby" {
    68          						image: "nocalhost-docker.pkg.coding.net/nocalhost/dev-images/ruby:latest"
    69          					}
    70          					if parameter.image != "go" && parameter.image != "java" && parameter.image != "python" && parameter.image != "node" && parameter.image != "ruby" {
    71          						image: parameter.image
    72          					}
    73          					shell:   parameter.shell
    74          					workDir: parameter.workDir
    75          					if parameter.storageClass != _|_ {
    76          						storageClass: parameter.storageClass
    77          					}
    78          					resources: {
    79          						limits:   parameter.resources.limits
    80          						requests: parameter.resources.requests
    81          					}
    82          					if parameter.persistentVolumeDirs != _|_ {
    83          						persistentVolumeDirs: [
    84          							for v in parameter.persistentVolumeDirs {
    85          								path:     v.path
    86          								capacity: v.capacity
    87          							},
    88          						]
    89          					}
    90          					if parameter.command != _|_ {
    91          						command: parameter.command
    92          					}
    93          					if parameter.debug != _|_ {
    94          						debug: parameter.debug
    95          					}
    96          					hotReload: parameter.hotReload
    97          					if parameter.sync != _|_ {
    98          						sync: parameter.sync
    99          					}
   100          					if parameter.env != _|_ {
   101          						env: [
   102          							for v in parameter.env {
   103          								name:  v.name
   104          								value: v.value
   105          							},
   106          						]
   107          					}
   108          					if parameter.portForward != _|_ {
   109          						portForward: parameter.portForward
   110          					}
   111          					if parameter.portForward == _|_ {
   112          						portForward: ["\(parameter.port):\(parameter.port)"]
   113          					}
   114          				}
   115          			},
   116          		]
   117          	})
   118          }
   119          language: "go" | "java" | "python" | "node" | "ruby"
   120          parameter: {
   121          	port:          int
   122          	serviceType:   *"deployment" | string
   123          	gitUrl?:       string
   124          	image:         language | string
   125          	shell:         *"bash" | string
   126          	workDir:       *"/home/nocalhost-dev" | string
   127          	storageClass?: string
   128          	command: {
   129          		run:   *["sh", "run.sh"] | [...string]
   130          		debug: *["sh", "debug.sh"] | [...string]
   131          	}
   132          	debug?: remoteDebugPort?: int
   133          	hotReload: *true | bool
   134          	sync: {
   135          		type:              *"send" | string
   136          		filePattern:       *["./"] | [...string]
   137          		ignoreFilePattern: *[".git", ".vscode", ".idea", ".gradle", "build"] | [...string]
   138          	}
   139          	env?: [...{
   140          		name:  string
   141          		value: string
   142          	}]
   143          	portForward?: [...string]
   144          	persistentVolumeDirs?: [...{
   145          		path:     string
   146          		capacity: string
   147          	}]
   148          	resources: {
   149          		limits: {
   150          			memory: *"2Gi" | string
   151          			cpu:    *"2" | string
   152          		}
   153          		requests: {
   154          			memory: *"512Mi" | string
   155          			cpu:    *"0.5" | string
   156          		}
   157          	}
   158          }
   159