Files
odboy 97a5843483 feat(ruby-client): 新增 Ruby 客户端 SDK 及 demo,移除 C 语言支持
- 新增 kenaito-conf-ruby-client(Ruby 2.5+)及对应 demo
- 新增 Dockerfile.ruby
- README 技术栈移除 C,项目结构补充 Ruby 客户端
- README_EN.md 同步更新
- README_DOCKERFILE.md 补充 Ruby 构建命令
2026-08-17 21:16:19 +08:00
..

Kenaito Config Center Ruby Client

English | 中文

Kenaito Config Center Ruby client SDK, compatible with Ruby 2.5+.

Installation

Option 1: Local Install

cd kenaito-conf-ruby-client
gem build kenaito-conf.gemspec
gem install kenaito-conf-1.0.3.gem

Option 2: Bundler

Add to your project Gemfile:

gem 'kenaito-conf', path: '/path/to/kenaito-conf-ruby-client'

Then run:

bundle install

Option 3: Direct Require

require_relative '/path/to/kenaito-conf-ruby-client/lib/kenaito_conf'

Usage Example

require 'kenaito_conf'

config = Kenaito::Conf::Config.new(
  base_url: 'http://localhost:8080',
  app_name: 'my-app',
  env: 'daily',
  sync_interval: 10
)

client = Kenaito::Conf::Client.new(config)

# Listen for config changes
client.on_change do |changed|
  changed.each do |key, value|
    puts "config changed: #{key} = #{value}"
  end
end

# Start client (fetch configs)
client.start

# Get config
value = client.get('database.host')
all_configs = client.get_all

# Manual sync once
client.sync_once

# Stop
client.stop_client

Configuration Options

Option Description Default
base_url Config center backend URL http://localhost:8080
app_name Application name empty
env Environment (dev/daily/prod) dev
version Config version latest
token Application token empty
sync_interval Sync interval (seconds) 10
ignore_global Ignore global configs false
cache_dir Cache directory .

Features

  • ✅ Full config fetch
  • ✅ Incremental sync
  • ✅ Local file cache for disaster recovery
  • ✅ Config change listener callback
  • ✅ Deleted config awareness (deletedKeys)