github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/api/v1beta1/ambassador.go (about) 1 package v1beta1 2 3 import "github.com/caos/orbos/internal/operator/boom/api/v1beta1/toleration" 4 5 type Ambassador struct { 6 //Flag if tool should be deployed 7 //@default: false 8 Deploy bool `json:"deploy" yaml:"deploy"` 9 //Number of replicas used for deployment 10 //@default: 1 11 ReplicaCount int `json:"replicaCount,omitempty" yaml:"replicaCount,omitempty"` 12 //Service definition for ambassador 13 Service *AmbassadorService `json:"service,omitempty" yaml:"service,omitempty"` 14 //Activate the dev portal mapping 15 ActivateDevPortal bool `json:"activateDevPortal,omitempty" yaml:"activateDevPortal,omitempty"` 16 //NodeSelector for deployment 17 NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"` 18 //Tolerations to run ambassador on nodes 19 Tolerations []toleration.Toleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty"` 20 } 21 22 type AmbassadorService struct { 23 //Kubernetes service type 24 Type string `json:"type,omitempty" yaml:"type,omitempty"` 25 //IP when service is a loadbalancer with a fixed IP 26 LoadBalancerIP string `json:"loadBalancerIP,omitempty" yaml:"loadBalancerIP,omitempty"` 27 //Port definitions for the service 28 Ports []*Port `json:"ports,omitempty" yaml:"ports,omitempty"` 29 } 30 31 type Port struct { 32 //Name of the Port 33 Name string `json:"name,omitempty" yaml:"name,omitempty"` 34 //Port number 35 Port uint16 `json:"port,omitempty" yaml:"port,omitempty"` 36 //Targetport in-cluster 37 TargetPort uint16 `json:"targetPort,omitempty" yaml:"targetPort,omitempty"` 38 //Used port on node 39 NodePort uint16 `json:"nodePort,omitempty" yaml:"nodePort,omitempty"` 40 }