redis

package
v0.7.0-preview2 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

+marmot:name=Redis +marmot:description=Discovers databases from Redis instances. +marmot:status=experimental +marmot:features=Assets

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	plugin.BaseConfig `json:",inline"`

	// Connection options
	Host        string `json:"host" description:"Redis server hostname or IP address" validate:"required"`
	Port        int    `json:"port,omitempty" description:"Redis server port" default:"6379" validate:"omitempty,min=1,max=65535"`
	Password    string `json:"password,omitempty" description:"Password for authentication" sensitive:"true"`
	Username    string `json:"username,omitempty" description:"Username for ACL authentication"`
	DB          int    `json:"db,omitempty" description:"Default database number" default:"0" validate:"omitempty,min=0,max=15"`
	TLS         bool   `json:"tls,omitempty" description:"Enable TLS connection"`
	TLSInsecure bool   `json:"tls_insecure,omitempty" label:"TLS Insecure" description:"Skip TLS certificate verification"`

	// Discovery options
	DiscoverAllDatabases bool `json:"discover_all_databases" description:"Discover all databases with keys (db0-db15)" default:"true"`
}

Config for Redis plugin +marmot:config

type RedisDatabaseFields

type RedisDatabaseFields struct {
	Host             string `json:"host" metadata:"host" description:"Redis server hostname"`
	Port             int    `json:"port" metadata:"port" description:"Redis server port"`
	Database         string `json:"database" metadata:"database" description:"Database name (e.g. db0)"`
	RedisVersion     string `json:"redis_version" metadata:"redis_version" description:"Redis server version"`
	Role             string `json:"role" metadata:"role" description:"Replication role (master/slave)"`
	UptimeSeconds    string `json:"uptime_seconds" metadata:"uptime_seconds" description:"Server uptime in seconds"`
	ConnectedClients string `json:"connected_clients" metadata:"connected_clients" description:"Number of connected clients"`
	UsedMemoryHuman  string `json:"used_memory_human" metadata:"used_memory_human" description:"Human-readable used memory"`
	MaxmemoryPolicy  string `json:"maxmemory_policy" metadata:"maxmemory_policy" description:"Eviction policy when maxmemory is reached"`
	KeyCount         int64  `json:"key_count" metadata:"key_count" description:"Number of keys in the database"`
	ExpiresCount     int64  `json:"expires_count" metadata:"expires_count" description:"Number of keys with an expiration"`
	AvgTTLMs         int64  `json:"avg_ttl_ms" metadata:"avg_ttl_ms" description:"Average TTL in milliseconds"`
}

RedisDatabaseFields defines metadata fields for Redis databases +marmot:metadata

type Source

type Source struct {
	// contains filtered or unexported fields
}

func (*Source) Discover

func (s *Source) Discover(ctx context.Context, pluginConfig plugin.RawPluginConfig) (*plugin.DiscoveryResult, error)

func (*Source) Validate

func (s *Source) Validate(rawConfig plugin.RawPluginConfig) (plugin.RawPluginConfig, error)

Jump to

Keyboard shortcuts

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