Skip to content

Remote

Overview

Remote is a Saltbox module that manages remote storage mounts.


Deployment

Core Saltbox role.

sb install mounts

Role Defaults

Variables can be customized using the Inventory. (1)

  1. Example override

    user_agent: "custom_value"
    
user_agent
# Type: string
user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36
rclone_config_path
# Type: string
rclone_config_path: "/home/{{ user.name }}/.config/rclone/rclone.conf"
rclone_vfs_cache_dir
# Type: string
rclone_vfs_cache_dir: ""
rclone_vfs_cache_dir_lookup
# Type: string
rclone_vfs_cache_dir_lookup: "{{ lookup('vars', 'rclone_remote_' + rclone_remote_name + '_vfs_cache_dir', default=rclone_vfs_cache_dir) }}"
rclone_vfs_cache_min_free_space
# Type: string
rclone_vfs_cache_min_free_space: "off"
rclone_vfs_cache_poll_interval
# Type: string
rclone_vfs_cache_poll_interval: "1m0s"
rclone_cloud_dir_cache_time
# Type: string
rclone_cloud_dir_cache_time: "8760h"
rclone_sftp_dir_cache_time
# Type: string
rclone_sftp_dir_cache_time: "1m"
rclone_sftp_chunk_size
# Read https://rclone.org/sftp/#sftp-chunk-size if you want to change the chunk size
# Type: string
rclone_sftp_chunk_size: "32Ki"
rclone_sftp_concurrency
# Type: string
rclone_sftp_concurrency: "64"
rclone_sftp_disable_hashcheck
# Type: bool (true/false)
rclone_sftp_disable_hashcheck: false
rclone_service_template
# Type: string
rclone_service_template: "saltbox_managed_rclone_"
rclone_remote_name
# Type: string
rclone_remote_name: "{{ item | filter_rclone_remote_name }}"
rclone_remote_with_path
# Type: string
rclone_remote_with_path: "{{ item | filter_rclone_remote_with_path }}"
rclone_first_remote_name
# Type: string
rclone_first_remote_name: "{{ rclone | filter_rclone_first_remote_name }}"
rclone_first_remote_name_with_path
# Type: string
rclone_first_remote_name_with_path: "{{ rclone | filter_rclone_first_remote_name_with_path }}"
remote_update_rclone
# Type: bool (true/false)
remote_update_rclone: true
rclone_enable_metrics
# Enforces the use of auth (your accounts.yml credentials) on rclone rc when enabled
# Type: bool (true/false)
rclone_enable_metrics: false

The role allocates the first available port within the inclusive low and high bounds and retains it while it remains within those bounds and free of conflicts. Override an instance's bounds to change the allowed range; set both bounds to the same value to require one exact port, including for an existing assignment.

Existing assignments are stored in /opt/saltbox/port-assignments.json. On each role run, a saved port outside the current bounds or in conflict is reassigned within the current bounds, with a warning showing the old port, new port, and reason. These bounds also apply to ports manually changed in that file. If no port is available within the bounds, allocation fails without changing the registry.

rclone_remote_port_low_bound
# Type: int
rclone_remote_port_low_bound: 5572
rclone_remote_port_high_bound
# Type: int
rclone_remote_port_high_bound: 6072
rclone_vfs_refresh_interval
# Type: int
rclone_vfs_refresh_interval: 10800
rclone_vfs_refresh_auth_args
# Type: string
rclone_vfs_refresh_auth_args: " --user='{{ user.name }}' --pass='{{ user.pass }}'"
rclone_vfs_refresh_command
# Type: string
rclone_vfs_refresh_command: |-
  /usr/bin/rclone rc vfs/refresh recursive=true --url http://127.0.0.1:{{ rclone_port_assignment.ports.rc }}{{ rclone_vfs_refresh_auth_args
                                                                                                            if (rclone_enable_metrics | bool)
                                                                                                            else '' }} _async=true
nfs_opts
# Type: string
nfs_opts: "nofail,noatime,nolock,intr,tcp,actimeo=1800"