Documentation
¶
Index ¶
- Constants
- Variables
- func CreateAzureDataExplorerClient(metadata *DataExplorerMetadata, httpClient *http.Client) (*kusto.Client, error)
- func GetAzureAppInsightsMetricValue(ctx context.Context, info AppInsightsInfo, ...) (float64, error)
- func GetAzureBlobListLength(ctx context.Context, blobClient *azblob.Client, meta *BlobMetadata) (int64, error)
- func GetAzureDataExplorerMetricValue(ctx context.Context, client *kusto.Client, db string, query string) (float64, error)
- func GetEventHubClient(info EventHubInfo, logger logr.Logger) (*azeventhubs.ProducerClient, error)
- func GetStorageBlobClient(logger logr.Logger, podIdentity kedav1alpha1.AuthPodIdentity, ...) (*azblob.Client, error)
- func GetStorageQueueClient(logger logr.Logger, podIdentity kedav1alpha1.AuthPodIdentity, ...) (*azqueue.QueueClient, error)
- func NewADWorkloadIdentityCredential(identityID, identityTenantID string) (*azidentity.WorkloadIdentityCredential, error)
- func NewAzureADWorkloadIdentityConfig(ctx context.Context, ...) auth.AuthorizerConfig
- func NewChainedCredential(logger logr.Logger, podIdentity v1alpha1.AuthPodIdentity) (*azidentity.ChainedTokenCredential, error)
- func ParseActiveDirectoryEndpoint(metadata map[string]string) (string, error)
- func ParseAzureStorageEndpointSuffix(metadata map[string]string, endpointType StorageEndpointType) (string, error)
- func ParseEnvironmentProperty(metadata map[string]string, propertyKey string, ...) (string, error)
- func TryAndGetAzureManagedPrometheusHTTPRoundTripper(logger logr.Logger, podIdentity kedav1alpha1.AuthPodIdentity, ...) (http.RoundTripper, error)
- type AADToken
- type ADWorkloadIdentityConfig
- type ADWorkloadIdentityTokenProvider
- func (wiTokenProvider *ADWorkloadIdentityTokenProvider) EnsureFresh() error
- func (wiTokenProvider *ADWorkloadIdentityTokenProvider) GetToken(_ string) (*amqpAuth.Token, error)
- func (wiTokenProvider *ADWorkloadIdentityTokenProvider) OAuthToken() string
- func (wiTokenProvider *ADWorkloadIdentityTokenProvider) Refresh() error
- func (wiTokenProvider *ADWorkloadIdentityTokenProvider) RefreshExchange(resource string) error
- type AppInsightsInfo
- type ApplicationInsightsMetric
- type BlobMetadata
- type Checkpoint
- type DataExplorerMetadata
- type EnvironmentPropertyProvider
- type EventHubInfo
- type StorageEndpointType
Constants ¶
const ( DefaultCloud = "azurePublicCloud" // PrivateCloud cloud type PrivateCloud string = "Private" // DefaultEndpointSuffixKey is the default endpoint key in trigger metadata DefaultEndpointSuffixKey string = "endpointSuffix" // DefaultStorageSuffixKey is the default storage endpoint key in trigger metadata DefaultStorageSuffixKey string = "storageEndpointSuffix" // DefaultActiveDirectoryEndpointKey is the default active directory endpoint key in trigger metadata DefaultActiveDirectoryEndpointKey string = "activeDirectoryEndpoint" )
const (
DefaultAppInsightsResourceURL = "https://api.applicationinsights.io"
)
Variables ¶
var ( // ErrAzureConnectionStringKeyName indicates an error in the connection string AccountKey or AccountName. ErrAzureConnectionStringKeyName = errors.New("can't parse storage connection string. Missing key or name") // ErrAzureConnectionStringEndpoint indicates an error in the connection string DefaultEndpointsProtocol or EndpointSuffix. ErrAzureConnectionStringEndpoint = errors.New("can't parse storage connection string. Missing DefaultEndpointsProtocol or EndpointSuffix") )
var AppInsightsResourceURLInCloud = map[string]string{
"AZUREPUBLICCLOUD": "https://api.applicationinsights.io",
"AZUREUSGOVERNMENTCLOUD": "https://api.applicationinsights.us",
"AZURECHINACLOUD": "https://api.applicationinsights.azure.cn",
}
var AzureClouds = map[string]cloud.Configuration{ "AZUREPUBLICCLOUD": cloud.AzurePublic, "AZUREUSGOVERNMENTCLOUD": cloud.AzureGovernment, "AZURECHINACLOUD": cloud.AzureChina, }
var DefaultAuthorityHost string
var DefaultClientID string
var DefaultTenantID string
var TokenFilePath string
Functions ¶
func CreateAzureDataExplorerClient ¶ added in v2.7.0
func GetAzureAppInsightsMetricValue ¶ added in v2.6.0
func GetAzureAppInsightsMetricValue(ctx context.Context, info AppInsightsInfo, podIdentity kedav1alpha1.AuthPodIdentity, ignoreNullValues bool) (float64, error)
GetAzureAppInsightsMetricValue returns the value of an Azure App Insights metric, rounded to the nearest int
func GetAzureBlobListLength ¶
func GetAzureBlobListLength(ctx context.Context, blobClient *azblob.Client, meta *BlobMetadata) (int64, error)
GetAzureBlobListLength returns the count of the blobs in blob container in int
func GetAzureDataExplorerMetricValue ¶ added in v2.7.0
func GetEventHubClient ¶
func GetEventHubClient(info EventHubInfo, logger logr.Logger) (*azeventhubs.ProducerClient, error)
GetEventHubClient returns eventhub client
func GetStorageBlobClient ¶ added in v2.15.0
func GetStorageBlobClient(logger logr.Logger, podIdentity kedav1alpha1.AuthPodIdentity, connectionString, accountName, endpointSuffix string, timeout time.Duration) (*azblob.Client, error)
GetStorageBlobClient returns storage blob client
func GetStorageQueueClient ¶ added in v2.15.0
func GetStorageQueueClient(logger logr.Logger, podIdentity kedav1alpha1.AuthPodIdentity, connectionString, accountName, endpointSuffix, queueName string, timeout time.Duration) (*azqueue.QueueClient, error)
GetStorageQueueClient returns storage queue client
func NewADWorkloadIdentityCredential ¶ added in v2.9.0
func NewADWorkloadIdentityCredential(identityID, identityTenantID string) (*azidentity.WorkloadIdentityCredential, error)
func NewAzureADWorkloadIdentityConfig ¶ added in v2.8.0
func NewAzureADWorkloadIdentityConfig(ctx context.Context, identityID, identityTenantID, identityAuthorityHost, resource string) auth.AuthorizerConfig
func NewChainedCredential ¶ added in v2.9.2
func NewChainedCredential(logger logr.Logger, podIdentity v1alpha1.AuthPodIdentity) (*azidentity.ChainedTokenCredential, error)
func ParseActiveDirectoryEndpoint ¶ added in v2.7.0
func ParseAzureStorageEndpointSuffix ¶ added in v2.4.0
func ParseAzureStorageEndpointSuffix(metadata map[string]string, endpointType StorageEndpointType) (string, error)
ParseAzureStorageEndpointSuffix parses cloud and endpointSuffix metadata and returns endpoint suffix
func ParseEnvironmentProperty ¶ added in v2.7.0
func ParseEnvironmentProperty(metadata map[string]string, propertyKey string, envPropertyProvider EnvironmentPropertyProvider) (string, error)
ParseEnvironmentProperty parses cloud metadata and returns the resolved property
func TryAndGetAzureManagedPrometheusHTTPRoundTripper ¶ added in v2.10.0
func TryAndGetAzureManagedPrometheusHTTPRoundTripper(logger logr.Logger, podIdentity kedav1alpha1.AuthPodIdentity, triggerMetadata map[string]string) (http.RoundTripper, error)
TryAndGetAzureManagedPrometheusHTTPRoundTripper tries to get a round tripper. If the pod identity represents azure auth, it creates a round tripper and returns that. Returns error if fails to create one. If its not azure auth, then this becomes a no-op. Neither returns round tripper nor error.
Types ¶
type AADToken ¶
type AADToken struct { AccessToken string `json:"access_token"` RefreshToken string `json:"refresh_token"` ExpiresIn string `json:"expires_in"` ExpiresOn string `json:"expires_on"` ExpiresOnTimeObject time.Time `json:"expires_on_object"` NotBefore string `json:"not_before"` Resource string `json:"resource"` TokenType string `json:"token_type"` GrantedScopes []string `json:"grantedScopes"` DeclinedScopes []string `json:"DeclinedScopes"` }
AADToken is the token from Azure AD
type ADWorkloadIdentityConfig ¶ added in v2.8.0
type ADWorkloadIdentityConfig struct { IdentityID string IdentityTenantID string IdentityAuthorityHost string Resource string // contains filtered or unexported fields }
func (ADWorkloadIdentityConfig) Authorizer ¶ added in v2.8.0
func (aadWiConfig ADWorkloadIdentityConfig) Authorizer() (autorest.Authorizer, error)
Authorizer implements the auth.AuthorizerConfig interface
type ADWorkloadIdentityTokenProvider ¶ added in v2.8.0
type ADWorkloadIdentityTokenProvider struct { IdentityID string IdentityTenantID string IdentityAuthorityHost string Resource string // contains filtered or unexported fields }
ADWorkloadIdentityTokenProvider is a type that implements the adal.OAuthTokenProvider and adal.Refresher interfaces. The OAuthTokenProvider interface is used by the BearerAuthorizer to get the token when preparing the HTTP Header. The Refresher interface is used by the BearerAuthorizer to refresh the token.
func NewAzureADWorkloadIdentityTokenProvider ¶ added in v2.8.0
func NewAzureADWorkloadIdentityTokenProvider(ctx context.Context, identityID, identityTenantID, identityAuthorityHost, resource string) *ADWorkloadIdentityTokenProvider
func (*ADWorkloadIdentityTokenProvider) EnsureFresh ¶ added in v2.8.0
func (wiTokenProvider *ADWorkloadIdentityTokenProvider) EnsureFresh() error
EnsureFresh is for implementing the adal.Refresher interface
func (*ADWorkloadIdentityTokenProvider) GetToken ¶ added in v2.8.0
func (wiTokenProvider *ADWorkloadIdentityTokenProvider) GetToken(_ string) (*amqpAuth.Token, error)
GetToken is for implementing the auth.TokenProvider interface
func (*ADWorkloadIdentityTokenProvider) OAuthToken ¶ added in v2.8.0
func (wiTokenProvider *ADWorkloadIdentityTokenProvider) OAuthToken() string
OAuthToken is for implementing the adal.OAuthTokenProvider interface. It returns the current access token.
func (*ADWorkloadIdentityTokenProvider) Refresh ¶ added in v2.8.0
func (wiTokenProvider *ADWorkloadIdentityTokenProvider) Refresh() error
Refresh is for implementing the adal.Refresher interface
func (*ADWorkloadIdentityTokenProvider) RefreshExchange ¶ added in v2.8.0
func (wiTokenProvider *ADWorkloadIdentityTokenProvider) RefreshExchange(resource string) error
RefreshExchange is for implementing the adal.Refresher interface
type AppInsightsInfo ¶ added in v2.6.0
type ApplicationInsightsMetric ¶ added in v2.6.0
type ApplicationInsightsMetric struct {
Value map[string]interface{}
}
type BlobMetadata ¶ added in v2.7.0
type Checkpoint ¶
type Checkpoint struct { PartitionID string `json:"PartitionId"` SequenceNumber int64 `json:"SequenceNumber"` }
Checkpoint in a common format
func GetCheckpointFromBlobStorage ¶
func GetCheckpointFromBlobStorage(ctx context.Context, blobStorageClient *azblob.Client, info EventHubInfo, partitionID string) (Checkpoint, error)
GetCheckpointFromBlobStorage reads depending of the CheckpointStrategy the checkpoint from a azure storage
func NewCheckpoint ¶ added in v2.13.0
func NewCheckpoint(sequenceNumber int64) Checkpoint
type DataExplorerMetadata ¶ added in v2.7.0
type EnvironmentPropertyProvider ¶ added in v2.7.0
type EnvironmentPropertyProvider func(env az.Environment) (string, error)
EnvironmentPropertyProvider for different types of Azure scalers
type EventHubInfo ¶
type EventHubInfo struct { EventHubConnection string EventHubConsumerGroup string StorageConnection string StorageAccountName string BlobStorageEndpoint string BlobContainer string Namespace string EventHubName string CheckpointStrategy string ServiceBusEndpointSuffix string PodIdentity kedav1alpha1.AuthPodIdentity }
EventHubInfo to keep event hub connection and resources
type StorageEndpointType ¶
type StorageEndpointType int
StorageEndpointType for different types of storage provided by Azure
const ( // BlobEndpoint storage type BlobEndpoint StorageEndpointType = iota // QueueEndpoint storage type QueueEndpoint // TableEndpoint storage type TableEndpoint // FileEndpoint storage type FileEndpoint )
func (StorageEndpointType) GetEndpointSuffix ¶ added in v2.4.0
func (e StorageEndpointType) GetEndpointSuffix(environment az.Environment) string
GetEndpointSuffix returns the endpoint suffix for a StorageEndpointType based on the specified environment
func (StorageEndpointType) Name ¶
func (e StorageEndpointType) Name() string
Name returns resource name for StorageEndpointType
func (StorageEndpointType) Prefix ¶
func (e StorageEndpointType) Prefix() string
Prefix returns prefix for a StorageEndpointType