builder

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jun 5, 2025 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ValkeyConfig_MaxMemory               = "maxmemory"
	ValkeyConfig_MaxMemoryPolicy         = "maxmemory-policy"
	ValkeyConfig_ReplBacklogSize         = "repl-backlog-size"
	ValkeyConfig_ClientOutputBufferLimit = "client-output-buffer-limit"
	ValkeyConfig_Save                    = "save"
	ValkeyConfig_RenameCommand           = "rename-command"
	ValkeyConfig_Appendonly              = "appendonly"
	ValkeyConfig_ReplDisklessSync        = "repl-diskless-sync"
)
View Source
const (
	HostnameTopologyKey  = "kubernetes.io/hostname"
	RestartAnnotationKey = "kubectl.kubernetes.io/restartedAt"
	PauseAnnotationKey   = "buf.red/pause-timestamp"
	PodNameLabelKey      = "statefulset.kubernetes.io/pod-name"
	ManagedByLabelKey    = "app.kubernetes.io/managed-by"
	AppComponentLabelKey = "app.kubernetes.io/component"
	AppNameLabelKey      = "app.kubernetes.io/name"

	ArchLabelKey          = "valkeyarch"
	RoleLabelKey          = "valkey.buf.red/role"
	AnnounceIPLabelKey    = "valkey.buf.red/announce_ip"
	AnnouncePortLabelKey  = "valkey.buf.red/announce_port"
	AnnounceIPortLabelKey = "valkey.buf.red/announce_iport"
	ChecksumLabelKey      = "valkey.buf.red/checksum"

	InstanceTypeLabelKey = "buf.red/type"
	InstanceNameLabelKey = "buf.red/name"
)
View Source
const (
	OperatorUsername   = "OPERATOR_USERNAME"
	OperatorSecretName = "OPERATOR_SECRET_NAME"

	ValkeySecretUsernameKey = "username"
	ValkeySecretPasswordKey = "password" // #nosec
)
View Source
const (
	ServerContainerName   = "valkey"
	SentinelContainerName = "sentinel"
	ValkeyConfigKey       = "valkey.conf"

	DefaultValkeyServerPort    = 6379
	DefaultValkeyServerBusPort = 16379
	DefaultValkeySentinelPort  = 26379
)
View Source
const (
	ValkeyTLSVolumeName             = "valkey-tls"
	ValkeyTLSVolumeDefaultMountPath = "/tls"

	ValkeyDataVolumeName             = "valkey-data"
	ValkeyDataVolumeDefaultMountPath = "/data"
)
View Source
const (
	CRVersionKey = "buf.red/crVersion"

	OperatorVersionAnnotation = "operatorVersion"
)

Version Controller related keys

View Source
const (
	UserEnvName     = "REDIS_USER"
	PasswordEnvName = "REDIS_PASSWORD"

	ExporterPortNumber    int32 = 9121
	ExporterTelemetryPath       = "/metrics"
)

Variables

View Source
var MustQuoteValkeyConfig = map[string]struct{}{
	"tls-protocols": {},
}
View Source
var MustUpperValkeyConfig = map[string]struct{}{
	"tls-ciphers":      {},
	"tls-ciphersuites": {},
	"tls-protocols":    {},
}
View Source
var SentinelMonitorDefaultConfigs = map[string]string{
	"down-after-milliseconds": "30000",
	"failover-timeout":        "180000",
	"parallel-syncs":          "1",
}
View Source
var ValkeyConfigRestartPolicy = map[string]ValkeyConfigSettingRule{

	"include":          Forbid,
	"loadmodule":       Forbid,
	"bind":             Forbid,
	"protected-mode":   Forbid,
	"port":             Forbid,
	"tls-port":         Forbid,
	"tls-cert-file":    Forbid,
	"tls-key-file":     Forbid,
	"tls-ca-cert-file": Forbid,
	"tls-ca-cert-dir":  Forbid,
	"unixsocket":       Forbid,
	"unixsocketperm":   Forbid,
	"daemonize":        Forbid,
	"supervised":       Forbid,
	"pidfile":          Forbid,
	"logfile":          Forbid,
	"syslog-enabled":   Forbid,
	"syslog-ident":     Forbid,
	"syslog-facility":  Forbid,
	"always-show-logo": Forbid,
	"dbfilename":       Forbid,
	"appendfilename":   Forbid,
	"dir":              Forbid,
	"slaveof":          Forbid,
	"replicaof":        Forbid,
	"gopher-enabled":   Forbid,

	"aclfile":               Forbid,
	"requirepass":           Forbid,
	"masterauth":            Forbid,
	"masteruser":            Forbid,
	"slave-announce-ip":     Forbid,
	"replica-announce-ip":   Forbid,
	"slave-announce-port":   Forbid,
	"replica-announce-port": Forbid,
	"cluster-enabled":       Forbid,
	"cluster-config-file":   Forbid,

	"tcp-backlog":         RequireRestart,
	"databases":           RequireRestart,
	"rename-command":      RequireRestart,
	"rdbchecksum":         RequireRestart,
	"io-threads":          RequireRestart,
	"io-threads-do-reads": RequireRestart,
}

Functions

func BuildExporterContainer

func BuildExporterContainer(obj metav1.Object, exporter *core.Exporter, user *user.User, enableTLS bool) *corev1.Container

func ChecksumKey

func ChecksumKey(typ string) string

func GetContainerSecurityContext

func GetContainerSecurityContext(secctx *corev1.SecurityContext) (sec *corev1.SecurityContext)

func GetPodSecurityContext

func GetPodSecurityContext(secctx *corev1.PodSecurityContext) (podSec *corev1.PodSecurityContext)

func GetPullPolicy

func GetPullPolicy(policies ...corev1.PullPolicy) corev1.PullPolicy

func GetSecurityContext

func GetSecurityContext(secctx *corev1.PodSecurityContext) (sec *corev1.SecurityContext)

func LocalhostAlias

func LocalhostAlias(family corev1.IPFamily) corev1.HostAlias

func MergeAnnotations

func MergeAnnotations(t, s map[string]string) map[string]string

func ParsePodIndex

func ParsePodIndex(name string) (index int, err error)

func ParsePodShardAndIndex

func ParsePodShardAndIndex(name string) (shard int, index int, err error)

func ResourcePrefix

func ResourcePrefix(arch core.Arch) string

Types

type ValkeyConfig

type ValkeyConfig map[string]ValkeyConfigValues

ValkeyConfig

func LoadValkeyConfig

func LoadValkeyConfig(data string) (ValkeyConfig, error)

LoadValkeyConfig

func (ValkeyConfig) Diff

func (o ValkeyConfig) Diff(n ValkeyConfig) (added, changed, deleted map[string]ValkeyConfigValues)

Diff return diff two n ValkeyConfig

type ValkeyConfigSettingRule

type ValkeyConfigSettingRule string
const (
	OK             ValkeyConfigSettingRule = "OK"
	RequireRestart ValkeyConfigSettingRule = "Restart"
	Forbid         ValkeyConfigSettingRule = "Forbid"
)

type ValkeyConfigValues

type ValkeyConfigValues []string

func (*ValkeyConfigValues) String

func (v *ValkeyConfigValues) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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