🎉 Tile-Diff v0.4.0
A powerful CLI tool for comparing VMware Tanzu tile versions, detecting configuration changes, and generating actionable upgrade reports.
✨ Key Features
Pivnet Integration
- Automatic tile downloads from Pivnet using product slug and version
- Smart caching to avoid re-downloading tiles
- EULA acceptance tracking (per-release)
- Fuzzy version matching (e.g., "6.0" matches "6.0.22+LTS-T")
- Support for custom product files via
--product-file
Intelligent Comparison
- Compare tile metadata to detect property changes
- Integration with
om config-templatefor configuration analysis - Auto-detection of product GUID from Ops Manager
- Filter reports based on your current deployment configuration
Release Notes Enrichment
- Automatically fetch and parse release notes from docs.vmware.com
- Match changed properties to release note features
- Enhanced reports showing WHY properties changed
- Configurable product mappings via YAML
Actionable Reports
- Text reports with categorized changes (action required, review recommended, informational)
- JSON output for automation and tooling integration
- Current vs. new configuration comparison
- Smart filtering to show only relevant changes
Version Information
- New
--versionflag to display binary version - Version automatically injected from git tags during build
Configurable Disk Space
PIVNET_MIN_FREE_SPACE_GBenvironment variable for disk space requirements- Default 10GB (reasonable for most tiles)
- Override for CI environments or large tiles
🚀 Usage Examples
Compare tiles from Pivnet:
tile-diff \
--product-slug cf \
--old-version 6.0.22+LTS-T \
--new-version 6.0.23+LTS-T \
--pivnet-token $PIVNET_TOKEN \
--accept-eulaCompare local tile files:
tile-diff \
--old-tile ./cf-6.0.22.pivotal \
--new-tile ./cf-6.0.23.pivotalGet filtered report for your deployment:
tile-diff \
--product-slug cf \
--old-version 6.0 \
--new-version 6.1 \
--ops-manager-url https://opsman.example.com \
--username admin \
--password $OM_PASSWORD \
--format json🔧 Configuration
Environment Variables:
PIVNET_TOKEN- Pivnet API tokenPIVNET_MIN_FREE_SPACE_GB- Minimum free disk space (default: 10GB)PIVNET_CACHE_DIR- Cache directory for downloaded tilesOM_TARGET,OM_USERNAME,OM_PASSWORD- Ops Manager credentials
📦 Installation
Download the appropriate binary for your platform from the assets below.
Supported Platforms:
- Linux (amd64, arm64)
- macOS (amd64, arm64)
- Windows (amd64)
Verify download:
sha256sum -c checksums.txt🐛 Bug Fixes & Improvements
- Cross-platform support for Windows disk space checks
- Fixed CI test failures due to disk space requirements
- Improved test isolation for invalid token scenarios
- Better error handling and meaningful error messages
📋 What's Changed
- feat: add release notes enrichment to tile-diff reports by @malston in #1
- feat: Add Pivnet integration for automatic tile downloads by @malston in #2
- feat: Add auto-detection of product GUID and formatted reports by @malston in #4
- feat: add --version flag to display binary version by @malston in #5
Full Changelog: https://github.com/malston/tile-diff/commits/v0.4.0