Provisioning Logo

Provisioning

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

Platform Internals

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/