Meta's Client Platform Engineering tools. Some of the tools we have written to help manage our fleet of client systems.
by facebookRuby
Last 12 weeks · 8 commits
5 of 6 standards met
What this PR does with crashes on any host where the package is not installed yet. Reproduction 1. Declare a resource with and a . 2. Converge on a machine where the package is not installed. 3. runs , which fails because the package isn't installed, so is . 4. In , the downgrade guard calls with , which raises and aborts the converge before the package is ever installed. The same crash occurs when the resource is used without a at all (the empty receipt never matches an installed package). Fix Treat a installed version as "nothing is installed" and skip the downgrade comparison (there is no installed version to be higher than the desired one). Also guard a missing (e.g. -based usage without a pinned ) so the comparison is skipped rather than raising. Verification The crash path is real: raises in RubyGems. With the guard in place, a installed/desired version falls through to , which correctly converges and installs the package. No behavior change for the existing default path.
Add to Alphabetize list What type of PR is this? cleanup What this PR does / why we need it: is quite clearly designed with macOS in mind so the file should reflect support for that platform. Special notes for your reviewer: 👋 Does this PR introduce a user-facing change?: Additional documentation e.g., Design Proposals, usage docs, etc.**: [Usage]: [Other doc]:
When using on Windows, there is a dependency on 7zip installed through chocolatey. This is problematic because 1. Facebook does not open source a cpe_chocolatey cookbook from what I can tell 2. Facebook also relies on 7zip through chocolatey alone which means that I cannot use something like the official MSI or to install 7zip in another method Proposed solution In December of 2017, Microsoft released for both Windows Server 2019 and Windows 10 that allows you to unzip files without external tools I have modified the following function in cpe_helpers and in cpe_remote_zip This allows us to natively unzip files on windows without any external dependencies, thereby getting cpe_remote_zip to work out of the box with only two lines of change. 7zip is no longer needed, nor is chocolatey.
What type of PR is this? /kind bug What this PR does / why we need it: Replace deprecated mirrorlist..centos.org with vault.centos.org after support of centOS8 has ended. Which issue(s) this PR fixes: Fixes #281 Special notes for your reviewer: Does this PR introduce a user-facing change?: NONE Additional documentation e.g., Design Proposals, usage docs, etc.: [Usage]: [Other doc]:
Repository: facebook/IT-CPE. Description: Meta's Client Platform Engineering tools. Some of the tools we have written to help manage our fleet of client systems. Stars: 573, Forks: 118. Primary language: Ruby. Languages: Ruby (77.2%), Python (22.4%), HTML (0.3%), Shell (0%). License: Apache-2.0. Open PRs: 13, open issues: 6. Last activity: 3w ago. Community health: 87%. Top contributors: nmcspadden, mikedodge04, michel-slm, chilcote, natewalck, davide125, dafyddcrosby, achand, svmastersamurai, steelcowboy and others.