Skip to main content

Burla CLI Reference

Description

The Burla Command Line Interface serves three purposes:

  1. Provide the ability to authenticate with Burla's cloud: burla login
  2. Provide the ability to deploy Burla in your cloud: burla deploy <command>
  3. 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 to remote_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 subsequent remote_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.