Burla CLI Reference
Description
The Burla Command Line Interface serves three purposes:
- Provide the ability to authenticate with Burla's cloud:
burla login
- Provide the ability to deploy Burla in your cloud:
burla deploy <command>
- Provide the ability to manage files in Burla's cloud:
burla nas <command> [options]
The global arg --help
can be placed after any command or command group to see CLI documentation.
burla login
Authenticate with Burla cloud.
Description
Obtains access credentials for your user account via a web-based (OAuth2) authorization flow.
When this command completes successfully, an auth-token is saved in the text file burla_credentials.json
. This file is stored in your operating systems recommended user data directory which is determined using the appdirs python package.
This auth-token is refreshed each time the burla login
authorization flow is completed.
burla deploy <command>
Deploy the Burla webservice and associated infastructure.
Unfortunately, Burla is currently deployable only in Google-Cloud.
We're working hard to make Burla available on other cloud providers, to see our roadmap, check out our Discord.
Commands:
- burla deploy gcp
Description
After completion, calls to remote_parallel_map
will, by default, run in a cluster in your google cloud project.
Creates the following resources in your google cloud project:
- A Firestore database instance.
- An webservice running in Google Cloud Run.
- A Cloud Storage Bucket.
- An Artifact Registry repository.
All resources are by default accessible only from inside your google cloud project.
For the deploy
command to work, your user account will need permissions to access following services:
- Compute Engine:
Compute Admin
- Firestore:
Cloud Datastore User
- Cloud Storage:
Storage Admin
- Artifact Registry:
Artifact Registry Administrator
- Cloud Run:
Cloud Run Admin
- Cloud Logging:
logging.logEntries.create
burla nas <command>
Manage files stored in Burla cloud.
Commands:
burla nas upload
burla nas download
burla nas cd
burla nas ls
burla nas rm
Description
By default, the folder nas
(network attached storage) appears in the python working directory of all computers executing a user submitted function.
The filesystem in this folder is persistent and network-linked. This means:
- Any files written to it will appear in the
nas
folder of all other computers running as a part of that particular call toremote_parallel_map
. - After the call to
remote_parallel_map
is over the files will persist, and be accessable through this interface. - Any files uploaded through this interface will appear in the
nas
folder for any subsequentremote_parallel_map
calls.
burla nas upload
Upload files to the persistent filesystem belonging to the current account.
burla nas upload
[SOURCE
] [DESTINATION
] [--recursive
]POSITIONAL ARGUMENTS
[SOURCE
]
Path to local file or folder to upload.
[DESTINATION
]
Remote filesystem path within which source
will be uploaded.
FLAGS
[--recursive
]
Recursively copy the contents of any directories that match the source path expression.
burla nas download
Download files from the persistent filesystem belonging to the current account.
burla nas download
[SOURCE
] [DESTINATION
] [--recursive
]POSITIONAL ARGUMENTS
[SOURCE
]
Path to file or folder in remote filesystem.
[DESTINATION
]
Local path within which source
will be downloaded.
FLAGS
[--recursive
]
Recursively copy the contents of any directories that match the source path expression.
burla nas ls
List files and folders inside provided path
.
burla nas ls
[PATH
]POSITIONAL ARGUMENTS
[PATH
]
Path to list contents of.
burla nas rm
Remove file or folder from remote filesystem.
burla nas rm
[PATH
] [--recursive
]POSITIONAL ARGUMENTS
[PATH
]
Path to remote file or folder to remove.
FLAGS
[--recursive
]
Recursively remove the contents of any directories within provided PATH
.
Questions?
Schedule a call with us, or email us. We're always happy to talk.