common

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// General constants
	OperatorName     = "kode-operator"
	FinalizerName    = "kode.jacero.io/finalizer"
	PVCFinalizerName = "kode.jacero.io/pvc-finalizer"

	// Resource-related constants
	DefaultNamespace        = "default"
	KodeVolumeStorageName   = "kode-storage"
	DefaultLocalServicePort = 3000

	// Container-related constants
	EnvoyProxyContainerName = "envoy-proxy"
	EnvoyProxyRunAsUser     = 1111
	ProxyInitContainerName  = "proxy-init"
	ProxyInitContainerImage = "openpolicyagent/proxy_init:v8"
	BasicAuthContainerPort  = 9001

	// Basic Auth-related constants
	BasicAuthContainerImage = "ghcr.io/emil-jacero/grpc-basic-auth:latest"
	BasicAuthContainerName  = "basic-auth-service"

	// Time-related constants
	ReconcileTimeout            = 1 * time.Minute
	RequeueInterval             = 10 * time.Second
	DefaultInactiveAfterSeconds = 600
	DefaultRecycleAfterSeconds  = 28800

	// Label keys
	LabelAppName   = "app.kubernetes.io/name"
	LabelManagedBy = "app.kubernetes.io/managed-by"
	LabelKodeName  = "kode.jacero.io/name"

	// Annotation keys
	AnnotationLastUpdated = "kode.jacero.io/last-updated"

	// These are the condition types that are used in the status of the Kode and EntryPoint resources
	// ConditionTypeReady indicates that the resource is fully operational and prepared to serve its intended purpose.
	ConditionTypeReady = "Ready"

	// ConditionTypeAvailable indicates that the resource is accessible and can actively serve requests or perform its function.
	ConditionTypeAvailable = "Available"

	// ConditionTypeProgressing indicates that the resource is actively working towards a desired state.
	ConditionTypeProgressing = "Progressing"

	// ConditionTypeDegraded indicates that the resource is operational but not functioning optimally or with full capabilities.
	ConditionTypeDegraded = "Degraded"

	// ConditionTypeError indicates that the resource has encountered an error state that requires attention.
	ConditionTypeError = "Error"

	// ConditionTypeConfigured indicates that the resource has been properly configured with all necessary settings.
	ConditionTypeConfigured = "Configured"

	// ConditionTypeHTTPRouteAvailable indicates that the HTTP route is available and can be accessed.
	ConditionTypeHTTPRouteAvailable = "HTTPRouteAvailable"

	// ConditionTypeHTTPSRouteAvailable indicates that the HTTPS route is available and can be accessed.
	ConditionTypeHTTPSRouteAvailable = "HTTPSRouteAvailable"

	// Validation constants
	MinPasswordLength = 8
	MinUsernameLength = 3
	MaxUsernameLength = 256
)

Variables

View Source
var (
	// DefaultLabels are the base labels added to all resources created by the operator
	DefaultLabels = map[string]string{
		LabelManagedBy: OperatorName,
	}

	// DefaultAccessModes are the default access modes for PersistentVolumeClaims
	DefaultAccessModes = []corev1.PersistentVolumeAccessMode{
		corev1.ReadWriteOnce,
	}
)

Functions

func AddTypeInformationToObject added in v0.2.2

func AddTypeInformationToObject(scheme *runtime.Scheme, obj runtime.Object) error

addTypeInformationToObject adds TypeMeta information to a runtime.Object based upon the loaded scheme.Scheme taken from: https://github.com/kubernetes/kubernetes/issues/3030#issuecomment-700099699

func BoolPtr

func BoolPtr(b bool) *bool

returns a pointer to a bool

func ContextWithTimeout

func ContextWithTimeout(ctx context.Context, timeoutSeconds int64) (context.Context, context.CancelFunc)

wraps a context with a timeout

func GetCurrentTime added in v0.3.0

func GetCurrentTime() metav1.Time

func GetLatestEntryPoint added in v0.4.0

func GetLatestEntryPoint(ctx context.Context, client client.Client, name string, namespace string) (*kodev1alpha2.EntryPoint, error)

func GetLatestKode added in v0.3.0

func GetLatestKode(ctx context.Context, client client.Client, name string, namespace string) (*kodev1alpha2.Kode, error)

func GetUsernameAndPasswordFromSecret added in v0.3.0

func GetUsernameAndPasswordFromSecret(secret *corev1.Secret) (string, string, error)

func Int32Ptr

func Int32Ptr(i int32) *int32

returns a pointer to an int32

func Int64Ptr

func Int64Ptr(i int64) *int64

returns a pointer to an int64

func MaskEnvVars

func MaskEnvVars(envs []corev1.EnvVar) []corev1.EnvVar

masks sensitive environment variables

func MaskSecretData added in v0.3.0

func MaskSecretData(secret *corev1.Secret) map[string]string

masks sensitive values in a secret

func MaskSpec added in v0.2.2

func MaskSpec(spec corev1.Container) corev1.Container

masks sensitive values in a container spec

func MaskString added in v0.4.0

func MaskString(s string) string

masks sensitive string values

func MergeLabels

func MergeLabels(labelsSlice ...map[string]string) map[string]string

merges multiple sets of labels

func ObjectKeyFromConfig added in v0.3.0

func ObjectKeyFromConfig(config CommonConfig) types.NamespacedName

func StringPtr

func StringPtr(s string) *string

returns a pointer to a string

Types

type CommonConfig added in v0.4.0

type CommonConfig struct {
	Labels    map[string]string
	Name      string
	Namespace string
}

type EntryPointResourceConfig added in v0.3.0

type EntryPointResourceConfig struct {
	CommonConfig CommonConfig

	HTTPName  string
	HTTPSName string
	Protocol  string

	GatewayName      string
	GatewayNamespace string
}

EntryPointResourceConfig holds configuration for EntryPoint resources

type KodeResourceConfig added in v0.4.0

type KodeResourceConfig struct {
	CommonConfig CommonConfig
	KodeSpec     kodev1alpha2.KodeSpec
	Credentials  *kodev1alpha2.CredentialsSpec
	Port         *kodev1alpha2.Port

	SecretName      string
	StatefulSetName string
	PVCName         string
	ServiceName     string

	UserInitPlugins []kodev1alpha2.InitPluginSpec
	Containers      []corev1.Container
	InitContainers  []corev1.Container

	Template *kodev1alpha2.Template
}

KodeResourceConfig holds configuration for Kode resources

type TemplateNotFoundError

type TemplateNotFoundError struct {
	NamespacedName types.NamespacedName
	Kind           string
}

func (*TemplateNotFoundError) Error

func (e *TemplateNotFoundError) Error() string

Jump to

Keyboard shortcuts

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