# 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`): ```kcl 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