Skip to content

Ruby SDK

Install

Terminal window
gem install calvery

Atau di Gemfile:

gem "calvery", "~> 0.1"

Quickstart

require "calvery"
client = Calvery::Client.new(ENV["CVSM_TOKEN"], "acme-corp")
db_url = client.get("DATABASE_URL")
all = client.get_all
# Populate ENV, skip yang sudah ada
client.inject!(overwrite: false)

Rails

config/initializers/calvery.rb:

Rails.application.config.calvery = Calvery::Client.new(
ENV.fetch("CVSM_TOKEN"),
ENV.fetch("CVSM_TEAM"),
environment: Rails.env,
)
# Inject saat boot supaya DATABASE_URL, SECRET_KEY_BASE, dll tersedia
Rails.application.config.calvery.inject!(overwrite: false)

Config

Calvery::Client.new(
ENV["CVSM_TOKEN"],
"acme-corp",
base_url: "https://vault.internal",
environment: "staging",
cache_ttl: 60,
max_retries: 5,
timeout: 30,
)

Error types

begin
val = client.get("DATABASE_URL")
rescue Calvery::NotFound => e
# secret tidak ada
rescue Calvery::AuthError => e
# token invalid
rescue Calvery::NetworkError => e
# konek gagal
rescue Calvery::ServerError => e
# HTTP 4xx/5xx — e.status
end