Software Deployment Reference

Configuration fields, package managers, and schedule syntax for software deployments

Written By Erdinc Akay

Last updated 26 days ago

Software Deployment Reference

This reference covers the current state, configuration, and limits of software deployments.

Feature status

ComponentStatus
Package catalogue search (Chocolatey, Winget, Homebrew)Available
Config package UI and APIAvailable
Schedule configurationAvailable
Device assignment and reconciliationAvailable
Agent-side package installationAvailable
Installation result loggingAvailable

Deployment configuration fields

The package-manager choice is made when you add the deployment (via the catalogue picker or by switching to manual entry); it is not an editable field on the deployment form itself. The Add-Software dialog also offers a mode toggle with two options β€” Specific package and Update all outdated β€” which determines which fields apply.

Catalogue mode (Specific package)

FieldTypeRequiredDefaultDescription
Display NamestringYesβ€”A human-readable label shown in the octoja interface (pre-filled from the catalogue entry)
VersionstringNolatestThe version to install. Use `latest` to always install the newest available version, or specify an exact version string
Install BehaviorenumNoInstall & UpdateInstall & Update (InstallAndUpdate): installs if missing, updates if outdated. Update Only (UpdateOnly): only updates software already present on the device
Install ArgumentsstringNoβ€”Optional command-line arguments passed to the package manager during installation
Install forenumNoAll usersWindows only (internal: ExecutionContext). All users (System): installs for every user of the device and works even when no one is signed in β€” it runs as NT AUTHORITY\\SYSTEM with no interactive desktop. Recommended for most deployments. Current user only (User): installs only for the signed-in user, into their profile, and requires someone to be signed in to the device. macOS (Homebrew) and Linux (APT) ignore this field
Show in Software KioskboolNoNoDisplays this software on the Software Kiosk page so end users can install it themselves in one click

Manual mode

Manual mode replaces the catalogue's Display Name with a Package Name field. All other fields (Version, Install Behavior, Install Arguments, Install for, Show in Software Kiosk) are identical to catalogue mode.

FieldTypeRequiredDefaultDescription
Package NamestringYesβ€”The identifier used by the package manager (e.g. `googlechrome` for Chocolatey, `Google.Chrome` for Winget, `nginx` for APT)

Update all outdated mode

Selecting the Update all outdated toggle (internal: UpdateAllOutdated) hides the package-specific fields and instructs the agent to upgrade every package the manager reports as outdated. Only the Display Name field and β€” for Chocolatey and winget β€” the Install for field remain applicable.

Supported package managers

Package managerPlatformCatalogue sourceSearch available
ChocolateyWindows 7+community.chocolatey.orgYes β€” searches the public Chocolatey community repository
WingetWindows 10 (1709+), Windows 11Microsoft CDN package indexYes β€” searches the Microsoft winget package index
HomebrewmacOS, Linuxformulae.brew.shYes β€” searches both the Homebrew formulae catalogue (command-line tools) and the cask catalogue (graphical apps)
APTDebian, UbuntuDistribution repositoriesNo β€” enter the exact package name manually
CustomAny (operator-defined)Operator-managed custom packagesNo β€” pick from the administrator's registered custom packages

Chocolatey

Chocolatey is a third-party package manager for Windows. It installs software silently using packages from the Chocolatey Community Repository, which contains thousands of common applications. Version history is available for most packages.

Winget

Winget (Windows Package Manager) is Microsoft's built-in command-line installer, included with Windows 10 version 1709 and later. It installs software from the Microsoft Store and community-maintained sources.

Homebrew

Homebrew is the standard package manager for macOS and is also available on Linux. It installs command-line tools from the Homebrew formulae catalogue and graphical macOS apps β€” such as Google Chrome, Slack, and Visual Studio Code β€” from the Homebrew cask catalogue. Casks appear in the package catalogue marked with a Cask badge. Only the latest stable version is typically available.

When you deploy a Homebrew package to a Mac that does not have Homebrew installed, the octoja agent installs Homebrew first. This automatic bootstrap runs on Apple-Silicon (arm64) Macs; on Intel Macs, Homebrew must already be installed before you assign Homebrew packages. Existing Homebrew installations are detected and used on either architecture.

APT

APT (Advanced Package Tool) is the package manager used by Debian and Ubuntu Linux. Since there is no public search API, you must enter the exact package name as it appears in the distribution's repository (e.g. `nginx`, `postgresql`, `htop`).

Schedule syntax

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ minute (0–59)β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ hour (0–23)β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ day of month (1–31)β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ month (1–12)β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ day of week (0–6, where 0 = Sunday)β”‚ β”‚ β”‚ β”‚ β”‚* * * * *
ExampleMeaning
@rebootAt every device startup
*/30 * * * *Every 30 minutes
0 2 * * *Every day at 2:00 AM
0 2 * * 1-5Weekdays at 2:00 AM
0 3 1 * *First day of each month at 3:00 AM

The octoja interface provides a visual schedule picker β€” you do not need to write cron expressions manually.

Permissions

PermissionRequired for
Software Deployment Management (software-deployments.manage)Creating, editing, and removing software deployments in config packages

Activity logging

Software deployment results are recorded in the device activity log with source Deployment (internal: SoftwareDeployment).

See also

Deploy Software to Devices β€” step-by-step how-to for adding a software deployment to a config package.