2025-10-07 11:20:26 +01:00
..
2025-10-07 11:05:08 +01:00
2025-10-07 11:20:26 +01:00
2025-10-07 11:05:08 +01:00

Redis Taskserver

Redis in-memory data structure store, used as a database, cache, and message broker.

Configuration

This taskserver provides the Redis service with the following configurable options:

Basic Configuration

  • version: Redis version to install
  • port: Port number (default: 6379)
  • bind_address: IP address to bind to (default: 127.0.0.1)

Memory Management

  • maxmemory: Maximum memory usage (default: 256mb)
  • maxmemory_policy: Eviction policy (default: allkeys-lru)

Persistence

  • persistence: Enable/disable persistence (default: true)
  • save_interval: Save frequency configuration

Security

  • requirepass: Optional password authentication

Replication

  • master_host: Master server for replication
  • master_port: Master server port

Clustering

  • cluster_enabled: Enable Redis cluster mode
  • cluster_config_file: Cluster configuration file path

Usage

In workspace KCL file (task-servs/redis.k):

import taskservs.redis.kcl.redis as redis_schema

_taskserv = redis_schema.Redis {
    version = "7.2.3"
    port = 6379
    maxmemory = "512mb"
    maxmemory_policy = "allkeys-lru"
    persistence = true
    requirepass = "your-secure-password"
}

Installation

The taskserver includes:

  • install-redis.sh: Installation script for various Linux distributions
  • env-redis.j2: Environment template for configuration

Files

  • kcl/redis.k: KCL schema definition
  • kcl/kcl.mod: KCL module configuration
  • default/install-redis.sh: Installation script
  • default/env-redis.j2: Environment template
  • README.md: This documentation

Dependencies

  • Provisioning core system
  • Linux distribution with package manager (apt, yum, or dnf)
  • Systemd for service management