Class: Daytona::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/daytona/config.rb

Constant Summary collapse

API_URL =
'https://app.daytona.io/api'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_key: nil, jwt_token: nil, api_url: nil, organization_id: nil, target: nil) ⇒ Config

Initializes a new Daytona::Config object.

Parameters:

  • api_key (String, nil) (defaults to: nil)

    Daytona API key. Defaults to ENV.

  • jwt_token (String, nil) (defaults to: nil)

    Daytona JWT token. Defaults to ENV.

  • api_url (String, nil) (defaults to: nil)

    Daytona API URL. Defaults to ENV or Daytona::Config::API_URL.

  • organization_id (String, nil) (defaults to: nil)

    Daytona organization ID. Defaults to ENV.

  • target (String, nil) (defaults to: nil)

    Daytona target. Defaults to ENV.



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/daytona/config.rb', line 41

def initialize(
  api_key: nil,
  jwt_token: nil,
  api_url: nil,
  organization_id: nil,
  target: nil
)
  # Load environment variables from .env and .env.local files
  # Files are loaded from the current working directory (where the code is executed)
  load_env_files

  @api_key = api_key || ENV.fetch('DAYTONA_API_KEY', nil)
  @jwt_token = jwt_token || ENV.fetch('DAYTONA_JWT_TOKEN', nil)
  @api_url = api_url || ENV.fetch('DAYTONA_API_URL', API_URL)
  @target = target || ENV.fetch('DAYTONA_TARGET', nil)
  @organization_id = organization_id || ENV.fetch('DAYTONA_ORGANIZATION_ID', nil)
end

Instance Attribute Details

#api_keyString?

API key for authentication with the Daytona API

Returns:

  • (String, nil)

    Daytona API key



12
13
14
# File 'lib/daytona/config.rb', line 12

def api_key
  @api_key
end

#api_urlString?

URL of the Daytona API

Returns:

  • (String, nil)

    Daytona API URL



22
23
24
# File 'lib/daytona/config.rb', line 22

def api_url
  @api_url
end

#jwt_tokenString?

JWT token for authentication with the Daytona API

Returns:

  • (String, nil)

    Daytona JWT token



17
18
19
# File 'lib/daytona/config.rb', line 17

def jwt_token
  @jwt_token
end

#organization_idString?

Organization ID for authentication with the Daytona API

Returns:

  • (String, nil)

    Daytona API URL



27
28
29
# File 'lib/daytona/config.rb', line 27

def organization_id
  @organization_id
end

#targetString?

Target environment for sandboxes

Returns:

  • (String, nil)

    Daytona target



32
33
34
# File 'lib/daytona/config.rb', line 32

def target
  @target
end