fle-ruby
Field-Level Encryption is not supported by the Couchbase Ruby SDK 3.x — alternatives and workarounds
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Field-Level Encryption is not supported by the Couchbase Ruby SDK 3.x — alternatives and workarounds
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Couchbase SDK error handling — UnambiguousTimeoutException vs AmbiguousTimeoutException, DocumentNotFoundException, CasMismatchException, DurabilityImpossibleException, SDK debug logging, sdk-doctor connectivity diagnostics, retryable vs non-retryable errors, circuit breaker, error best practices
Couchbase SDK patterns for Rust — CAS optimistic locking, retry on CasMismatch, tokio bulk operations with join_all/FuturesUnordered, atomic counters, sub-document (MutateInSpec/LookupInSpec), array operations, exists, replica reads, touch/getAndTouch, preserve_expiry, error handling
Configure and optimize Couchbase SDK connections in Rust — async/tokio cluster setup, singleton pattern, wait_until_ready, timeouts, KV CRUD (upsert/insert/get/replace/remove), expiry, durability, sub-document operations
SQL++ queries with the Couchbase Rust SDK — scope.query, cluster.query, positional and named parameters, scan consistency, deserializing rows into structs, DML (INSERT/UPDATE/DELETE/UPSERT), MutationState RYOW
Testing Couchbase Rust applications — unit testing with mockall, integration testing with testcontainers-rs, scope/collection isolation
Distributed ACID transactions are not supported by the Couchbase Rust SDK 1.x — alternatives and workarounds
| name | fle-ruby |
| summary | Field-Level Encryption is not supported by the Couchbase Ruby SDK 3.x — alternatives and workarounds |
| description | Field-Level Encryption is not supported by the Couchbase Ruby SDK 3.x — alternatives and workarounds |
| compatibility | Ruby SDK 3.x. FLE not supported. |
| metadata | {"last_verified":"2026-05","handoff":[{"condition":"user asks about FLE concepts or supported SDKs","skill":"fle"},{"condition":"user asks about server-side encryption at rest","skill":"security"}]} |
Ruby SDK 3.x does not support Field-Level Encryption. There is no CryptoManager API.
Option 1 — Encrypt in application code before writing:
require 'openssl'
require 'base64'
def encrypt_field(plaintext, key)
cipher = OpenSSL::Cipher.new('AES-256-GCM')
cipher.encrypt
cipher.key = key
iv = cipher.random_iv
ciphertext = cipher.update(plaintext) + cipher.final
tag = cipher.auth_tag
Base64.strict_encode64(iv + tag + ciphertext)
end
key = OpenSSL::Random.random_bytes(32)
doc = {
name: 'Alice',
ssn: encrypt_field('123-45-6789', key) # store ciphertext
}
collection.upsert('user::alice', doc)
Option 2 — Server-side encryption at rest (Couchbase Server 8.x):
See the security skill.