The deployment-config is a JSON-file which is supposed to be hosted on a webserver operated by you and downloaded by trivrost every time it starts. Its filename typically is deployment-config.json
.
Timestamp
(string): A timestamp in the formYYYY-MM-DD HH:mm:SS
which indicates when the deployment-config was last changed. This field protects trivrost against attacks. A utility scriptscript/insert_timestamp
is provided, which replaces a placeholder with a current timestamp. It can be called like this:insert_timestamp "<TIMESTAMP>" …/deployment-config.json
. See security.md for more information.LauncherUpdate
(array): An array of objects which define bundle configurations for how trivrost updates itself. When trivrost runs, this list must boil down to either one single configuration, or no configurations, through filtering byTargetPlatforms
.BundleInfoURL
,BaseURL
,TargetPlatforms
: See Common fields below.
Bundles
(array): An array of objects which define the bundles which trivrost should download and keep up to date.BundleInfoURL
,BaseURL
,TargetPlatforms
: See Common fields below.LocalDirectory
(string): Desired name of the bundle's folder in the file system.Tags
(array): An array of strings describing arbitrary tags. Currently only used by bundown to fetch the files required to build.msi
-installers for Windows for system mode.IsUpdateMandatory
(bool): If set to true, specifies that the user cannot choose to ignore when required changes to a bundle are omitted due to it being a system bundle. If set to false, they will still be informed about the problem, but given the option to continue anyway. This has no effect on user bundles, because keeping those up to date is always mandatory.
Execution
(object): Object which describes trivrost's behavior after having downloaded and updated itself and all bundles.Commands
(array): An array of objects which define individual commands which will be executed in the order they appear. After starting the last command, trivrost will terminate without waiting for it to complete.WorkingDirectoryBundleName
(string): Optional name of the bundle (LocalDirectory
) used to determine the working directory for this command. If set, the parent directory of the bundle will be used as the working directory. If not set,bundles
-folder (see file locations) will be used.TargetPlatforms
: See Common fields below.Name
(string): Name of the program to run, or a relative or absolute path to it. Relative paths will be resolved relative to thebundles
folder. If trivrost is in system mode, relative paths will be resolved relative to thesystembundles
folder first. If you provide only a name, without path separators, the system'sPATH
environment variable will be consulted. Note that this is not a shell command. Syntax such asecho foo > bar
will not work.Arguments
(array): An array of strings, defining program arguments, e.g.[ "-jar", "myapp.jar" ]
.Env
(object): Set environment variables for the executed program. Keys represent environment variable names. The value then must be either of type string (set/override variable) ornull
(clear variable).
LingerTimeMilliseconds
(int): A time, in milliseconds, that the trivrost progress window should remain open after having executed the last command. Useful if you know that the launched application takes some time to become responsive and want to keep the user entertained.
BundleInfoURL
(string): URL to a bundle information file describing this bundle.BaseURL
(string): URL, to which bundle info file paths get joined to to determine download URLs for all files. If omitted, it will be inferred by takingBundleInfoURL
and stripping the last path element from it.TargetPlatforms
(array): Array of strings specifying allowed OS/architecture combinations ("platforms") which this element applies to, using theGOOS
andGOARCH
naming scheme in one of the formsGOOS
,GOARCH
orGOOS-GOARCH
, e.g.windows-amd64
. If omitted, the element applies to all platforms. See also: Placeholders.
{{.OS}}
: Identifier for the operating system the running trivrost binary was built for. (darwin
,windows
orlinux
){{.Arch}}
: Identifier for the operating system architecture which trivrost is running on. (386
oramd64
)