extredis

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2026 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Target types
	TargetTypeInstance = "com.steadybit.extension_redis.instance"
	TargetTypeDatabase = "com.steadybit.extension_redis.database"

	// Common attribute names
	AttrRedisURL         = "redis.url"
	AttrRedisHost        = "redis.host"
	AttrRedisPort        = "redis.port"
	AttrRedisVersion     = "redis.version"
	AttrRedisRole        = "redis.role"
	AttrRedisClusterMode = "redis.cluster.enabled"
	AttrRedisMemoryMax   = "redis.memory.max_bytes"
	AttrRedisName        = "redis.name"

	AttrDatabaseIndex = "redis.database.index"
	AttrDatabaseName  = "redis.database.name"

	AttrRedisClusterNodeID = "redis.cluster.node_id"
)

Variables

This section is empty.

Functions

func FetchTargetsPerEndpoint

func FetchTargetsPerEndpoint(handler func(endpoint *config.RedisEndpoint) ([]discovery_kit_api.Target, error)) ([]discovery_kit_api.Target, error)

FetchTargetsPerEndpoint iterates through all configured endpoints and collects targets

func NewCacheExpirationAttack

func NewCacheExpirationAttack() action_kit_sdk.Action[CacheExpirationState]

func NewClientPauseAttack

func NewClientPauseAttack() action_kit_sdk.Action[ClientPauseState]

func NewMaxmemoryLimitAttack

func NewMaxmemoryLimitAttack() action_kit_sdk.Action[MaxmemoryLimitState]

func NewSentinelStopAttack

func NewSentinelStopAttack() action_kit_sdk.Action[SentinelStopState]

Types

type CacheExpirationState

type CacheExpirationState struct {
	RedisURL         string               `json:"redisUrl"`
	Password         string               `json:"password"`
	DB               int                  `json:"db"`
	Pattern          string               `json:"pattern"`
	MaxKeys          int                  `json:"maxKeys"`
	TTLSeconds       int                  `json:"ttlSeconds"`
	AffectedKeys     []string             `json:"affectedKeys"`
	MatchedKeys      []string             `json:"matchedKeys"`
	BackupData       map[string]KeyBackup `json:"backupData"`
	RestoreOnStop    bool                 `json:"restoreOnStop"`
	EndTime          int64                `json:"endTime"`
	SkippedNonString int                  `json:"skippedNonString"`
	ClusterMode      bool                 `json:"clusterMode"`
	TotalBackupBytes int64                `json:"totalBackupBytes"`
	MaxBackupBytes   int64                `json:"maxBackupBytes"`
}

type ClientPauseState

type ClientPauseState struct {
	RedisURL    string `json:"redisUrl"`
	Password    string `json:"password"`
	DB          int    `json:"db"`
	PauseMode   string `json:"pauseMode"`
	EndTime     int64  `json:"endTime"`
	ClusterMode bool   `json:"clusterMode"`
}

type ConnectionCountCheckState

type ConnectionCountCheckState struct {
	RedisURL          string  `json:"redisUrl"`
	Password          string  `json:"password"`
	DB                int     `json:"db"`
	MaxConnections    int     `json:"maxConnections"`
	MaxConnectionsPct float64 `json:"maxConnectionsPct"`
	EndTime           int64   `json:"endTime"`
	ThresholdExceeded bool    `json:"thresholdExceeded"`
	MaxObserved       int     `json:"maxObserved"`
}

type ConnectionExhaustionState

type ConnectionExhaustionState struct {
	RedisURL        string `json:"redisUrl"`
	Password        string `json:"password"`
	DB              int    `json:"db"`
	NumConnections  int    `json:"numConnections"`
	EndTime         int64  `json:"endTime"`
	ConnectionCount int    `json:"connectionCount"`
	ClusterMode     bool   `json:"clusterMode"`
}

type KeyBackup

type KeyBackup struct {
	Value      string `json:"value"`
	TTLSeconds int64  `json:"ttlSeconds"` // -1 means no TTL (persistent), -2 means key didn't exist
}

type LatencyCheckState

type LatencyCheckState struct {
	RedisURL          string  `json:"redisUrl"`
	Password          string  `json:"password"`
	DB                int     `json:"db"`
	MaxLatencyMs      float64 `json:"maxLatencyMs"`
	EndTime           int64   `json:"endTime"`
	ThresholdExceeded bool    `json:"thresholdExceeded"`
	MaxObservedMs     float64 `json:"maxObservedMs"`
	TotalPings        int     `json:"totalPings"`
	FailedPings       int     `json:"failedPings"`
}

type MaxmemoryLimitState

type MaxmemoryLimitState struct {
	RedisURL          string            `json:"redisUrl"`
	Password          string            `json:"password"`
	DB                int               `json:"db"`
	OriginalMaxmemory string            `json:"originalMaxmemory"`
	OriginalPolicy    string            `json:"originalPolicy"`
	NewMaxmemory      string            `json:"newMaxmemory"`
	NewPolicy         string            `json:"newPolicy"`
	EndTime           int64             `json:"endTime"`
	ClusterMode       bool              `json:"clusterMode"`
	PerNodeOrigMaxmem map[string]string `json:"perNodeOrigMaxmem,omitempty"`
	PerNodeOrigPolicy map[string]string `json:"perNodeOrigPolicy,omitempty"`
}

type MemoryCheckState

type MemoryCheckState struct {
	RedisURL          string  `json:"redisUrl"`
	Password          string  `json:"password"`
	DB                int     `json:"db"`
	MaxMemoryPercent  float64 `json:"maxMemoryPercent"`
	MaxMemoryBytes    int64   `json:"maxMemoryBytes"`
	EndTime           int64   `json:"endTime"`
	ThresholdExceeded bool    `json:"thresholdExceeded"`
	MaxObserved       int64   `json:"maxObserved"`
}

type ReplicationLagCheckState

type ReplicationLagCheckState struct {
	RedisURL          string `json:"redisUrl"`
	Password          string `json:"password"`
	DB                int    `json:"db"`
	MaxLagSeconds     int    `json:"maxLagSeconds"`
	RequireLinkUp     bool   `json:"requireLinkUp"`
	EndTime           int64  `json:"endTime"`
	ThresholdExceeded bool   `json:"thresholdExceeded"`
	MaxObservedLag    int    `json:"maxObservedLag"`
	LinkDownDetected  bool   `json:"linkDownDetected"`
}

type SentinelStopState

type SentinelStopState struct {
	RedisURL string `json:"redisUrl"`
	Password string `json:"password"`
	DB       int    `json:"db"`
	EndTime  int64  `json:"endTime"`
}

Jump to

Keyboard shortcuts

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