Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the ako v1alpha1 API group +kubebuilder:object:generate=true +groupName=ako.vmware.com
Index ¶
- Variables
- type AKOConfig
- type AKOConfigList
- type AKOConfigSpec
- type AKOConfigStatus
- type AKOSettings
- type ControllerSettings
- type L4Settings
- type L7Settings
- type LogLevelType
- type NamespaceSelector
- type NetworkSettings
- type NodeNetwork
- type NodePortSelector
- type PassthroughVSSize
- type Rbac
- type ResourceLimits
- type ResourceRequests
- type Resources
- type ServiceTypeStr
- type VSSize
- type VipNetwork
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "ako.vmware.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type AKOConfig ¶
type AKOConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AKOConfigSpec `json:"spec,omitempty"` Status AKOConfigStatus `json:"status,omitempty"` }
AKOConfig is the Schema for the akoconfigs API
func (*AKOConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AKOConfig.
func (*AKOConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AKOConfig) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AKOConfigList ¶
type AKOConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AKOConfig `json:"items"` }
AKOConfigList contains a list of AKOConfig
func (*AKOConfigList) DeepCopy ¶
func (in *AKOConfigList) DeepCopy() *AKOConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AKOConfigList.
func (*AKOConfigList) DeepCopyInto ¶
func (in *AKOConfigList) DeepCopyInto(out *AKOConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AKOConfigList) DeepCopyObject ¶
func (in *AKOConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AKOConfigSpec ¶
type AKOConfigSpec struct { // ImageRepository is where the AKO controller resides. ImageRepository string `json:"imageRepository,omitempty"` // ImagePullPolicy defines when the AKO controller image gets pulled. ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // ReplicaCount defines the number of replicas for AKO Statefulset ReplicaCount int `json:"replicaCount,omitempty"` AKOSettings `json:"akoSettings,omitempty"` NetworkSettings `json:"networkSettings,omitempty"` L7Settings `json:"l7Settings,omitempty"` L4Settings `json:"l4Settings,omitempty"` ControllerSettings `json:"controllerSettings,omitempty"` NodePortSelector `json:"nodePortSelector,omitempty"` Resources `json:"resources,omitempty"` Rbac `json:"rbac,omitempty"` PersistentVolumeClaim string `json:"pvc,omitempty"` MountPath string `json:"mountPath,omitempty"` LogFile string `json:"logFile,omitempty"` }
AKOConfigSpec defines the desired state of AKOConfig
func (*AKOConfigSpec) DeepCopy ¶
func (in *AKOConfigSpec) DeepCopy() *AKOConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AKOConfigSpec.
func (*AKOConfigSpec) DeepCopyInto ¶
func (in *AKOConfigSpec) DeepCopyInto(out *AKOConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AKOConfigStatus ¶
type AKOConfigStatus struct {
State string `json:"state,omitempty"`
}
AKOConfigStatus defines the observed state of AKOConfig
func (*AKOConfigStatus) DeepCopy ¶
func (in *AKOConfigStatus) DeepCopy() *AKOConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AKOConfigStatus.
func (*AKOConfigStatus) DeepCopyInto ¶
func (in *AKOConfigStatus) DeepCopyInto(out *AKOConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AKOSettings ¶
type AKOSettings struct { // LogLevel defines the log level to be used by the AKO controller LogLevel LogLevelType `json:"logLevel,omitempty"` // EnableEvents controls whether AKO broadcasts Events in the cluster or not EnableEvents bool `json:"enableEvents,omitempty"` // FullSyncFrequency defines the interval at which full sync is carried out by the AKO controller FullSyncFrequency string `json:"fullSyncFrequency,omitempty"` // APIServerPort is the port at which the AKO API server runs APIServerPort int `json:"apiServerPort,omitempty"` // DeleteConfig is set if clean up is required by AKO DeleteConfig bool `json:"deleteConfig,omitempty"` // DisableStaticRouteSync is set if the static route sync is not required DisableStaticRouteSync bool `json:"disableStaticRouteSync,omitempty"` // ClusterName is used to identify a cluster ClusterName string `json:"clusterName,omitempty"` // CNIPlugin specifies the CNI to be used CNIPlugin string `json:"cniPlugin,omitempty"` // Namespace selector specifies the namespace labels from which AKO should sync from NSSelector NamespaceSelector `json:"namespaceSelector,omitempty"` // EnableEVH enables the Enhanced Virtual Hosting Model in Avi Controller for the Virtual Services EnableEVH bool `json:"enableEVH,omitempty"` // Layer7Only enables AKO to do Layer 7 loadbalancing only Layer7Only bool `json:"layer7Only,omitempty"` // ServicesAPI enables AKO to do Layer 4 loadbalancing using Services API ServicesAPI bool `json:"servicesAPI,omitempty"` // VipPerNamespace enables AKO to create Parent VS per Namespace in EVH mode VipPerNamespace bool `json:"vipPerNamespace,omitempty"` // IstioEnabled flag needs to be enabled when AKO is be to brought up in an Istio environment IstioEnabled bool `json:"istioEnabled,omitempty"` // BlockedNamespaceList is the list of system namespaces from which AKO will not listen any Kubernetes or Openshift object event. BlockedNamespaceList []string `json:"blockedNamespaceList,omitempty"` // IPFamily specifies IP family to be used. This flag can take values V4 or V6 (default V4). This is for the backend pools to use ipv6 or ipv4. For frontside VS, use v6cidr. IPFamily string `json:"ipFamily,omitempty"` // UseDefaultSecretsOnly flag if set to true, AKO will only handle default secrets from the namespace where AKO is installed. This flag is applicable only to Openshift clusters. UseDefaultSecretsOnly bool `json:"useDefaultSecretsOnly,omitempty"` }
AKOSettings defines the settings required for the AKO controller
func (*AKOSettings) DeepCopy ¶
func (in *AKOSettings) DeepCopy() *AKOSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AKOSettings.
func (*AKOSettings) DeepCopyInto ¶
func (in *AKOSettings) DeepCopyInto(out *AKOSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerSettings ¶
type ControllerSettings struct { // ServiceEngineGroupName is the name of the Serviceengine group in Avi ServiceEngineGroupName string `json:"serviceEngineGroupName,omitempty"` // ControllerVersion is the Avi controller version ControllerVersion string `json:"controllerVersion,omitempty"` // CloudName is the name of the cloud to be used in Avi CloudName string `json:"cloudName,omitempty"` // ControllerIP is the IP address of the Avi Controller ControllerIP string `json:"controllerIP,omitempty"` // TenantsPerCluster if set to true, AKO will map each k8s cluster uniquely to a tenant // in Avi TenantsPerCluster bool `json:"tenantsPerCluster,omitempty"` // TenantName is the name of the tenant where all AKO objects will be created in Avi. TenantName string `json:"tenantName,omitempty"` }
ControllerSettings defines the Avi Controller parameters
func (*ControllerSettings) DeepCopy ¶
func (in *ControllerSettings) DeepCopy() *ControllerSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerSettings.
func (*ControllerSettings) DeepCopyInto ¶
func (in *ControllerSettings) DeepCopyInto(out *ControllerSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type L4Settings ¶
type L4Settings struct { // AdvancedL4 specifies whether the AKO controller should listen for the Gateway objects AdvancedL4 bool `json:"advancedL4,omitempty"` // DefaultDomain is the default domain DefaultDomain string `json:"defaultDomain,omitempty"` //Specifies the FQDN pattern - default, flat or disabled AutoFQDN string `json:"autoFQDN,omitempty"` }
L4Settings defines the L4 configuration for the AKO controller
func (*L4Settings) DeepCopy ¶
func (in *L4Settings) DeepCopy() *L4Settings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new L4Settings.
func (*L4Settings) DeepCopyInto ¶
func (in *L4Settings) DeepCopyInto(out *L4Settings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type L7Settings ¶
type L7Settings struct { // DefaultIngController specifies whether AKO controller is the default ingress controller DefaultIngController bool `json:"defaultIngController,omitempty"` // ServiceType defines the service type: ClusterIP, NodePort or NodePortLocal ServiceType ServiceTypeStr `json:"serviceType,omitempty"` // ShardVSSize specifies the number of shard VSs to be created ShardVSSize VSSize `json:"shardVSSize,omitempty"` // PassthroughShardSize specifies the number of shard VSs to be created for passthrough routes PassthroughShardSize PassthroughVSSize `json:"passthroughShardSize,omitempty"` // SyncNamespace takes in a namespace from which AKO will sync the objects SyncNamespace string `json:"syncNamespace,omitempty"` // NoPGForSNI removes Avi PoolGroups from SNI VSes NoPGForSNI bool `json:"noPGForSNI,omitempty"` }
L7Settings defines the L7 configuration for the AKO controller
func (*L7Settings) DeepCopy ¶
func (in *L7Settings) DeepCopy() *L7Settings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new L7Settings.
func (*L7Settings) DeepCopyInto ¶
func (in *L7Settings) DeepCopyInto(out *L7Settings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespaceSelector ¶
type NamespaceSelector struct { LabelKey string `json:"labelKey,omitempty"` LabelValue string `json:"labelValue,omitempty"` }
func (*NamespaceSelector) DeepCopy ¶
func (in *NamespaceSelector) DeepCopy() *NamespaceSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceSelector.
func (*NamespaceSelector) DeepCopyInto ¶
func (in *NamespaceSelector) DeepCopyInto(out *NamespaceSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkSettings ¶
type NetworkSettings struct { // NodeNetworkList is the list of networks and their cidrs used in pool placement network for vcenter // cloud. This is not required for either of these cases: // 1. nodeport is enabled // 2. static routes are disabled // 3. non vcenter clouds NodeNetworkList []NodeNetwork `json:"nodeNetworkList,omitempty"` // EnableRHI is a cluster wide setting for BGP peering EnableRHI bool `json:"enableRHI,omitempty"` // T1 Logical Segment mapping for backend network. Only applies to NSX-T cloud. NsxtT1LR string `json:"nsxtT1LR,omitempty"` // BGPPeerLabels enable selection of BGP peers, for selective VsVip advertisement. BGPPeerLabels []string `json:"bgpPeerLabels,omitempty"` // VipNetworkList holds the names and subnet information of networks as specified in Avi VipNetworkList []VipNetwork `json:"vipNetworkList,omitempty"` }
NetworkSettings defines the network details required for the AKO controller
func (*NetworkSettings) DeepCopy ¶
func (in *NetworkSettings) DeepCopy() *NetworkSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSettings.
func (*NetworkSettings) DeepCopyInto ¶
func (in *NetworkSettings) DeepCopyInto(out *NetworkSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeNetwork ¶
type NodeNetwork struct { NetworkName string `json:"networkName,omitempty"` Cidrs []string `json:"cidrs,omitempty"` }
func (*NodeNetwork) DeepCopy ¶
func (in *NodeNetwork) DeepCopy() *NodeNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeNetwork.
func (*NodeNetwork) DeepCopyInto ¶
func (in *NodeNetwork) DeepCopyInto(out *NodeNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePortSelector ¶
type NodePortSelector struct { Key string `json:"key,omitempty"` Value string `json:"value,omitempty"` }
NodePortSelector defines the node port settings, to be used only if the serviceTYpe is selected NodePort
func (*NodePortSelector) DeepCopy ¶
func (in *NodePortSelector) DeepCopy() *NodePortSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePortSelector.
func (*NodePortSelector) DeepCopyInto ¶
func (in *NodePortSelector) DeepCopyInto(out *NodePortSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PassthroughVSSize ¶
type PassthroughVSSize string
+kubebuilder:validation:Enum=LARGE;MEDIUM;SMALL
type Rbac ¶
type Rbac struct {
PSPEnable bool `json:"pspEnable,omitempty"`
}
func (*Rbac) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rbac.
func (*Rbac) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceLimits ¶
type ResourceLimits struct { CPU string `json:"cpu,omitempty"` Memory string `json:"memory,omitempty"` }
ResourceLimits defines the limits on cpu and memory for the AKO controller
func (*ResourceLimits) DeepCopy ¶
func (in *ResourceLimits) DeepCopy() *ResourceLimits
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceLimits.
func (*ResourceLimits) DeepCopyInto ¶
func (in *ResourceLimits) DeepCopyInto(out *ResourceLimits)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceRequests ¶
type ResourceRequests struct { CPU string `json:"cpu,omitempty"` Memory string `json:"memory,omitempty"` }
ResourceRequests defines the requests for cpu and memory by the AKO controller
func (*ResourceRequests) DeepCopy ¶
func (in *ResourceRequests) DeepCopy() *ResourceRequests
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRequests.
func (*ResourceRequests) DeepCopyInto ¶
func (in *ResourceRequests) DeepCopyInto(out *ResourceRequests)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resources ¶
type Resources struct { Limits ResourceLimits `json:"limits,omitempty"` Requests ResourceRequests `json:"requests,omitempty"` }
Resources defines the limits and requests for cpu and memory to be used by the AKO controller
func (*Resources) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resources.
func (*Resources) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceTypeStr ¶
type ServiceTypeStr string
+kubebuilder:validation:Enum=NodePort;ClusterIP;NodePortLocal
type VipNetwork ¶
type VipNetwork struct { NetworkName string `json:"networkName,omitempty"` Cidr string `json:"cidr,omitempty"` //V6Cidr will enable the VS networks to use ipv6 V6Cidr string `json:"v6cidr,omitempty"` }
func (*VipNetwork) DeepCopy ¶
func (in *VipNetwork) DeepCopy() *VipNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VipNetwork.
func (*VipNetwork) DeepCopyInto ¶
func (in *VipNetwork) DeepCopyInto(out *VipNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.