Documentation
¶
Index ¶
- Constants
- Variables
- func GetVersion() string
- func IsMutliSiteListener(listener *n.ApplicationGatewayHTTPListener) bool
- func LookupIPConfigurationByID(frontendIPConfigurations *[]n.ApplicationGatewayFrontendIPConfiguration, ...) *n.ApplicationGatewayFrontendIPConfiguration
- func LookupIPConfigurationByType(frontendIPConfigurations *[]n.ApplicationGatewayFrontendIPConfiguration, ...) *n.ApplicationGatewayFrontendIPConfiguration
- func LookupListenerByID(listeners *[]n.ApplicationGatewayHTTPListener, ID *string) *n.ApplicationGatewayHTTPListener
- func NewAppGwyConfigFixture() *n.ApplicationGatewayPropertiesFormat
- func NewPrivateIPFrontendIPConfiguration() n.ApplicationGatewayFrontendIPConfiguration
- func NewPublicIPFrontendIPConfiguration() n.ApplicationGatewayFrontendIPConfiguration
- type Clock
- type ConfigBuilder
- type ConfigBuilderContext
- type FrontendType
- type Identifier
- type Port
Constants ¶
const ( // MaxAllowedHostNames the maximum number of HostNames allowed for listener. MaxAllowedHostNames int = 5 // WildcardSpecialCharacters are characters that are allowed for wildcard HostNames. WildcardSpecialCharacters = "*?" )
const (
// DefaultConnDrainTimeoutInSec provides default value for ConnectionDrainTimeout
DefaultConnDrainTimeoutInSec = 30
)
const (
MaxAllowedPriority = 20000
)
Variables ¶
var DefaultBackendAddressPoolName = fmt.Sprintf("%sdefaultaddresspool", agPrefix)
DefaultBackendAddressPoolName is the name to be assigned to App Gateway's default backend pool resource.
var DefaultBackendHTTPSettingsName = fmt.Sprintf("%sdefaulthttpsetting", agPrefix)
DefaultBackendHTTPSettingsName is the name to be assigned to App Gateway's default HTTP settings resource.
Functions ¶
func GetVersion ¶
func GetVersion() string
GetVersion returns a string representing the version of AGIC.
func IsMutliSiteListener ¶
func IsMutliSiteListener(listener *n.ApplicationGatewayHTTPListener) bool
func LookupIPConfigurationByID ¶
func LookupIPConfigurationByID(frontendIPConfigurations *[]n.ApplicationGatewayFrontendIPConfiguration, ID *string) *n.ApplicationGatewayFrontendIPConfiguration
LookupIPConfigurationByID gets by ID.
func LookupIPConfigurationByType ¶
func LookupIPConfigurationByType(frontendIPConfigurations *[]n.ApplicationGatewayFrontendIPConfiguration, frontendType FrontendType) *n.ApplicationGatewayFrontendIPConfiguration
LookupIPConfigurationByType gets the public or private address depending upon privateIP parameter.
func LookupListenerByID ¶
func LookupListenerByID(listeners *[]n.ApplicationGatewayHTTPListener, ID *string) *n.ApplicationGatewayHTTPListener
LookupListener gets by ID.
func NewAppGwyConfigFixture ¶
func NewAppGwyConfigFixture() *n.ApplicationGatewayPropertiesFormat
NewAppGwyConfigFixture creates a new struct for testing.
func NewPrivateIPFrontendIPConfiguration ¶
func NewPrivateIPFrontendIPConfiguration() n.ApplicationGatewayFrontendIPConfiguration
func NewPublicIPFrontendIPConfiguration ¶
func NewPublicIPFrontendIPConfiguration() n.ApplicationGatewayFrontendIPConfiguration
Types ¶
type ConfigBuilder ¶
type ConfigBuilder interface { PreBuildValidate(cbCtx *ConfigBuilderContext) error Build(cbCtx *ConfigBuilderContext) (*n.ApplicationGateway, error) PostBuildValidate(cbCtx *ConfigBuilderContext) error }
ConfigBuilder is a builder for application gateway configuration
func NewConfigBuilder ¶
func NewConfigBuilder(context *k8scontext.Context, appGwIdentifier *Identifier, original *n.ApplicationGateway, recorder record.EventRecorder, clock Clock) ConfigBuilder
NewConfigBuilder construct a builder
type ConfigBuilderContext ¶
type ConfigBuilderContext struct { IngressList []*networking.Ingress ServiceList []*v1.Service ProhibitedTargets []*ptv1.AzureIngressProhibitedTarget EnvVariables environment.EnvVariables IstioGateways []*v1alpha3.Gateway IstioVirtualServices []*v1alpha3.VirtualService DefaultAddressPoolID *string DefaultHTTPSettingsID *string ExistingPortsByNumber map[Port]n.ApplicationGatewayFrontendPort }
ConfigBuilderContext holds the structs we have fetches from Kubernetes + environment, based on which we will construct App Gateway config.
func (*ConfigBuilderContext) InIngressList ¶
func (cbCtx *ConfigBuilderContext) InIngressList(ingress *networking.Ingress) bool
InIngressList returns true if an ingress is in the ingress list
type FrontendType ¶
type FrontendType string
const ( // FrontendTypePublic is a public IP address FrontendTypePublic FrontendType = "Public" // FrontendTypePrivate is a private IP address FrontendTypePrivate FrontendType = "Private" )
func DetermineFrontendType ¶
func DetermineFrontendType(frontendIPConfiguration *n.ApplicationGatewayFrontendIPConfiguration) FrontendType
DetermineFrontendType determines whether frontend is public or private.
type Identifier ¶
Identifier is identifier for a specific Application Gateway
func (Identifier) AddressPoolID ¶
func (agw Identifier) AddressPoolID(poolName string) string
AddressPoolID generates an ID for a backend address pool.
func (Identifier) HTTPSettingsID ¶
func (agw Identifier) HTTPSettingsID(settingsName string) string
HTTPSettingsID generates an ID for App Gateway HTTP settings resource.
Source Files
¶
- backendaddresspools.go
- backendhttpsettings.go
- certificates.go
- cleanup.go
- configbuilder.go
- configbuilder_debug.go
- frontend_ipconfigurations.go
- frontend_listeners.go
- frontend_listeners_istio.go
- health_probes.go
- helper.go
- http_listeners.go
- identifier.go
- ingress_rules.go
- internaltypes.go
- istio_config.go
- istio_listeners.go
- istio_pools.go
- istio_routing_rules.go
- istio_settings.go
- istio_types.go
- redirects.go
- requestroutingrules.go
- rewrites.go
- test_fixtures.go
- types.go
- validators.go