github.com/oam-dev/kubevela@v1.9.11/references/docgen/testdata/ingressDef.yaml (about) 1 apiVersion: core.oam.dev/v1beta1 2 kind: TraitDefinition 3 metadata: 4 name: ingress.test 5 spec: 6 appliesToWorkloads: 7 - deployments.apps 8 extension: 9 template: | 10 parameter: { 11 domain: string 12 http: [string]: int 13 } 14 15 // trait template can have multiple outputs in one trait 16 outputs: service: { 17 apiVersion: "v1" 18 kind: "Service" 19 metadata: 20 name: context.name 21 spec: { 22 selector: 23 "app.oam.dev/component": context.name 24 ports: [ 25 for k, v in parameter.http { 26 port: v 27 targetPort: v 28 }, 29 ] 30 } 31 } 32 33 outputs: ingress: { 34 apiVersion: "networking.k8s.io/v1beta1" 35 kind: "Ingress" 36 metadata: 37 name: context.name 38 spec: { 39 rules: [{ 40 host: parameter.domain 41 http: { 42 paths: [ 43 for k, v in parameter.http { 44 path: k 45 backend: { 46 serviceName: context.name 47 servicePort: v 48 } 49 }, 50 ] 51 } 52 }] 53 } 54 } 55 56