Documentation
¶
Index ¶
- Constants
- func FetchTargetsPerEndpoint(...) ([]discovery_kit_api.Target, error)
- func NewCacheExpirationAttack() action_kit_sdk.Action[CacheExpirationState]
- func NewClientPauseAttack() action_kit_sdk.Action[ClientPauseState]
- func NewConnectionCountCheck() action_kit_sdk.Action[ConnectionCountCheckState]
- func NewConnectionExhaustionAttack() action_kit_sdk.Action[ConnectionExhaustionState]
- func NewLatencyCheck() action_kit_sdk.Action[LatencyCheckState]
- func NewMaxmemoryLimitAttack() action_kit_sdk.Action[MaxmemoryLimitState]
- func NewMemoryCheck() action_kit_sdk.Action[MemoryCheckState]
- func NewRedisDatabaseDiscovery(ctx context.Context) discovery_kit_sdk.TargetDiscovery
- func NewRedisInstanceDiscovery(ctx context.Context) discovery_kit_sdk.TargetDiscovery
- func NewReplicationLagCheck() action_kit_sdk.Action[ReplicationLagCheckState]
- func NewSentinelStopAttack() action_kit_sdk.Action[SentinelStopState]
- type CacheExpirationState
- type ClientPauseState
- type ConnectionCountCheckState
- type ConnectionExhaustionState
- type KeyBackup
- type LatencyCheckState
- type MaxmemoryLimitState
- type MemoryCheckState
- type ReplicationLagCheckState
- type SentinelStopState
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 NewConnectionCountCheck ¶
func NewConnectionCountCheck() action_kit_sdk.Action[ConnectionCountCheckState]
func NewConnectionExhaustionAttack ¶
func NewConnectionExhaustionAttack() action_kit_sdk.Action[ConnectionExhaustionState]
func NewLatencyCheck ¶
func NewLatencyCheck() action_kit_sdk.Action[LatencyCheckState]
func NewMaxmemoryLimitAttack ¶
func NewMaxmemoryLimitAttack() action_kit_sdk.Action[MaxmemoryLimitState]
func NewMemoryCheck ¶
func NewMemoryCheck() action_kit_sdk.Action[MemoryCheckState]
func NewRedisDatabaseDiscovery ¶
func NewRedisDatabaseDiscovery(ctx context.Context) discovery_kit_sdk.TargetDiscovery
func NewRedisInstanceDiscovery ¶
func NewRedisInstanceDiscovery(ctx context.Context) discovery_kit_sdk.TargetDiscovery
func NewReplicationLagCheck ¶
func NewReplicationLagCheck() action_kit_sdk.Action[ReplicationLagCheckState]
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 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 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"`
}
Click to show internal directories.
Click to hide internal directories.