common

package
v1.3.0-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2021 License: Apache-2.0 Imports: 25 Imported by: 90

Documentation

Index

Constants

View Source
const (
	// EnvVarKubeConfig is the path to the Kubernetes configuration
	EnvVarKubeConfig = "KUBECONFIG"
	// EnvVarDebugLog is the env var to turn on the debug mode for logging
	EnvVarDebugLog = "DEBUG_LOG"
)

Environment variables

View Source
const (
	// EnvVarEventBusConfig refers to the eventbus config env
	EnvVarEventBusConfig = "EVENTBUS_CONFIG"
	// EnvVarEventBusSubject refers to the eventbus subject env
	EnvVarEventBusSubject = "EVENTBUS_SUBJECT"
	// volumeMount path for eventbus auth file
	EventBusAuthFileMountPath = "/etc/eventbus/auth"
	// Default NATS Streaming messages max age
	NATSStreamingMaxAge = "72h"
	// Default EventBus name
	DefaultEventBusName = "default"
)

EventBus related

View Source
const (
	// EnvVarSensorObject refers to the env of based64 encoded sensor spec
	EnvVarSensorObject = "SENSOR_OBJECT"
	// SensorNamespace is used to get namespace where sensors are deployed
	SensorNamespace = "SENSOR_NAMESPACE"
	// LabelSensorName is label for sensor name
	LabelSensorName = "sensor-name"
)

Sensor constants

View Source
const (
	// EnvVarEventSourceObject refers to the env of based64 encoded eventsource spec
	EnvVarEventSourceObject = "EVENTSOURCE_OBJECT"
	// EnvVarEventSource refers to event source name
	EnvVarEventSource = "EVENT_SOURCE"
	// LabelEventSourceName is the label for a event source
	LabelEventSourceName = "eventsource-name"
)

EventSource

View Source
const (
	// LabelOwnerName is the label for resource owner name
	LabelOwnerName = "owner-name"
	// AnnotationResourceSpecHash is the annotation of a K8s resource spec hash
	AnnotationResourceSpecHash = "resource-spec-hash"
)

Miscellaneous Labels

View Source
const (
	MediaTypeJSON string = "application/json"
	MediaTypeYAML string = "application/yaml"
)

various supported media types

View Source
const (
	EventSourceMetricsPort = 7777
	SensorMetricsPort      = 7777
	ControllerMetricsPort  = 7777
	EventBusMetricsPort    = 7777
)

Metrics releated

Variables

View Source
var (
	SecretKeySelectorType    = reflect.TypeOf(&corev1.SecretKeySelector{})
	ConfigMapKeySelectorType = reflect.TypeOf(&corev1.ConfigMapKeySelector{})
)
View Source
var (
	DefaultBackoff = apicommon.Backoff{
		Steps:    5,
		Duration: &defaultDuration,
		Factor:   &defaultFactor,
		Jitter:   &defaultJitter,
	}
)
View Source
var (
	ErrNilEventSource = errors.New("event source can't be nil")
)

Functions

func Connect added in v1.1.0

func Connect(backoff *apicommon.Backoff, conn func() error) error

func Convert2WaitBackoff added in v1.3.0

func Convert2WaitBackoff(backoff *apicommon.Backoff) (*wait.Backoff, error)

Convert2WaitBackoff converts to a wait backoff option

func ErrEventSourceTypeMismatch added in v0.13.0

func ErrEventSourceTypeMismatch(eventSourceType string) string

func FormatEndpoint added in v0.13.0

func FormatEndpoint(endpoint string) string

FormatEndpoint returns a formatted api endpoint

func FormattedURL added in v0.13.0

func FormattedURL(url, endpoint string) string

FormattedURL returns a formatted url

func GenerateConfigMapVolumeSpecs added in v1.0.0

func GenerateConfigMapVolumeSpecs(selector *v1.ConfigMapKeySelector) (v1.Volume, v1.VolumeMount)

GenerateConfigMapVolumeSpecs builds a "volume" and "volumeMount"spec with a configMapKeySelector

func GenerateEnvFromConfigMapSpec added in v0.17.0

func GenerateEnvFromConfigMapSpec(selector *v1.ConfigMapKeySelector) v1.EnvFromSource

GenerateEnvFromConfigMapSpec builds a "envFrom" spec with a configMapKeySelector

func GenerateEnvFromSecretSpec added in v0.17.0

func GenerateEnvFromSecretSpec(selector *v1.SecretKeySelector) v1.EnvFromSource

GenerateEnvFromSecretSpec builds a "envFrom" spec with a secretKeySelector

func GenerateSecretVolumeSpecs added in v1.0.0

func GenerateSecretVolumeSpecs(selector *v1.SecretKeySelector) (v1.Volume, v1.VolumeMount)

GenerateSecretVolumeSpecs builds a "volume" and "volumeMount"spec with a secretKeySelector

func GetClientConfig

func GetClientConfig(kubeconfig string) (*rest.Config, error)

GetClientConfig return rest config, if path not specified, assume in cluster config

func GetConfigMapFromVolume added in v1.0.0

func GetConfigMapFromVolume(selector *v1.ConfigMapKeySelector) (string, error)

GetConfigMapFromVolume retrieves the value of mounted config map volume "/argo-events/config/${configMapRef.name}/${configMapRef.key}" is expected to be the file path

func GetConfigMapVolumePath added in v1.0.0

func GetConfigMapVolumePath(selector *v1.ConfigMapKeySelector) (string, error)

GetConfigMapVolumePath returns the path of the mounted configmap

func GetEnvFromConfigMap added in v0.17.0

func GetEnvFromConfigMap(selector *v1.ConfigMapKeySelector) (string, bool)

GetEnvFromConfigMap retrieves the value of envFrom.configMapRef "${configMapRef.name}_" is expected to be defined as "prefix"

func GetEnvFromSecret added in v0.17.0

func GetEnvFromSecret(selector *v1.SecretKeySelector) (string, bool)

GetEnvFromSecret retrieves the value of envFrom.secretRef "${secretRef.name}_" is expected to be defined as "prefix"

func GetObjectHash added in v0.8.2

func GetObjectHash(obj metav1.Object) (string, error)

GetObjectHash returns hash of a given object

func GetSecretFromVolume added in v1.0.0

func GetSecretFromVolume(selector *v1.SecretKeySelector) (string, error)

GetSecretFromVolume retrieves the value of mounted secret volume "/argo-events/secrets/${secretRef.name}/${secretRef.key}" is expected to be the file path

func GetSecretValue added in v0.14.0

func GetSecretValue(ctx context.Context, client kubernetes.Interface, namespace string, selector *v1.SecretKeySelector) (string, error)

GetSecretValue retrieves the secret value from the secret in namespace with name and key

func GetSecretVolumePath added in v1.0.0

func GetSecretVolumePath(selector *v1.SecretKeySelector) (string, error)

GetSecretVolumePath returns the path of the mounted secret

func GetTLSConfig added in v0.14.0

func GetTLSConfig(config *apicommon.TLSConfig) (*tls.Config, error)

GetTLSConfig returns a tls configuration for given cert and key.

func Hasher added in v0.8.2

func Hasher(value string) string

Hasher hashes a string

func IsRetryableKubeAPIError

func IsRetryableKubeAPIError(err error) bool

IsRetryableKubeAPIError returns if the error is a retryable kubernetes error

func ParseExclusionDates

func ParseExclusionDates(vals []string) ([]time.Time, error)

ParseExclusionDates parses the exclusion dates from the vals string according to RFC 5545

func ParseTime added in v0.17.0

func ParseTime(t string, baseDate time.Time) (time.Time, error)

ParseTime parses time string in "HH:MM:SS" format into time.Time, which date is same as baseDate in UTC.

func SendErrorResponse

func SendErrorResponse(writer http.ResponseWriter, response string)

SendErrorResponse sends http error response

func SendInternalErrorResponse added in v0.8.3

func SendInternalErrorResponse(writer http.ResponseWriter, response string)

SendInternalErrorResponse sends http internal error response

func SendResponse added in v1.0.0

func SendResponse(writer http.ResponseWriter, statusCode int, response string)

SendResponse sends http response with given status code

func SendSuccessResponse

func SendSuccessResponse(writer http.ResponseWriter, response string)

SendSuccessResponse sends http success response

func VolumesFromSecretsOrConfigMaps added in v1.0.0

func VolumesFromSecretsOrConfigMaps(obj interface{}, t reflect.Type) ([]v1.Volume, []v1.VolumeMount)

VolumesFromSecretsOrConfigMaps builds volumes and volumeMounts spec based on the obj and its children's secretKeyselector or configMapKeySelector

Types

type Minifier added in v0.17.0

type Minifier interface {
	GetExpression() string
}

Minifier is a bool expression minifier

func NewBoolExpression added in v0.17.0

func NewBoolExpression(expression string) (Minifier, error)

NewBoolExpression returns a Minifier instance It is used to simplify boolean epressions. For example, "(a || b || c) && (a && b)" can be simplified as "a && b" It is achieved by using Quine–McCluskey algorithm. See https://en.wikipedia.org/wiki/Quine%E2%80%93McCluskey_algorithm

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL