Skip to content

plus3it/postman-api-formula

Repository files navigation

postman-api-formula

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).

Available states

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
  2. 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.

Footnotes

  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

About

SaltStack-based content for installing and configuring the Postman API utility to selected client-types

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Generated from plus3it/repo-template