# #####################
# Config file for swupd
# #####################

[GLOBAL]

#
# Global options
#

# Use PATH to define the root directory for swupd commands (eg: a chroot or
# btrfs subvol) (string value)
#path=<PATH>

# RFC-3986 encoded url for version string and content file
# downloads (string value)
# This option defines both; contenturl and versionurl
#url=<URL>

# Port number to connect to at the url for version string and content file
# downloads (integer value)
#port=<PORT #>

# RFC-3986 encoded url for content file downloads (string value)
#contenturl=<URL>

# RFC-3986 encoded url for version file downloads (string value)
#versionurl=<URL>

# The format suffix for version file downloads
# Possible values:
# staging - used for testing purposes (string value)
# 1,2,3...                            (integer value)
#format=<FORMAT>

# Specify alternate path for swupd cache and data directory (string value)
#statedir=<PATH>

# Specify alternate swupd cache directory (string value)
#cachedir=<PATH>

# Specify alternate swupd data directory (string value)
#datadir=<PATH>

# Specify alternate path to swupd certificates (string value)
#certpath=<PATH>

# Set the maximum number of parallel downloads (integer value)
#max_parallel_downloads=<# OF DOWNLOADS>

# Maximum number of retries for download failures (integer value)
#max_retries=<# OF RETRIES>

# Initial delay between download retries, this will be doubled for each
# retry (integer value)
#retry_delay=<DELAY>

# Print all output as a JSON stream (boolean value)
#json_output=<true/false>

# Ignore system/certificate time when validating signature (boolean value)
#ignore_time=<true/false>

# Show verbose time output for swupd operations (boolean value)
#time=<true/false>

# Do not attempt to enforce certificate or signature checking (boolean value)
#nosigcheck=<true/false>

# Do not attempt to enforce signature checking when retrieving the latest version number (boolean value)
#nosigcheck_latest=<true/false>

# Do not install boot files to the boot partition (containers) (boolean value)
#no_boot_update=<true/false>

# Do not run the post-update scripts and boot update tool (boolean value)
#no_scripts=<true/false>

# Allow updates over insecure connections
#allow_insecure_http=<true/false>

# Quiet output. Print only important information and errors (boolean value)
#quiet=<true/false>

# Print extra information to help debugging problems (boolean value)
#debug=<true/false>

# Don't report progress (boolean value)
#no_progress=<true/false>

# Wait for the post-update scripts to complete (boolean value)
#wait_for_scripts=<true/false>

# Sets an automatic response to all prompts and run non-interactively (string value)
#assume=<yes/no>


#
# The sections below contain the options that apply specifically to
# the commands referred to by the [<command>] sections.
#
# Note that some commands don't have local options, but even in those cases
# global options can be specified to only apply to that command if set up
# within the [<command>] section.
#
# Example: you could enable machine readable output (JSON) for every command
# except for the "info" command by setting it like this
# [GLOBAL]
# json_output=true
# [info]
# json_output=false
#


[info]

#
# Options for the "swupd info" command
#


[autoupdate]

#
# Options for the "swupd autoupdate" command
#


[check-update]

#
# Options for the "swupd check-update" command
#


[update]

#
# Options for the "swupd update" command
#

# Update to the specified version
# Possible values:
# ..., 29890, 29900, 29910, ...                     (integer value)
# latest - used to refer to the most recent version (string value)
#version=<VERSION>

# Download all content, but do not actually install the update (boolean value)
#download=<true/false>

# Show current OS version and latest version available on server, eEquivalent
# to "swupd check-update" (boolean value)
#status=<true/false>

# Do not delete the swupd state directory content after updating the
# system (boolean value)
#keepcache=<true/false>

# Update the index used by search-file to speed up searches (boolean value)
#update_search_file_index=<true/false>

# Also update content from 3rd-party repositories (boolean value)
3rd_party=<true/false>


[bundle-add]

#
# Options for the "swupd bundle-add" command
#

# Do not check free disk space before adding bundle (boolean value)
#skip_diskspace_check=<true/false>

# Do not install optional bundles, also-add flag in Manifests (boolean value)
#skip_optional=<true/false>


[bundle-remove]

#
# Options for the "swupd bundle-remove" command
#

# Removes a bundle along with all the bundles that depend on it (boolean value)
#force=<true/false>

# Removes a bundle and its dependencies recursively (boolean value)
#recursive=<true/false>

# Removes all orphaned bundles
#orphans=<true/false>


[bundle-list]

#
# Options for the "swupd bundle-list" command
#

# List all available bundles for the current version of Clear
# Linux (boolean value)
#all=<true/false>

# List bundles included by BUNDLE (string value)
#deps=[BUNDLE]

# List dependency tree of all bundles which have BUNDLE as a
# dependency (string value)
#has_dep=[BUNDLE]

# Show the installation status of the listed bundles (boolean value)
#status=<true/false>

# List orphaned bundles (boolean value)
#orphans=<true/false>


[bundle-info]

#
# Options for the "swupd bundle-info" command
#

# Show the bundle info for the specified version (integer value)
#version=[VER]

# Show the bundle dependencies as part of the information displayed (boolean value)
#dependencies=<true/false>

# Show the bundle files as part of the information displayed (boolean value)
#files=<true/false>


[search-file]

#
# Options for the "swupd search-file" command
#

# Search for a match of the given file in the specified version VER
#version=[VER]

# Search paths where libraries are located for a match (boolean value)
#library=<true/false>

# Search paths where binaries are located for a match (boolean value)
#binary=<true/false>

# Only display the top NUM results for each bundle (integer value)
#top=[NUM]

# Output all results in CSV format (machine-readable) (boolean value)
#csv=<true/false>

# Download all manifests then return, no search done (boolean value)
#init=<true/false>

# Sort the output. ORDER is one of the following values: (string value)
# - 'alpha' to order alphabetically (default)
# - 'size' to order by bundle size (smaller to larger)
#order=[ORDER]


[diagnose]

#
# Options for the "swupd diagnose" command
#

# Diagnose the system against manifest version V (integer value)
#version=V

# Attempt to proceed even if non-critical errors found (boolean value)
#force=<true/false>

# Don't check for corrupt files, only find missing files (boolean value)
#quick=<true/false>

# List files which should not exist (boolean value)
#picky=<true/false>

# Selects the sub-tree where --picky looks for extra files (string value)
# Default: /usr (string value)
#picky_tree=[PATH]

# Any path completely matching the POSIX extended regular expression is ignored
# by --picky, matched directories get skipped (string value)
# Example: /var|/etc/machine-id
# Default: /usr/lib/modules|/usr/lib/kernel|/usr/local|/usr/src
#picky_whitelist=[RE]

# Diagnose if BUNDLES are installed correctly (string value)
# Example: --bundles=xterm,vim
#bundles=[BUNDLES]

# Like --picky, but it only searches for extra files (boolean value)
#extra_files_only=<true/false>

# Forces swupd to only diagnose the specified file or directory (recursively)
#file=[PATH]


[repair]

#
# Options for the "swupd repair" command
#

# Compare against version V to determine what needs to be
# repaired (integer value)
#version=V

# Attempt to proceed even if non-critical errors found (boolean value)
#force=<true/false>

# Don't fix corrupt files, only fix missing files (boolean value)
#quick=<true/false>

# Repair BUNDLES that are not installed correctly (string value)
# Example: --bundles=xterm,vim
#bundles=[BUNDLES]

# Remove files which should not exist (boolean value)
#picky=<true/false>

# Selects the sub-tree where --picky looks for extra files (string value)
# Default: /usr
#picky_tree=[PATH]

# Any path completely matching the POSIX extended regular expression is ignored
# by --picky, matched directories get skipped (string value)
# Example: /var|/etc/machine-id
# Default: /usr/lib/modules|/usr/lib/kernel|/usr/local|/usr/src
#picky_whitelist=[RE]

# Like --picky, but it only removes extra files (boolean value)
#extra_files_only=<true/false>

# Forces swupd to only repair the specified file or directory (recursively)
#file=[PATH]


[os-install]

#
# Options for the "swupd os-install" command
#

# Attempt to proceed even if non-critical errors found (boolean value)
#force=<true/false>

# Include the specified BUNDLES in the OS installation (string value)
# Example: --bundles=xterm,vim
#bundles=[BUNDLES]

# If the version to install is not the latest, it can be specified with this
# option (string value)
#version=V

# After checking for content in the statedir, check the statedir-cache before
# downloading it over the network
#statedir_cache=[PATH]

# Download all content, but do not actually install it (boolean value)
#download=<true/false>

# Do not install optional bundles, also-add flag in Manifests (boolean value)
#skip_optional=<true/false>


[mirror]

#
# Options for the "swupd mirror" command
#


[clean]

#
# Options for the "swupd clean" command
#


[hashdump]

#
# Options for the "swupd hashdump" command
#


[3rd-party-add]

#
# Options for the "swupd 3rd-party add" command
#

# Attempt to proceed even if non-critical errors found (boolean value)
#force=<true/false>


[3rd-party-remove]

#
# Options for the "swupd 3rd-party remove" command
#

# Attempt to proceed even if non-critical errors found (boolean value)
#force=<true/false>


[3rd-party-list]

#
# Options for the "swupd 3rd-party list" command
#


[3rd-party-info]

#
# Options for the "swupd 3rd-party info" command
#

# Specify the 3rd-party repository to use (string value)
#repo=[REPOSITORY]


[3rd-party-check-update]

#
# Options for the "swupd 3rd-party check-update" command
#

# Specify the 3rd-party repository to use (string value)
#repo=[REPOSITORY]


[3rd-party-update]

#
# Options for the "swupd 3rd-party update" command
#

# Specify the 3rd-party repository to use (string value)
#repo=[REPOSITORY]

# Update to the specified version
# Possible values:
# ..., 29890, 29900, 29910, ...                     (integer value)
# latest - used to refer to the most recent version (string value)
#version=<VERSION>

# Download all content, but do not actually install the update (boolean value)
#download=<true/false>

# Show current OS version and latest version available on server, eEquivalent
# to "swupd check-update" (boolean value)
#status=<true/false>

# Do not delete the swupd state directory content after updating the
# system (boolean value)
#keepcache=<true/false>


[3rd-party-bundle-add]

#
# Options for the "swupd 3rd-party bundle-add" command
#

# Specify the 3rd-party repository to use (string value)
#repo=[REPOSITORY]

# Do not check free disk space before adding bundle (boolean value)
#skip_diskspace_check=<true/false>

# Do not install optional bundles, also-add flag in Manifests (boolean value)
#skip_optional=<true/false>


[3rd-party-bundle-remove]

#
# Options for the "swupd 3rd-party bundle-remove" command
#

# Specify the 3rd-party repository to use (string value)
#repo=[REPOSITORY]

# Removes a bundle along with all the bundles that depend on it (boolean value)
#force=<true/false>

# Removes a bundle and its dependencies recursively (boolean value)
#recursive=<true/false>


[3rd-party-bundle-list]

#
# Options for the "swupd 3rd-party bundle-list" command
#

# Specify the 3rd-party repository to use (string value)
#repo=[REPOSITORY]

# List all available bundles for the current version of Clear
# Linux (boolean value)
#all=<true/false>

# List bundles included by BUNDLE (string value)
#deps=[BUNDLE]

# List dependency tree of all bundles which have BUNDLE as a
# dependency (string value)
#has_dep=[BUNDLE]

# Show the installation status of the listed bundles (boolean value)
#status=<true/false>


[3rd-party-bundle-info]

#
# Options for the "swupd 3rd-party bundle-info" command
#

# Specify the 3rd-party repository to use (string value)
#repo=[REPOSITORY]

# Show the bundle info for the specified version (integer value)
#version=[VER]

# Show the bundle dependencies as part of the information displayed (boolean value)
#dependencies=<true/false>

# Show the bundle files as part of the information displayed (boolean value)
#files=<true/false>


[3rd-party-diagnose]

#
# Options for the "swupd 3rd-party diagnose" command
#

# Specify the 3rd-party repository to use (string value)
#repo=[REPOSITORY]

# Diagnose the system against manifest version V (integer value)
#version=[VER]

# Attempt to proceed even if non-critical errors found (boolean value)
#force=<true/false>

# Don't check for corrupt files, only find missing files (boolean value)
#quick=<true/false>

# List files which should not exist (boolean value)
#picky=<true/false>

# Selects the sub-tree where --picky looks for extra files (string value)
# Default: /usr (string value)
#picky_tree=[PATH]

# Any path completely matching the POSIX extended regular expression is ignored
# by --picky, matched directories get skipped (string value)
# Example: /var|/etc/machine-id
# Default: /usr/lib/modules|/usr/lib/kernel|/usr/local|/usr/src
#picky_whitelist=[RE]

# Diagnose if BUNDLES are installed correctly (string value)
# Example: --bundles=xterm,vim
#bundles=[BUNDLES]

# Like --picky, but it only searches for extra files (boolean value)
#extra_files_only=<true/false>


[3rd-party-repair]

#
# Options for the "swupd 3rd-party repair" command
#

# Specify the 3rd-party repository to use (string value)
#repo=[REPOSITORY]

# Compare against version V to determine what needs to be
# repaired (integer value)
#version=[VER]

# Attempt to proceed even if non-critical errors found (boolean value)
#force=<true/false>

# Don't fix corrupt files, only fix missing files (boolean value)
#quick=<true/false>

# Repair BUNDLES that are not installed correctly (string value)
# Example: --bundles=xterm,vim
#bundles=[BUNDLES]

# Remove files which should not exist (boolean value)
#picky=<true/false>

# Selects the sub-tree where --picky looks for extra files (string value)
# Default: /usr
#picky_tree=[PATH]

# Any path completely matching the POSIX extended regular expression is ignored
# by --picky, matched directories get skipped (string value)
# Example: /var|/etc/machine-id
# Default: /usr/lib/modules|/usr/lib/kernel|/usr/local|/usr/src
#picky_whitelist=[RE]

# Like --picky, but it only removes extra files (boolean value)
#extra_files_only=<true/false>


[3rd-party-clean]

#
# Options for the "swupd 3rd-party clean" command
#

# Specify the 3rd-party repository to use (string value)
#repo=[REPOSITORY]
