IPM CLI: Language-Agnostic Infrastructure Package Manager
Stop Managing Scattered Files. Start Distributing Complete Solutions.
The only package manager designed for multi-language infrastructure. Combine Bicep, Terraform, PowerShell, Python, and CI/CD pipelines into single, versioned packages your teams can deploy anywhere.
ipm publish --package company/azure-landing-zone --version 2.1.0 --folder ./
ipm add --package company/azure-landing-zone
ipm status
What IPM CLI Solves
Your team downloads infrastructure from multiple sources. How do you know what changed? What works together? How do you authenticate?
Workspace Chaos
One source of truth. Single ipmhub.json file tracks all your infrastructure components in one place.
Mystery Modifications
We show exactly what is changed. See which packages have local modifications before you push to production.
Authentication complexity
Simple auth that works everywhere. No wrestling with different registries or complex ACR setups like Bicep registries require.
Vendor Lock-in
Download complete code to your repo. No runtime dependencies on IPMHub. Your code, your control, always.
The Solution: Complete Infrastructure Packages
Everything your teams need in one versioned, deployable package.
# Package everything together
ipm publish -p company/azure-landing-zone -v 2.1.0 -f ./
# Teams get everything they need
ipm add --package company/azure-landing-zone
# See what's being used where and what is changed
ipm status
Single package can contain:
- Infrastructure definitions
- Deployment scripts
- CI/CD pipelines
- Environment configurations
- Nested dependencies
- Documentation
Language-Agnostic by Design
Unlike traditional package managers that force you to choose, IPM embraces infrastructure reality
Bicep + PowerShell + YAML Together
├── main.bicep # Infrastructure definition
├── deploy.ps1 # Deployment script
├── azdo-pipeline.yml # CI/CD pipeline
├── parameters/ # Environment configs
└── packages/ # Nested dependencies
Terraform + Python + GitHub Actions
├── main.tf # Infrastructure definition
├── setup.py # Custom configuration
├── .github/workflows/ # CI/CD pipeline
└── scripts/ # Bootstrap scripts
Key Features
Multiple Package Strategies
- Single: Lock it down, prevent accidents
- Multiple: Compare versions safely before updating
Nested Package Support
Build complex solutions with dependency management:
- • Base infrastructure packages
- • Feature-specific extensions
- • Environment-specific configurations
Built for Teams
- Verified Packages
- Offline Mode
- Smart Change Detection
- Cross-Platform
Workspace Synchronization
ipm sync
# Update specific packages
ipm sync --package company/networking \
--mode KeepAllChanges
# Multiple package sync
ipm sync --packages company/network \
company/security company/compute
Build and Export Tools
ipm build --source ./my-package --dry-run
# Export without workspace setup
ipm export --package company/solution \
--destination ./review-folder
CI/CD Integration
Seamlessly integrate with your existing automation pipelines
Non-Interactive Authentication
export IPM_CLIENT_SECRETS=your_secret
ipm add --package company/infrastructure \
--non-interactive
# Direct parameter approach
ipm add --package company/infrastructure \
--non-interactive --client-secrets your_secret
Supported Platforms
Example Azure DevOps Integration
curl -Lo ipm-cli.tar.gz \
"https://github.com/ipmhubio/ipm/releases/latest/download/ipm-linux-x64-full.tar.gz"
tar -xzf ipm-cli.tar.gz
mv ./ipm /usr/local/bin/ipm
displayName: 'Install IPM CLI'
- bash: |
ipm sync --non-interactive
displayName: 'Sync Infrastructure'
env:
IPM_CLIENT_SECRETS: $(IPM_CLIENT_SECRETS)
Real-World Impact
See how teams are transforming their infrastructure management
MSPs Managing Multiple Clients
Enterprise Platform Teams
Installation
Get started with IPM CLI on any platform
Windows (Winget)
MacOS (Homebrew)
brew install ipm
Linux (One-line installer)
Getting Started
- Install IPM CLI using your preferred method above
- Authenticate with
ipm login - Initialize workspace with
ipm init - Add your first package with
ipm add --package avm-bicep/storage-accounts
Ready to End Infrastructure Code Chaos?
Join 150+ DevOps teams who've moved from scattered repositories to unified package management.