apiVersion: core.oam.dev/v1alpha2 kind: TraitDefinition metadata: name: expose spec: extension: template: | parameter: { domain: string http: [string]: int } outputs: { for k, v in parameter.http { "\(k)": { apiVersion: "v1" kind: "Service" spec: { selector: app: context.name ports: [{ port: v targetPort: v }] } } } }