Configuration

An example configuration block is shown below (found in ~/.cedana/cedana_config.json):

{
   "self_serve": true,
   "cedana_managed": true,
   "checkpoint": {
      "heartbeat_enabled": true,
      "heartbeat_interval_seconds": 60
   },
   "enabled_providers": [
      "aws",
      "paperspace"
   ],
   "shared_storage": {
      "mount_point": "/home/ubuntu/.cedana/",
      "dump_storage_dir": "/home/ubuntu/.cedana/"
 },
   "aws" : {
   "enabled_regions": ["us-east-1","us-west-1"],
   "enabled_instance_families": ["t2"],
   "ssh_key_path": "/Users/nravichandra/.cedana/test.pem",
   "launch_template": "caltech-test"
   },
   "paperspace": {
      "api_key": "someapikey",
      "ssh_key_path": "/home/nravic/.ssh/id_ed25519",
      "enabled_regions": ["East Coast (NY2)"]
   },
   "connection": {
      "nats_url": "0.0.0.0",
      "nats_port": 4222,
      "auth_token": "test"
   }
}

Top-level config

Here, you can configure whether or not to operate Cedana in the self-serve option (without access to the Cedana market or paid features). The flag cedana_managed helps control whether the cedana daemon stores checkpoints in NATS or not. If set to false, you can’t restore work onto a new instance without migrating it manually.

enabled_providers is pretty self-explanatory, add providers to the list that you have accounts for.