github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/application/applications/apigateway/crds/mapping.go (about) 1 package crds 2 3 type MappingConfig struct { 4 Name string 5 Namespace string 6 Prefix string 7 Service string 8 Host string 9 } 10 type MappingSpec struct { 11 Prefix string `yaml:"prefix"` 12 Service string `yaml:"service"` 13 Host string `yaml:"host"` 14 } 15 type Mapping struct { 16 APIVersion string `yaml:"apiVersion"` 17 Kind string `yaml:"kind"` 18 Metadata *Metadata `yaml:"metadata"` 19 Spec *MappingSpec `yaml:"spec"` 20 } 21 22 func GetMappingFromConfig(conf *MappingConfig) *Mapping { 23 24 var metadata *Metadata 25 if conf.Namespace != "" { 26 metadata = &Metadata{ 27 Name: conf.Name, 28 Namespace: conf.Namespace, 29 } 30 } else { 31 metadata = &Metadata{ 32 Name: conf.Name, 33 } 34 } 35 36 return &Mapping{ 37 APIVersion: "getambassador.io/v2", 38 Kind: "Mapping", 39 Metadata: metadata, 40 Spec: &MappingSpec{ 41 Prefix: conf.Prefix, 42 Service: conf.Service, 43 Host: conf.Host, 44 }, 45 } 46 }