https://github.com/plus3it/postman-api-formula
SaltStack-based content for installing and configuring the Postman API utility to selected client-types
https://github.com/plus3it/postman-api-formula
Last synced: 9 days ago
JSON representation
SaltStack-based content for installing and configuring the Postman API utility to selected client-types
- Host: GitHub
- URL: https://github.com/plus3it/postman-api-formula
- Owner: plus3it
- License: apache-2.0
- Created: 2026-06-01T16:14:53.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-07-02T00:29:00.000Z (about 1 month ago)
- Last Synced: 2026-07-02T01:21:32.815Z (about 1 month ago)
- Language: Jinja
- Size: 107 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
postman-api-formula
==================
A SaltStack formula designed to install and configure the [Postman API package](https://www.postman.com/) on installation-targets.
It is primarily expected that this formula will be run via [P3](https://www.plus3it.com/)'s "[watchmaker](https://watchmaker.readthedocs.io/en/stable/)" framework.
This formula is able to install the Postman API utility on Linux[^1] and Windows Server[^2] operating environments. Installation for internet-connected systems may come from the Postman API's ["Downloads" page](https://www.postman.com/downloads/). 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](pillar.example) file for guidance).
## Available states
- [postman-api](#postman-api)
- [postman-api.clean](#postman-api.clean)
- [postman-api.package](#postman-api.package)
- [postman-api.package.clean](#postman-api.package.clean)
- [postman-api.config](#postman-api.config)
- [postman-api.config.clean](#postman-api.config.clean)
### postman-api
Executes the `package` and `config` states to install and configure the Postman API
### postman-api.clean
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)
### postman-api.package
Executes _just_ the `package` state to install the Postman API package.
### postman-api.package.clean
Executes _just_ the `package.clean` state to uninstall the Postman API package.
### postman-api.config
Executes _just_ the `config` state to install/configure the Postman API client-configuration (etc.) files
### postman-api.config.clean
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.
## Compatibility Notes:
### Linux
1. 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 version `10.24.26`
1. 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 setting `sandbox_enabled: true` via Pillar data.
### Windows
1. **Headless Session 0 Execution:** The native Squirrel-based Postman installer package will deadlock or hang indefinitely when executed inside a headless `SYSTEM` context (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 global `install_root`, and purges staging profiles.
2. **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,768` and `--force-device-scale-factor=0.85`) to guarantee complete interface visibility.
[^1]: As of this README's writing, only Enterprise Linux and related distros (Red Hat and Oracle Enterprise, CentOS Stream, Rocky and Alma Linux). It has only been specifically tested with EL **_9_** variants.
[^2]: As of this README's writing, this functionality has only been tested on Windows Server 2022