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  }