Smos

A comprehensive self-management system

The Smos Sync Client

Your can synchronise your workflow directory using smos-sync-client. This synchronisation works with arbitrary amounts of time between synchronisations, so it is perfect for taking your laptop onto an airplane.

A community sync-server has been set up at https://api.smos.cs-syd.eu.

Reference

Arguments

Usage: smos-sync-client COMMAND [--config-file FILEPATH] 
                        [--workflow-dir FILEPATH] [--archive-dir FILEPATH] 
                        [--projects-dir FILEPATH] 
                        [--archived-projects-dir FILEPATH] [--log-level ARG] 
                        [--server-url ARG] [--username ARG] [--password ARG] 
                        [--data-dir DIRECTORY] [--cache-dir DIRECTORY] 
                        [--session-path FILEPATH]
  Smos Sync Client version 0.1.0

Available options:
  -h,--help                Show this help text
  --config-file FILEPATH   The config file to use
  --workflow-dir FILEPATH  The workflow directory to use
  --archive-dir FILEPATH   The archive directory to use
  --projects-dir FILEPATH  The projects directory to use
  --archived-projects-dir FILEPATH
                           The archived projects directory to use
  --log-level ARG          The log level to use, options:
                           ["Debug","Info","Warn","Error"]
  --server-url ARG         The server to sync with
  --username ARG           The username to login to the sync server
  --password ARG           The password to login to the sync server WARNING: You
                           are trusting the system that you run this command on
                           if you pass in the password via command-line
                           arguments.
  --data-dir DIRECTORY     The directory to store state metadata in (not the
                           contents to be synced)
  --cache-dir DIRECTORY    The directory to cache state data in
  --session-path FILEPATH  The path to store the login session

Available commands:
  register                 Register at a sync server
  login                    Login at a sync server
  sync                     Sync with a sync server

Environment

Available environment variables:

  SMOS_ARCHIVED_PROJECTS_DIR
                         Archived projects directory
  SMOS_ARCHIVE_DIR
                         Archive directory
  SMOS_BACKUP_DIR        The directory to store backups in
                         when a sync conflict happens
  SMOS_CONFIG_FILE
                         Workflow directory
  SMOS_CONTENTS_DIR
                         The path to the directory to sync
  SMOS_IGNORE_ARCHIVE
                         whether to ignore the archive
  SMOS_IGNORE_FILES
                         Which files to ignore
  SMOS_METADATA_DATABASE
                         The path to the database of
                         metadata
  SMOS_PASSWORD          The password to sync with
  SMOS_PROJECTS_DIR
                         Projects directory
  SMOS_SERVER_URL        The url of the server to sync with
  SMOS_SESSION_PATH
                         The path to the file in which to
                         store the auth session
  SMOS_USERNAME          The username to sync with
  SMOS_UUID_FILE         The path to the uuid file of the
                         server
  SMOS_WORKFLOW_DIR
                         Workflow directory

Configuration

# DirectoryConfiguration
workflow-dir: # optional
  # The workflow directory
  <string>
archive-dir: # optional
  # The archive directory
  <string>
projects-dir: # optional
  # The projects directory
  <string>
archived-projects-dir: # optional
  # The archived projects directory
  <string>
# Configuration
sync: # optional
  # Synchronisation configuration
  # SyncConfiguration
  log-level: # optional
    # The minimal severity for log messages
    <string>
  server-url: # optional
    # The url of the sync server. Example: api.smos.cs-syd.eu
    <string>
  data-dir: # optional
    # The directory to store state metadata in (not the contents to be synced)
    <string>
  cache-dir: # optional
    # The directory to cache state data in
    <string>
  contents-dir: # optional
    # The directory of the files to synchronise. By default this will be the workflow directory.
    <string>
  uuid-file: # optional
    # The file in which to store the server uuid
    <string>
  metadata-db: # optional
    # The file to store the metadata database in
    <string>
  ignore-files: # optional
    [ # Don't ignore any files
      nothing # (exact)
    , # Ignore hidden files
      hidden # (exact)
    ]
  username: # optional
    # The username to log into the sync server
    <string>
  password: # optional
    # The password to log into the sync server. Note that putting the password in a config file in plaintext is not safe. Only use this for automation.
    <string>
  session-path: # optional
    # The file in which to store the login session cookie
    <string>
  backup-dir: # optional
    # The directory to store backups in when a sync conflict happens
    <string>