Documentation
¶
Index ¶
- Constants
- Variables
- func AddTypeInformationToObject(scheme *runtime.Scheme, obj runtime.Object) error
- func BoolPtr(b bool) *bool
- func ContextWithTimeout(ctx context.Context, timeoutSeconds int64) (context.Context, context.CancelFunc)
- func GetCurrentTime() metav1.Time
- func GetLatestEntryPoint(ctx context.Context, client client.Client, name string, namespace string) (*kodev1alpha2.EntryPoint, error)
- func GetLatestKode(ctx context.Context, client client.Client, name string, namespace string) (*kodev1alpha2.Kode, error)
- func GetUsernameAndPasswordFromSecret(secret *corev1.Secret) (string, string, error)
- func Int32Ptr(i int32) *int32
- func Int64Ptr(i int64) *int64
- func MaskEnvVars(envs []corev1.EnvVar) []corev1.EnvVar
- func MaskSecretData(secret *corev1.Secret) map[string]string
- func MaskSpec(spec corev1.Container) corev1.Container
- func MaskString(s string) string
- func MergeLabels(labelsSlice ...map[string]string) map[string]string
- func ObjectKeyFromConfig(config CommonConfig) types.NamespacedName
- func StringPtr(s string) *string
- type CommonConfig
- type EntryPointResourceConfig
- type KodeResourceConfig
- type TemplateNotFoundError
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
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 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 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 GetUsernameAndPasswordFromSecret ¶ added in v0.3.0
func MaskEnvVars ¶
masks sensitive environment variables
func MaskSecretData ¶ added in v0.3.0
masks sensitive values in a secret
func MergeLabels ¶
merges multiple sets of labels
func ObjectKeyFromConfig ¶ added in v0.3.0
func ObjectKeyFromConfig(config CommonConfig) types.NamespacedName
Types ¶
type CommonConfig ¶ added in v0.4.0
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
Click to show internal directories.
Click to hide internal directories.