Documentation ¶
Index ¶
- Constants
- Variables
- func CheckVLANRangesOverlap(ranges []VLANRange) error
- func DefaultObjectMetadata(obj client.Object)
- func SortVLANRanges(ranges []VLANRange)
- func ValidateObjectMetadata(obj client.Object) error
- type AlloyBasicAuth
- type AlloyConfig
- type AlloyLokiTarget
- type AlloyPrometheusTarget
- type AlloyTarget
- type Defaultable
- type FabricConfig
- type FabricMode
- type NOSType
- type Object
- type ObjectList
- type Range
- type RedundancyType
- type UserCreds
- type VLANRange
- type Validatable
Constants ¶
const (
SwitchProfileVS = "vs"
)
Variables ¶
var FabricModes = []FabricMode{ FabricModeCollapsedCore, FabricModeSpineLeaf, }
var NOSTypes = []NOSType{ NOSTypeSONiCBCMBase, NOSTypeSONiCBCMCampus, NOSTypeSONiCBCMVS, }
var RedundancyTypes = []RedundancyType{ RedundancyTypeNone, RedundancyTypeMCLAG, RedundancyTypeESLAG, }
Functions ¶
func CheckVLANRangesOverlap ¶
func DefaultObjectMetadata ¶
func SortVLANRanges ¶
func SortVLANRanges(ranges []VLANRange)
func ValidateObjectMetadata ¶
Types ¶
type AlloyBasicAuth ¶ added in v0.35.5
type AlloyConfig ¶ added in v0.35.5
type AlloyConfig struct { AgentScrapeIntervalSeconds uint `json:"agentScrapeIntervalSeconds,omitempty"` UnixExporterEnabled bool `json:"unixExporterEnabled,omitempty"` UnixExporterCollectors []string `json:"unixExporterCollectors,omitempty"` UnixScrapeIntervalSeconds uint `json:"unixScrapeIntervalSeconds,omitempty"` CollectSyslogEnabled bool `json:"collectSyslogEnabled,omitempty"` PrometheusTargets map[string]AlloyPrometheusTarget `json:"prometheusTargets,omitempty"` LokiTargets map[string]AlloyLokiTarget `json:"lokiTargets,omitempty"` ControlProxyURL string `json:"controlProxyURL,omitempty"` }
+kubebuilder:object:generate=true
func (*AlloyConfig) DeepCopy ¶ added in v0.35.5
func (in *AlloyConfig) DeepCopy() *AlloyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlloyConfig.
func (*AlloyConfig) DeepCopyInto ¶ added in v0.35.5
func (in *AlloyConfig) DeepCopyInto(out *AlloyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AlloyConfig) Default ¶ added in v0.35.5
func (a *AlloyConfig) Default()
func (*AlloyConfig) Validate ¶ added in v0.35.5
func (a *AlloyConfig) Validate() error
type AlloyLokiTarget ¶ added in v0.35.5
type AlloyLokiTarget struct {
AlloyTarget `json:",inline"`
}
+kubebuilder:object:generate=true
func (*AlloyLokiTarget) DeepCopy ¶ added in v0.35.5
func (in *AlloyLokiTarget) DeepCopy() *AlloyLokiTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlloyLokiTarget.
func (*AlloyLokiTarget) DeepCopyInto ¶ added in v0.35.5
func (in *AlloyLokiTarget) DeepCopyInto(out *AlloyLokiTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AlloyPrometheusTarget ¶ added in v0.35.5
type AlloyPrometheusTarget struct { AlloyTarget `json:",inline"` SendIntervalSeconds uint `json:"sendIntervalSeconds,omitempty"` }
+kubebuilder:object:generate=true
func (*AlloyPrometheusTarget) DeepCopy ¶ added in v0.35.5
func (in *AlloyPrometheusTarget) DeepCopy() *AlloyPrometheusTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlloyPrometheusTarget.
func (*AlloyPrometheusTarget) DeepCopyInto ¶ added in v0.35.5
func (in *AlloyPrometheusTarget) DeepCopyInto(out *AlloyPrometheusTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AlloyTarget ¶ added in v0.35.5
type AlloyTarget struct { URL string `json:"url,omitempty"` BasicAuth AlloyBasicAuth `json:"basicAuth,omitempty"` BearerToken string `json:"bearerToken,omitempty"` Labels map[string]string `json:"labels,omitempty"` UseControlProxy bool `json:"useControlProxy,omitempty"` InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"` CAPEM string `json:"caPEM,omitempty"` CertPEM string `json:"certPEM,omitempty"` }
+kubebuilder:object:generate=true
func (*AlloyTarget) DeepCopy ¶ added in v0.35.5
func (in *AlloyTarget) DeepCopy() *AlloyTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlloyTarget.
func (*AlloyTarget) DeepCopyInto ¶ added in v0.35.5
func (in *AlloyTarget) DeepCopyInto(out *AlloyTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Defaultable ¶
type Defaultable interface {
Default()
}
type FabricConfig ¶
type FabricConfig struct { ControlVIP string `json:"controlVIP,omitempty"` APIServer string `json:"apiServer,omitempty"` AgentRepo string `json:"agentRepo,omitempty"` VPCIRBVLANRanges []VLANRange `json:"vpcIRBVLANRange,omitempty"` VPCPeeringVLANRanges []VLANRange `json:"vpcPeeringVLANRange,omitempty"` // TODO rename (loopback workaround) VPCPeeringDisabled bool `json:"vpcPeeringDisabled,omitempty"` ReservedSubnets []string `json:"reservedSubnets,omitempty"` Users []UserCreds `json:"users,omitempty"` FabricMode FabricMode `json:"fabricMode,omitempty"` BaseVPCCommunity string `json:"baseVPCCommunity,omitempty"` VPCLoopbackSubnet string `json:"vpcLoopbackSubnet,omitempty"` FabricMTU uint16 `json:"fabricMTU,omitempty"` ServerFacingMTUOffset uint16 `json:"serverFacingMTUOffset,omitempty"` ESLAGMACBase string `json:"eslagMACBase,omitempty"` ESLAGESIPrefix string `json:"eslagESIPrefix,omitempty"` AlloyRepo string `json:"alloyRepo,omitempty"` AlloyVersion string `json:"alloyVersion,omitempty"` Alloy AlloyConfig `json:"alloy,omitempty"` DefaultMaxPathsEBGP uint32 `json:"defaultMaxPathsEBGP,omitempty"` AllowExtraSwitchProfiles bool `json:"allowExtraSwitchProfiles,omitempty"` MCLAGSessionSubnet string `json:"mclagSessionSubnet,omitempty"` // contains filtered or unexported fields }
func LoadFabricConfig ¶
func LoadFabricConfig(basedir string) (*FabricConfig, error)
func (*FabricConfig) Init ¶ added in v0.37.1
func (cfg *FabricConfig) Init() (*FabricConfig, error)
func (*FabricConfig) ParsedReservedSubnets ¶
func (cfg *FabricConfig) ParsedReservedSubnets() []*net.IPNet
func (*FabricConfig) WithReservedSubnets ¶ added in v0.37.1
func (cfg *FabricConfig) WithReservedSubnets() error
type FabricMode ¶
type FabricMode string
const ( FabricModeCollapsedCore FabricMode = "collapsed-core" FabricModeSpineLeaf FabricMode = "spine-leaf" )
type Object ¶
type Object interface { client.Object Defaultable Validatable }
type ObjectList ¶ added in v0.34.0
type ObjectList interface { client.ObjectList GetItems() []Object }
type Range ¶
type Range[T comparable] interface { From() T To() T }
type RedundancyType ¶
type RedundancyType string
+kubebuilder:validation:Enum=mclag;eslag RedundancyType is the type of the redundancy group, could be mclag or eslag. It defines how redundancy will be configured and handled on the switch as well as which connection types will be available.
const ( RedundancyTypeNone RedundancyType = "" RedundancyTypeMCLAG RedundancyType = "mclag" RedundancyTypeESLAG RedundancyType = "eslag" )