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

When no saved assignment exists, the role allocates the first available port within the inclusive low and high bounds and retains it for future runs. Override an instance's bounds to control new allocation; set both bounds to the same value to require one exact port.

Existing assignments are stored in /opt/saltbox/port-assignments.json. A conflict-free saved port remains authoritative even outside the current bounds, including a port manually changed in that file. If a saved assignment conflicts, another available port is selected from the current bounds and a warning shows the old port, new port, and conflict source.

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"