A SaltStack formula designed to install and configure the Postman API package on installation-targets.
It is primarily expected that this formula will be run via P3's "watchmaker" framework.
This formula is able to install the Postman API utility on Linux1 and Windows Server2 operating environments. Installation for internet-connected systems may come from the Postman API's "Downloads" page. Alternately:
- Sites whose installation-targets won't be able to reach the Postman API product's "Downloads" page will need to self-host copies of the desired content.
- Sites that wish to use a specific version of the Postman API will need to target that content
Targeting specific versions of the Postman API or local copies of the install-archives can be directed to do so by adding appropriate content to the formula's associated Pillar-data (see this projct's pillar.example file for guidance).
- postman-api
- postman-api.clean
- postman-api.package
- postman-api.package.clean
- postman-api.config
- postman-api.config.clean
Executes the package and config states to install and configure the Postman API
Executes the package and config states' clean actions to fully uninstall the Postman API and remove previously-installed browser policy-configs (and, on Windows, associated registry entries)
Executes just the package state to install the Postman API package.
Executes just the package.clean state to uninstall the Postman API package.
Executes just the config state to install/configure the Postman API client-configuration (etc.) files
Executes just the config state to uninstall the Postman API client-configuration (etc.) files and, on Windows, remove any registry-keys set by prior install-runs of the formula.
- Due to library compatibilities, the installable version of Postman on RHEL 9 (and derivatives) is constrained to <
11.x. This formula defaults the RHEL 9 (and derivatives) installation to Postman version10.24.26 - To support hardened enterprise baselines (such as the DISA STIG or CIS profiles), this formula defaults to disabling the Chromium application sandbox (
sandbox_enabled: false) on Red Hat family distributions. These security profiles typically disable unprivileged user namespaces (user.max_user_namespaces = 0), which causes Electron-based applications to crash instantly on startup. For less restrictive environments where user namespaces are permitted, the sandbox can be safely re-enabled by settingsandbox_enabled: truevia Pillar data.
- Headless Session 0 Execution: The native Squirrel-based Postman installer package will deadlock or hang indefinitely when executed inside a headless
SYSTEMcontext (Session 0) because it attempts to synchronously generate user-centric desktop interactive pathways. This formula handles this limitation by staging a purpose-built PowerShell management wrapper (install_postman.ps1) that orchestrates a monitored extraction, forces termination of the blocked installation threads, migrates application files to the designated globalinstall_root, and purges staging profiles. - Virtual Framebuffer Scaling Overrides: To prevent the hardcoded Electron canvas landing layout from overflowing low-resolution framebuffers typical of remote automated pipelines or thin management consoles, system shortcuts are automatically configured with Chromium layout engine switches (
--window-size=1024,768and--force-device-scale-factor=0.85) to guarantee complete interface visibility.