Class: Daytona::Config
- Inherits:
-
Object
- Object
- Daytona::Config
- Defined in:
- lib/daytona/config.rb
Constant Summary collapse
- API_URL =
'https://app.daytona.io/api'
Instance Attribute Summary collapse
-
#_experimental ⇒ Hash?
Experimental configuration options.
-
#api_key ⇒ String?
API key for authentication with the Daytona API.
-
#api_url ⇒ String?
URL of the Daytona API.
-
#jwt_token ⇒ String?
JWT token for authentication with the Daytona API.
-
#organization_id ⇒ String?
Organization ID for authentication with the Daytona API.
-
#otel_enabled ⇒ Boolean?
Enable OpenTelemetry tracing for SDK operations.
-
#target ⇒ String?
Target environment for sandboxes.
-
#use_deprecated_polling ⇒ Boolean
deprecated
Deprecated.
Polling-only mode will be removed in a future release; event streaming is the default and falls back to polling automatically when WebSockets are unavailable.
Instance Method Summary collapse
-
#initialize(api_key: nil, jwt_token: nil, api_url: nil, organization_id: nil, target: nil, otel_enabled: nil, use_deprecated_polling: nil, _experimental: nil) ⇒ Config
constructor
Initializes a new Daytona::Config object.
-
#read_env(name) ⇒ String?
Reads a DAYTONA_-prefixed environment variable using the same precedence as the Config initializer: runtime ENV first, then .env.local, then .env.
Constructor Details
#initialize(api_key: nil, jwt_token: nil, api_url: nil, organization_id: nil, target: nil, otel_enabled: nil, use_deprecated_polling: nil, _experimental: nil) ⇒ Config
Initializes a new Daytona::Config object.
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/daytona/config.rb', line 69 def initialize( # rubocop:disable Metrics/ParameterLists api_key: nil, jwt_token: nil, api_url: nil, organization_id: nil, target: nil, otel_enabled: nil, use_deprecated_polling: nil, _experimental: nil ) @env_reader = daytona_env_reader @api_key = api_key || @env_reader.call('DAYTONA_API_KEY') @jwt_token = jwt_token || @env_reader.call('DAYTONA_JWT_TOKEN') @api_url = api_url || @env_reader.call('DAYTONA_API_URL') || API_URL @target = target || @env_reader.call('DAYTONA_TARGET') @organization_id = organization_id || @env_reader.call('DAYTONA_ORGANIZATION_ID') @otel_enabled = otel_enabled @_experimental = _experimental @use_deprecated_polling = resolve_use_deprecated_polling(use_deprecated_polling) end |
Instance Attribute Details
#_experimental ⇒ Hash?
Experimental configuration options
55 56 57 |
# File 'lib/daytona/config.rb', line 55 def _experimental @_experimental end |
#api_key ⇒ String?
API key for authentication with the Daytona API
15 16 17 |
# File 'lib/daytona/config.rb', line 15 def api_key @api_key end |
#api_url ⇒ String?
URL of the Daytona API
25 26 27 |
# File 'lib/daytona/config.rb', line 25 def api_url @api_url end |
#jwt_token ⇒ String?
JWT token for authentication with the Daytona API
20 21 22 |
# File 'lib/daytona/config.rb', line 20 def jwt_token @jwt_token end |
#organization_id ⇒ String?
Organization ID for authentication with the Daytona API
30 31 32 |
# File 'lib/daytona/config.rb', line 30 def organization_id @organization_id end |
#otel_enabled ⇒ Boolean?
Enable OpenTelemetry tracing for SDK operations.
40 41 42 |
# File 'lib/daytona/config.rb', line 40 def otel_enabled @otel_enabled end |
#target ⇒ String?
Target environment for sandboxes
35 36 37 |
# File 'lib/daytona/config.rb', line 35 def target @target end |
#use_deprecated_polling ⇒ Boolean
Polling-only mode will be removed in a future release; event streaming is the default and falls back to polling automatically when WebSockets are unavailable.
Observe sandbox state by legacy polling instead of WebSocket event streaming. Defaults to false (event streaming). Can also be enabled via the DAYTONA_USE_DEPRECATED_POLLING environment variable.
50 51 52 |
# File 'lib/daytona/config.rb', line 50 def use_deprecated_polling @use_deprecated_polling end |
Instance Method Details
#read_env(name) ⇒ String?
Reads a DAYTONA_-prefixed environment variable using the same precedence as the Config initializer: runtime ENV first, then .env.local, then .env. Only names starting with DAYTONA_ are accepted.
98 99 100 |
# File 'lib/daytona/config.rb', line 98 def read_env(name) @env_reader.call(name) end |