Documentation
¶
Index ¶
- Constants
- func IsCredentialsNotFoundError(err error) bool
- func IsInvalidConfig(err error) bool
- func IsMissingOrganizationLabel(err error) bool
- func IsNotFound(err error) bool
- func IsThrottlingError(err error) bool
- func IsTooManyCredentialsError(err error) bool
- type Deployment
- type DeploymentConfig
- type LoadBalancer
- type LoadBalancerConfig
- type RateLimit
- type RateLimitConfig
- type ResourceGroup
- type ResourceGroupConfig
- type SPExpiration
- type SPExpirationConfig
- type Set
- type SetConfig
- type Usage
- type UsageConfig
- type VMSSRateLimit
- type VMSSRateLimitConfig
- type VPNConnection
- type VPNConnectionConfig
Constants ¶
const (
MetricsNamespace = "azure_operator"
)
Variables ¶
This section is empty.
Functions ¶
func IsCredentialsNotFoundError ¶ added in v2.1.0
IsCredentialsNotFoundError asserts credentialsNotFoundError.
func IsInvalidConfig ¶
IsInvalidConfig asserts invalidConfigError.
func IsMissingOrganizationLabel ¶ added in v2.1.0
IsMissingOrganizationLabel asserts missingOrganizationLabel.
func IsNotFound ¶ added in v2.8.0
func IsThrottlingError ¶ added in v2.1.0
IsThrottlingError asserts 429 response.
func IsTooManyCredentialsError ¶ added in v2.1.0
IsTooManyCredentialsError asserts tooManyCredentialsError.
Types ¶
type Deployment ¶
type Deployment struct {
// contains filtered or unexported fields
}
func NewDeployment ¶
func NewDeployment(config DeploymentConfig) (*Deployment, error)
NewDeployment exposes metrics about the Azure ARM Deployments for every cluster on this installation. It finds the cluster in the control plane, and uses the cluster Azure credentials to find the Deployments info.
func (*Deployment) Collect ¶
func (d *Deployment) Collect(ch chan<- prometheus.Metric) error
func (*Deployment) Describe ¶
func (d *Deployment) Describe(ch chan<- *prometheus.Desc) error
type DeploymentConfig ¶
type DeploymentConfig struct { G8sClient versioned.Interface K8sClient kubernetes.Interface Logger micrologger.Logger GSTenantID string }
type LoadBalancer ¶ added in v2.8.0
type LoadBalancer struct {
// contains filtered or unexported fields
}
func NewLoadBalancer ¶ added in v2.8.0
func NewLoadBalancer(config LoadBalancerConfig) (*LoadBalancer, error)
NewLoadBalancer exposes metrics about the 'kubernetes' load balancer used to Kubernetes services with type LoadBalancer.
func (*LoadBalancer) Collect ¶ added in v2.8.0
func (d *LoadBalancer) Collect(ch chan<- prometheus.Metric) error
func (*LoadBalancer) Describe ¶ added in v2.8.0
func (d *LoadBalancer) Describe(ch chan<- *prometheus.Desc) error
type LoadBalancerConfig ¶ added in v2.8.0
type LoadBalancerConfig struct { G8sClient versioned.Interface K8sClient kubernetes.Interface Logger micrologger.Logger GSTenantID string }
type RateLimit ¶
type RateLimit struct {
// contains filtered or unexported fields
}
func NewRateLimit ¶
func NewRateLimit(config RateLimitConfig) (*RateLimit, error)
NewRateLimit exposes metrics about the Azure resource group client rate limit. It creates and fetches a resource group. That way it can inspect the Azure API response to find rate limit headers. It uses the credentials found in the "credential-*" secrets of the control plane.
type RateLimitConfig ¶
type RateLimitConfig struct { G8sClient versioned.Interface K8sClient kubernetes.Interface Logger micrologger.Logger Location string GSTenantID string }
type ResourceGroup ¶
type ResourceGroup struct {
// contains filtered or unexported fields
}
func NewResourceGroup ¶
func NewResourceGroup(config ResourceGroupConfig) (*ResourceGroup, error)
NewResourceGroup exposes metrics on the existing resource groups for every subscription. It exposes metrcis about the subscriptions found in the "credential-*" secrets of the control plane.
func (*ResourceGroup) Collect ¶
func (r *ResourceGroup) Collect(ch chan<- prometheus.Metric) error
func (*ResourceGroup) Describe ¶
func (r *ResourceGroup) Describe(ch chan<- *prometheus.Desc) error
type ResourceGroupConfig ¶
type ResourceGroupConfig struct { K8sClient kubernetes.Interface Logger micrologger.Logger GSTenantID string }
type SPExpiration ¶
type SPExpiration struct {
// contains filtered or unexported fields
}
func NewSPExpiration ¶
func NewSPExpiration(config SPExpirationConfig) (*SPExpiration, error)
NewSPExpiration exposes metrics about the expiration date of Azure Service Principals. It exposes metrcis about the Service Principals found in the "credential-*" secrets of the control plane.
func (*SPExpiration) Collect ¶
func (v *SPExpiration) Collect(ch chan<- prometheus.Metric) error
func (*SPExpiration) Describe ¶
func (v *SPExpiration) Describe(ch chan<- *prometheus.Desc) error
type SPExpirationConfig ¶
type SPExpirationConfig struct { K8sClient kubernetes.Interface Logger micrologger.Logger GSTenantID string }
type Set ¶
Set is basically only a wrapper for the operator's collector implementations. It eases the iniitialization and prevents some weird import mess so we do not have to alias packages.
type Usage ¶
type Usage struct {
// contains filtered or unexported fields
}
func NewUsage ¶
func NewUsage(config UsageConfig) (*Usage, error)
NewUsage exposes metrics about the quota usage on Azure so we can alert when we are reaching the quota limits. It exposes quota metrics for every subscription found in the "credential-*" secrets of the control plane.
type UsageConfig ¶
type UsageConfig struct { G8sClient versioned.Interface K8sClient kubernetes.Interface Logger micrologger.Logger Location string GSTenantID string }
type VMSSRateLimit ¶
type VMSSRateLimit struct {
// contains filtered or unexported fields
}
func NewVMSSRateLimit ¶
func NewVMSSRateLimit(config VMSSRateLimitConfig) (*VMSSRateLimit, error)
func (*VMSSRateLimit) Collect ¶
func (u *VMSSRateLimit) Collect(ch chan<- prometheus.Metric) error
func (*VMSSRateLimit) Describe ¶
func (u *VMSSRateLimit) Describe(ch chan<- *prometheus.Desc) error
type VMSSRateLimitConfig ¶
type VMSSRateLimitConfig struct { CtrlClient ctrlclient.Client Logger micrologger.Logger GSTenantID string }
type VPNConnection ¶
type VPNConnection struct {
// contains filtered or unexported fields
}
func NewVPNConnection ¶
func NewVPNConnection(config VPNConnectionConfig) (*VPNConnection, error)
func (*VPNConnection) Collect ¶
func (v *VPNConnection) Collect(ch chan<- prometheus.Metric) error
func (*VPNConnection) Describe ¶
func (v *VPNConnection) Describe(ch chan<- *prometheus.Desc) error
type VPNConnectionConfig ¶
type VPNConnectionConfig struct { G8sClient versioned.Interface InstallationName string K8sClient kubernetes.Interface Logger micrologger.Logger GSTenantID string }