Development
Comprehensive guides for developers building extensions, custom providers, plugins, and integrations on the Provisioning platform.
Overview
Provisioning is designed to be extended and customized for specific infrastructure needs. This section provides everything needed to:
- Build custom cloud providers interfacing with any infrastructure platform via the Provider SDK
- Create custom detectors for domain-specific infrastructure analysis and anomaly detection
- Develop task services for specialized infrastructure operations beyond built-in services
- Write Nushell plugins for high-performance scripting extensions
- Integrate external systems via REST APIs and the MCP (Model Context Protocol)
- Understand platform internals for daemon architecture, caching, and performance optimization
The platform uses modern Rust with async/await, Nushell for scripting, and Nickel for configuration - all with production-ready code examples.
Development Guides
Extension Development
-
Extension Development - Framework for extensions (providers, task services, plugins, clusters) with type-safety
-
Custom Provider Development - Build cloud providers with async Rust, credentials, state, error recovery, testing
-
Custom Task Services - Specialized service development for infrastructure operations
-
Custom Detector Development - Cost, compliance, performance, security risk detection
-
Plugin Development - Nushell plugins for high-performance scripting with FFI bindings
Platform Internals
- Provisioning Daemon Internals - TCP server, connection pooling, caching, metrics, shutdown, 50x speedup
Integration and APIs
-
API Guide - REST API integration with authentication, pagination, error handling, rate limiting
-
Build System - Cargo configuration, feature flags, dependencies, cross-platform compilation
-
Testing - Unit, integration, property-based testing, benchmarking, CI/CD patterns
Community
- Contributing - Guidelines, standards, review process, licensing
Quick Start Paths
I want to build a custom provider
Start with Custom Provider Development - includes template, credential patterns, error handling, tests, and publishing workflow.
I want to create custom detectors
See Custom Detector Development - covers analysis frameworks, state tracking, testing, and marketplace distribution.
I want to extend with Nushell
Read Plugin Development - FFI bindings, type safety, performance optimization, and integration patterns.
I want to understand system performance
Study Provisioning Daemon Internals - architecture, caching strategy, connection pooling, metrics collection.
I want to integrate external systems
Check API Guide - REST endpoints, authentication, webhooks, and integration patterns.
Technology Stack
- Language: Rust (async/await with Tokio), Nushell (scripting)
- Configuration: Nickel (type-safe) + TOML (generated)
- Testing: Unit tests, integration tests, property-based tests
- Performance: Prometheus metrics, connection pooling, LRU caching
- Security: Post-quantum cryptography, type-safety, secure defaults
Development Environment
All development builds with:
cargo build --release
cargo test --all
cargo clippy -- -D warnings
Navigation
- For architecture insights → See
provisioning/docs/src/architecture/ - For API details → See
provisioning/docs/src/api-reference/ - For examples → See
provisioning/docs/src/examples/ - For deployment → See
provisioning/docs/src/operations/