common

package
v0.15.0 Latest Latest
Warning

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

Go to latest
Published: May 8, 2020 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// StandardTimeFormat is time format reference for golang
	StandardTimeFormat = "2006-01-02 15:04:05"
	// StandardYYYYMMDDFormat formats date in yyyy-mm-dd format
	StandardYYYYMMDDFormat = "2006-01-02"
	// DefaultControllerNamespace is the default namespace where the sensor and gateways controllers are installed
	DefaultControllerNamespace = "argo-events"
)

Defaults

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

Environment variables

View Source
const (
	// EnvVarControllerConfigMap contains name of the configmap to retrieve controller configuration from
	EnvVarControllerConfigMap = "CONTROLLER_CONFIG_MAP"
	// EnvVarControllerInstanceID is used to get controller instance id
	EnvVarControllerInstanceID = "CONTROLLER_INSTANCE_ID"
	// EnvVarResourceName refers env var for name of the resource
	EnvVarResourceName = "NAME"
	// EnvVarNamespace refers to a K8s namespace
	EnvVarNamespace = "NAMESPACE"
	// EnvVarClientImage refers to the env var for gateway client image
	EnvVarClientImage = "GATEWAY_CLIENT_IMAGE"
	// EnvVarImageRegistry refers to the default image registry of gateway images
	EnvVarImageRegistry = "GATEWAY_IMAGE_REGISTRY"
	// EnvVarImageVersion refers to the version of the gateway images
	EnvVarImageVersion = "GATEWAY_IMAGE_VERSION"
	// EnvVarSensorImage refers to the default sensor image
	EnvVarSensorImage = "SENSOR_IMAGE"
)

Controller environment variables

View Source
const (
	// SensorName refers env var for name of sensor
	SensorName = "SENSOR_NAME"
	// SensorNamespace is used to get namespace where sensors are deployed
	SensorNamespace = "SENSOR_NAMESPACE"
	// LabelSensorName is label for sensor name
	LabelSensorName = "sensor-name"
	// Port for the sensor server to listen events on
	SensorServerPort = 9300
)

Sensor constants

View Source
const (
	// LabelEventSourceName is the label for a event source in gateway
	LabelEventSourceName    = "event-source-name"
	EnvVarGatewayServerPort = "GATEWAY_SERVER_PORT"
	// ProcessorPort is the default port for the gateway event processor server to run on.
	GatewayProcessorPort = "9300"
)

Gateway constants

View Source
const (
	// EnvVarEventSource refers to event source name
	EnvVarEventSource = "EVENT_SOURCE"
	// AnnotationResourceSpecHash is the annotation of a K8s resource spec hash
	AnnotationResourceSpecHash = "resource-spec-hash"
)
View Source
const (
	// LabelEventSource is label for event name
	LabelEventSource = "event-source"
	// LabelOwnerName is the label for resource owner name
	LabelOwnerName = "owner-name"
	// LabelObjectName is the label for object name
	LabelObjectName = "object-name"
	//LabelGatewayName is the label for gateway name
	LabelGatewayName = "gateway-name"
)

Miscellaneous Labels

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

various supported media types

View Source
const (
	LabelNamespace   = "namespace"
	LabelPhase       = "phase"
	LabelInstanceID  = "instance-id"
	LabelEndpoint    = "endpoint"
	LabelPort        = "port"
	LabelNodeName    = "node-name"
	LabelNodeMessage = "node-message"
	LabelNodeType    = "node-type"
	LabelHTTPMethod  = "http-method"
	LabelVersion     = "version"
	LabelTime        = "time"
)

Logger constants

View Source
const (
	// GatewayControllerConfigMapKey is the key in the configmap to retrieve controller configuration from.
	// Content encoding is expected to be YAML.
	ControllerConfigMapKey = "config"
)
View Source
const (
	// LabelGatewayName is the label for the K8s resource name
	LabelResourceName = "resource-name"
)

Controller labels

Variables

View Source
var DefaultRetry = wait.Backoff{
	Steps:    5,
	Duration: 10 * time.Millisecond,
	Factor:   1.0,
	Jitter:   0.1,
}

DefaultRetry is a default retry backoff settings when retrying API calls

View Source
var (
	ErrNilEventSource = errors.New("event source can't be nil")
)

Functions

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 GetClientConfig

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

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

func GetConnectionBackoff added in v0.13.0

func GetConnectionBackoff(backoff *Backoff) *wait.Backoff

GetConnectionBackoff returns a connection backoff option

func GetObjectHash added in v0.8.2

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

GetObjectHash returns hash of a given object

func GetSecretValue added in v0.14.0

func GetSecretValue(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 GetTLSConfig added in v0.14.0

func GetTLSConfig(caCertPath, clientCertPath, clientKeyPath string) (*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 NewArgoEventsLogger added in v0.9.1

func NewArgoEventsLogger() *logrus.Logger

NewArgoEventsLogger returns a new ArgoEventsLogger

func ParseExclusionDates

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

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

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 SendSuccessResponse

func SendSuccessResponse(writer http.ResponseWriter, response string)

SendSuccessResponse sends http success response

Types

type Backoff added in v0.9.1

type Backoff struct {
	Duration time.Duration `json:"duration"` // the base duration
	Factor   float64       `json:"factor"`   // Duration is multiplied by factor each iteration
	Jitter   float64       `json:"jitter"`   // The amount of jitter applied each iteration
	Steps    int           `json:"steps"`    // Exit with error after this many steps
}

Backoff defines an operational backoff

Jump to

Keyboard shortcuts

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